import { ColumnDef } from '@tanstack/react-table'; import DateTime from '@/components/date-time'; import { SourceControl } from '@/types/source-control'; import { Badge } from '@/components/ui/badge'; import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from '@/components/ui/dialog'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'; import { Button } from '@/components/ui/button'; import { useForm } from '@inertiajs/react'; import { LoaderCircleIcon, MoreVerticalIcon } from 'lucide-react'; import FormSuccessful from '@/components/form-successful'; import { FormEvent, useState } from 'react'; import InputError from '@/components/ui/input-error'; import { Form, FormField, FormFields } from '@/components/ui/form'; import { Label } from '@/components/ui/label'; import { Input } from '@/components/ui/input'; import { Checkbox } from '@/components/ui/checkbox'; function Edit({ sourceControl }: { sourceControl: SourceControl }) { const [open, setOpen] = useState(false); const form = useForm({ name: sourceControl.name, global: sourceControl.global, }); const submit = (e: FormEvent) => { e.preventDefault(); form.patch(route('source-controls.update', sourceControl.id)); }; return ( e.preventDefault()}>Edit Edit {sourceControl.name} Edit source control
form.setData('name', e.target.value)} />
form.setData('global', !form.data.global)} />
); } function Delete({ sourceControl }: { sourceControl: SourceControl }) { const [open, setOpen] = useState(false); const form = useForm(); const submit = () => { form.delete(route('source-controls.destroy', sourceControl.id), { onSuccess: () => { setOpen(false); }, }); }; return ( e.preventDefault()}> Delete Delete {sourceControl.name} Delete source control

Are you sure you want to delete {sourceControl.name}?

); } export const columns: ColumnDef[] = [ { accessorKey: 'id', header: 'ID', enableColumnFilter: true, enableSorting: true, enableHiding: true, }, { accessorKey: 'provider', header: 'Provider', enableColumnFilter: true, enableSorting: true, }, { accessorKey: 'name', header: 'Name', enableColumnFilter: true, enableSorting: true, }, { accessorKey: 'global', header: 'Global', enableColumnFilter: true, enableSorting: true, cell: ({ row }) => { return
{row.original.global ? yes : no}
; }, }, { accessorKey: 'created_at', header: 'Created at', enableColumnFilter: true, enableSorting: true, cell: ({ row }) => { return ; }, }, { id: 'actions', enableColumnFilter: false, enableSorting: false, cell: ({ row }) => { return (
); }, }, ];