diff --git a/resources/js/composables/useAppLayout.ts b/resources/js/composables/useAppLayout.ts index ec0b80b0..6ca2042d 100644 --- a/resources/js/composables/useAppLayout.ts +++ b/resources/js/composables/useAppLayout.ts @@ -60,12 +60,10 @@ export function useAppLayout() { }, ], }, - ]; - - if (page.props.auth.isAdmin) { - items.push({ + { label: 'Admin', lucideIcon: Lock, + visible: page.props.auth.isAdmin, items: [ { label: 'Dashboard', @@ -80,8 +78,8 @@ export function useAppLayout() { active: currentRoute.value == 'admin.users.index', }, ], - }); - } + }, + ]; return items; }); diff --git a/resources/js/composables/useLazyDataTable.ts b/resources/js/composables/usePaginatedDataTable.ts similarity index 98% rename from resources/js/composables/useLazyDataTable.ts rename to resources/js/composables/usePaginatedDataTable.ts index 6a20a8d8..f4ce1209 100644 --- a/resources/js/composables/useLazyDataTable.ts +++ b/resources/js/composables/usePaginatedDataTable.ts @@ -4,7 +4,7 @@ import { DataTableFilterMetaData, DataTableFilterEvent, DataTableSortEvent } fro import { PrimeVueDataFilters, InertiaRouterFetchCallbacks } from '@/types'; import { usePaginatedData } from './usePaginatedData'; -export function useLazyDataTable( +export function usePaginatedDataTable( propDataToFetch: string | string[], initialFilters: PrimeVueDataFilters = {}, initialRows: number = 20 diff --git a/resources/js/pages/admin/users/Index.vue b/resources/js/pages/admin/users/Index.vue index 28aa1acb..9b07991c 100644 --- a/resources/js/pages/admin/users/Index.vue +++ b/resources/js/pages/admin/users/Index.vue @@ -4,7 +4,7 @@ import { FilterMatchMode } from '@primevue/core/api'; import { AlertCircle, EllipsisVertical, FunnelX, Pencil } from 'lucide-vue-next'; import { formatInTimeZone } from 'date-fns-tz'; import { parseISO } from 'date-fns'; -import { useLazyDataTable } from '@/composables/useLazyDataTable'; +import { usePaginatedDataTable } from '@/composables/usePaginatedDataTable'; import AppLayout from '@/layouts/AppLayout.vue'; import ClientOnly from '@/components/ClientOnly.vue'; import Menu from '@/components/primevue/menu/Menu.vue'; @@ -52,7 +52,7 @@ const { filter, sort, hardReset, -} = useLazyDataTable('users', { +} = usePaginatedDataTable('users', { name: { value: null, matchMode: FilterMatchMode.CONTAINS }, email: { value: null, matchMode: FilterMatchMode.CONTAINS }, created_at: { value: null, matchMode: FilterMatchMode.DATE_IS },