diff --git a/app/Filament/User/Widgets/AdminLinkWidget.php b/app/Filament/User/Widgets/AdminLinkWidget.php deleted file mode 100644 index dcd0f36..0000000 --- a/app/Filament/User/Widgets/AdminLinkWidget.php +++ /dev/null @@ -1,17 +0,0 @@ -user() && auth()->user()->role === 'admin'; - } -} \ No newline at end of file diff --git a/app/Providers/Filament/UserPanelProvider.php b/app/Providers/Filament/UserPanelProvider.php index 170692a..3b98bf7 100644 --- a/app/Providers/Filament/UserPanelProvider.php +++ b/app/Providers/Filament/UserPanelProvider.php @@ -11,6 +11,7 @@ use Filament\Panel; use Filament\PanelProvider; use Filament\Support\Colors\Color; use Filament\Widgets; +use Filament\Navigation\NavigationItem; use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse; use Illuminate\Cookie\Middleware\EncryptCookies; use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken; @@ -24,22 +25,21 @@ class UserPanelProvider extends PanelProvider { return $panel ->id('user') - ->path('lobby') // Serve at /lobby - ->login() // Filament login UI - ->registration() // Filament registration UI + ->path('lobby') + ->login() + ->registration() ->colors([ - 'primary' => Color::Purple, // Purple for user panel + 'primary' => Color::Purple, ]) - ->brandLogo(null) // Text brand name only + ->brandLogo(null) ->discoverResources(in: app_path('Filament/User/Resources'), for: 'App\\Filament\\User\\Resources') ->discoverPages(in: app_path('Filament/User/Pages'), for: 'App\\Filament\\User\\Pages') ->pages([ - \App\Filament\User\Pages\Lobby::class, // Lobby as dashboard + \App\Filament\User\Pages\Lobby::class, ]) ->discoverWidgets(in: app_path('Filament/User/Widgets'), for: 'App\\Filament\\User\\Widgets') ->widgets([ Widgets\AccountWidget::class, - \App\Filament\User\Widgets\AdminLinkWidget::class, ]) ->middleware([ EncryptCookies::class, @@ -53,11 +53,19 @@ class UserPanelProvider extends PanelProvider DispatchServingFilamentEvent::class, ]) ->authMiddleware([ - Authenticate::class, // Enforce authentication + Authenticate::class, ]) ->navigationGroups([ - 'Casino' // Group for games, deposits, transactions + 'Casino' ]) + ->navigationItems([ + NavigationItem::make('Admin') + ->url('/admin') + ->icon('heroicon-o-shield-check') + ->visible(fn () => auth()->user() && auth()->user()->role === 'admin') + ->sort(7) + ]) + ->viteTheme('resources/css/filament/user.css') ->default(); } } \ No newline at end of file diff --git a/resources/css/filament/user.css b/resources/css/filament/user.css new file mode 100644 index 0000000..1357714 --- /dev/null +++ b/resources/css/filament/user.css @@ -0,0 +1,11 @@ +.fi-sidebar-item a[href="/admin"] { + background-color: #16a34a; /* Green for admin button */ + color: #fff; + padding: 0.5rem 1rem; + border-radius: 0.25rem; + transition: all 0.3s ease; +} +.fi-sidebar-item a[href="/admin"]:hover { + background-color: #15803d; + box-shadow: 0 0 10px rgba(22, 163, 74, 0.5); +} \ No newline at end of file diff --git a/resources/views/filament/user/widgets/admin-link-widget.blade.php b/resources/views/filament/user/widgets/admin-link-widget.blade.php deleted file mode 100644 index 6f71759..0000000 --- a/resources/views/filament/user/widgets/admin-link-widget.blade.php +++ /dev/null @@ -1,3 +0,0 @@ - - Admin Panel - \ No newline at end of file diff --git a/vite.config.js b/vite.config.js index 421b569..7c3e853 100644 --- a/vite.config.js +++ b/vite.config.js @@ -4,8 +4,12 @@ import laravel from 'laravel-vite-plugin'; export default defineConfig({ plugins: [ laravel({ - input: ['resources/css/app.css', 'resources/js/app.js'], + input: [ + 'resources/css/app.css', + 'resources/css/filament/user.css', + 'resources/js/app.js', + ], refresh: true, }), ], -}); +}); \ No newline at end of file