import React, { useState } from 'react'; import { motion } from 'framer-motion'; import { BrainCircuit, Loader2, Users, Play, PenTool } from 'lucide-react'; import { AuthButton } from './AuthButton'; interface LandingProps { onGenerate: (topic: string) => void; onCreateManual: () => void; onJoin: (pin: string, name: string) => void; isLoading: boolean; error: string | null; } export const Landing: React.FC = ({ onGenerate, onCreateManual, onJoin, isLoading, error }) => { const [mode, setMode] = useState<'HOST' | 'JOIN'>('HOST'); const [topic, setTopic] = useState(''); const [pin, setPin] = useState(''); const [name, setName] = useState(''); const handleHostSubmit = (e: React.FormEvent) => { e.preventDefault(); if (topic.trim()) onGenerate(topic); }; const handleJoinSubmit = (e: React.FormEvent) => { e.preventDefault(); if (pin.trim() && name.trim()) onJoin(pin, name); }; return (

Kaboot

The AI Quiz Party

{mode === 'HOST' ? (
setTopic(e.target.value)} className="w-full p-4 text-xl font-bold border-2 border-gray-200 rounded-2xl focus:border-theme-primary focus:ring-4 focus:ring-theme-primary/20 outline-none transition-all placeholder:font-medium text-center" disabled={isLoading} />
OR
) : (
setPin(e.target.value)} className="w-full p-4 text-xl font-bold border-2 border-gray-200 rounded-2xl focus:border-theme-primary focus:ring-4 focus:ring-theme-primary/20 outline-none text-center" /> setName(e.target.value)} className="w-full p-4 text-xl font-bold border-2 border-gray-200 rounded-2xl focus:border-theme-primary focus:ring-4 focus:ring-theme-primary/20 outline-none text-center" />
)} {error && (

{error}

)}
); };