in src/video_toys/components/ContentContainer.tsx [106:141]
async function generateContent() {
// If we have pre-seeded content, skip generation
if (preSeededSpec && preSeededCode) {
setSpec(preSeededSpec);
setCode(preSeededCode);
setLoadingState('ready');
return;
}
try {
// Reset states
setLoadingState('loading-spec');
setError(null);
setSpec('');
setCode('');
// Generate a content spec based on video content
const generatedSpec = await generateSpecFromVideo(contentBasis);
setSpec(generatedSpec);
setLoadingState('loading-code');
// Generate code using the generated content spec
const generatedCode = await generateCodeFromSpec(generatedSpec);
setCode(generatedCode);
setLoadingState('ready');
} catch (err) {
console.error(
'An error occurred while attempting to generate content:',
err,
);
setError(
err instanceof Error ? err.message : 'An unknown error occurred',
);
setLoadingState('error');
}
}