Merge remote-tracking branch 'origin/codex/task-title-3y5pbt'

This commit is contained in:
ajaysi
2026-04-20 08:47:19 +05:30
7 changed files with 147 additions and 9 deletions

View File

@@ -289,6 +289,7 @@ const PodcastDashboard: React.FC = () => {
knobs={knobsState}
speakers={project.speakers}
durationMinutes={project.duration}
podcastMode={project?.podcastMode || "video_only"}
script={scriptData}
analysis={analysis}
outline={analysis?.suggestedOutlines?.[0]}

View File

@@ -452,6 +452,7 @@ export const usePodcastWorkflow = ({ projectState, onError }: UsePodcastWorkflow
knobs: projectState.knobs,
speakers: project.speakers,
durationMinutes: project.duration,
podcastMode: (project as any)?.podcastMode || "video_only",
bible: projectState.bible,
outline: analysis?.suggestedOutlines?.[0],
analysis: analysis,

View File

@@ -26,6 +26,7 @@ interface ScriptEditorProps {
avatarUrl?: string | null; // Base avatar URL for consistent scene image generation
analysis?: any;
outline?: any;
podcastMode?: "audio_only" | "video_only" | "audio_video";
}
export const ScriptEditor: React.FC<ScriptEditorProps> = ({
@@ -44,6 +45,7 @@ export const ScriptEditor: React.FC<ScriptEditorProps> = ({
avatarUrl,
analysis,
outline,
podcastMode = "video_only",
}) => {
const [script, setScript] = useState<Script | null>(initialScript);
const [loading, setLoading] = useState(false);
@@ -95,6 +97,7 @@ export const ScriptEditor: React.FC<ScriptEditorProps> = ({
knobs,
speakers,
durationMinutes,
podcastMode,
analysis,
outline,
})
@@ -114,7 +117,7 @@ export const ScriptEditor: React.FC<ScriptEditorProps> = ({
return () => {
mounted = false;
};
}, [projectId, rawResearch, idea, knobs, speakers, durationMinutes, analysis, outline, emitScriptChange, onError, script]);
}, [projectId, rawResearch, idea, knobs, speakers, durationMinutes, podcastMode, analysis, outline, emitScriptChange, onError, script]);
const updateScene = (updated: Scene) => {
// Use functional update to ensure we're working with latest state

View File

@@ -216,6 +216,7 @@ export const ScriptEditorProvider: React.FC<ScriptEditorProviderProps> = ({
knobs,
speakers,
durationMinutes,
podcastMode,
analysis,
outline,
})

View File

@@ -12,6 +12,7 @@ import {
Knobs,
PodcastAnalysis,
PodcastEstimate,
PodcastMode,
Query,
RenderJobResult,
Research,
@@ -403,6 +404,7 @@ export const podcastApi = {
knobs: Knobs;
speakers: number;
durationMinutes: number;
podcastMode?: PodcastMode;
bible?: any;
outline?: any;
analysis?: PodcastAnalysis | null;
@@ -427,6 +429,7 @@ export const podcastApi = {
bible: params.bible,
outline: params.outline,
analysis: params.analysis,
podcast_mode: params.podcastMode || "video_only",
});
if (params.onProgress) {
@@ -453,6 +456,7 @@ export const podcastApi = {
},
],
approved: false,
chart_data: scene.chart_data || scene.chartData || undefined,
}));
return { scenes: scriptScenes };