diff --git a/package-lock.json b/package-lock.json index 599e214..4f1464e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "frontend-panel", + "name": "app", "lockfileVersion": 3, "requires": true, "packages": { diff --git a/src/Filament/Pages/Auth/Login.php b/src/Filament/Pages/Auth/Login.php new file mode 100644 index 0000000..679d1cf --- /dev/null +++ b/src/Filament/Pages/Auth/Login.php @@ -0,0 +1,22 @@ +form->fill([ + 'email' => 'test@example.com', + 'password' => 'test123', + 'remember' => true, + ]); + } + } +} diff --git a/src/Http/Middleware/RedirectAfterLogin.php b/src/Http/Middleware/RedirectAfterLogin.php new file mode 100644 index 0000000..a894f50 --- /dev/null +++ b/src/Http/Middleware/RedirectAfterLogin.php @@ -0,0 +1,18 @@ +routeIs('filament.frontend.auth.login')) { + session()->put('url.intended', '/'); + } + + return $next($request); + } +} diff --git a/src/Providers/FrontendPanelProvider.php b/src/Providers/FrontendPanelProvider.php index d31089a..31be614 100644 --- a/src/Providers/FrontendPanelProvider.php +++ b/src/Providers/FrontendPanelProvider.php @@ -7,6 +7,8 @@ use Eclipse\Core\Models\Site; use Eclipse\Core\Services\Registry; use Eclipse\Frontend\Filament\Pages as CustomPages; +use Eclipse\Frontend\Filament\Pages\Auth\Login; +use Eclipse\Frontend\Http\Middleware\RedirectAfterLogin; use Filament\Http\Middleware\Authenticate; use Filament\Http\Middleware\AuthenticateSession; use Filament\Http\Middleware\DisableBladeIconComponents; @@ -52,6 +54,7 @@ public function panel(Panel $panel): Panel $middleware[] = AuthenticateSession::class; $pages[] = CustomPages\Home::class; } else { + $middleware[] = RedirectAfterLogin::class; $widgets = array_merge($widgets, [ Widgets\AccountWidget::class, Widgets\FilamentInfoWidget::class, @@ -59,12 +62,11 @@ public function panel(Panel $panel): Panel $pages[] = Pages\Dashboard::class; } - $panel + $panel = $panel ->id(self::PANEL_ID) ->path('') - ->login() + ->login(Login::class) ->passwordReset() - ->emailVerification() ->colors([ 'primary' => Color::Cyan, 'gray' => Color::Slate, @@ -93,7 +95,11 @@ public function panel(Panel $panel): Panel ->middleware($middleware) ->plugins(array_merge([ EnvironmentIndicatorPlugin::make(), - ], app(Registry::class)->getPlugins())); + ], app(Registry::class)->getPlugins())) + ->renderHook( + PanelsRenderHook::HEAD_START, + fn (): string => self::getThemeIsolationScript(self::PANEL_ID) + ); match ($this->allowGuestAccess()) { true => $panel @@ -105,10 +111,6 @@ public function panel(Panel $panel): Panel ->authMiddleware([ Authenticate::class, ]) - ->renderHook( - PanelsRenderHook::HEAD_START, - fn (): string => self::getThemeIsolationScript(self::PANEL_ID) - ) }; return $panel; @@ -117,6 +119,7 @@ public function panel(Panel $panel): Panel public function register(): void { parent::register(); + FilamentView::registerRenderHook('panels::body.end', fn (): string => Blade::render("@vite('resources/js/app.js')")); }