'use client'; import type { Puzzle as PuzzleType } from '@/lib/puzzles'; import { notFound } from 'next/navigation'; import { useForm } from 'react-hook-form'; import cookies from 'js-cookie'; import Button from './Button'; import Input from './Input'; import ToHTML from './ToHTML'; type PuzzleData = { answer: string; filename: string; code_file: File[]; }; export default function Puzzle({ puzzle }: { puzzle: PuzzleType }) { if (!puzzle) { notFound(); } const { register, handleSubmit, formState: { errors }, setError } = useForm({ defaultValues: { answer: '', filename: '', code_file: undefined } }); async function onSubmit(data: PuzzleData) { const formData = new FormData(); formData.append('answer', data.answer); formData.append('filename', data.code_file[0].name); formData.append('code_file', data.code_file[0]); const res = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/puzzleResponse/${puzzle.id}`, { method: 'POST', body: formData, headers: { Authorization: `Bearer ${cookies.get('token')}}` } }); if (res.ok) { alert('Réponse correcte !'); } } return (

{puzzle.name}

Chapitre

); }