'use client'; import Link from 'next/link'; import { useParams, useRouter } from 'next/navigation'; import * as React from 'react'; import { useForm, useFieldArray, useWatch, Control } from 'react-hook-form'; import { fetcher } from '@/app/api/tools'; import useSWR from 'swr'; type FormValues = { data: { item: string; additional_info: string; finished: boolean; }[]; }; export default function App() { const { data, error, isLoading } = useSWR('/api/meals', fetcher); const { id } = useParams(); const router = useRouter(); const { register, control, handleSubmit, formState: { errors }, } = useForm({ defaultValues: { data: [{ item: '', additional_info: '', finished: false }], }, mode: 'onBlur', }); const { fields, append, remove } = useFieldArray({ name: 'data', control, }); const onSubmit = (data: FormValues) => { console.log(data); fetch('/api/orders', { method: 'POST', body: JSON.stringify({ waiter: id, ...data }), headers: { 'Content-Type': 'application/json', }, }) .then(({ status }) => console.log(status)) .then((_) => router.push(`/waiter/${id}`)); }; if (error) return
Błąd przy ładowaniu danych
; if (isLoading) return
Ładowanie
; return ( <>

Nowe zamówienie

{fields.map((field, index) => { return (