'use client'; import { zodResolver } from '@hookform/resolvers/zod'; import cookies from 'js-cookie'; import { Loader2 } from 'lucide-react'; import { useRouter } from 'next/navigation'; import { useState } from 'react'; import { useForm } from 'react-hook-form'; import { useSWRConfig } from 'swr'; import { z } from 'zod'; import { Button } from '@/components/ui/Button'; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '@/components/ui/Form'; import { Input } from '@/components/ui/Input'; import { useUser } from '@/context/user'; import { type Player } from '@/lib/players'; import { Separator } from '@/components/ui/Separator'; type SettingsData = { name: string; chapter?: number; puzzle?: number; }; export default function Page() { const { data: me, isLoading } = useUser(); const { mutate } = useSWRConfig(); const router = useRouter(); const groups = (me?.groups && me?.groups.map((group) => ({ title: group.name, value: group.name }))) || []; async function onSubmit(data: SettingsData) { if (!data) return; const res = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/groupQuit`, { method: 'POST', body: JSON.stringify({ name: data.name, chapter: me?.groups?.find((group) => group.name === data.name)?.chapter // puzzle: me?.groups?.find((group) => group.name === data.name)?.puzzle }), headers: { Authorization: `Bearer ${cookies.get('token')}}` } }); if (res.ok) { mutate('me'); router.push('/dashboard/puzzles'); } else if (res.status === 423) { alert("Vous ne pouvez pas quitter un groupe en cours d'évenement"); } } return (

Mon profil

C'est ici que vous pouvez modifier votre profil.

{!isLoading && } {/*
)} /> ( Pseudo )} /> ( Prénom )} /> ( Nom )} /> ( Description )} /> ); }