From 8a245e94e07ba32c7153d92ac4d64ad49fe9f10e Mon Sep 17 00:00:00 2001 From: Graphictoria Date: Thu, 1 Sep 2022 21:04:15 -0400 Subject: [PATCH] Basic admin panel. --- etc/graphictoria.conf | 39 ++++---- .../Http/Controllers/Web/AdminController.php | 16 ++-- web/app/View/Components/Admin/NavListCard.php | 28 ++++++ web/app/View/Components/Admin/NavListLink.php | 28 ++++++ .../View/Components/Admin/NavListTitle.php | 28 ++++++ web/resources/sass/Graphictoria.scss | 16 ++-- .../components/admin/nav-list-card.blade.php | 15 ++++ .../components/admin/nav-list-link.blade.php | 7 ++ .../components/admin/nav-list-title.blade.php | 8 ++ web/resources/views/layouts/admin.blade.php | 79 ++++++++++++++++ web/resources/views/layouts/nav.blade.php | 8 +- .../views/web/admin/arbiter/diag.blade.php | 48 ++++++++++ .../web/admin/arbiter/management.blade.php | 26 ++++++ .../views/web/admin/dashboard.blade.php | 9 ++ web/resources/views/web/admin/diag.blade.php | 35 -------- .../views/web/admin/diag/picker.blade.php | 9 -- web/routes/web.php | 2 +- web/storage/app/.gitignore | 1 + web/storage/app/layouts/.gitignore | 1 + web/storage/app/layouts/Admin.xml | 90 +++++++++++++++++++ 20 files changed, 417 insertions(+), 76 deletions(-) create mode 100644 web/app/View/Components/Admin/NavListCard.php create mode 100644 web/app/View/Components/Admin/NavListLink.php create mode 100644 web/app/View/Components/Admin/NavListTitle.php create mode 100644 web/resources/views/components/admin/nav-list-card.blade.php create mode 100644 web/resources/views/components/admin/nav-list-link.blade.php create mode 100644 web/resources/views/components/admin/nav-list-title.blade.php create mode 100644 web/resources/views/layouts/admin.blade.php create mode 100644 web/resources/views/web/admin/arbiter/diag.blade.php create mode 100644 web/resources/views/web/admin/arbiter/management.blade.php create mode 100644 web/resources/views/web/admin/dashboard.blade.php delete mode 100644 web/resources/views/web/admin/diag.blade.php delete mode 100644 web/resources/views/web/admin/diag/picker.blade.php create mode 100644 web/storage/app/layouts/.gitignore create mode 100644 web/storage/app/layouts/Admin.xml diff --git a/etc/graphictoria.conf b/etc/graphictoria.conf index 0c12539..783258e 100644 --- a/etc/graphictoria.conf +++ b/etc/graphictoria.conf @@ -10,12 +10,11 @@ # Defaults for the proceding virtualhosts on *.gtoria.net - ServerAdmin xlxi@gtoria.net - ServerName gtoria.local + ServerAdmin admin@gtoria.net + ServerName gtoria.net - ServerAlias www.gtoria.local - ServerAlias impulse.gtoria.local - ServerAlias wiki.gtoria.local + ServerAlias www.gtoria.net + ServerAlias wiki.gtoria.net SSLEngine on SSLCertificateFile "C:/graphictoria/COMMIT_HASH/etc/cert/localhost.crt" @@ -37,17 +36,25 @@ # Api endpoints. - ServerAlias api.gtoria.local - ServerAlias apis.gtoria.local - ServerAlias assetgame.gtoria.local - ServerAlias data.gtoria.local - ServerAlias gamepersistence.gtoria.local - ServerAlias clientsettings.api.gtoria.local - ServerAlias ephemeralcounters.api.gtoria.local - ServerAlias versioncompatibility.api.gtoria.local - ServerAlias logging.service.gtoria.local - ServerAlias ecsv2.gtoria.local - ServerAlias test.public.ecs.gtoria.local + ServerAlias api.gtoria.net + ServerAlias apis.gtoria.net + ServerAlias assetgame.gtoria.net + ServerAlias data.gtoria.net + ServerAlias gamepersistence.gtoria.net + ServerAlias clientsettings.api.gtoria.net + ServerAlias ephemeralcounters.api.gtoria.net + ServerAlias versioncompatibility.api.gtoria.net + ServerAlias logging.service.gtoria.net + ServerAlias ecsv2.gtoria.net + ServerAlias test.public.ecs.gtoria.net + + SSLEngine on + SSLCertificateFile "C:/graphictoria/COMMIT_HASH/etc/cert/localhost.crt" + SSLCertificateKeyFile "C:/graphictoria/COMMIT_HASH/etc/cert/localhost.key" + + ErrorLog "C:/graphictoria/logs/gt-test-error.log" + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Host}i\" \"%{Referer}i\" \"%{User-agent}i\"" gtoria + CustomLog "C:/graphictoria/logs/gt-test-access.log" gtoria DocumentRoot "D:/wamp320/graphictoria/sitetest3/web/public_api" \ No newline at end of file diff --git a/web/app/Http/Controllers/Web/AdminController.php b/web/app/Http/Controllers/Web/AdminController.php index 6de2393..0a941e4 100644 --- a/web/app/Http/Controllers/Web/AdminController.php +++ b/web/app/Http/Controllers/Web/AdminController.php @@ -10,18 +10,24 @@ class AdminController extends Controller // Moderator+ function dashboard() { - // + return view('web.admin.dashboard'); } // Admin+ function arbiterDiag(Request $request, string $arbiterType = null) { - if($arbiterType == null) - return view('web.admin.diag.picker'); - - return view('web.admin.diag')->with([ + return view('web.admin.arbiter.diag')->with([ 'title' => sprintf('%s Arbiter Diag', $arbiterType), 'arbiter' => $arbiterType ]); } + + // Owner+ + function arbiterManagement(Request $request, string $arbiterType = null, string $jobId = null) + { + return view('web.admin.arbiter.management')->with([ + 'title' => sprintf('%s Arbiter Management', $arbiterType), + 'arbiter' => $arbiterType + ]); + } } diff --git a/web/app/View/Components/Admin/NavListCard.php b/web/app/View/Components/Admin/NavListCard.php new file mode 100644 index 0000000..78fc5d0 --- /dev/null +++ b/web/app/View/Components/Admin/NavListCard.php @@ -0,0 +1,28 @@ +hasRoleset($roleset)) +
+
+ {{ $name }} +
+ + {{ $slot }} +
+@endif \ No newline at end of file diff --git a/web/resources/views/components/admin/nav-list-link.blade.php b/web/resources/views/components/admin/nav-list-link.blade.php new file mode 100644 index 0000000..033b69b --- /dev/null +++ b/web/resources/views/components/admin/nav-list-link.blade.php @@ -0,0 +1,7 @@ +@props([ + 'name', + 'route', + 'parameters' => '' +]) + +
  • {{ html_entity_decode($name) }}
  • \ No newline at end of file diff --git a/web/resources/views/components/admin/nav-list-title.blade.php b/web/resources/views/components/admin/nav-list-title.blade.php new file mode 100644 index 0000000..f67e7dc --- /dev/null +++ b/web/resources/views/components/admin/nav-list-title.blade.php @@ -0,0 +1,8 @@ +@props([ + 'name' +]) + +{{ $name }} + \ No newline at end of file diff --git a/web/resources/views/layouts/admin.blade.php b/web/resources/views/layouts/admin.blade.php new file mode 100644 index 0000000..a5770fc --- /dev/null +++ b/web/resources/views/layouts/admin.blade.php @@ -0,0 +1,79 @@ +@extends('layouts.app') + +@section('extra-headers') + + +@stack('extra-headers') +@endsection + +@section('content') +
    +
    + @php + $adminLayout = simplexml_load_string(Storage::get('layouts/Admin.xml')); + @endphp + + @foreach($adminLayout->list as $list) + + @foreach($list->category as $category) + + @foreach($category->link as $link) + + @endforeach + + @endforeach + + @endforeach +
    +
    + @stack('content') +
    +
    +@endsection \ No newline at end of file diff --git a/web/resources/views/layouts/nav.blade.php b/web/resources/views/layouts/nav.blade.php index 7cfcce8..411fe50 100644 --- a/web/resources/views/layouts/nav.blade.php +++ b/web/resources/views/layouts/nav.blade.php @@ -67,9 +67,13 @@ Arbiter Diag @endadmin + @owner + + @endowner @admin