From 2c93107bc69bab935c53670dfa6faa8bd0bc75ff Mon Sep 17 00:00:00 2001 From: Vari Date: Thu, 21 Mar 2024 23:42:16 +0100 Subject: [PATCH] Added Alpine.js to the project and implemented some enabled input dependencies to the gamenews admin page. --- .../Web/Admin/Tools/GameNewsController.php | 4 +-- .../Api/Admin/Tools/SubmitGameNewsRequest.php | 2 +- dist/package-lock.json | 22 +++++++++++++++ dist/package.json | 1 + dist/resources/css/inputs-global.scss | 10 ++++++- dist/resources/js/bootstrap.js | 18 ++++--------- .../tools/game-news-list-entry.blade.php | 27 ++++++++++++++++++- 7 files changed, 66 insertions(+), 18 deletions(-) diff --git a/dist/app/Http/Controllers/Web/Admin/Tools/GameNewsController.php b/dist/app/Http/Controllers/Web/Admin/Tools/GameNewsController.php index d515955..2e89744 100644 --- a/dist/app/Http/Controllers/Web/Admin/Tools/GameNewsController.php +++ b/dist/app/Http/Controllers/Web/Admin/Tools/GameNewsController.php @@ -59,12 +59,12 @@ protected function updateNews(News &$news, SubmitGameNewsRequest &$request) $news->body = $request->input(SubmitGameNewsRequest::DESCRIPTION); $news->message_type = MessageType::tryFrom($request->input(SubmitGameNewsRequest::MESSSAGE_TYPE)); - $news->faction = Faction::tryFrom($request->input(SubmitGameNewsRequest::FACTION, Faction::None)); + $news->faction = Faction::tryFrom($request->input(SubmitGameNewsRequest::FACTION, Faction::None->value)); $news->one_time_news = $request->input(SubmitGameNewsRequest::ONE_TIME_NEWS) !== null; $news->should_quit_game = $request->input(SubmitGameNewsRequest::QUIT_GAME) !== null; $news->one_match = $request->input(SubmitGameNewsRequest::COMPLETE_ONE_MATCH) !== null; - $news->redirect_mode = GameNewsRedirectMode::tryFrom($request->input(SubmitGameNewsRequest::REDIRECT_MODE)); + $news->redirect_mode = GameNewsRedirectMode::tryFrom($request->input(SubmitGameNewsRequest::REDIRECT_MODE, GameNewsRedirectMode::None->value)); $news->redirect_item = $request->input(SubmitGameNewsRequest::REDIRECT_ITEM); $news->redirect_url = $request->input(SubmitGameNewsRequest::REDIRECT_URL); diff --git a/dist/app/Http/Requests/Api/Admin/Tools/SubmitGameNewsRequest.php b/dist/app/Http/Requests/Api/Admin/Tools/SubmitGameNewsRequest.php index 0bbe544..15179be 100644 --- a/dist/app/Http/Requests/Api/Admin/Tools/SubmitGameNewsRequest.php +++ b/dist/app/Http/Requests/Api/Admin/Tools/SubmitGameNewsRequest.php @@ -72,7 +72,7 @@ public function rules(): array static::DESCRIPTION => 'required|string', static::MESSSAGE_TYPE => ['required', Rule::enum(MessageType::class)], static::FACTION => ['nullable', Rule::enum(Faction::class)], - static::REDIRECT_MODE => ['required', Rule::enum(GameNewsRedirectMode::class)], + static::REDIRECT_MODE => ['nullable', Rule::enum(GameNewsRedirectMode::class)], static::REDIRECT_ITEM => 'nullable|string', static::REDIRECT_URL => 'nullable|string', static::POP_UP_BACKGROUND => 'nullable|string', diff --git a/dist/package-lock.json b/dist/package-lock.json index ee6d5e7..9e06fa7 100644 --- a/dist/package-lock.json +++ b/dist/package-lock.json @@ -7,6 +7,7 @@ "dependencies": { "@inertiajs/vue3": "^1.0.14", "@vitejs/plugin-vue": "^5.0.3", + "alpinejs": "^3.13.7", "dotenv": "^16.4.2" }, "devDependencies": { @@ -933,6 +934,27 @@ "node": ">= 6.0.0" } }, + "node_modules/alpinejs": { + "version": "3.13.7", + "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.13.7.tgz", + "integrity": "sha512-rcTyjTANbsePq1hb7eSekt3qjI94HLGeO6JaRjCssCVbIIc+qBrc7pO5S/+2JB6oojIibjM6FA+xRI3zhGPZIg==", + "dependencies": { + "@vue/reactivity": "~3.1.1" + } + }, + "node_modules/alpinejs/node_modules/@vue/reactivity": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.5.tgz", + "integrity": "sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==", + "dependencies": { + "@vue/shared": "3.1.5" + } + }, + "node_modules/alpinejs/node_modules/@vue/shared": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", + "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==" + }, "node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", diff --git a/dist/package.json b/dist/package.json index 24900e4..fba7882 100644 --- a/dist/package.json +++ b/dist/package.json @@ -19,6 +19,7 @@ "dependencies": { "@inertiajs/vue3": "^1.0.14", "@vitejs/plugin-vue": "^5.0.3", + "alpinejs": "^3.13.7", "dotenv": "^16.4.2" } } diff --git a/dist/resources/css/inputs-global.scss b/dist/resources/css/inputs-global.scss index 64d375d..87ac2cd 100644 --- a/dist/resources/css/inputs-global.scss +++ b/dist/resources/css/inputs-global.scss @@ -1,5 +1,13 @@ [class^='input-global-'] { - @apply transition-colors rounded-md border bg-gray-800 border-gray-600; + @apply transition-colors rounded-md border bg-gray-800 border-gray-500; + + &:disabled { + @apply text-white/15 border-gray-900; + } + + &:has(> input:disabled) { + @apply text-white/15 border-gray-900; + } } .input-global-text { diff --git a/dist/resources/js/bootstrap.js b/dist/resources/js/bootstrap.js index 4e2c287..66feed3 100644 --- a/dist/resources/js/bootstrap.js +++ b/dist/resources/js/bootstrap.js @@ -4,24 +4,16 @@ * CSRF token as a header based on the value of the "XSRF" token cookie. */ import { createApp, h } from 'vue' -import { createInertiaApp } from '@inertiajs/vue3' import axios from 'axios'; -window.axios = axios; +import Alpine from 'alpinejs'; +window.axios = axios; window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; -createInertiaApp({ - resolve: name => { - const pages = import.meta.glob('./Pages/**/*.vue', { eager: true }) - return pages[`./Pages/${name}.vue`] - }, - setup({ el, App, props, plugin }) { - createApp({ render: () => h(App, props) }) - .use(plugin) - .mount(el) - }, -}) +window.Alpine = Alpine; +Alpine.start(); + /** diff --git a/dist/resources/views/components/admin/tools/game-news-list-entry.blade.php b/dist/resources/views/components/admin/tools/game-news-list-entry.blade.php index 53465e0..91e4946 100644 --- a/dist/resources/views/components/admin/tools/game-news-list-entry.blade.php +++ b/dist/resources/views/components/admin/tools/game-news-list-entry.blade.php @@ -12,7 +12,12 @@ @vite(['resources/css/components/admin/tools/game-news-list-entry.scss']) @endpushonce -
+
@csrf
@@ -52,6 +57,7 @@ id="{{ $idPrefix }}messageType" required name="{{ SubmitGameNewsRequest::MESSSAGE_TYPE }}" + x-model="messageType" :cases="MessageType::cases()" :selected="$news->message_type"/>
@@ -60,6 +66,7 @@
@@ -68,6 +75,7 @@
@@ -75,6 +83,7 @@
@@ -93,6 +102,8 @@ id="{{ $idPrefix }}redirect-mode" required name="{{ SubmitGameNewsRequest::REDIRECT_MODE }}" + x-model="redirectMode" + x-bind:disabled="messageType === '{{ MessageType::PopUpNews->value }}'" :cases="GameNewsRedirectMode::cases()" :selected="$news->redirect_mode"/>
@@ -100,13 +111,22 @@
+
@@ -116,6 +136,7 @@
@@ -123,6 +144,7 @@
@@ -130,6 +152,7 @@
@@ -157,6 +180,7 @@ id="{{ $idPrefix }}display-x-times" name="{{ SubmitGameNewsRequest::DISPLAY_X_TIMES }}" min="0" + x-bind:disabled="messageType !== '{{ MessageType::PopUpNews->value }}'" value="{{ $news->display_x_times }}"/>
@@ -165,6 +189,7 @@ id="{{ $idPrefix }}max-player-level" name="{{ SubmitGameNewsRequest::MAX_PLAYER_LEVEL }}" min="1" + x-bind:disabled="messageType === '{{ MessageType::PopUpNews->value }}'" value="{{ $news->max_player_level }}"/>