import { useState, useCallback } from 'react' import { AnimatePresence } from 'framer-motion' import { Navbar } from '@/components/layout/Navbar' import { Footer } from '@/components/layout/Footer' import { BackgroundEffects } from '@/components/features/BackgroundEffects' import { GenerationStatusCard } from '@/components/features/GenerationStatusCard' import { Hero } from '@/components/features/Hero' import { InputPanel } from '@/components/features/InputPanel' import { ResultsSection } from '@/components/features/ResultsSection' import { ErrorState } from '@/components/features/ErrorState' import { useTransform } from '@/hooks/useTransform' export default function App() { const { state, result, error, transform, reset } = useTransform() const [lastUrl, setLastUrl] = useState('') const [lastLevel, setLastLevel] = useState(3) const handleSubmit = useCallback((url: string, level: number) => { setLastUrl(url) setLastLevel(level) transform(url, level) }, [transform]) const handleRegenerate = useCallback(() => { if (lastUrl) transform(lastUrl, lastLevel) }, [lastUrl, lastLevel, transform]) return (
{(state === 'success' || state === 'loading') && result && ( )} {state === 'error' && error && ( )}
) }