import React, { ReactNode, useState } from 'react'; import { useForm } from '@inertiajs/react'; import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from '@/components/ui/dialog'; import { Button } from '@/components/ui/button'; import { LoaderCircleIcon } from 'lucide-react'; import FormSuccessful from '@/components/form-successful'; import { Script } from '@/types/script'; import { Form, FormField, FormFields } from '@/components/ui/form'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import InputError from '@/components/ui/input-error'; import ServerSelect from '@/pages/servers/components/server-select'; import { Server } from '@/types/server'; import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; export default function Execute({ script, children }: { script: Script; children: ReactNode }) { const [open, setOpen] = useState(false); const [server, setServer] = useState(); const form = useForm>({ server: '', user: '', }); const submit = () => { form.post(route('scripts.execute', { script: script.id }), { onSuccess: () => { setOpen(false); }, }); }; return ( {children} Execute Execute script

Are you sure you want to run this script?

{ form.setData('server', value.id.toString()); setServer(value); }} /> {script.variables.map((variable: string) => ( form.setData(variable, e.target.value)} /> ))}
); }