import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select" import { ChevronLeft, Menu } from "lucide-react" import { useEffect, useState } from "react"; import { ToastContainer, toast } from "react-toastify" import 'react-toastify/dist/ReactToastify.css'; function App() { const [subject, setSubject] = useState(""); const [difficultie, setDifficultie] = useState(""); const [menuState, setMenuState] = useState(true); const [isLoading, setIsLoading] = useState(false); const [questions, setQuestions] = useState(null); const [selectedMatter, setSelectedMatter] = useState("biologia"); const matter = [ { label: "Biologia", value: "biologia" }, { label: "História", value: "historia" }, ]; const biologySubjects = [ { label: "Fisiologia", value: "fisiologia" }, { label: "Embriologia", value: "embriologia" }, { label: "Citologia", value: "citologia" }, { label: "Genética", value: "genetica" }, { label: "Botânica", value: "botanica" }, { label: "Zoologia", value: "zoologia" }, { label: "Morfologia", value: "morfologia" }, { label: "Ecologia", value: "ecologia" }, { label: "Biofísica", value: "biofisica" }, ] const historySubjects = [ { label: "Revoluções", value: "revoluções" }, { label: "Grécia", value: "grécia" }, { label: "Roma", value: "roma" }, { label: "Primeira Guerra Mundial", value: "primeira guerra mundial" }, { label: "Guerra Fria", value: "guerra fria" }, { label: "Feudalismo", value: "feudalismo" }, ] const difficulties = [ { label: "Fácil", value: "facil" }, { label: "Intermediária", value: "intermediaria" }, { label: "Difícil", value: "dificil" }, ] const handleSubmit = async (e) => { e.preventDefault(); setIsLoading(true); try { const res = await fetch("/generate_questions", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ matter: selectedMatter, subject, difficultie }) }); if (res.ok) { const data = await res.json(); setQuestions(data.rag_result.questions); } else { toast.error("Erro ao gerar questões", { position: "top-right", autoClose: 5000, hideProgressBar: false, closeOnClick: true, pauseOnHover: true, draggable: true, progress: undefined, className: "bg-slate-900 text-white font-semibold", }); } } catch (err) { console.error(err); toast.error("Erro ao gerar questões", { position: "top-right", autoClose: 5000, hideProgressBar: false, closeOnClick: true, pauseOnHover: true, draggable: true, progress: undefined, className: "bg-slate-900 text-white font-semibold", }); } setIsLoading(false); } useEffect(() => { const handleResize = () => { if (window.innerWidth > 768) { setMenuState(true); } else { setMenuState(false); } } window.addEventListener("resize", handleResize); return () => window.removeEventListener("resize", handleResize); } , []); return (
setMenuState(prev => !prev)} />

Pergunt.

{ menuState &&
setMenuState(prev => !prev)} />

Selecione uma matéria:

Selecione um conteúdo:

Selecione uma dificuldade:

}

Questões

{questions ? questions.map(({ question, options, answer }, index) => (
{question}

{options.map((option, i) => (
{option}
))}
Resposta correta: {answer}
)) :
{"Ainda sem questões"}
}
) } export default App