From d444dd06728563939c7ed013c07d24cb1683cbaf Mon Sep 17 00:00:00 2001 From: kizadl Date: Tue, 28 Apr 2026 01:11:54 +0700 Subject: [PATCH] Add admin classifications page and UI tweaks --- .../Admin/ClassificationController.php | 28 +++ resources/js/components/AppSidebar.vue | 5 + resources/js/components/public/Hero.vue | 1 + resources/js/components/public/Scanner.vue | 2 +- .../js/components/ui/avatar/AvatarImage.vue | 1 + resources/js/pages/admin/Classification.vue | 196 ++++++++++++++++++ resources/js/pages/admin/Dashboard.vue | 28 ++- .../classification/ClassificationIndex.vue | 31 ++- routes/web.php | 8 +- 9 files changed, 288 insertions(+), 12 deletions(-) create mode 100644 app/Http/Controllers/Admin/ClassificationController.php create mode 100644 resources/js/pages/admin/Classification.vue diff --git a/app/Http/Controllers/Admin/ClassificationController.php b/app/Http/Controllers/Admin/ClassificationController.php new file mode 100644 index 0000000..eff5d7d --- /dev/null +++ b/app/Http/Controllers/Admin/ClassificationController.php @@ -0,0 +1,28 @@ +latest() + ->paginate(10); + + return Inertia::render('admin/Classification', [ + 'classifications' => $classifications + ]); + } + + public function destroy(Classification $classification) + { + $classification->delete(); + return redirect()->back()->with('success', 'History classification deleted successfully.'); + } +} diff --git a/resources/js/components/AppSidebar.vue b/resources/js/components/AppSidebar.vue index 7c28627..f181b0e 100644 --- a/resources/js/components/AppSidebar.vue +++ b/resources/js/components/AppSidebar.vue @@ -34,6 +34,11 @@ const user = computed(() => page.props.auth.user); href: route('admin.users.index'), icon: Users, }, + { + title: 'History Klasifikasi', + href: route('admin.classifications.index'), + icon: ScanSearch, + }, ]; const userNavItems: NavItem[] = [ diff --git a/resources/js/components/public/Hero.vue b/resources/js/components/public/Hero.vue index 6a7edba..ac86506 100644 --- a/resources/js/components/public/Hero.vue +++ b/resources/js/components/public/Hero.vue @@ -54,6 +54,7 @@ :src="avatar" :alt="`Avatar ${index + 1}`" class="w-10 h-10 rounded-full border-2 border-zinc-950 object-cover" + loading="lazy" />

diff --git a/resources/js/components/public/Scanner.vue b/resources/js/components/public/Scanner.vue index 179f822..cc265e9 100644 --- a/resources/js/components/public/Scanner.vue +++ b/resources/js/components/public/Scanner.vue @@ -53,7 +53,7 @@