import React, { useState, useCallback } from 'react'; import { analyzeVideoForViralClips } from './services/geminiService'; import { VideoAnalysis } from './types'; import ViralClipCard from './components/ViralClipCard'; const App: React.FC = () => { const [url, setUrl] = useState(''); const [description, setDescription] = useState(''); const [isLoading, setIsLoading] = useState(false); const [analysis, setAnalysis] = useState(null); const [error, setError] = useState(null); const handleAnalyze = async (e: React.FormEvent) => { e.preventDefault(); if (!url) return; setIsLoading(true); setError(null); try { const result = await analyzeVideoForViralClips(url, description); setAnalysis(result); } catch (err) { setError('Failed to analyze video. Please check your URL and try again.'); console.error(err); } finally { setIsLoading(false); } }; const reset = () => { setAnalysis(null); setUrl(''); setDescription(''); }; return (
{/* Header */} {/* Main Content */}
{!analysis ? (

Turn YouTube Videos into
Viral Short Clips

Paste any YouTube link and our AI will find the best segments for TikTok, Instagram Reels, and YouTube Shorts in seconds.

setUrl(e.target.value)} required />