import React, { useState } from 'react'; import { evaluateTask, generateSocialImage } from './services/geminiService'; import { PedagogicalEvaluation, ViewState, ImageSize } from './types'; import LiveCoach from './components/LiveCoach'; import { Sparkles, ArrowRight, Share2, Download, MessageCircle, CheckCircle2, AlertCircle, Lightbulb, Loader2, Image as ImageIcon } from 'lucide-react'; const App: React.FC = () => { // State const [taskText, setTaskText] = useState(''); const [viewState, setViewState] = useState(ViewState.INPUT); const [evaluation, setEvaluation] = useState(null); const [loading, setLoading] = useState(false); const [imageLoading, setImageLoading] = useState(false); const [generatedImage, setGeneratedImage] = useState(null); const [imageSize, setImageSize] = useState(ImageSize.Resolution1K); // Handlers const handleEvaluate = async () => { if (!taskText.trim()) return; setLoading(true); try { const result = await evaluateTask(taskText); setEvaluation(result); setViewState(ViewState.EVALUATION); } catch (e) { alert("Hubo un error evaluando la tarea. Por favor intenta de nuevo."); } finally { setLoading(false); } }; const handleGenerateImage = async () => { if (!taskText) return; setImageLoading(true); try { const base64Image = await generateSocialImage(taskText, imageSize); setGeneratedImage(base64Image); } catch (e) { alert("Error generando imagen. Intenta seleccionar otra resolución o espera un momento."); } finally { setImageLoading(false); } }; const startLiveSession = () => { setViewState(ViewState.LIVE_COACH); }; const endLiveSession = () => { setViewState(ViewState.EVALUATION); }; // Render Helpers const renderHeader = () => (

PedagoGlow

{viewState === ViewState.EVALUATION && ( )}
); const renderInput = () => (

Eleva tus tareas escolares

Evalúa, mejora y crea contenido visual para tus actividades educativas con IA.