From 4ec20f4a49bb644c368900cf2ca04d6392ad4da1 Mon Sep 17 00:00:00 2001 From: Daniel Wilkowski Date: Wed, 13 Sep 2023 15:01:45 +0200 Subject: [PATCH] Extract UserMenu --- app/Domain/User/MenuItem.php | 25 ++++ app/Domain/User/User.php | 12 ++ app/Domain/User/UserMenu.php | 119 ++++++++++++++++++ .../Controllers/Profile/HomeController.php | 4 +- .../Controllers/User/AcceptsController.php | 3 +- app/Http/Controllers/User/BaseController.php | 3 +- .../User/DeleteAccountController.php | 3 +- .../Controllers/User/FavoritesController.php | 19 ++- app/Http/Controllers/User/HomeController.php | 3 +- app/Http/Controllers/User/HomeTrait.php | 71 ----------- .../Controllers/User/Menu/AccountMenu.php | 35 ++++++ .../User/Menu/ProfileNavigation.php | 41 ++++++ .../Controllers/User/Menu/SettingsMenu.php | 29 +++++ .../User/NotificationsController.php | 10 +- .../Controllers/User/PasswordController.php | 3 +- app/Http/Controllers/User/PmController.php | 3 +- app/Http/Controllers/User/RatesController.php | 3 +- .../Controllers/User/RelationsController.php | 3 +- .../Controllers/User/SecurityController.php | 3 +- .../Controllers/User/SettingsController.php | 3 +- app/Http/Controllers/User/SettingsTrait.php | 63 ---------- .../Controllers/User/SkillsController.php | 3 +- app/Http/Controllers/User/StatsController.php | 3 +- .../Controllers/User/TokensController.php | 3 +- app/Http/Controllers/User/UserMenuTrait.php | 27 ---- 25 files changed, 304 insertions(+), 190 deletions(-) create mode 100644 app/Domain/User/MenuItem.php create mode 100644 app/Domain/User/User.php create mode 100644 app/Domain/User/UserMenu.php delete mode 100644 app/Http/Controllers/User/HomeTrait.php create mode 100644 app/Http/Controllers/User/Menu/AccountMenu.php create mode 100644 app/Http/Controllers/User/Menu/ProfileNavigation.php create mode 100644 app/Http/Controllers/User/Menu/SettingsMenu.php delete mode 100644 app/Http/Controllers/User/SettingsTrait.php delete mode 100644 app/Http/Controllers/User/UserMenuTrait.php diff --git a/app/Domain/User/MenuItem.php b/app/Domain/User/MenuItem.php new file mode 100644 index 0000000000..2e9d7234a5 --- /dev/null +++ b/app/Domain/User/MenuItem.php @@ -0,0 +1,25 @@ +htmlIcon = "fa $fixedWidth $htmlIcon"; + } + $this->route = [$routeName, ...$routeArguments]; + } +} diff --git a/app/Domain/User/User.php b/app/Domain/User/User.php new file mode 100644 index 0000000000..bed67f238d --- /dev/null +++ b/app/Domain/User/User.php @@ -0,0 +1,12 @@ +loggedIn) { + return [ + new MenuItem('Moje konto', 'user.home'), + new MenuItem('Ustawienia', 'user.settings'), + new MenuItem('Profil', 'profile', routeArguments: [$user->id]), + ]; + } + return []; + } + + /** + * @return MenuItem[] + */ + public function favouriteTabs(): array + { + return [ + new MenuItem('Wątki na forum', 'user.favorites.forum'), + new MenuItem('Oferty pracy', 'user.favorites.job'), + new MenuItem('Mikroblogi', 'user.favorites.microblog'), + ]; + } + + /** + * @return MenuItem[] + */ + public function settingsMenu(): array + { + return [ + new MenuItem('Podstawowa konfiguracja', + 'user.settings', + htmlId: 'btn-start', + htmlIcon: 'fa-cog'), + new MenuItem('Umiejętności', + 'user.skills', + htmlId: 'btn-visits', + htmlIcon: 'fa-wrench'), + new MenuItem('Bezpieczeństwo', + 'user.security', + htmlId: 'btn-notifies', + htmlIcon: 'fa-lock'), + new MenuItem('Zmiana hasła', + 'user.password', + htmlId: 'btn-pm', + htmlIcon: 'fa-key'), + new MenuItem('Ustawienia powiadomień', + 'user.notifications.settings', + htmlId: 'btn-favorites', + htmlIcon: 'fa-bell'), + new MenuItem('Zablokowani oraz obserwowani', + 'user.relations', + htmlId: 'btn-favorites', + htmlIcon: 'fa-user-slash'), + new MenuItem('Tokeny API', + 'user.tokens', + htmlId: 'btn-favorites', + htmlIcon: 'fa-key') + ]; + } + + /** + * @return MenuItem[] + */ + public function accountMenu(): array + { + return [ + new MenuItem( + 'Start', + 'user.home', + htmlId: 'btn-start', + htmlIcon: 'fa-map-marker' + ), + new MenuItem( + 'Powiadomienia', + 'user.notifications', + htmlId: 'btn-notifies', + htmlIcon: 'fa-bell'), + new MenuItem( + 'Wiadomości prywatne', + 'user.pm', + htmlId: 'btn-pm', + htmlIcon: 'fa-envelope'), + new MenuItem( + 'Ulubione i obserwowane strony', + 'user.favorites', + htmlId: 'btn-favorites', + htmlIcon: 'fa-heart'), + new MenuItem( + 'Oceny moich postów', + 'user.rates', + htmlId: 'btn-rates', + htmlIcon: 'fa-star-half'), + new MenuItem( + 'Statystyki moich postów', + 'user.stats', + htmlId: 'btn-stats', + htmlIcon: 'fa-chart-bar'), + new MenuItem( + 'Zaakceptowane odpowiedzi', + 'user.accepts', + htmlId: 'btn-accepts', + htmlIcon: 'fa-check'), + new MenuItem( + 'Usuń konto', + 'user.delete', + htmlClass: 'text-danger', + htmlIcon: 'fa-trash-alt') + ]; + } +} diff --git a/app/Http/Controllers/Profile/HomeController.php b/app/Http/Controllers/Profile/HomeController.php index dbaf9bb790..8916034fc3 100644 --- a/app/Http/Controllers/Profile/HomeController.php +++ b/app/Http/Controllers/Profile/HomeController.php @@ -3,7 +3,7 @@ namespace Coyote\Http\Controllers\Profile; use Coyote\Http\Controllers\Controller; -use Coyote\Http\Controllers\User\UserMenuTrait; +use Coyote\Http\Controllers\User\Menu\ProfileNavigation; use Coyote\Http\Requests\SkillsRequest; use Coyote\Http\Resources\MicroblogCollection; use Coyote\Http\Resources\TagResource; @@ -19,7 +19,7 @@ class HomeController extends Controller { - use UserMenuTrait; + use ProfileNavigation; /** * @var UserRepository diff --git a/app/Http/Controllers/User/AcceptsController.php b/app/Http/Controllers/User/AcceptsController.php index 37d10c7f49..a664e925aa 100644 --- a/app/Http/Controllers/User/AcceptsController.php +++ b/app/Http/Controllers/User/AcceptsController.php @@ -3,13 +3,14 @@ namespace Coyote\Http\Controllers\User; use Boduch\Grid\Source\EloquentSource; +use Coyote\Http\Controllers\User\Menu\AccountMenu; use Coyote\Http\Grids\User\AcceptsGrid; use Coyote\Repositories\Contracts\PostRepositoryInterface; use Illuminate\View\View; class AcceptsController extends BaseController { - use HomeTrait; + use AccountMenu; public function index(PostRepositoryInterface $post): View { diff --git a/app/Http/Controllers/User/BaseController.php b/app/Http/Controllers/User/BaseController.php index 22e1dfd873..1c0eef1844 100644 --- a/app/Http/Controllers/User/BaseController.php +++ b/app/Http/Controllers/User/BaseController.php @@ -3,10 +3,11 @@ namespace Coyote\Http\Controllers\User; use Coyote\Http\Controllers\Controller; +use Coyote\Http\Controllers\User\Menu\ProfileNavigation; abstract class BaseController extends Controller { - use UserMenuTrait; + use ProfileNavigation; public function __construct() { diff --git a/app/Http/Controllers/User/DeleteAccountController.php b/app/Http/Controllers/User/DeleteAccountController.php index e2d8a662d0..da5d78d841 100644 --- a/app/Http/Controllers/User/DeleteAccountController.php +++ b/app/Http/Controllers/User/DeleteAccountController.php @@ -3,6 +3,7 @@ namespace Coyote\Http\Controllers\User; use Coyote\Events\UserDeleted; +use Coyote\Http\Controllers\User\Menu\AccountMenu; use Coyote\Rules\PasswordCheck; use Coyote\Services\Stream\Activities\Delete; use Coyote\Services\Stream\Objects\Person; @@ -19,7 +20,7 @@ class DeleteAccountController extends BaseController logout as traitLogout; } - use HomeTrait; + use AccountMenu; public function index(): View { diff --git a/app/Http/Controllers/User/FavoritesController.php b/app/Http/Controllers/User/FavoritesController.php index a2b4f4b45f..fc5e9f4936 100644 --- a/app/Http/Controllers/User/FavoritesController.php +++ b/app/Http/Controllers/User/FavoritesController.php @@ -2,6 +2,8 @@ namespace Coyote\Http\Controllers\User; +use Coyote\Domain\User\UserMenu; +use Coyote\Http\Controllers\User\Menu\AccountMenu; use Coyote\Job; use Coyote\Microblog; use Coyote\Models\Subscription; @@ -13,7 +15,7 @@ class FavoritesController extends BaseController { - use HomeTrait; + use AccountMenu; public function __construct() { @@ -66,19 +68,16 @@ protected function load(string $resource): View protected function getTabs(): Builder { + $menuItems = (new UserMenu())->favouriteTabs(); + /** @var Menu $menu */ $menu = app(Menu::class); - return $menu->make('favorites', function (Builder $menu) { - $tabs = [ - 'user.favorites.forum' => 'Wątki na forum', - 'user.favorites.job' => 'Oferty pracy', - 'user.favorites.microblog' => 'Mikroblogi' - ]; - foreach ($tabs as $route => $label) { - $item = $menu->add("$label", ['route' => $route]); + return $menu->make('favorites', function (Builder $menu) use ($menuItems) { + foreach ($menuItems as $menuItem) { + $item = $menu->add("{$menuItem->title}", ['route' => $menuItem->route]); $item->link->attr(['class' => 'nav-item']); - if ($route === request()->route()->getName()) { + if ($menuItem->routeName === request()->route()->getName()) { $item->link->active(); } } diff --git a/app/Http/Controllers/User/HomeController.php b/app/Http/Controllers/User/HomeController.php index 1d53b1efc2..f0d3f2d3be 100644 --- a/app/Http/Controllers/User/HomeController.php +++ b/app/Http/Controllers/User/HomeController.php @@ -3,6 +3,7 @@ namespace Coyote\Http\Controllers\User; use Coyote\Events\UserSaved; +use Coyote\Http\Controllers\User\Menu\AccountMenu; use Coyote\Http\Factories\MediaFactory; use Coyote\Repositories\Contracts\UserRepositoryInterface; use Illuminate\Http\JsonResponse; @@ -11,7 +12,7 @@ class HomeController extends BaseController { - use HomeTrait, MediaFactory; + use AccountMenu, MediaFactory; public function index(UserRepositoryInterface $user): View { diff --git a/app/Http/Controllers/User/HomeTrait.php b/app/Http/Controllers/User/HomeTrait.php deleted file mode 100644 index e47887da48..0000000000 --- a/app/Http/Controllers/User/HomeTrait.php +++ /dev/null @@ -1,71 +0,0 @@ - 'btn-start', - 'route' => 'user.home', - 'icon' => 'fa-map-marker', - 'label' => 'Start' - ], - [ - 'id' => 'btn-notifies', - 'route' => 'user.notifications', - 'icon' => 'fa-bell', - 'label' => 'Powiadomienia' - ], - [ - 'id' => 'btn-pm', - 'route' => 'user.pm', - 'icon' => 'fa-envelope', - 'label' => 'Wiadomości prywatne' - ], - [ - 'id' => 'btn-favorites', - 'route' => 'user.favorites', - 'icon' => 'fa-heart', - 'label' => 'Ulubione i obserwowane strony' - ], - [ - 'id' => 'btn-rates', - 'route' => 'user.rates', - 'icon' => 'fa-star-half', - 'label' => 'Oceny moich postów' - ], - [ - 'id' => 'btn-stats', - 'route' => 'user.stats', - 'icon' => 'fa-chart-bar', - 'label' => 'Statystyki moich postów' - ], - [ - 'id' => 'btn-accepts', - 'route' => 'user.accepts', - 'icon' => 'fa-check', - 'label' => 'Zaakceptowane odpowiedzi' - ], - [ - 'class' => 'text-danger', - 'route' => 'user.delete', - 'icon' => 'fa-times', - 'label' => 'Usuń konto' - ] - ]; - - return app(Menu::class)->make('user.home', function ($menu) use ($collection) { - foreach ($collection as $row) { - $menu->add($row['label'], ['route' => $row['route'], 'id' => $row['id'] ?? '', 'class' => $row['class'] ?? '']) - ->prepend(''); - } - - $menu->find('btn-pm')->append(' (' . auth()->user()->pm_unread . '/' . auth()->user()->pm . ')'); - }); - } -} diff --git a/app/Http/Controllers/User/Menu/AccountMenu.php b/app/Http/Controllers/User/Menu/AccountMenu.php new file mode 100644 index 0000000000..94931d9982 --- /dev/null +++ b/app/Http/Controllers/User/Menu/AccountMenu.php @@ -0,0 +1,35 @@ +accountMenu(); + + /** @var Menu $menu */ + $menu = app(Menu::class); + + return $menu->make('user.home', function (Builder $menu) use ($menuItems) { + foreach ($menuItems as $menuItem) { + $menu + ->add($menuItem->title, [ + 'id' => $menuItem->htmlId ?? '', + 'class' => $menuItem->htmlClass ?? '', + 'route' => $menuItem->route + ]) + ->prepend("htmlIcon\">"); + } + + $user = auth()->user(); + $menu + ->find('btn-pm') + ->append(' (' . $user->pm_unread . '/' . $user->pm . ')'); + }); + } +} diff --git a/app/Http/Controllers/User/Menu/ProfileNavigation.php b/app/Http/Controllers/User/Menu/ProfileNavigation.php new file mode 100644 index 0000000000..a7a8b55b25 --- /dev/null +++ b/app/Http/Controllers/User/Menu/ProfileNavigation.php @@ -0,0 +1,41 @@ +profileNavigation($this->laravelUser()); + + /** @var Menu $menu */ + $menu = app(Menu::class); + + return $menu->make('user.top', function (Builder $menu) use ($menuItems) { + foreach ($menuItems as $menuItem) { + $menu + ->add($menuItem->title, [ + 'class' => 'nav-item', + 'route' => $menuItem->route + ]) + ->nickname($menuItem->routeName) + ->link + ->attr(['class' => 'nav-link']); + } + }); + } + + private function laravelUser(): User + { + if (auth()->check()) { + return new User(true, auth()->user()->id); + } + return new User(false, null); + } +} diff --git a/app/Http/Controllers/User/Menu/SettingsMenu.php b/app/Http/Controllers/User/Menu/SettingsMenu.php new file mode 100644 index 0000000000..db8ddb1ecd --- /dev/null +++ b/app/Http/Controllers/User/Menu/SettingsMenu.php @@ -0,0 +1,29 @@ +settingsMenu(); + + /** @var Menu $menu */ + $menu = app(Menu::class); + + return $menu->make('user.settings', function (Builder $builder) use ($menuItems) { + foreach ($menuItems as $menuItem) { + $builder + ->add($menuItem->title, [ + 'id' => $menuItem->htmlId, + 'route' => $menuItem->route + ]) + ->prepend("htmlIcon\">"); + } + }); + } +} diff --git a/app/Http/Controllers/User/NotificationsController.php b/app/Http/Controllers/User/NotificationsController.php index ca2881a5df..0c5359f60c 100644 --- a/app/Http/Controllers/User/NotificationsController.php +++ b/app/Http/Controllers/User/NotificationsController.php @@ -4,6 +4,8 @@ use Carbon; use Coyote\Events\NotificationRead; +use Coyote\Http\Controllers\User\Menu\AccountMenu; +use Coyote\Http\Controllers\User\Menu\SettingsMenu; use Coyote\Http\Resources\NotificationResource; use Coyote\Notification; use Coyote\Repositories\Contracts\NotificationRepositoryInterface; @@ -17,9 +19,9 @@ class NotificationsController extends BaseController { - use SettingsTrait, HomeTrait { - SettingsTrait::getSideMenu as settingsSideMenu; - HomeTrait::getSideMenu as homeSideMenu; + use SettingsMenu, AccountMenu { + SettingsMenu::getSideMenu as settingsSideMenu; + AccountMenu::getSideMenu as homeSideMenu; } public function __construct(private NotificationRepositoryInterface $notification) @@ -151,7 +153,7 @@ public function redirectToUrl(): RedirectResponse private function markAsReadAndCount(Collection|Paginator $notifications): int { $unreadNotifications = $notifications - ->reject(fn(Notification $notification) => $notification->read_at !== null) + ->filter(fn(Notification $notification) => $notification->read_at === null) ->pluck('id') ->all(); if (!empty($unreadNotifications)) { diff --git a/app/Http/Controllers/User/PasswordController.php b/app/Http/Controllers/User/PasswordController.php index f2a8abf2d8..14329875ce 100644 --- a/app/Http/Controllers/User/PasswordController.php +++ b/app/Http/Controllers/User/PasswordController.php @@ -2,6 +2,7 @@ namespace Coyote\Http\Controllers\User; +use Coyote\Http\Controllers\User\Menu\SettingsMenu; use Coyote\User; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; @@ -9,7 +10,7 @@ class PasswordController extends BaseController { - use SettingsTrait; + use SettingsMenu; public function index(): View { diff --git a/app/Http/Controllers/User/PmController.php b/app/Http/Controllers/User/PmController.php index 352c68b2d9..3cf8a8ab56 100644 --- a/app/Http/Controllers/User/PmController.php +++ b/app/Http/Controllers/User/PmController.php @@ -4,6 +4,7 @@ use Coyote\Events\PmCreated; use Coyote\Events\PmRead; +use Coyote\Http\Controllers\User\Menu\AccountMenu; use Coyote\Http\Requests\PmRequest; use Coyote\Http\Resources\PmResource; use Coyote\Notifications\PmCreatedNotification; @@ -22,7 +23,7 @@ class PmController extends BaseController { - use HomeTrait; + use AccountMenu; private UserRepository $user; private NotificationRepository $notification; diff --git a/app/Http/Controllers/User/RatesController.php b/app/Http/Controllers/User/RatesController.php index cee10f0a6c..f93aacd69b 100644 --- a/app/Http/Controllers/User/RatesController.php +++ b/app/Http/Controllers/User/RatesController.php @@ -3,13 +3,14 @@ namespace Coyote\Http\Controllers\User; use Boduch\Grid\Source\EloquentSource; +use Coyote\Http\Controllers\User\Menu\AccountMenu; use Coyote\Http\Grids\User\RatesGrid; use Coyote\Repositories\Contracts\PostRepositoryInterface; use Illuminate\View\View; class RatesController extends BaseController { - use HomeTrait; + use AccountMenu; public function index(PostRepositoryInterface $post): View { diff --git a/app/Http/Controllers/User/RelationsController.php b/app/Http/Controllers/User/RelationsController.php index b27943df64..3874836eb4 100644 --- a/app/Http/Controllers/User/RelationsController.php +++ b/app/Http/Controllers/User/RelationsController.php @@ -2,6 +2,7 @@ namespace Coyote\Http\Controllers\User; +use Coyote\Http\Controllers\User\Menu\SettingsMenu; use Coyote\Http\Resources\UserResource; use Illuminate\Contracts\Cache; use Illuminate\Database\Eloquent\Relations\BelongsTo; @@ -9,7 +10,7 @@ class RelationsController extends BaseController { - use SettingsTrait; + use SettingsMenu; private Cache\Repository $cache; diff --git a/app/Http/Controllers/User/SecurityController.php b/app/Http/Controllers/User/SecurityController.php index fe91363522..9f3607ea4e 100644 --- a/app/Http/Controllers/User/SecurityController.php +++ b/app/Http/Controllers/User/SecurityController.php @@ -2,13 +2,14 @@ namespace Coyote\Http\Controllers\User; +use Coyote\Http\Controllers\User\Menu\SettingsMenu; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\View\View; class SecurityController extends BaseController { - use SettingsTrait; + use SettingsMenu; public function index(): View { diff --git a/app/Http/Controllers/User/SettingsController.php b/app/Http/Controllers/User/SettingsController.php index 7ea8f89598..f86179f75b 100644 --- a/app/Http/Controllers/User/SettingsController.php +++ b/app/Http/Controllers/User/SettingsController.php @@ -4,6 +4,7 @@ use Coyote\Actkey; use Coyote\Events\UserSaved; +use Coyote\Http\Controllers\User\Menu\SettingsMenu; use Coyote\Http\Factories\MailFactory; use Coyote\Http\Forms\User\SettingsForm; use Coyote\Mail\EmailConfirmation; @@ -16,7 +17,7 @@ class SettingsController extends BaseController { - use SettingsTrait, MailFactory; + use SettingsMenu, MailFactory; public function index(): View { diff --git a/app/Http/Controllers/User/SettingsTrait.php b/app/Http/Controllers/User/SettingsTrait.php deleted file mode 100644 index de78421f9d..0000000000 --- a/app/Http/Controllers/User/SettingsTrait.php +++ /dev/null @@ -1,63 +0,0 @@ - 'btn-start', - 'route' => 'user.settings', - 'icon' => 'fa-cog', - 'label' => 'Podstawowa konfiguracja' - ], - [ - 'id' => 'btn-visits', - 'route' => 'user.skills', - 'icon' => 'fa-wrench', - 'label' => 'Umiejętności' - ], - [ - 'id' => 'btn-notifies', - 'route' => 'user.security', - 'icon' => 'fa-lock', - 'label' => 'Bezpieczeństwo' - ], - [ - 'id' => 'btn-pm', - 'route' => 'user.password', - 'icon' => 'fa-key', - 'label' => 'Zmiana hasła' - ], - [ - 'id' => 'btn-favorites', - 'route' => 'user.notifications.settings', - 'icon' => 'fa-bell', - 'label' => 'Ustawienia powiadomień' - ], - [ - 'id' => 'btn-favorites', - 'route' => 'user.relations', - 'icon' => 'fa-user-slash', - 'label' => 'Zablokowani oraz obserwowani' - ], - [ - 'id' => 'btn-favorites', - 'route' => 'user.tokens', - 'icon' => 'fa-key', - 'label' => 'Tokeny API' - ] - ]; - - return app(Menu::class)->make('user.settings', function ($menu) use ($collection) { - foreach ($collection as $row) { - $menu->add($row['label'], ['route' => $row['route'], 'id' => $row['id']]) - ->prepend(''); - } - }); - } -} diff --git a/app/Http/Controllers/User/SkillsController.php b/app/Http/Controllers/User/SkillsController.php index dfbbd0304a..c3b60767cb 100644 --- a/app/Http/Controllers/User/SkillsController.php +++ b/app/Http/Controllers/User/SkillsController.php @@ -2,6 +2,7 @@ namespace Coyote\Http\Controllers\User; +use Coyote\Http\Controllers\User\Menu\SettingsMenu; use Coyote\Http\Requests\SkillsRequest; use Coyote\Http\Resources\TagResource; use Coyote\Tag; @@ -11,7 +12,7 @@ class SkillsController extends BaseController { - use SettingsTrait; + use SettingsMenu; public function index(): View { diff --git a/app/Http/Controllers/User/StatsController.php b/app/Http/Controllers/User/StatsController.php index a5ec7398e1..c5566d66e0 100644 --- a/app/Http/Controllers/User/StatsController.php +++ b/app/Http/Controllers/User/StatsController.php @@ -3,6 +3,7 @@ namespace Coyote\Http\Controllers\User; use Boduch\Grid\Source\EloquentSource; +use Coyote\Http\Controllers\User\Menu\AccountMenu; use Coyote\Http\Grids\User\StatsGrid; use Coyote\Repositories\Contracts\PostRepositoryInterface; use Coyote\Repositories\Criteria\Forum\OnlyThoseWithAccess; @@ -10,7 +11,7 @@ class StatsController extends BaseController { - use HomeTrait; + use AccountMenu; public function index(PostRepositoryInterface $post): View { diff --git a/app/Http/Controllers/User/TokensController.php b/app/Http/Controllers/User/TokensController.php index e24db7ac0d..1fd28b0121 100644 --- a/app/Http/Controllers/User/TokensController.php +++ b/app/Http/Controllers/User/TokensController.php @@ -2,11 +2,12 @@ namespace Coyote\Http\Controllers\User; +use Coyote\Http\Controllers\User\Menu\SettingsMenu; use Illuminate\View\View; class TokensController extends BaseController { - use SettingsTrait; + use SettingsMenu; public function index(): View { diff --git a/app/Http/Controllers/User/UserMenuTrait.php b/app/Http/Controllers/User/UserMenuTrait.php deleted file mode 100644 index c1a08fa41d..0000000000 --- a/app/Http/Controllers/User/UserMenuTrait.php +++ /dev/null @@ -1,27 +0,0 @@ -make('user.top', function ($menu) { - if (auth()->check()) { - $menu->add('Moje konto', ['route' => 'user.home', 'class' => 'nav-item'])->nickname('user.home')->link->attr(['class' => 'nav-link']); - $menu->add('Ustawienia', ['route' => 'user.settings', 'class' => 'nav-item'])->nickname('user.settings')->link->attr(['class' => 'nav-link']); - $menu->add('Profil', ['route' => ['profile', auth()->user()->id], 'class' => 'nav-item'])->nickname('profile')->link->attr(['class' => 'nav-link']); - } - }); - } -}