import { Server } from '@/types/server'; import React, { FormEvent, ReactNode, useState } from 'react'; import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from '@/components/ui/dialog'; import { Form, FormField, FormFields } from '@/components/ui/form'; import { useForm, usePage } from '@inertiajs/react'; import { Button } from '@/components/ui/button'; import { LoaderCircle } from 'lucide-react'; import { Label } from '@/components/ui/label'; import InputError from '@/components/ui/input-error'; import { Input } from '@/components/ui/input'; import { Site } from '@/types/site'; import { Textarea } from '@/components/ui/textarea'; export default function CreateCommand({ children }: { children: ReactNode }) { const [open, setOpen] = useState(false); const page = usePage<{ server: Server; site: Site; }>(); const form = useForm<{ name: string; command: string; }>({ name: '', command: '', }); const submit = (e: FormEvent) => { e.preventDefault(); form.post(route('commands.store', { server: page.props.server.id, site: page.props.site.id }), { onSuccess: () => { setOpen(false); }, }); }; return ( {children} Create command Create a new command
form.setData('name', e.target.value)} />