diff --git a/resources/js/pages/settings/labels.tsx b/resources/js/pages/settings/labels.tsx
index 75d6f65f..862902c5 100644
--- a/resources/js/pages/settings/labels.tsx
+++ b/resources/js/pages/settings/labels.tsx
@@ -1,10 +1,8 @@
import { __ } from '@/utils/i18n';
import { Head, usePage } from '@inertiajs/react';
import {
- Cell,
ColumnDef,
ColumnFiltersState,
- flexRender,
getCoreRowModel,
getFilteredRowModel,
getSortedRowModel,
@@ -13,7 +11,7 @@ import {
useReactTable,
VisibilityState,
} from '@tanstack/react-table';
-import { ArrowUpDown, MoreHorizontal, Tag } from 'lucide-react';
+import { ArrowUpDown, Tag } from 'lucide-react';
import { useState } from 'react';
import { index as labelsIndex } from '@/actions/App/Http/Controllers/Settings/LabelController';
@@ -21,31 +19,15 @@ import HeadingSmall from '@/components/heading-small';
import { CreateLabelDialog } from '@/components/labels/create-label-dialog';
import { DeleteLabelDialog } from '@/components/labels/delete-label-dialog';
import { EditLabelDialog } from '@/components/labels/edit-label-dialog';
+import {
+ type DialogControl,
+ RowActionsDropdown,
+ RowWithActionsContextMenu,
+} from '@/components/shared/row-edit-delete-actions';
+import { SettingsTable } from '@/components/shared/settings-table';
import { Badge } from '@/components/ui/badge';
import { Button } from '@/components/ui/button';
-import {
- ContextMenu,
- ContextMenuContent,
- ContextMenuItem,
- ContextMenuLabel,
- ContextMenuTrigger,
-} from '@/components/ui/context-menu';
-import {
- DropdownMenu,
- DropdownMenuContent,
- DropdownMenuItem,
- DropdownMenuLabel,
- DropdownMenuTrigger,
-} from '@/components/ui/dropdown-menu';
import { Input } from '@/components/ui/input';
-import {
- Table,
- TableBody,
- TableCell,
- TableHead,
- TableHeader,
- TableRow,
-} from '@/components/ui/table';
import AppLayout from '@/layouts/app-layout';
import SettingsLayout from '@/layouts/settings/layout';
import { type BreadcrumbItem } from '@/types';
@@ -58,109 +40,28 @@ const breadcrumbs: BreadcrumbItem[] = [
},
];
-function LabelActions({ label }: { label: Label }) {
- const [editOpen, setEditOpen] = useState(false);
- const [deleteOpen, setDeleteOpen] = useState(false);
-
- return (
- <>
-
-
-
-
-
- {__('Actions')}
- setEditOpen(true)}>
- {__('Edit')}
-
- setDeleteOpen(true)}
- variant="destructive"
- >
- {__('Delete')}
-
-
-
-
-
{}}
- />
-
+function labelDialogs(label: Label) {
+ return {
+ renderEditDialog: (control: DialogControl) => (
+ {}} {...control} />
+ ),
+ renderDeleteDialog: (control: DialogControl) => (
{}}
+ {...control}
/>
- >
- );
+ ),
+ };
+}
+
+function LabelActions({ label }: { label: Label }) {
+ return ;
}
function LabelRow({ row }: { row: Row