'use client'; import cookies from 'js-cookie'; import { useContext } from 'react'; import { useForm } from 'react-hook-form'; import { useSWRConfig } from 'swr'; import { UserContext } from '@/context/user'; import Button from '@/ui/Button'; import Select from '@/ui/Select'; type SettingsData = { name: string; chapter?: number; puzzle?: number; }; export default function Page() { const { data: me } = useContext(UserContext); const { mutate } = useSWRConfig(); const { register, handleSubmit } = useForm({ defaultValues: { name: '', chapter: undefined, puzzle: undefined } }); const groups = (me?.groups && me?.groups.map((group) => ({ title: group.name, value: group.name }))) || []; async function onSubmit(data: SettingsData) { 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'); } } return (
{me && me?.groups?.length > 0 && (