diff --git a/app/Http/View/Composers/UserMenuComposer.php b/app/Http/View/Composers/UserMenuComposer.php index 27fd1998..49767ce5 100644 --- a/app/Http/View/Composers/UserMenuComposer.php +++ b/app/Http/View/Composers/UserMenuComposer.php @@ -29,13 +29,28 @@ class UserMenuComposer false ); $avatarPNG = $this->filter->apply('user_avatar', $avatarPNG, [$user]); - $cli = $this->request->is('admin', 'admin/*'); + + $menuItems = [ + ['label' => trans('general.user-center'), 'link' => route('user.home')], + ['label' => trans('general.profile'), 'link' => route('user.profile.')], + ]; + if ($user->isAdmin()) { + array_push( + $menuItems, + ['label' => '', 'link' => '#divider'], + ['label' => trans('general.admin-panel'), 'link' => route('admin.')], + ['label' => trans('general.user-manage'), 'link' => route('admin.users.')], + ['label' => trans('general.report-manage'), 'link' => route('admin.reports.')], + ['label' => 'Web CLI', 'link' => '#launch-cli'], + ); + } + $menuItems = $this->filter->apply('user_menu', $menuItems, [$user]); $view->with([ 'user' => $user, 'avatar' => $avatar, 'avatar_png' => $avatarPNG, - 'cli' => $cli, + 'menu' => $menuItems, ]); } } diff --git a/resources/assets/src/index.tsx b/resources/assets/src/index.tsx index ff932389..573fa209 100644 --- a/resources/assets/src/index.tsx +++ b/resources/assets/src/index.tsx @@ -7,7 +7,7 @@ import routes from './scripts/route' Object.assign(window, { React, ReactDOM, $ }) if (blessing.route.startsWith('admin')) { - const entry = document.querySelector('#launch-cli') + const entry = document.querySelector('[href="#launch-cli"]') entry?.addEventListener('click', async () => { const { launch } = await import('./scripts/cli') launch() diff --git a/resources/views/shared/user-menu.twig b/resources/views/shared/user-menu.twig index 170ca811..1c6724ea 100644 --- a/resources/views/shared/user-menu.twig +++ b/resources/views/shared/user-menu.twig @@ -10,30 +10,14 @@