import React from "react"; import { Stack, Box, Typography, Paper, LinearProgress } from "@mui/material"; import { AudioFile as AudioFileIcon } from "@mui/icons-material"; import { useScriptEditor } from "../ScriptEditorContext"; import { PrimaryButton } from "../../ui"; export const ScriptEditorAudioPanel: React.FC = () => { const { activeScript, needsAudioGeneration, generatingBatchAudio, batchAudioProgress, generateAllAudio } = useScriptEditor(); if (!(needsAudioGeneration ?? false)) { return null; } return ( Generate All Audio {activeScript && `${activeScript.scenes.filter(s => !s.audioUrl).length} scenes need audio`} } sx={{ background: "linear-gradient(135deg, #10b981 0%, #059669 100%)" }} > {generatingBatchAudio ? (batchAudioProgress ? `Generating ${batchAudioProgress.completed}/${batchAudioProgress.total}...` : "Generating...") : "Generate All Audio"} {(batchAudioProgress !== null && batchAudioProgress !== undefined) && ( )} ); };