diff --git a/app/Actions/Analytics/UserRequest/UI/IndexUserRequestLogs.php b/app/Actions/Analytics/UserRequest/UI/IndexUserRequestLogs.php
index b8515a07a0..7d8085839a 100644
--- a/app/Actions/Analytics/UserRequest/UI/IndexUserRequestLogs.php
+++ b/app/Actions/Analytics/UserRequest/UI/IndexUserRequestLogs.php
@@ -120,7 +120,7 @@ public function getBreadcrumbs($suffix = null): array
'type' => 'simple',
'simple' => [
'route' => [
- 'name' => 'grp.sysadmin.users.request.index',
+ 'name' => 'grp.sysadmin.analytics.request.index',
],
'label' => __('User Requests'),
'icon' => 'fal fa-bars',
diff --git a/app/Actions/SysAdmin/Group/GetOverview.php b/app/Actions/SysAdmin/Group/GetOverview.php
index c7bcbdbc35..8b26c73972 100644
--- a/app/Actions/SysAdmin/Group/GetOverview.php
+++ b/app/Actions/SysAdmin/Group/GetOverview.php
@@ -63,7 +63,7 @@ public function getSection(Group $group): array
[
'name' => __('User Requests'),
'icon' => 'fal fa-road',
- 'route' => route('grp.sysadmin.users.request.index'),
+ 'route' => route('grp.sysadmin.analytics.request.index'),
'count' => $group->sysadminStats->number_user_requests ?? 0
],
],
diff --git a/app/Actions/SysAdmin/UI/ShowSysAdminAnalyticsDashboard.php b/app/Actions/SysAdmin/UI/ShowSysAdminAnalyticsDashboard.php
new file mode 100644
index 0000000000..1fc7822c8f
--- /dev/null
+++ b/app/Actions/SysAdmin/UI/ShowSysAdminAnalyticsDashboard.php
@@ -0,0 +1,81 @@
+
+ * Created: Sun, 05 Jan 2025 14:59:28 Malaysia Time, Kuala Lumpur, Malaysia
+ * Copyright (c) 2025, Raul A Perusquia Flores
+ */
+
+namespace App\Actions\SysAdmin\UI;
+
+use App\Actions\OrgAction;
+use App\Actions\UI\Dashboards\ShowGroupDashboard;
+use App\Enums\UI\SysAdmin\SysAdminAnalyticsDashboardTabsEnum;
+use App\Models\SysAdmin\Group;
+use Inertia\Inertia;
+use Inertia\Response;
+use Lorisleiva\Actions\ActionRequest;
+
+class ShowSysAdminAnalyticsDashboard extends OrgAction
+{
+ public function authorize(ActionRequest $request): bool
+ {
+ return $request->user()->hasPermissionTo("sysadmin.view");
+ }
+
+
+ public function handle(Group $group): Group
+ {
+ return $group;
+ }
+
+ public function asController(ActionRequest $request): Group
+ {
+ $group = group();
+ $this->initialisationFromGroup($group, $request)->withTab(SysAdminAnalyticsDashboardTabsEnum::values());
+
+ return $this->handle($group);
+ }
+
+
+ public function htmlResponse(Group $group): Response
+ {
+ return Inertia::render(
+ 'SysAdmin/SysAdminAnalyticsDashboard',
+ [
+ 'breadcrumbs' => $this->getBreadcrumbs(),
+ 'title' => __('System analytics'),
+ 'pageHead' => [
+ 'icon' => [
+ 'icon' => ['fal', 'fa-analytics'],
+ 'title' => __('System analytics')
+ ],
+ 'title' => __('System analytics'),
+ ],
+ 'tabs' => [
+ 'current' => $this->tab,
+ 'navigation' => SysAdminAnalyticsDashboardTabsEnum::navigation()
+ ],
+ ]
+ );
+ }
+
+ public function getBreadcrumbs(): array
+ {
+ return
+ array_merge(
+ ShowGroupDashboard::make()->getBreadcrumbs(),
+ [
+ [
+ 'type' => 'simple',
+ 'simple' => [
+ 'route' => [
+ 'name' => 'grp.sysadmin.analytics.dashboard'
+ ],
+ 'label' => __('analytics'),
+ ]
+ ]
+ ]
+ );
+ }
+}
diff --git a/app/Actions/SysAdmin/User/WithUserSubNavigation.php b/app/Actions/SysAdmin/User/WithUserSubNavigation.php
index a4453346bc..e5591e7c67 100644
--- a/app/Actions/SysAdmin/User/WithUserSubNavigation.php
+++ b/app/Actions/SysAdmin/User/WithUserSubNavigation.php
@@ -33,7 +33,7 @@ protected function getUserNavigation(User $user, ActionRequest $request): array
[
"label" => __("Visit Logs"),
"route" => [
- // "name" => "grp.sysadmin.users.request.index",
+ // "name" => "grp.sysadmin.analytics.request.index",
// "parameters" => [
// 'user' => $user->username
// ],
diff --git a/app/Actions/UI/Grp/Layout/GetGroupNavigation.php b/app/Actions/UI/Grp/Layout/GetGroupNavigation.php
index a64b9f3c1e..b72d745bad 100644
--- a/app/Actions/UI/Grp/Layout/GetGroupNavigation.php
+++ b/app/Actions/UI/Grp/Layout/GetGroupNavigation.php
@@ -175,7 +175,7 @@ public function handle(User $user): array
'subSections' => [
[
'label' => __('users'),
- 'icon' => ['fal', 'fa-terminal'],
+ 'icon' => ['fal', 'fa-user-circle'],
'root' => 'grp.sysadmin.users.',
'route' => [
'name' => 'grp.sysadmin.users.index',
@@ -191,6 +191,15 @@ public function handle(User $user): array
]
],
+ [
+ 'label' => __('analytics'),
+ 'icon' => ['fal', 'fa-analytics'],
+ 'root' => 'grp.sysadmin.analytics.',
+ 'route' => [
+ 'name' => 'grp.sysadmin.analytics.dashboard',
+
+ ]
+ ],
[
'label' => __('system settings'),
'icon' => ['fal', 'fa-cog'],
diff --git a/resources/js/Pages/Grp/SysAdmin/SysAdminAnalyticsDashboard.vue b/resources/js/Pages/Grp/SysAdmin/SysAdminAnalyticsDashboard.vue
new file mode 100644
index 0000000000..03c429a9e8
--- /dev/null
+++ b/resources/js/Pages/Grp/SysAdmin/SysAdminAnalyticsDashboard.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+