lobby now run in filament
This commit is contained in:
12
app/Filament/User/Pages/Lobby.php
Normal file
12
app/Filament/User/Pages/Lobby.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\User\Pages;
|
||||
|
||||
use Filament\Pages\Page;
|
||||
|
||||
class Lobby extends Page
|
||||
{
|
||||
protected static ?string $navigationIcon = 'heroicon-o-home';
|
||||
|
||||
protected static string $view = 'filament.user.pages.lobby';
|
||||
}
|
||||
59
app/Providers/Filament/UserPanelProvider.php
Normal file
59
app/Providers/Filament/UserPanelProvider.php
Normal file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
namespace App\Providers\Filament;
|
||||
|
||||
use Filament\Http\Middleware\Authenticate;
|
||||
use Filament\Http\Middleware\AuthenticateSession;
|
||||
use Filament\Http\Middleware\DisableBladeIconComponents;
|
||||
use Filament\Http\Middleware\DispatchServingFilamentEvent;
|
||||
use Filament\Pages;
|
||||
use Filament\Panel;
|
||||
use Filament\PanelProvider;
|
||||
use Filament\Support\Colors\Color;
|
||||
use Filament\Widgets;
|
||||
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
|
||||
use Illuminate\Cookie\Middleware\EncryptCookies;
|
||||
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
|
||||
use Illuminate\Routing\Middleware\SubstituteBindings;
|
||||
use Illuminate\Session\Middleware\StartSession;
|
||||
use Illuminate\View\Middleware\ShareErrorsFromSession;
|
||||
|
||||
class UserPanelProvider extends PanelProvider
|
||||
{
|
||||
public function panel(Panel $panel): Panel
|
||||
{
|
||||
return $panel
|
||||
->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
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -3,4 +3,6 @@
|
||||
return [
|
||||
App\Providers\AppServiceProvider::class,
|
||||
App\Providers\Filament\AdminPanelProvider::class,
|
||||
App\Providers\Filament\UserPanelProvider::class,
|
||||
|
||||
];
|
||||
|
||||
52
package-lock.json
generated
52
package-lock.json
generated
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
61
resources/views/components/layout.blade.php
Normal file
61
resources/views/components/layout.blade.php
Normal file
@@ -0,0 +1,61 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title>{{ $title ?? 'Skunk Lounge' }}</title>
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Arial&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- Bootstrap (for grid/responsiveness) -->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
|
||||
|
||||
<!-- Tailwind CSS -->
|
||||
@vite('resources/css/app.css')
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="{{ asset('js/app.js') }}" defer></script>
|
||||
</head>
|
||||
<body class="bg-dark text-white font-sans antialiased">
|
||||
<!-- Top Bar -->
|
||||
<header class="bg-gray_900 shadow-neon p-4 fixed top-0 left-0 right-0 z-50">
|
||||
<div class="container mx-auto flex justify-between items-center">
|
||||
<a href="/lobby" class="text-2xl font-bold text-neon_green text-glow">Skunk Lounge</a>
|
||||
<div class="flex items-center">
|
||||
<span class="mr-4 text-lg">Balance: ${{ auth()->user()->balance ?? 0 }}</span>
|
||||
<a href="/deposits" class="btn btn-neon">Deposit</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Left Sidebar Menu -->
|
||||
<nav class="fixed top-16 left-0 bottom-0 w-64 bg-gray_900 p-4 shadow-neon z-40 overflow-y-auto">
|
||||
<div class="mb-4">
|
||||
<!-- Logo -->
|
||||
<img src="{{ asset('images/logo.png') }}" alt="Logo" class="w-full mb-4"> <!-- Add logo to public/images if needed -->
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="/lobby" class="block py-2 px-4 hover:bg-gray_800 rounded text-white hover:text-neon_green text-glow">Lobby</a></li>
|
||||
<li><a href="/profile" class="block py-2 px-4 hover:bg-gray_800 rounded text-white hover:text-neon_green text-glow">Profile</a></li>
|
||||
<li><a href="/deposits" class="block py-2 px-4 hover:bg-gray_800 rounded text-white hover:text-neon_green text-glow">Deposits</a></li>
|
||||
<li><a href="/transactions" class="block py-2 px-4 hover:bg-gray_800 rounded text-white hover:text-neon_green text-glow">Transactions</a></li>
|
||||
<li><a href="/vip" class="block py-2 px-4 hover:bg-gray_800 rounded text-white hover:text-neon_green text-glow">VIP</a></li>
|
||||
<li><a href="/about" class="block py-2 px-4 hover:bg-gray_800 rounded text-white hover:text-neon_green text-glow">About Us</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<!-- Main Content -->
|
||||
<main class="ml-64 pt-16 p-4 min-h-screen">
|
||||
{{ $slot }}
|
||||
</main>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="bg-gray_900 p-4 text-center text-gray-500">
|
||||
Fake casino for entertainment only. No real money.
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,37 +1,22 @@
|
||||
<div class="container mx-auto mt-4 bg-gray-900 text-white p-4 rounded shadow-lg">
|
||||
<h1 class="text-2xl font-bold mb-4 glow">Skunk Lounge Lobby</h1>
|
||||
<div class="flex justify-between mb-4">
|
||||
<span class="text-lg">Balance: ${{ auth()->user()->balance }}</span>
|
||||
<div>
|
||||
@auth
|
||||
<form method="POST" action="{{ route('logout') }}" class="inline">
|
||||
@csrf
|
||||
<button type="submit" class="btn-neon">Logout</button>
|
||||
</form>
|
||||
@if(auth()->user()->role === 'admin')
|
||||
<a href="/admin" class="btn-neon ml-2">Admin</a>
|
||||
@endif
|
||||
@else
|
||||
<a href="{{ route('login') }}" class="btn-neon">Login</a>
|
||||
<a href="{{ route('register') }}" class="btn-neon ml-2">Register</a>
|
||||
@endauth
|
||||
</div>
|
||||
</div>
|
||||
<x-layout title="Lobby">
|
||||
<div class="container mx-auto mt-4">
|
||||
<h1 class="text-2xl font-bold mb-4 text-neon_green text-glow">Casino Lobby</h1>
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
|
||||
<div class="card bg-gray-800 p-4 rounded shadow-neon">
|
||||
<div class="card bg-gray_800 p-4 rounded shadow-neon">
|
||||
<h3 class="text-lg mb-2">Slots</h3>
|
||||
<p>Pragmatic-style reels and animations.</p>
|
||||
<a href="/games/slots" class="btn-neon mt-2">Play</a>
|
||||
<a href="/games/slots" class="btn btn-neon mt-2">Play</a>
|
||||
</div>
|
||||
<div class="card bg-gray-800 p-4 rounded shadow-neon">
|
||||
<div class="card bg-gray_800 p-4 rounded shadow-neon">
|
||||
<h3 class="text-lg mb-2">Plinko</h3>
|
||||
<p>Physics-based drop with multipliers.</p>
|
||||
<a href="/games/plinko" class="btn-neon mt-2">Play</a>
|
||||
<a href="/games/plinko" class="btn btn-neon mt-2">Play</a>
|
||||
</div>
|
||||
<div class="card bg-gray-800 p-4 rounded shadow-neon">
|
||||
<div class="card bg-gray_800 p-4 rounded shadow-neon">
|
||||
<h3 class="text-lg mb-2">Wheel Spin</h3>
|
||||
<p>Fortune wheel with prizes.</p>
|
||||
<a href="/games/wheel" class="btn-neon mt-2">Play</a>
|
||||
<a href="/games/wheel" class="btn btn-neon mt-2">Play</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</x-layout>
|
||||
3
resources/views/filament/user/pages/lobby.blade.php
Normal file
3
resources/views/filament/user/pages/lobby.blade.php
Normal file
@@ -0,0 +1,3 @@
|
||||
<x-filament-panels::page>
|
||||
|
||||
</x-filament-panels::page>
|
||||
@@ -1,36 +1,58 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<title>{{ config('app.name', 'Laravel') }}</title>
|
||||
<title>{{ $title ?? 'Skunk Lounge' }}</title>
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="preconnect" href="https://fonts.bunny.net">
|
||||
<link href="https://fonts.bunny.net/css?family=figtree:400,500,600&display=swap" rel="stylesheet" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Arial&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- Styles -->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
|
||||
|
||||
<!-- Scripts -->
|
||||
@vite(['resources/css/app.css', 'resources/js/app.js'])
|
||||
<script src="{{ asset('js/app.js') }}" defer></script>
|
||||
</head>
|
||||
<body class="font-sans antialiased">
|
||||
<div class="min-h-screen bg-gray-100">
|
||||
@include('layouts.navigation')
|
||||
|
||||
<!-- Page Heading -->
|
||||
@isset($header)
|
||||
<header class="bg-white shadow">
|
||||
<div class="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
|
||||
{{ $header }}
|
||||
<body class="bg-dark text-white font-sans antialiased">
|
||||
<!-- Top Bar -->
|
||||
<header class="bg-gray-900 shadow-neon p-4 fixed top-0 left-0 right-0 z-50">
|
||||
<div class="container mx-auto flex justify-between items-center">
|
||||
<a href="/lobby" class="text-2xl font-bold glow">Skunk Lounge</a>
|
||||
<div class="flex items-center">
|
||||
<span class="mr-4">Balance: ${{ auth()->user()->balance ?? 0 }}</span>
|
||||
<a href="/deposits" class="btn-neon">Deposit</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
@endisset
|
||||
|
||||
<!-- Page Content -->
|
||||
<main>
|
||||
<!-- Left Sidebar Menu -->
|
||||
<nav class="fixed top-16 left-0 bottom-0 w-64 bg-gray-900 p-4 shadow-neon z-40 overflow-y-auto">
|
||||
<div class="mb-4">
|
||||
<img src="{{ asset('images/logo.png') }}" alt="Logo" class="w-full mb-4"> <!-- Add logo asset if needed -->
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="/lobby" class="block py-2 px-4 hover:bg-gray-800 rounded glow">Lobby</a></li>
|
||||
<li><a href="/profile" class="block py-2 px-4 hover:bg-gray-800 rounded glow">Profile</a></li>
|
||||
<li><a href="/deposits" class="block py-2 px-4 hover:bg-gray-800 rounded glow">Deposits</a></li>
|
||||
<li><a href="/transactions" class="block py-2 px-4 hover:bg-gray-800 rounded glow">Transactions</a></li>
|
||||
<li><a href="/vip" class="block py-2 px-4 hover:bg-gray-800 rounded glow">VIP</a></li>
|
||||
<li><a href="/about" class="block py-2 px-4 hover:bg-gray-800 rounded glow">About Us</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<!-- Main Content -->
|
||||
<main class="ml-64 pt-16 p-4 min-h-screen">
|
||||
{{ $slot }}
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="bg-gray-900 p-4 text-center text-gray-500">
|
||||
Fake casino for entertainment only. No real money.
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
4
resources/views/pages/about.blade.php
Normal file
4
resources/views/pages/about.blade.php
Normal file
@@ -0,0 +1,4 @@
|
||||
<x-layout title="About Us">
|
||||
<h1 class="text-2xl font-bold mb-4 glow">About Us</h1>
|
||||
<p>Skunk Lounge is a fake casino for entertainment only. No real money involved.</p>
|
||||
</x-layout>
|
||||
4
resources/views/pages/deposits.blade.php
Normal file
4
resources/views/pages/deposits.blade.php
Normal file
@@ -0,0 +1,4 @@
|
||||
<x-layout title="Deposits">
|
||||
<h1 class="text-2xl font-bold mb-4 glow">Deposits</h1>
|
||||
<p>Claim promo codes for fake currency. Claim history below. (Coming soon)</p>
|
||||
</x-layout>
|
||||
4
resources/views/pages/profile.blade.php
Normal file
4
resources/views/pages/profile.blade.php
Normal file
@@ -0,0 +1,4 @@
|
||||
<x-layout title="Profile">
|
||||
<h1 class="text-2xl font-bold mb-4 glow">Profile</h1>
|
||||
<p>Change password, profile picture, email, add 2FA, etc. (Coming soon)</p>
|
||||
</x-layout>
|
||||
4
resources/views/pages/transactions.blade.php
Normal file
4
resources/views/pages/transactions.blade.php
Normal file
@@ -0,0 +1,4 @@
|
||||
<x-layout title="Transactions">
|
||||
<h1 class="text-2xl font-bold mb-4 glow">Transactions</h1>
|
||||
<p>View deposits, withdrawals, wins/losses. (Coming soon)</p>
|
||||
</x-layout>
|
||||
4
resources/views/pages/vip.blade.php
Normal file
4
resources/views/pages/vip.blade.php
Normal file
@@ -0,0 +1,4 @@
|
||||
<x-layout title="VIP">
|
||||
<h1 class="text-2xl font-bold mb-4 glow">VIP</h1>
|
||||
<p>Subscribe with casino money for VIP status. (Coming soon)</p>
|
||||
</x-layout>
|
||||
@@ -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';
|
||||
|
||||
@@ -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)',
|
||||
},
|
||||
});
|
||||
},
|
||||
],
|
||||
};
|
||||
Reference in New Issue
Block a user