diff --git a/app/Http/Middleware/HandleInertiaRequests.php b/app/Http/Middleware/HandleInertiaRequests.php index 0029451..1c6e8db 100644 --- a/app/Http/Middleware/HandleInertiaRequests.php +++ b/app/Http/Middleware/HandleInertiaRequests.php @@ -2,6 +2,7 @@ namespace App\Http\Middleware; +use App\Models\Menu; use App\Models\Permission; use App\Models\Role; use Illuminate\Http\Request; @@ -63,6 +64,7 @@ class HandleInertiaRequests extends Middleware return $prev; }, $permissions); }, + '$menus' => $request->user()?->menus(), ]); } } diff --git a/resources/js/Components/DashboardLayout/Sidebar.vue b/resources/js/Components/DashboardLayout/Sidebar.vue index fa90310..a460279 100644 --- a/resources/js/Components/DashboardLayout/Sidebar.vue +++ b/resources/js/Components/DashboardLayout/Sidebar.vue @@ -7,7 +7,7 @@ import Icon from '@/Components/Icon.vue' import Swal from 'sweetalert2' const self = getCurrentInstance() -const menus = ref([]) +const menus = ref(usePage().props.value.$menus || []) const { user } = usePage().props.value const fetch = async () => { diff --git a/resources/js/Components/DashboardLayout/Sidebar/Link.vue b/resources/js/Components/DashboardLayout/Sidebar/Link.vue index 859b7c1..4f698c9 100644 --- a/resources/js/Components/DashboardLayout/Sidebar/Link.vue +++ b/resources/js/Components/DashboardLayout/Sidebar/Link.vue @@ -8,13 +8,11 @@ const { menu } = defineProps({ }) const active = route().current(menu.route_or_url) - -if (route().has(menu.route_or_url)) - menu.route_or_url = route(menu.route_or_url) +const link = route().has(menu.route_or_url) ? route(menu.route_or_url) : menu.route_or_url