From 2a4bcae5ce7be61b07d2cc4ebf9a5ee337237945 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Tue, 23 Jun 2026 13:02:06 +0700 Subject: [PATCH] feat: add browser permission management page for notifications, camera, and location --- .../Admin/Account/PermissionsController.php | 15 + resources/js/components/UserNav.vue | 32 +- resources/js/layouts/AccountLayout.vue | 7 +- .../js/pages/admin/account/Permissions.vue | 317 ++++++++++++++++++ .../expenses/form/ExpenseFormModal.vue | 2 +- routes/web.php | 3 + 6 files changed, 349 insertions(+), 27 deletions(-) create mode 100644 app/Http/Controllers/Admin/Account/PermissionsController.php create mode 100644 resources/js/pages/admin/account/Permissions.vue diff --git a/app/Http/Controllers/Admin/Account/PermissionsController.php b/app/Http/Controllers/Admin/Account/PermissionsController.php new file mode 100644 index 0000000..2f8af37 --- /dev/null +++ b/app/Http/Controllers/Admin/Account/PermissionsController.php @@ -0,0 +1,15 @@ + -import { router, usePage } from '@inertiajs/vue3'; -import { Bell, BellOff, LogOut, User } from '@lucide/vue'; -import { computed } from 'vue'; import { Avatar, AvatarFallback } from '@/components/ui/avatar'; import { Button } from '@/components/ui/button'; import { @@ -9,12 +6,15 @@ import { DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, - DropdownMenuSeparator, DropdownMenuTrigger + DropdownMenuSeparator, + DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; -import { usePushNotification } from '@/composables/usePushNotification'; -import Separator from './ui/separator/Separator.vue'; import { logout as logoutRoute } from '@/routes'; import { profile } from '@/routes/admin/account'; +import { router, usePage } from '@inertiajs/vue3'; +import { LogOut, User } from '@lucide/vue'; +import { computed } from 'vue'; +import Separator from './ui/separator/Separator.vue'; const page = usePage(); @@ -26,8 +26,6 @@ const initials = computed(() => { return username.slice(0, 2).toUpperCase(); }); -const { isSupported, isSubscribed, isLoading, toggle } = usePushNotification(); - function logout() { router.post(logoutRoute.url()); } @@ -35,22 +33,6 @@ function logout() {