From 23de49aae0dab3ef46be634f921c523850cd73ba Mon Sep 17 00:00:00 2001 From: Mark Gregory Date: Thu, 15 Oct 2026 17:24:49 +0100 Subject: [PATCH] Initial Commit --- app/Http/Middleware/EnsureLodgeAdmin.php | 20 ++ .../components/desktop-user-menu.blade.php | 2 +- .../backend/views/layouts/app.blade.php | 7 +- .../views/layouts/app/header.blade.php | 8 +- .../views/layouts/app/sidebar.blade.php | 54 ++- .../frontend/views/lodge/layout.blade.php | 6 +- .../components/settings/layout.blade.php | 20 ++ resources/views/layouts/app.blade.php | 2 + resources/views/layouts/app/header.blade.php | 84 +++++ resources/views/layouts/app/sidebar.blade.php | 133 +++++++ resources/views/layouts/auth.blade.php | 3 + resources/views/layouts/auth/card.blade.php | 33 ++ resources/views/layouts/auth/simple.blade.php | 29 ++ resources/views/layouts/auth/split.blade.php | 50 +++ .../livewire/settings/appearance.blade.php | 13 + .../settings/delete-user-form.blade.php | 34 ++ .../views/livewire/settings/profile.blade.php | 36 ++ .../livewire/settings/security.blade.php | 327 ++++++++++++++++++ .../two-factor/recovery-codes.blade.php | 89 +++++ resources/views/lodge/admin-layout.blade.php | 2 +- resources/views/lodge/layout.blade.php | 6 +- .../views/partials/settings-heading.blade.php | 5 + routes/cresta-admin.php | 2 +- routes/web.php | 2 +- themes/backend/views/layouts/app.blade.php | 2 + views/layouts/app.blade.php | 2 + views/lodge/admin-layout.blade.php | 1 + 27 files changed, 946 insertions(+), 26 deletions(-) create mode 100644 app/Http/Middleware/EnsureLodgeAdmin.php create mode 100644 resources/views/components/settings/layout.blade.php create mode 100644 resources/views/layouts/app.blade.php create mode 100644 resources/views/layouts/app/header.blade.php create mode 100644 resources/views/layouts/app/sidebar.blade.php create mode 100644 resources/views/layouts/auth.blade.php create mode 100644 resources/views/layouts/auth/card.blade.php create mode 100644 resources/views/layouts/auth/simple.blade.php create mode 100644 resources/views/layouts/auth/split.blade.php create mode 100644 resources/views/livewire/settings/appearance.blade.php create mode 100644 resources/views/livewire/settings/delete-user-form.blade.php create mode 100644 resources/views/livewire/settings/profile.blade.php create mode 100644 resources/views/livewire/settings/security.blade.php create mode 100644 resources/views/livewire/settings/two-factor/recovery-codes.blade.php create mode 100644 resources/views/partials/settings-heading.blade.php create mode 100644 themes/backend/views/layouts/app.blade.php create mode 100644 views/layouts/app.blade.php create mode 100644 views/lodge/admin-layout.blade.php diff --git a/app/Http/Middleware/EnsureLodgeAdmin.php b/app/Http/Middleware/EnsureLodgeAdmin.php new file mode 100644 index 0000000..5321bac --- /dev/null +++ b/app/Http/Middleware/EnsureLodgeAdmin.php @@ -0,0 +1,20 @@ +user()?->email); + + abort_unless($admin !== '' && $email !== '' && strcasecmp($admin, $email) === 0, 403); + + return $next($request); + } +} diff --git a/resources/themes/backend/views/components/desktop-user-menu.blade.php b/resources/themes/backend/views/components/desktop-user-menu.blade.php index 7fb3706..2261022 100644 --- a/resources/themes/backend/views/components/desktop-user-menu.blade.php +++ b/resources/themes/backend/views/components/desktop-user-menu.blade.php @@ -2,7 +2,7 @@ diff --git a/resources/themes/backend/views/layouts/app.blade.php b/resources/themes/backend/views/layouts/app.blade.php index 037dd1b..a78e98e 100644 --- a/resources/themes/backend/views/layouts/app.blade.php +++ b/resources/themes/backend/views/layouts/app.blade.php @@ -1,5 +1,2 @@ - - - {{ $slot }} - - +{{-- Use the same Cresta 31 shell for Livewire settings and admin pages. --}} +@include('lodge.admin-layout', ['slot' => $slot, 'title' => $title ?? 'Account settings']) diff --git a/resources/themes/backend/views/layouts/app/header.blade.php b/resources/themes/backend/views/layouts/app/header.blade.php index 989b8e4..61135d9 100644 --- a/resources/themes/backend/views/layouts/app/header.blade.php +++ b/resources/themes/backend/views/layouts/app/header.blade.php @@ -24,7 +24,7 @@ - + {{ __('Repository') }} - + {{ __('Documentation') }} diff --git a/resources/themes/backend/views/layouts/app/sidebar.blade.php b/resources/themes/backend/views/layouts/app/sidebar.blade.php index 6db2170..b0178a2 100644 --- a/resources/themes/backend/views/layouts/app/sidebar.blade.php +++ b/resources/themes/backend/views/layouts/app/sidebar.blade.php @@ -10,24 +10,56 @@ + @php + $adminEmail = trim((string) config('lodge.admin_email', '')); + $isLodgeAdmin = auth()->check() + && $adminEmail !== '' + && strcasecmp(trim((string) auth()->user()->email), $adminEmail) === 0; + @endphp + - - - {{ __('Dashboard') }} - + @if ($isLodgeAdmin) + + @if (Route::has('admin.dashboard')) + Dashboard + @endif + + + + @if (Route::has('lodge.admin')) + Bookings + @endif + @if (Route::has('lodge.availability')) + Availability + @endif + + + + @if (Route::has('admin.photos')) + Photo Gallery + @endif + + + + @if (Route::has('admin.modules.index')) + Modules + @elseif (Route::has('modules.index')) + Modules + @endif + + @endif + + + @if (Route::has('profile.edit')) + Profile Settings + @endif - - {{ __('Repository') }} - - - - {{ __('Documentation') }} - + View Website