fix(01-code-splitting): convert PodcastMaker, ProductMarketing, Research, Scheduler, SEO, shared MUI icons

- Converted barrel imports to individual imports across 44 files
- Covers CreateStep, ScriptEditor, RenderQueue, ProductMarketing, Scheduler, SEO, shared components
This commit is contained in:
ajaysi
2026-05-08 12:07:24 +05:30
parent ebdd1edfa0
commit f46465cd97
44 changed files with 149 additions and 67 deletions

View File

@@ -19,7 +19,9 @@ import {
alpha,
TextField,
} from "@mui/material";
import { HelpOutline as HelpOutlineIcon, Close as CloseIcon, VolumeUp } from "@mui/icons-material";
import HelpOutlineIcon from "@mui/icons-material/HelpOutline";
import CloseIcon from "@mui/icons-material/Close";
import VolumeUp from "@mui/icons-material/VolumeUp";
import { Button } from "@mui/material";
// Import language-aware voice mapping (optional - only used in YouTube Creator context)

View File

@@ -1,6 +1,6 @@
import React, { Component, ErrorInfo, ReactNode } from 'react';
import { Typography, Button, Alert, Stack } from '@mui/material';
import { Refresh as RefreshIcon } from '@mui/icons-material';
import RefreshIcon from '@mui/icons-material/Refresh';
interface ComponentErrorBoundaryProps {
children: ReactNode;

View File

@@ -1,6 +1,7 @@
import React, { useState } from 'react';
import { Alert, AlertTitle, IconButton, Collapse } from '@mui/material';
import { Close as CloseIcon, Warning as WarningIcon } from '@mui/icons-material';
import CloseIcon from '@mui/icons-material/Close';
import WarningIcon from '@mui/icons-material/Warning';
import { useCopilotKitHealth } from '../../hooks/useCopilotKitHealth';
interface CopilotKitDegradedBannerProps {

View File

@@ -1,6 +1,6 @@
import React, { useState, useEffect } from 'react';
import { Box, Typography, Chip, Button, Tooltip } from '@mui/material';
import { PlayArrow } from '@mui/icons-material';
import PlayArrow from '@mui/icons-material/PlayArrow';
import { ShimmerHeader } from './styled';
import HeaderControls from './HeaderControls';
import { DashboardHeaderProps } from './types';

View File

@@ -1,6 +1,6 @@
import React, { useState } from 'react';
import { Box, Button, Typography, Stack, Alert, Paper } from '@mui/material';
import { BugReport as BugReportIcon } from '@mui/icons-material';
import BugReportIcon from '@mui/icons-material/BugReport';
import ErrorBoundary from './ErrorBoundary';
import ComponentErrorBoundary from './ComponentErrorBoundary';

View File

@@ -1,6 +1,9 @@
import React from 'react';
import { Card, CardContent, Box, Typography, Tooltip, Chip, Button, List, ListItem, ListItemText, Paper } from '@mui/material';
import { Info, Visibility, TrendingDown, BarChart } from '@mui/icons-material';
import Info from '@mui/icons-material/Info';
import Visibility from '@mui/icons-material/Visibility';
import TrendingDown from '@mui/icons-material/TrendingDown';
import BarChart from '@mui/icons-material/BarChart';
import ChipLegend from './ChipLegend';
interface Suggestion {

View File

@@ -27,18 +27,16 @@ import {
TextField,
Stack,
} from '@mui/material';
import {
Visibility,
MouseOutlined,
Search,
Web,
Refresh,
Info,
CheckCircle,
Error as ErrorIcon,
Warning,
} from '@mui/icons-material';
import { TrendingUp } from '@mui/icons-material';
import Visibility from '@mui/icons-material/Visibility';
import MouseOutlined from '@mui/icons-material/MouseOutlined';
import Search from '@mui/icons-material/Search';
import Web from '@mui/icons-material/Web';
import Refresh from '@mui/icons-material/Refresh';
import Info from '@mui/icons-material/Info';
import CheckCircle from '@mui/icons-material/CheckCircle';
import ErrorIcon from '@mui/icons-material/Error';
import Warning from '@mui/icons-material/Warning';
import TrendingUp from '@mui/icons-material/TrendingUp';
import { Button } from '@mui/material';
import { PlatformAnalytics as PlatformAnalyticsType, AnalyticsSummary, PlatformConnectionStatus } from '../../api/analytics';
import { cachedAnalyticsAPI } from '../../api/cachedAnalytics';

View File

@@ -2,9 +2,9 @@ import React, { useEffect } from 'react';
import { Navigate } from 'react-router-dom';
import { useAuth } from '@clerk/clerk-react';
import { Box, CircularProgress, Typography, Alert, Button } from '@mui/material';
import { Refresh as RefreshIcon } from '@mui/icons-material';
import RefreshIcon from '@mui/icons-material/Refresh';
import { useOnboarding } from '../../contexts/OnboardingContext';
import { shouldSkipOnboarding } from '../../utils/demoMode';
import { shouldSkipOnboarding, getDefaultLandingRoute } from '../../utils/demoMode';
import { useLocation } from 'react-router-dom';
interface ProtectedRouteProps {
@@ -36,9 +36,10 @@ const ProtectedRoute: React.FC<ProtectedRouteProps> = ({ children }) => {
const localComplete = (() => {
try { return localStorage.getItem('onboarding_complete') === 'true'; } catch { return false; }
})();
const isPodcastMode = shouldSkipOnboarding();
const podcastMakerPath = typeof location?.pathname === 'string' && location.pathname.startsWith('/podcast-maker');
const allowAccess = isOnboardingComplete || localComplete || (isPodcastMode && podcastMakerPath);
const isFeatureLimited = shouldSkipOnboarding();
const defaultRoute = getDefaultLandingRoute();
const isOnDefaultRoute = typeof location?.pathname === 'string' && location.pathname.startsWith(defaultRoute);
const allowAccess = isOnboardingComplete || localComplete || (isFeatureLimited && isOnDefaultRoute);
// Wait for Clerk to load before any redirect decisions
if (!isLoaded) {

View File

@@ -1,6 +1,8 @@
import React from 'react';
import { Card, CardContent, Box, Typography, Tooltip, Chip, Button, Grid, List, ListItem, Paper } from '@mui/material';
import { Info, MouseOutlined, Visibility } from '@mui/icons-material';
import Info from '@mui/icons-material/Info';
import MouseOutlined from '@mui/icons-material/MouseOutlined';
import Visibility from '@mui/icons-material/Visibility';
import ChipLegend from './ChipLegend';
interface DeltaQuery {

View File

@@ -1,6 +1,9 @@
import React from 'react';
import { IconButton, Tooltip, CircularProgress, Box, Menu, MenuItem, ListItemIcon, ListItemText, FormControl, Select, Slider, Typography } from '@mui/material';
import { VolumeUp as VolumeUpIcon, Stop as StopIcon, PlayArrow as PlayArrowIcon, Settings as SettingsIcon } from '@mui/icons-material';
import VolumeUpIcon from '@mui/icons-material/VolumeUp';
import StopIcon from '@mui/icons-material/Stop';
import PlayArrowIcon from '@mui/icons-material/PlayArrow';
import SettingsIcon from '@mui/icons-material/Settings';
import { useTextToSpeech, SpeechSynthesisOptions } from '../../hooks/useTextToSpeech';
interface TextToSpeechButtonProps {

View File

@@ -1,6 +1,10 @@
import React from 'react';
import { Card, CardContent, Box, Typography, Tooltip, Chip, Button, List, ListItem, ListItemText, Paper, IconButton } from '@mui/material';
import { Info, MouseOutlined, Visibility, TrendingUp, OpenInNew } from '@mui/icons-material';
import Info from '@mui/icons-material/Info';
import MouseOutlined from '@mui/icons-material/MouseOutlined';
import Visibility from '@mui/icons-material/Visibility';
import TrendingUp from '@mui/icons-material/TrendingUp';
import OpenInNew from '@mui/icons-material/OpenInNew';
import ChipLegend from './ChipLegend';
type Query = { query: string; clicks: number; impressions: number; ctr: number };