'use client'; import Link from 'next/link'; import { useParams, useRouter } from 'next/navigation'; import * as React from 'react'; import { useForm, useFieldArray } from 'react-hook-form'; import { fetcher } from '@/app/api/tools'; import useSWR from 'swr'; import { Dish } from '@/app/tools'; type FormValues = { client: string; realization_time: string; data: Dish[]; }; 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: { client: '', realization_time: new Date().toLocaleTimeString('pl-PL', { hour: '2-digit', minute: '2-digit' }), data: [ { item: 'Inne', additional_info: '', finished: false, takeout: false }, ], }, mode: 'all', }); 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 (