import React from 'react'; import { Box, Button, Typography, Alert, Card, CardContent, LinearProgress, Fade } from '@mui/material'; import { Psychology as PsychologyIcon } from '@mui/icons-material'; import { PersonaGenerationProgress } from './PersonaGenerationProgress'; import { type GenerationStep } from './PersonaGenerationProgress'; interface PersonaLoadingStateProps { showPreview: boolean; isGenerating: boolean; corePersona: any; progress: number; generationStep: string; generationSteps: GenerationStep[]; progressMessages: any[]; error: string | null; pollingError: string | null; success: string | null; handleRegenerate: () => void; generatePersonas: () => void; setShowPreview: (show: boolean) => void; setSuccess: (message: string | null) => void; } export const PersonaLoadingState: React.FC = ({ showPreview, isGenerating, corePersona, progress, generationStep, generationSteps, progressMessages, error, pollingError, success, handleRegenerate, generatePersonas, setShowPreview, setSuccess }) => { return ( <> {/* Safeguard: show loading instead of blank while initial checks run */} {!showPreview && !isGenerating && !corePersona && ( Preparing Persona Workspace Checking cache and initializing generation... )} {/* Generation Progress */} {/* Error Display */} {(error || pollingError) && ( {error || pollingError} )} {/* Generate New Button (when cached data is loaded) */} {showPreview && success && success.includes('cached') && ( {success} )} ); };