From 6e212db8e1c6b6943df0dfd256efefe895e1d719 Mon Sep 17 00:00:00 2001 From: arriej Date: Wed, 3 Sep 2025 21:23:25 +0200 Subject: [PATCH] lobby now run in filament --- app/Filament/User/Pages/Lobby.php | 12 +++ app/Providers/Filament/UserPanelProvider.php | 59 +++++++++++++ bootstrap/providers.php | 2 + package-lock.json | 52 ++++++++++++ package.json | 1 + resources/views/components/layout.blade.php | 61 ++++++++++++++ resources/views/components/lobby.blade.php | 55 +++++-------- .../views/filament/user/pages/lobby.blade.php | 3 + resources/views/layouts/app.blade.php | 82 ++++++++++++------- resources/views/pages/about.blade.php | 4 + resources/views/pages/deposits.blade.php | 4 + resources/views/pages/profile.blade.php | 4 + resources/views/pages/transactions.blade.php | 4 + resources/views/pages/vip.blade.php | 4 + routes/web.php | 5 ++ tailwind.config.js | 41 ++++++---- 16 files changed, 314 insertions(+), 79 deletions(-) create mode 100644 app/Filament/User/Pages/Lobby.php create mode 100644 app/Providers/Filament/UserPanelProvider.php create mode 100644 resources/views/components/layout.blade.php create mode 100644 resources/views/filament/user/pages/lobby.blade.php create mode 100644 resources/views/pages/about.blade.php create mode 100644 resources/views/pages/deposits.blade.php create mode 100644 resources/views/pages/profile.blade.php create mode 100644 resources/views/pages/transactions.blade.php create mode 100644 resources/views/pages/vip.blade.php diff --git a/app/Filament/User/Pages/Lobby.php b/app/Filament/User/Pages/Lobby.php new file mode 100644 index 0000000..90271d1 --- /dev/null +++ b/app/Filament/User/Pages/Lobby.php @@ -0,0 +1,12 @@ +id('user') + ->path('user') + ->login() + ->colors([ + 'primary' => Color::Green, // Neon green accents + ]) + ->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([ + Pages\Dashboard::class, # Lobby as dashboard + ]) + ->discoverWidgets(in: app_path('Filament/User/Widgets'), for: 'App\\Filament\\User\\Widgets') + ->widgets([ + Widgets\AccountWidget::class, + ]) + ->middleware([ + EncryptCookies::class, + AddQueuedCookiesToResponse::class, + StartSession::class, + AuthenticateSession::class, + ShareErrorsFromSession::class, + VerifyCsrfToken::class, + SubstituteBindings::class, + DisableBladeIconComponents::class, + DispatchServingFilamentEvent::class, + ]) + ->authMiddleware([ + Authenticate::class, + ]) + ->navigationGroups([ + 'Casino' # Group for games, deposits, transactions + ]); + } +} \ No newline at end of file diff --git a/bootstrap/providers.php b/bootstrap/providers.php index 22744d1..5eba7e4 100644 --- a/bootstrap/providers.php +++ b/bootstrap/providers.php @@ -3,4 +3,6 @@ return [ App\Providers\AppServiceProvider::class, App\Providers\Filament\AdminPanelProvider::class, + App\Providers\Filament\UserPanelProvider::class, + ]; diff --git a/package-lock.json b/package-lock.json index 346a859..3d64c25 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,6 +6,7 @@ "": { "devDependencies": { "@tailwindcss/forms": "^0.5.2", + "@tailwindcss/typography": "^0.5.16", "@tailwindcss/vite": "^4.0.0", "alpinejs": "^3.4.2", "autoprefixer": "^10.4.2", @@ -1271,6 +1272,36 @@ "node": ">= 10" } }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.16.tgz", + "integrity": "sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" + } + }, + "node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@tailwindcss/vite": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.12.tgz", @@ -2663,6 +2694,27 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", diff --git a/package.json b/package.json index f52a99c..b033df6 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ }, "devDependencies": { "@tailwindcss/forms": "^0.5.2", + "@tailwindcss/typography": "^0.5.16", "@tailwindcss/vite": "^4.0.0", "alpinejs": "^3.4.2", "autoprefixer": "^10.4.2", diff --git a/resources/views/components/layout.blade.php b/resources/views/components/layout.blade.php new file mode 100644 index 0000000..1155b6e --- /dev/null +++ b/resources/views/components/layout.blade.php @@ -0,0 +1,61 @@ + + + + + + + {{ $title ?? 'Skunk Lounge' }} + + + + + + + + + + + @vite('resources/css/app.css') + + + + + + +
+
+ Skunk Lounge +
+ Balance: ${{ auth()->user()->balance ?? 0 }} + Deposit +
+
+
+ + + + + +
+ {{ $slot }} +
+ + + + + \ No newline at end of file diff --git a/resources/views/components/lobby.blade.php b/resources/views/components/lobby.blade.php index 7e66ded..d9faaf7 100644 --- a/resources/views/components/lobby.blade.php +++ b/resources/views/components/lobby.blade.php @@ -1,37 +1,22 @@ -
-

Skunk Lounge Lobby

-
- Balance: ${{ auth()->user()->balance }} -
- @auth -
- @csrf - -
- @if(auth()->user()->role === 'admin') - Admin - @endif - @else - Login - Register - @endauth + +
+

Casino Lobby

+
+
+

Slots

+

Pragmatic-style reels and animations.

+ Play +
+
+

Plinko

+

Physics-based drop with multipliers.

+ Play +
+
+

Wheel Spin

+

Fortune wheel with prizes.

+ Play +
-
-
-

Slots

-

Pragmatic-style reels and animations.

- Play -
-
-

Plinko

-

Physics-based drop with multipliers.

- Play -
-
-

Wheel Spin

-

Fortune wheel with prizes.

- Play -
-
-
\ No newline at end of file + \ No newline at end of file diff --git a/resources/views/filament/user/pages/lobby.blade.php b/resources/views/filament/user/pages/lobby.blade.php new file mode 100644 index 0000000..cc61477 --- /dev/null +++ b/resources/views/filament/user/pages/lobby.blade.php @@ -0,0 +1,3 @@ + + + diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index c5ff315..8ab1830 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -1,36 +1,58 @@ - - - - - + + + + - {{ config('app.name', 'Laravel') }} + {{ $title ?? 'Skunk Lounge' }} - - - + + + + - - @vite(['resources/css/app.css', 'resources/js/app.js']) - - -
- @include('layouts.navigation') + + + - - @isset($header) -
-
- {{ $header }} -
-
- @endisset - - -
- {{ $slot }} -
+ + + + + +
+
+ Skunk Lounge +
+ Balance: ${{ auth()->user()->balance ?? 0 }} + Deposit +
- - +
+ + + + + +
+ {{ $slot }} +
+ + +
+ Fake casino for entertainment only. No real money. +
+ + \ No newline at end of file diff --git a/resources/views/pages/about.blade.php b/resources/views/pages/about.blade.php new file mode 100644 index 0000000..c69c58a --- /dev/null +++ b/resources/views/pages/about.blade.php @@ -0,0 +1,4 @@ + +

About Us

+

Skunk Lounge is a fake casino for entertainment only. No real money involved.

+
\ No newline at end of file diff --git a/resources/views/pages/deposits.blade.php b/resources/views/pages/deposits.blade.php new file mode 100644 index 0000000..f1134f0 --- /dev/null +++ b/resources/views/pages/deposits.blade.php @@ -0,0 +1,4 @@ + +

Deposits

+

Claim promo codes for fake currency. Claim history below. (Coming soon)

+
\ No newline at end of file diff --git a/resources/views/pages/profile.blade.php b/resources/views/pages/profile.blade.php new file mode 100644 index 0000000..2d07d0a --- /dev/null +++ b/resources/views/pages/profile.blade.php @@ -0,0 +1,4 @@ + +

Profile

+

Change password, profile picture, email, add 2FA, etc. (Coming soon)

+
\ No newline at end of file diff --git a/resources/views/pages/transactions.blade.php b/resources/views/pages/transactions.blade.php new file mode 100644 index 0000000..f71eb6c --- /dev/null +++ b/resources/views/pages/transactions.blade.php @@ -0,0 +1,4 @@ + +

Transactions

+

View deposits, withdrawals, wins/losses. (Coming soon)

+
\ No newline at end of file diff --git a/resources/views/pages/vip.blade.php b/resources/views/pages/vip.blade.php new file mode 100644 index 0000000..acf47a7 --- /dev/null +++ b/resources/views/pages/vip.blade.php @@ -0,0 +1,4 @@ + +

VIP

+

Subscribe with casino money for VIP status. (Coming soon)

+
\ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 1db7418..0974b61 100644 --- a/routes/web.php +++ b/routes/web.php @@ -20,6 +20,11 @@ Route::middleware('auth')->group(function () { Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit'); Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update'); Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy'); + Route::get('/profile', function () { return view('pages.profile'); })->name('profile'); + Route::get('/deposits', function () { return view('pages.deposits'); })->name('deposits'); + Route::get('/transactions', function () { return view('pages.transactions'); })->name('transactions'); + Route::get('/vip', function () { return view('pages.vip'); })->name('vip'); + Route::get('/about', function () { return view('pages.about'); })->name('about'); }); require __DIR__.'/auth.php'; diff --git a/tailwind.config.js b/tailwind.config.js index c29eb1a..8fe8398 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,21 +1,34 @@ -import defaultTheme from 'tailwindcss/defaultTheme'; -import forms from '@tailwindcss/forms'; - -/** @type {import('tailwindcss').Config} */ -export default { +module.exports = { content: [ - './vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php', - './storage/framework/views/*.php', - './resources/views/**/*.blade.php', + './resources/**/*.blade.php', + './vendor/filament/**/*.blade.php', ], - theme: { extend: { - fontFamily: { - sans: ['Figtree', ...defaultTheme.fontFamily.sans], + colors: { + dark: '#111', + neon_green: '#00ff00', + neon_pink: '#ff00de', + gray_800: '#1f2937', + gray_900: '#111827', + }, + boxShadow: { + neon: '0 0 15px rgba(0, 255, 0, 0.5)', + }, + textShadow: { + glow: '0 0 10px rgba(0, 255, 0, 0.7)', }, }, }, - - plugins: [forms], -}; + plugins: [ + require('@tailwindcss/forms'), + require('@tailwindcss/typography'), + function ({ addUtilities }) { + addUtilities({ + '.text-glow': { + textShadow: '0 0 10px rgba(0, 255, 0, 0.7)', + }, + }); + }, + ], +}; \ No newline at end of file