From ebdd1edfa0d609b4d57f71df2bd748eb5d5a1268 Mon Sep 17 00:00:00 2001 From: ajaysi Date: Fri, 8 May 2026 12:07:07 +0530 Subject: [PATCH] fix(01-code-splitting): convert PodcastMaker AnalysisPanel MUI icons - Converted barrel imports to individual imports across 18 AnalysisPanel files - AnalysisPanel.tsx (12 icons), AnalysisTabNav.tsx (9 icons) --- .../src/components/PodcastMaker/AnalysisPanel.tsx | 14 ++++++++++++-- .../AnalysisPanel/AnalysisPanelLayout.tsx | 7 ++++++- .../PodcastMaker/AnalysisPanel/AnalysisTabNav.tsx | 10 +++++++++- .../parts/AnalysisPanelAudienceTab.tsx | 3 ++- .../parts/AnalysisPanelDetailsTab.tsx | 5 ++++- .../AnalysisPanel/parts/AnalysisPanelGuestTab.tsx | 2 +- .../AnalysisPanel/parts/AnalysisPanelInputsTab.tsx | 3 ++- .../parts/AnalysisPanelTakeawaysTab.tsx | 2 +- .../AnalysisPanel/tabs/AudienceTab.tsx | 6 +++++- .../PodcastMaker/AnalysisPanel/tabs/CTATab.tsx | 2 +- .../AnalysisPanel/tabs/EpisodeDetailsTab.tsx | 6 +++++- .../PodcastMaker/AnalysisPanel/tabs/GuestTab.tsx | 2 +- .../PodcastMaker/AnalysisPanel/tabs/HookTab.tsx | 2 +- .../PodcastMaker/AnalysisPanel/tabs/InputsTab.tsx | 4 +++- .../PodcastMaker/AnalysisPanel/tabs/OutlineTab.tsx | 2 +- .../AnalysisPanel/tabs/ResearchTab.tsx | 2 +- .../AnalysisPanel/tabs/TakeawaysTab.tsx | 2 +- .../PodcastMaker/AnalysisPanel/tabs/TitlesTab.tsx | 3 ++- 18 files changed, 58 insertions(+), 19 deletions(-) diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel.tsx index becb00f1..201b111c 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel.tsx @@ -1,9 +1,19 @@ import React, { useState, useEffect } from "react"; import { Stack, Box, Typography, Divider, Chip, alpha, Button, IconButton, Popover, TextField, Tooltip } from "@mui/material"; -import { Psychology as PsychologyIcon, Person as PersonIcon, Edit as EditIcon, Save as SaveIcon, Close as CloseIcon, Input as InputIcon, Groups as GroupsIcon, ListAlt as ListAltIcon, Lightbulb as TipsIcon, Article as ArticleIcon, AutoFixHigh as BibleIcon } from "@mui/icons-material"; +import PsychologyIcon from "@mui/icons-material/Psychology"; +import PersonIcon from "@mui/icons-material/Person"; +import EditIcon from "@mui/icons-material/Edit"; +import SaveIcon from "@mui/icons-material/Save"; +import CloseIcon from "@mui/icons-material/Close"; +import InputIcon from "@mui/icons-material/Input"; +import GroupsIcon from "@mui/icons-material/Groups"; +import ListAltIcon from "@mui/icons-material/ListAlt"; +import TipsIcon from "@mui/icons-material/Lightbulb"; +import ArticleIcon from "@mui/icons-material/Article"; +import BibleIcon from "@mui/icons-material/AutoFixHigh"; +import RefreshIcon from "@mui/icons-material/Refresh"; import { PodcastAnalysis, PodcastEstimate, PodcastBible } from "./types"; import { GlassyCard, glassyCardSx, SecondaryButton } from "./ui"; -import { Refresh as RefreshIcon } from "@mui/icons-material"; import { aiApiClient } from "../../api/client"; import { InputsTab, AudienceTab, OutlineTab, EpisodeDetailsTab, TakeawaysTab, GuestTab } from "./AnalysisPanel/tabs"; diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/AnalysisPanelLayout.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/AnalysisPanelLayout.tsx index 6431611f..89b66939 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/AnalysisPanelLayout.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/AnalysisPanelLayout.tsx @@ -1,6 +1,11 @@ import React from "react"; import { Box, Stack, Typography, Chip, Button, Divider } from "@mui/material"; -import { Psychology as PsychologyIcon, Refresh as RefreshIcon, Edit as EditIcon, Save as SaveIcon, Close as CloseIcon, Mic as MicIcon } from "@mui/icons-material"; +import PsychologyIcon from "@mui/icons-material/Psychology"; +import RefreshIcon from "@mui/icons-material/Refresh"; +import EditIcon from "@mui/icons-material/Edit"; +import SaveIcon from "@mui/icons-material/Save"; +import CloseIcon from "@mui/icons-material/Close"; +import MicIcon from "@mui/icons-material/Mic"; import { GlassyCard, glassyCardSx, SecondaryButton } from "../ui"; import { useAnalysisPanel, TabId } from "./AnalysisPanelContext"; import { PodcastEstimate } from "../types"; diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/AnalysisTabNav.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/AnalysisTabNav.tsx index 74811147..841b2fb3 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/AnalysisTabNav.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/AnalysisTabNav.tsx @@ -1,6 +1,14 @@ import React from "react"; import { Stack, Button, Typography, Box } from "@mui/material"; -import { Input as InputIcon, Groups as GroupsIcon, ListAlt as ListAltIcon, EditNote as EditNoteIcon, Search as SearchIcon, AutoAwesome as AutoAwesomeIcon, Lightbulb as TipsIcon, Quiz as TalkIcon, RecordVoiceOver as VoiceIcon } from "@mui/icons-material"; +import InputIcon from "@mui/icons-material/Input"; +import GroupsIcon from "@mui/icons-material/Groups"; +import ListAltIcon from "@mui/icons-material/ListAlt"; +import EditNoteIcon from "@mui/icons-material/EditNote"; +import SearchIcon from "@mui/icons-material/Search"; +import AutoAwesomeIcon from "@mui/icons-material/AutoAwesome"; +import TipsIcon from "@mui/icons-material/Lightbulb"; +import TalkIcon from "@mui/icons-material/Quiz"; +import VoiceIcon from "@mui/icons-material/RecordVoiceOver"; export type TabId = "inputs" | "audience" | "content" | "outline" | "titles" | "research" | "hook" | "takeaways" | "guest" | "cta"; diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelAudienceTab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelAudienceTab.tsx index 17a54dde..29058038 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelAudienceTab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelAudienceTab.tsx @@ -1,6 +1,7 @@ import React from "react"; import { Stack, Box, Typography, Chip, TextField, Divider } from "@mui/material"; -import { Groups as GroupsIcon, Search as SearchIcon } from "@mui/icons-material"; +import GroupsIcon from "@mui/icons-material/Groups"; +import SearchIcon from "@mui/icons-material/Search"; import { useAnalysisPanel } from "../AnalysisPanelContext"; const inputStyles = { diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelDetailsTab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelDetailsTab.tsx index 76dd516d..d46e1531 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelDetailsTab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelDetailsTab.tsx @@ -1,6 +1,9 @@ import React from "react"; import { Stack, Box, Typography, Chip, TextField, IconButton, Paper, Divider } from "@mui/material"; -import { EditNote as EditNoteIcon, Add as AddIcon, AutoAwesome as AutoAwesomeIcon, CallToAction as CTAIcon } from "@mui/icons-material"; +import EditNoteIcon from "@mui/icons-material/EditNote"; +import AddIcon from "@mui/icons-material/Add"; +import AutoAwesomeIcon from "@mui/icons-material/AutoAwesome"; +import CTAIcon from "@mui/icons-material/CallToAction"; import { useAnalysisPanel } from "../AnalysisPanelContext"; const inputStyles = { diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelGuestTab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelGuestTab.tsx index 32e63e8f..b14b884d 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelGuestTab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelGuestTab.tsx @@ -1,6 +1,6 @@ import React from "react"; import { Stack, Box, Typography, Chip, Paper } from "@mui/material"; -import { Quiz as TalkIcon } from "@mui/icons-material"; +import TalkIcon from "@mui/icons-material/Quiz"; import { useAnalysisPanel } from "../AnalysisPanelContext"; export const AnalysisPanelGuestTab: React.FC = () => { diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelInputsTab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelInputsTab.tsx index 0250e77a..ee2cbbd5 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelInputsTab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelInputsTab.tsx @@ -1,6 +1,7 @@ import React from "react"; import { Box, Stack, Typography, Chip, Paper, alpha } from "@mui/material"; -import { Input as InputIcon, Mic as MicIcon } from "@mui/icons-material"; +import InputIcon from "@mui/icons-material/Input"; +import MicIcon from "@mui/icons-material/Mic"; import { useAnalysisPanel } from "../AnalysisPanelContext"; interface AnalysisTabContentProps { diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelTakeawaysTab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelTakeawaysTab.tsx index d50f7e2a..cf3460ea 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelTakeawaysTab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/parts/AnalysisPanelTakeawaysTab.tsx @@ -1,6 +1,6 @@ import React from "react"; import { Stack, Box, Typography, Chip, Paper } from "@mui/material"; -import { Lightbulb as TipsIcon } from "@mui/icons-material"; +import TipsIcon from "@mui/icons-material/Lightbulb"; import { useAnalysisPanel } from "../AnalysisPanelContext"; export const AnalysisPanelTakeawaysTab: React.FC = () => { diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/AudienceTab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/AudienceTab.tsx index f3ee6570..3bced309 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/AudienceTab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/AudienceTab.tsx @@ -1,6 +1,10 @@ import React from "react"; import { Stack, Box, Typography, Chip, TextField, IconButton, Paper, Divider } from "@mui/material"; -import { Groups as GroupsIcon, Insights as InsightsIcon, Search as SearchIcon, EditNote as EditNoteIcon, Add as AddIcon } from "@mui/icons-material"; +import GroupsIcon from "@mui/icons-material/Groups"; +import InsightsIcon from "@mui/icons-material/Insights"; +import SearchIcon from "@mui/icons-material/Search"; +import EditNoteIcon from "@mui/icons-material/EditNote"; +import AddIcon from "@mui/icons-material/Add"; import { PodcastAnalysis } from "../../types"; import { AnalysisTabContent } from "../AnalysisTabNav"; diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/CTATab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/CTATab.tsx index 9ee0fa55..1c98e571 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/CTATab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/CTATab.tsx @@ -1,6 +1,6 @@ import React from "react"; import { Box, Typography, Paper } from "@mui/material"; -import { Psychology as PsychologyIcon } from "@mui/icons-material"; +import PsychologyIcon from "@mui/icons-material/Psychology"; import { PodcastAnalysis } from "../../types"; import { AnalysisTabContent } from "../AnalysisTabNav"; diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/EpisodeDetailsTab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/EpisodeDetailsTab.tsx index c3acc58b..7dc01df9 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/EpisodeDetailsTab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/EpisodeDetailsTab.tsx @@ -1,6 +1,10 @@ import React from "react"; import { Stack, Box, Typography, Chip, TextField, IconButton, Paper, Divider } from "@mui/material"; -import { EditNote as EditNoteIcon, Add as AddIcon, AutoAwesome as AutoAwesomeIcon, CallToAction as CTAIcon, Edit as EditIcon } from "@mui/icons-material"; +import EditNoteIcon from "@mui/icons-material/EditNote"; +import AddIcon from "@mui/icons-material/Add"; +import AutoAwesomeIcon from "@mui/icons-material/AutoAwesome"; +import CTAIcon from "@mui/icons-material/CallToAction"; +import EditIcon from "@mui/icons-material/Edit"; import { PodcastAnalysis } from "../../types"; import { AnalysisTabContent } from "../AnalysisTabNav"; diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/GuestTab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/GuestTab.tsx index 76685ed6..d259705a 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/GuestTab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/GuestTab.tsx @@ -1,6 +1,6 @@ import React from "react"; import { Stack, Box, Typography, Chip, Paper } from "@mui/material"; -import { Quiz as TalkIcon } from "@mui/icons-material"; +import TalkIcon from "@mui/icons-material/Quiz"; import { PodcastAnalysis } from "../../types"; import { AnalysisTabContent } from "../AnalysisTabNav"; import { TextToSpeechButton } from "../../../shared/TextToSpeechButton"; diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/HookTab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/HookTab.tsx index ce103437..be54b263 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/HookTab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/HookTab.tsx @@ -1,6 +1,6 @@ import React from "react"; import { Box, Typography, Paper } from "@mui/material"; -import { AutoAwesome as AutoAwesomeIcon } from "@mui/icons-material"; +import AutoAwesomeIcon from "@mui/icons-material/AutoAwesome"; import { PodcastAnalysis } from "../../types"; import { AnalysisTabContent } from "../AnalysisTabNav"; diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/InputsTab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/InputsTab.tsx index 59d064c6..a4e370f0 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/InputsTab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/InputsTab.tsx @@ -1,6 +1,8 @@ import React from "react"; import { Box, Stack, Typography, Chip, Paper, CircularProgress, alpha } from "@mui/material"; -import { Input as InputIcon, Person as PersonIcon, AutoAwesome as AutoAwesomeIcon } from "@mui/icons-material"; +import InputIcon from "@mui/icons-material/Input"; +import PersonIcon from "@mui/icons-material/Person"; +import AutoAwesomeIcon from "@mui/icons-material/AutoAwesome"; import { AnalysisTabContent } from "../AnalysisTabNav"; interface InputsTabProps { diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/OutlineTab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/OutlineTab.tsx index 4f70ba33..74071e75 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/OutlineTab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/OutlineTab.tsx @@ -1,6 +1,6 @@ import React from "react"; import { Stack, Box, Typography, Chip } from "@mui/material"; -import { ListAlt as ListAltIcon } from "@mui/icons-material"; +import ListAltIcon from "@mui/icons-material/ListAlt"; import { PodcastAnalysis } from "../../types"; import { AnalysisTabContent } from "../AnalysisTabNav"; import { TextToSpeechButton } from "../../../shared/TextToSpeechButton"; diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/ResearchTab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/ResearchTab.tsx index d78b0b83..c434708c 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/ResearchTab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/ResearchTab.tsx @@ -1,6 +1,6 @@ import React from "react"; import { Stack, Box, Typography, Chip, Paper } from "@mui/material"; -import { Search as SearchIcon } from "@mui/icons-material"; +import SearchIcon from "@mui/icons-material/Search"; import { PodcastAnalysis } from "../../types"; import { AnalysisTabContent } from "../AnalysisTabNav"; diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/TakeawaysTab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/TakeawaysTab.tsx index 27481cf9..8bb757cc 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/TakeawaysTab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/TakeawaysTab.tsx @@ -1,6 +1,6 @@ import React from "react"; import { Stack, Box, Typography, Chip, Paper } from "@mui/material"; -import { Lightbulb as TipsIcon } from "@mui/icons-material"; +import TipsIcon from "@mui/icons-material/Lightbulb"; import { PodcastAnalysis } from "../../types"; import { AnalysisTabContent } from "../AnalysisTabNav"; import { TextToSpeechButton } from "../../../shared/TextToSpeechButton"; diff --git a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/TitlesTab.tsx b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/TitlesTab.tsx index ddbcc503..128be2b3 100644 --- a/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/TitlesTab.tsx +++ b/frontend/src/components/PodcastMaker/AnalysisPanel/tabs/TitlesTab.tsx @@ -1,6 +1,7 @@ import React from "react"; import { Stack, Box, Typography, Chip, TextField, IconButton } from "@mui/material"; -import { EditNote as EditNoteIcon, Add as AddIcon } from "@mui/icons-material"; +import EditNoteIcon from "@mui/icons-material/EditNote"; +import AddIcon from "@mui/icons-material/Add"; import { PodcastAnalysis } from "../../types"; import { AnalysisTabContent } from "../AnalysisTabNav";