'use client'; import { useRouter } from 'next/navigation'; import { useState } from 'react'; import Image from 'next/image'; import YourGrade from '@images/your-grade.svg'; import {Check} from "lucide-react"; export function GradingForm({ password, data }: { password: string; data: any }) { const [grade, setGrade] = useState(0); const [hasVoted, setHasVoted] = useState(false); const router = useRouter(); async function handleSubmit(event: React.FormEvent) { event.preventDefault(); const response = await fetch('/api/grade', { method: 'POST', body: JSON.stringify({ grade, key: password, testId: data.id }), }); const json = await response.json(); if (response.status == 200) { setHasVoted(true); } else { alert(json.message); } } if (data.vote.hasVoted || hasVoted) { return (
{YourGrade} {data.vote.hasVoted ? data.vote.grade : grade}
); } return (
setGrade(Number(e.target.value) / 2)} />
{YourGrade} {grade}
); }