From 5dda42e9daf77af5bac04ed091144c727e2e2422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Tue, 21 Nov 2023 16:24:23 +0100 Subject: [PATCH] Sync 3 Favicon System Sync 4 Layout + homepage ok --- .gitignore | 13 ++ .../{ => Fo}/EndPageController.php | 5 +- .../{ => Fo}/EnterCodeController.php | 7 +- .../Controllers/{ => Fo}/FAQController.php | 5 +- .../Controllers/{ => Fo}/GainsController.php | 6 +- .../Controllers/{ => Fo}/HomeController.php | 6 +- .../{ => Fo}/HowToPlayController.php | 6 +- .../Controllers/{ => Fo}/LoginController.php | 19 +-- .../{ => Fo}/ProduitsController.php | 3 +- .../Controllers/{ => Fo}/Re7Controller.php | 3 +- .../{ => Fo}/RegisterController.php | 7 +- .../Controllers/{ => Fo}/TeaserController.php | 5 +- .../{ => Fo}/ViewContentController.php | 3 +- .../{ => Fo}/WinningProofController.php | 7 +- app/Http/Middleware/Authenticate.php | 3 +- app/Http/Middleware/GameCheckDate.php | 4 +- app/Http/Middleware/Re7Middleware.php | 2 +- .../Middleware/RedirectIfAuthenticated.php | 2 +- app/Http/Middleware/SecureHeaders.php | 23 +++- config/purifier.php | 4 +- package-lock.json | 108 ++++++++++++++++ package.json | 1 + public/favicon.ico | 0 public/logo.png | Bin 0 -> 49286 bytes resources/assets/images/engine/logo.png | Bin 0 -> 49286 bytes resources/assets/images/engine/logo.svg | 50 ++++++++ resources/favicon/android-chrome-192x192.png | Bin 0 -> 6693 bytes resources/favicon/android-chrome-512x512.png | Bin 0 -> 19285 bytes resources/favicon/apple-touch-icon.png | Bin 0 -> 6076 bytes resources/favicon/browserconfig.xml | 9 ++ resources/favicon/favicon-16x16.png | Bin 0 -> 963 bytes resources/favicon/favicon-32x32.png | Bin 0 -> 1750 bytes resources/favicon/favicon.ico | Bin 0 -> 15086 bytes resources/favicon/mstile-150x150.png | Bin 0 -> 6537 bytes resources/favicon/safari-pinned-tab.svg | 109 ++++++++++++++++ resources/favicon/site.webmanifest | 19 +++ resources/lang/en/cookie-notice.php | 43 +++++++ resources/lang/fr/cookie-notice.php | 43 +++++++ .../views/pages/dashboard/index.blade.php | 2 +- resources/views/vendor/errors/403.blade.php | 3 +- resources/views/vendor/errors/404.blade.php | 3 +- resources/views/vendor/errors/503.blade.php | 3 +- .../errors/illustrated-layout.blade.php | 70 ++++++----- .../views/vendor/errors/minimal.blade.php | 46 ++++--- routes/web-bo.php | 116 +++++++++--------- routes/web-fo.php | 26 ++-- routes/web-re7.php | 26 ++-- vite.config.ts | 38 ++++++ 48 files changed, 657 insertions(+), 191 deletions(-) rename app/Http/Controllers/{ => Fo}/EndPageController.php (84%) rename app/Http/Controllers/{ => Fo}/EnterCodeController.php (98%) rename app/Http/Controllers/{ => Fo}/FAQController.php (78%) rename app/Http/Controllers/{ => Fo}/GainsController.php (69%) rename app/Http/Controllers/{ => Fo}/HomeController.php (58%) rename app/Http/Controllers/{ => Fo}/HowToPlayController.php (73%) rename app/Http/Controllers/{ => Fo}/LoginController.php (95%) rename app/Http/Controllers/{ => Fo}/ProduitsController.php (86%) rename app/Http/Controllers/{ => Fo}/Re7Controller.php (96%) rename app/Http/Controllers/{ => Fo}/RegisterController.php (96%) rename app/Http/Controllers/{ => Fo}/TeaserController.php (83%) rename app/Http/Controllers/{ => Fo}/ViewContentController.php (92%) rename app/Http/Controllers/{ => Fo}/WinningProofController.php (96%) delete mode 100644 public/favicon.ico create mode 100644 public/logo.png create mode 100644 resources/assets/images/engine/logo.png create mode 100644 resources/assets/images/engine/logo.svg create mode 100644 resources/favicon/android-chrome-192x192.png create mode 100644 resources/favicon/android-chrome-512x512.png create mode 100644 resources/favicon/apple-touch-icon.png create mode 100644 resources/favicon/browserconfig.xml create mode 100644 resources/favicon/favicon-16x16.png create mode 100644 resources/favicon/favicon-32x32.png create mode 100644 resources/favicon/favicon.ico create mode 100644 resources/favicon/mstile-150x150.png create mode 100644 resources/favicon/safari-pinned-tab.svg create mode 100644 resources/favicon/site.webmanifest create mode 100644 resources/lang/en/cookie-notice.php create mode 100644 resources/lang/fr/cookie-notice.php diff --git a/.gitignore b/.gitignore index 30d15b1..b507967 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,16 @@ yarn-error.log public/fichiers storage resources/theme + +# Ignore public favicon +/public/android-chrome-192x192.png +/public/android-chrome-512x512.png +/public/apple-touch-icon.png +/public/browserconfig.xml +/public/browserconfig.xml +/public/favicon-16x16.png +/public/favicon-32x32.png +/public/favicon.ico +/public/mstile-150x150.png +/public/safari-pinned-tab.svg +/public/site.webmanifest diff --git a/app/Http/Controllers/EndPageController.php b/app/Http/Controllers/Fo/EndPageController.php similarity index 84% rename from app/Http/Controllers/EndPageController.php rename to app/Http/Controllers/Fo/EndPageController.php index 797d3cd..28a5ce6 100644 --- a/app/Http/Controllers/EndPageController.php +++ b/app/Http/Controllers/Fo/EndPageController.php @@ -1,7 +1,8 @@ route('home'); + return redirect()->route('fo.home'); } } diff --git a/app/Http/Controllers/EnterCodeController.php b/app/Http/Controllers/Fo/EnterCodeController.php similarity index 98% rename from app/Http/Controllers/EnterCodeController.php rename to app/Http/Controllers/Fo/EnterCodeController.php index 57b5504..e8bf721 100644 --- a/app/Http/Controllers/EnterCodeController.php +++ b/app/Http/Controllers/Fo/EnterCodeController.php @@ -1,7 +1,8 @@ apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); + // $this->apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); } /** @@ -286,6 +287,6 @@ class EnterCodeController extends Controller if ($participation) { return view('theme::fo.winning-proof', compact('participation')); } - return redirect()->route('home'); + return redirect()->route('fo.home'); } } diff --git a/app/Http/Controllers/FAQController.php b/app/Http/Controllers/Fo/FAQController.php similarity index 78% rename from app/Http/Controllers/FAQController.php rename to app/Http/Controllers/Fo/FAQController.php index 2adba55..35d1e27 100644 --- a/app/Http/Controllers/FAQController.php +++ b/app/Http/Controllers/Fo/FAQController.php @@ -1,7 +1,8 @@ route('home'); + return redirect()->route('fo.home'); } return view('theme::fo.faq', compact('questions', 'themes')); } diff --git a/app/Http/Controllers/GainsController.php b/app/Http/Controllers/Fo/GainsController.php similarity index 69% rename from app/Http/Controllers/GainsController.php rename to app/Http/Controllers/Fo/GainsController.php index 699a38a..8b8ddac 100644 --- a/app/Http/Controllers/GainsController.php +++ b/app/Http/Controllers/Fo/GainsController.php @@ -1,6 +1,8 @@ exists('theme::fo.gains')) { return view('theme::fo.gains'); } - return redirect()->route('home'); + return redirect()->route('fo.home'); } } diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/Fo/HomeController.php similarity index 58% rename from app/Http/Controllers/HomeController.php rename to app/Http/Controllers/Fo/HomeController.php index ce5fd2d..1cc0843 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/Fo/HomeController.php @@ -1,6 +1,8 @@ exists('theme::fo.basic.how-to-play')) { return view('theme::fo.basic.how-to-play'); } - return redirect()->route('home'); + return redirect()->route('fo.home'); } } diff --git a/app/Http/Controllers/LoginController.php b/app/Http/Controllers/Fo/LoginController.php similarity index 95% rename from app/Http/Controllers/LoginController.php rename to app/Http/Controllers/Fo/LoginController.php index 6168213..37b0f05 100644 --- a/app/Http/Controllers/LoginController.php +++ b/app/Http/Controllers/Fo/LoginController.php @@ -1,7 +1,8 @@ middleware('guest')->except('logout'); - $this->apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); + // $this->apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); } /** @@ -137,7 +138,7 @@ class LoginController extends Controller } //end if Auth::login($userLocal); - return redirect()->route('saisir-code'); + return redirect()->route('fo.saisir-code'); } /** @@ -148,7 +149,7 @@ class LoginController extends Controller public function logout() { Auth::logout(); - return redirect()->route('home'); + return redirect()->route('fo.home'); } /** @@ -211,17 +212,17 @@ class LoginController extends Controller public function forgotPasswordReset(Request $request, string $token) { if (!$request->hasValidSignature(false)) { - return redirect()->route('login') + return redirect()->route('fo.login') ->withErrors("Le lien de changement de votre mot de passe n'est plus valide, veuillez réessayer."); } $tokenValid = false; $user = Customer::where('password_token', $token)->first(); if (!$user) { - return redirect()->route('forgot-password', compact('tokenValid')) + return redirect()->route('fo.forgot-password', compact('tokenValid')) ->withErrors('Le lien de changement du mot de passe est incorrect.'); } $tokenValid = true; - return redirect()->route('forgot-password', compact('tokenValid', 'token')); + return redirect()->route('fo.forgot-password', compact('tokenValid', 'token')); } /** @@ -280,7 +281,7 @@ class LoginController extends Controller /** @var \App\Models\Settings $settings */ $settings = app(Settings::class); Mail::to($email)->send(new PasswordReset($user, $settings)); - return redirect()->route('login') + return redirect()->route('fo.login') ->with('success', 'Un mail de réinitialisation de votre mot de passe vous a été envoyé(e).'); } @@ -310,7 +311,7 @@ class LoginController extends Controller if ($update->status === 'OK') { $user->password_token = null; $user->save(); - return redirect()->route('login') + return redirect()->route('fo.login') ->with('success', 'Vous pouvez désormais vous connecter avec votre nouveau mot de passe.'); } else { if ($update->code === 123) { diff --git a/app/Http/Controllers/ProduitsController.php b/app/Http/Controllers/Fo/ProduitsController.php similarity index 86% rename from app/Http/Controllers/ProduitsController.php rename to app/Http/Controllers/Fo/ProduitsController.php index b70a715..f88d58c 100644 --- a/app/Http/Controllers/ProduitsController.php +++ b/app/Http/Controllers/Fo/ProduitsController.php @@ -1,7 +1,8 @@ middleware('guest'); - $this->apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); + // $this->apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); } /** @@ -132,7 +133,7 @@ class RegisterController extends Controller Mail::to($email)->send(new VerifyEmail($user)); - return redirect()->route('login') + return redirect()->route('fo.login') ->with( 'success', "Pour finaliser votre inscription, diff --git a/app/Http/Controllers/TeaserController.php b/app/Http/Controllers/Fo/TeaserController.php similarity index 83% rename from app/Http/Controllers/TeaserController.php rename to app/Http/Controllers/Fo/TeaserController.php index ace5639..523cb02 100644 --- a/app/Http/Controllers/TeaserController.php +++ b/app/Http/Controllers/Fo/TeaserController.php @@ -1,7 +1,8 @@ activated_teaser === 1 && $settings->teaser_end_activity > now()) { return view('theme::fo.teaser', compact('settings')); } - return redirect()->route('home'); + return redirect()->route('fo.home'); } } diff --git a/app/Http/Controllers/ViewContentController.php b/app/Http/Controllers/Fo/ViewContentController.php similarity index 92% rename from app/Http/Controllers/ViewContentController.php rename to app/Http/Controllers/Fo/ViewContentController.php index 978fb5b..b574dfe 100644 --- a/app/Http/Controllers/ViewContentController.php +++ b/app/Http/Controllers/Fo/ViewContentController.php @@ -1,7 +1,8 @@ apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); + // $this->apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); } /** @@ -43,7 +44,7 @@ class WinningProofController extends Controller ['barcode', null] ])->has('instantWin')->first(); if (!$participation) { - return redirect()->route('home'); + return redirect()->route('fo.home'); } $request->validate([ diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php index cc5ba2f..a332aa5 100644 --- a/app/Http/Middleware/Authenticate.php +++ b/app/Http/Middleware/Authenticate.php @@ -31,9 +31,8 @@ class Authenticate extends Middleware } } } - return route('login'); + return route('fo.login'); } - abort(401); return null; } diff --git a/app/Http/Middleware/GameCheckDate.php b/app/Http/Middleware/GameCheckDate.php index 38b4a99..bc7babf 100644 --- a/app/Http/Middleware/GameCheckDate.php +++ b/app/Http/Middleware/GameCheckDate.php @@ -23,7 +23,7 @@ class GameCheckDate // Check si le teaser est actif. if ($settings->start_date > now()) { if ($settings->activated_teaser === 1 && $settings->teaser_end_activity > now()) { - return redirect()->route('teaser'); + return redirect()->route('fo.teaser'); } return redirect($settings->redirect_close); } @@ -31,7 +31,7 @@ class GameCheckDate // Check si le jeu est terminé. if ($settings->end_date < now()) { if ($settings->activated_close_page === 1 && $settings->close_page_active_date > now()) { - return redirect()->route('end'); + return redirect()->route('fo.end'); } return redirect($settings->redirect_close); } diff --git a/app/Http/Middleware/Re7Middleware.php b/app/Http/Middleware/Re7Middleware.php index 67a8999..8b67215 100644 --- a/app/Http/Middleware/Re7Middleware.php +++ b/app/Http/Middleware/Re7Middleware.php @@ -17,7 +17,7 @@ class Re7Middleware public function handle(Request $request, Closure $next) { if (config('app.env') === 'production') { - return redirect()->route('home'); + return redirect()->route('fo.home'); } return $next($request); } diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php index 51604d6..393cabe 100644 --- a/app/Http/Middleware/RedirectIfAuthenticated.php +++ b/app/Http/Middleware/RedirectIfAuthenticated.php @@ -27,7 +27,7 @@ class RedirectIfAuthenticated if (Auth::guard($guard)->check()) { switch ($guard) { case 'frontend': - return \redirect()->route('home'); + return \redirect()->route('fo.home'); case 'backend': if (!$request->routeIs('bo.*')) { continue; diff --git a/app/Http/Middleware/SecureHeaders.php b/app/Http/Middleware/SecureHeaders.php index 8d77e62..c5e47cf 100644 --- a/app/Http/Middleware/SecureHeaders.php +++ b/app/Http/Middleware/SecureHeaders.php @@ -34,6 +34,8 @@ class SecureHeaders public function handle(Request $request, Closure $next): Response { // phpcs:enable + // * For Vite DEV + $host = \parse_url(\config('app.url'), \PHP_URL_HOST); View::share('nonce', $nonce = Vite::useCspNonce()); // * For VueJS dev tool to execute $jsDev = config('app.debug') ? "'unsafe-eval' 'unsafe-inline'" : "'nonce-{$nonce}' 'strict-dynamic'"; @@ -51,14 +53,23 @@ class SecureHeaders "default-src 'none';", "manifest-src 'self';", // * CKEDITOR Specific https://ckeditor.com/docs/ckeditor5/latest/installation/advanced/csp.html - "connect-src 'self' blob:;", + "connect-src 'self' " . implode(' ', [ + // * VITE DEV + config('app.debug') ? "wss://{$host}:4443" : '', + config('app.debug') ? "https://{$host}:4443" : '', + 'https://yl.s-web.fr' + ]) . ';', "img-src * data: blob:;", 'frame-src ' . implode(' ', [ 'https://www.google.com/recaptcha/', 'https://recaptcha.google.com/recaptcha/', 'https://www.google.com/maps/' ]) . ';', - "font-src 'self' data: https://fonts.gstatic.com;", + "font-src 'self' data: " . \implode(' ', [ + // * VITE DEV + config('app.debug') ? "https://{$host}:4443" : '', + 'https://fonts.gstatic.com;' + ]) . ';', // ! Using CKEditor will must have unsafe-inline style // phpcs:ignore Generic.Files.LineLength.TooLong "style-src 'self' 'unsafe-inline' " . \implode(' ', [ @@ -67,7 +78,9 @@ class SecureHeaders 'https://fonts.googleapis.com', 'https://cdn.jsdelivr.net', 'https://use.fontawesome.com', - 'https://fonts.googleapis.com' + 'https://fonts.googleapis.com', + // * VITE DEV + config('app.debug') ? "https://{$host}:4443" : '', ]) . ';', // ! If you dont use ckeditor use this // "style-src 'self' 'nonce-$nonce';", @@ -77,6 +90,8 @@ class SecureHeaders 'https://www.googletagmanager.com', 'https://cdnjs.cloudflare.com', "$scheme://www.google-analytics.com", + // * VITE DEV + config('app.debug') ? "https://{$host}:4443" : '', ]) . ';' ]; @@ -94,7 +109,7 @@ class SecureHeaders * @param array $headerList * @return void */ - private function removeUnwantedHeaders(array $headerList) + private function removeUnwantedHeaders(array $headerList): void { foreach ($headerList as $header) { header_remove($header); diff --git a/config/purifier.php b/config/purifier.php index d74b7a6..59cb78b 100644 --- a/config/purifier.php +++ b/config/purifier.php @@ -27,7 +27,7 @@ return [ 'default' => [ 'HTML.SafeIframe' => true, // * For iframes - 'URI.SafeIframeRegexp' => "%^(http://|https://|//)(www.youtube.com/embed/|player.vimeo.com/video/|vimeo.com/)%", + 'URI.SafeIframeRegexp' => "%^(http://|https://|//)(www.youtube.com/embed/|player.vimeo.com/video/|vimeo.com/|www.dailymotion.com/video/)%", 'HTML.Doctype' => 'HTML 4.01 Transitional', // * Legacy filter en full avec safe legacy. // 'HTML.Allowed' => 'h1[style|id],h2[style|id],h3[style|id],h4[style|id],h5[style|id],h6[style|id],figure[class|style],oembed[url],div[style],b,strong,i,em,u,s,pre,code[class],a[href|title|target|rel|id],ul[style],ol[style],dl[style],li,p[style],br,span[style|class],img[width|height|alt|src|style|class|title],iframe[src|width|height|class|frameborder|style],table[style|align|border|cellspacing|cellpadding|width],thead,tbody,th[colspan|align|valign|style],tr[align|valign|style],td[style|colspan|rowspan|scope|align|valign],hr,dl,dt,mark[class]', @@ -43,7 +43,7 @@ return [ ], "youtube" => [ "HTML.SafeIframe" => 'true', - "URI.SafeIframeRegexp" => "%^(http://|https://|//)(www.youtube.com/embed/|player.vimeo.com/video/|vimeo.com/)%", + "URI.SafeIframeRegexp" => "%^(http://|https://|//)(www.youtube.com/embed/|player.vimeo.com/video/|vimeo.com/|www.dailymotion.com/video/)%", ], 'custom_definition' => [ 'id' => 'html5-definitions', diff --git a/package-lock.json b/package-lock.json index d7393c1..a4ec7fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,6 +38,7 @@ "prettier": "latest", "print-js": "^1.6.0", "resolve-url-loader": "^5.0.0", + "rollup-plugin-copy": "^3.5.0", "sass": "latest", "slugify": "^1.6.6", "stylelint": "latest", @@ -2530,6 +2531,25 @@ "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==", "dev": true }, + "node_modules/@types/fs-extra": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.5.tgz", + "integrity": "sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.14", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", @@ -2543,6 +2563,12 @@ "dev": true, "peer": true }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, "node_modules/@types/minimist": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.4.tgz", @@ -4157,6 +4183,12 @@ "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", "dev": true }, + "node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -7486,6 +7518,82 @@ "fsevents": "~2.3.2" } }, + "node_modules/rollup-plugin-copy": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.5.0.tgz", + "integrity": "sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==", + "dev": true, + "dependencies": { + "@types/fs-extra": "^8.0.1", + "colorette": "^1.1.0", + "fs-extra": "^8.1.0", + "globby": "10.0.1", + "is-plain-object": "^3.0.0" + }, + "engines": { + "node": ">=8.3" + } + }, + "node_modules/rollup-plugin-copy/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/rollup-plugin-copy/node_modules/globby": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", + "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-copy/node_modules/is-plain-object": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", + "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup-plugin-copy/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/rollup-plugin-copy/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", diff --git a/package.json b/package.json index 8fc5a8b..633e7dc 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "prettier": "latest", "print-js": "^1.6.0", "resolve-url-loader": "^5.0.0", + "rollup-plugin-copy": "^3.5.0", "sass": "latest", "slugify": "^1.6.6", "stylelint": "latest", diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index e69de29..0000000 diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..572f192cb60ae19d350eb79ddbd4b711ffc5396d GIT binary patch literal 49286 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 literal 0 HcmV?d00001 diff --git a/resources/assets/images/engine/logo.png b/resources/assets/images/engine/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..572f192cb60ae19d350eb79ddbd4b711ffc5396d GIT binary patch literal 49286 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 literal 0 HcmV?d00001 diff --git a/resources/assets/images/engine/logo.svg b/resources/assets/images/engine/logo.svg new file mode 100644 index 0000000..3f52d65 --- /dev/null +++ b/resources/assets/images/engine/logo.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/favicon/android-chrome-192x192.png b/resources/favicon/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..e84712f4fe4cb49bc744f731e7bd0bacecc4d0f2 GIT binary patch literal 6693 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 literal 0 HcmV?d00001 diff --git a/resources/favicon/apple-touch-icon.png b/resources/favicon/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c2f73010ee9bf5aa78c96d15f8d80c454253119b GIT binary patch literal 6076 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 + + + + + #2b5797 + + + diff --git a/resources/favicon/favicon-16x16.png b/resources/favicon/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..cb0de062a189ee2e1a13cf3c2148deb1bc63728f GIT binary patch literal 963 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 literal 0 HcmV?d00001 diff --git a/resources/favicon/mstile-150x150.png b/resources/favicon/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..e897e87f8f47606109010b147bf0d539e4bc9a28 GIT binary patch literal 6537 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 literal 0 HcmV?d00001 diff --git a/resources/favicon/safari-pinned-tab.svg b/resources/favicon/safari-pinned-tab.svg new file mode 100644 index 0000000..f61f502 --- /dev/null +++ b/resources/favicon/safari-pinned-tab.svg @@ -0,0 +1,109 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + + + + + + + + + diff --git a/resources/favicon/site.webmanifest b/resources/favicon/site.webmanifest new file mode 100644 index 0000000..b20abb7 --- /dev/null +++ b/resources/favicon/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/resources/lang/en/cookie-notice.php b/resources/lang/en/cookie-notice.php new file mode 100644 index 0000000..0b116b2 --- /dev/null +++ b/resources/lang/en/cookie-notice.php @@ -0,0 +1,43 @@ + 'Customize cookies', + 'button_forbid' => 'Prohibit', + 'button_allow' => 'Allow', + 'button_forbid_all' => 'Reject all', + 'button_allow_all' => 'Accept all', + 'button_customize' => 'Customize', + 'button_back' => 'Back', + 'banner_title' => 'The :site_name website uses cookies!', + 'banner_text_open' => 'This website stores cookies on your computer. :site_name uses this information to improve and personalize your browsing experience, as well as for analysis and indicators concerning our visitors both on this website and on other media. You can click on "Accept" if you consent to the use of these cookies.', + 'banner_text' => 'We use cookies to ensure the smooth operation of our site and for analytical purposes. By continuing to browse this site or by closing this banner, you consent to the use of these cookies.', + 'banner_details' => 'If you refuse the use of cookies, your information will not be tracked during your visit to this site. A cookie will be used in your browser to remember not to track your preferences. Some features will not be accessible. You can change your mind and modify your consent at any time by returning to this site.', + 'banner_details_link' => 'To find out more about the cookies we use, please consult our privacy policy.', + 'banner_details_link_title' => 'Privacy policy', + 'banner_more_details' => 'More details...', + 'banner_less_details' => 'Fewer details...', + 'Panel_title' => 'Cookie management panel', + 'Panel_subtitle' => 'Your privacy is our priority', + 'Panel_details' => 'The functionalities of this site are based on services provided by third parties. If you accept, these third parties will deposit cookies that will enable you to view content on the site hosted by these third parties. Through these cookies, these third parties will collect and use your browsing data for their own purposes, in accordance with their privacy policy (link below). This page allows you to give or withdraw your consent, either globally or service by service.', + 'custom' => [ + 'youtube' => [ + 'name' => 'Youtube', + 'description' => 'Cookies placed via video sharing services are intended to allow the user to view multimedia content directly on the site.', + 'labelLink' => 'Learn more', + 'warning' => 'You must accept cookies to view this video', + ], + 'matomo' => [ + 'title' => 'Matomo', + 'description' => 'Audience measurement services are used to generate traffic statistics, which are useful for improving the site.', + 'labelLink' => 'Learn more', + ], + 'recaptcha' => [ + 'title' => 'reCAPTACHA', + 'description' => 'The purpose of the cookies placed on forms via the recaptcha is to prevent them from being submitted by robots.', + 'labelLink' => 'Learn more', + 'warning' => 'You must accept cookies to send the form', + ] + ] +]; diff --git a/resources/lang/fr/cookie-notice.php b/resources/lang/fr/cookie-notice.php new file mode 100644 index 0000000..b569e81 --- /dev/null +++ b/resources/lang/fr/cookie-notice.php @@ -0,0 +1,43 @@ + 'Personnaliser les cookies', + 'button_forbid' => 'Interdire', + 'button_allow' => 'Autoriser', + 'button_forbid_all' => 'Tout refuser', + 'button_allow_all' => 'Tout accepter', + 'button_customize' => 'Personnaliser', + 'button_back' => 'Retour', + 'banner_title' => 'Le site internet :site_name utilise des cookies !', + 'banner_text_open' => 'Ce site web stocke les cookies sur votre ordinateur. :site_name utilise ces informations afin d’améliorer et de personnaliser votre expérience de navigation, ainsi que pour l’analyse et les indicateurs concernant nos visiteurs à la fois sur ce site web et sur d’autres supports. Vous pouvez cliquer sur « Accepter » si vous consentez à l’utilisation de ces cookies.', + 'banner_text' => 'Nous utilisons des cookies pour nous assurer du bon fonctionnement de notre site et à des fins analytiques. En poursuivant votre navigation sur ce site ou en fermant ce bandeau, vous consentez à l’utilisationde ces cookies.', + 'banner_details' => 'Si vous refusez l’utilisation des cookies, vos informations ne seront pas suivies lors de votre visite sur ce site. Un cookie sera utilisé dans votre navigateur afin de se souvenir de ne pas suivre vos préférences. Certaines fonctionnalités ne seront pas accessibles. Vous pouvez changer d’avis et modifier votre consentement à tout moment en revenant sur ce site.', + 'banner_details_link' => 'Pour en savoir plus sur les cookies que nous utilisons, consultez notre charte de confidentialité.', + 'banner_details_link_title' => 'Charte de confidentialité', + 'banner_more_details' => 'Plus de détails...', + 'banner_less_details' => 'Moins de détails...', + 'Panel_title' => 'Panneau de gestion des cookies', + 'Panel_subtitle' => 'Le respect de votre vie privée est notre priorité', + 'Panel_details' => 'Les fonctionnalités de ce site s’appuient sur des services proposés par des tiers. Si vous acceptez, ces tiers déposeront des cookies qui vous permettront de visualiser sur le site du contenu hébergé par ces tiers. Via ces cookies, ces tiers collecteront et utiliseront vos données de navigation pour des finalités qui leur sont propres, conformément à leur politique de confidentialité (lien ci-dessous). Cette page vous permet de donner ou de retirer votre consentement, soit globalement soit service par service.', + 'custom' => [ + 'youtube' => [ + 'name' => 'Youtube', + 'description' => 'Les cookies placés via les services de partage de vidéos sont destinés à permettre à l\'utilisateur de visionner des contenus multimédias directement sur le site.', + 'labelLink' => 'En apprendre plus', + 'warning' => 'Vous devez accepter les cookies pour visionner cette vidéo', + ], + 'matomo' => [ + 'title' => 'Matomo', + 'description' => 'Les services de mesure d\'audience permettent de générer des statistiques de fréquentation utiles à l\'amélioration du site.', + 'labelLink' => 'En apprendre plus', + ], + 'recaptcha' => [ + 'title' => 'reCAPTACHA', + 'description' => 'Les cookies qui sont déposés via le recaptcha sur les formulaires ont pour finalité d\'empêcher que ceux-ci ne soient soumis par des robots.', + 'labelLink' => 'En apprendre plus', + 'warning' => 'Vous devez accepter les cookies pour envoyer le formulaire', + ] + ] +]; diff --git a/resources/views/pages/dashboard/index.blade.php b/resources/views/pages/dashboard/index.blade.php index fb78e68..8af4ebf 100644 --- a/resources/views/pages/dashboard/index.blade.php +++ b/resources/views/pages/dashboard/index.blade.php @@ -3,7 +3,7 @@ @section('content')

{{ __('Dashboard') }}

- + {{ __('Accéder au jeu') }}
diff --git a/resources/views/vendor/errors/403.blade.php b/resources/views/vendor/errors/403.blade.php index 6bfeea2..de31d5c 100644 --- a/resources/views/vendor/errors/403.blade.php +++ b/resources/views/vendor/errors/403.blade.php @@ -8,6 +8,5 @@ @section('button', true) @section('image') -{{-- FIXME: Personaliser ca --}} - + @endsection diff --git a/resources/views/vendor/errors/404.blade.php b/resources/views/vendor/errors/404.blade.php index 4477635..02b2b13 100644 --- a/resources/views/vendor/errors/404.blade.php +++ b/resources/views/vendor/errors/404.blade.php @@ -8,6 +8,5 @@ @section('button', true) @section('image') -{{-- FIXME: Personaliser ca --}} - + @endsection diff --git a/resources/views/vendor/errors/503.blade.php b/resources/views/vendor/errors/503.blade.php index db3d417..edf601f 100644 --- a/resources/views/vendor/errors/503.blade.php +++ b/resources/views/vendor/errors/503.blade.php @@ -6,6 +6,5 @@ @section('submessage', __('Le site est en maintenance, nous reviendrons...')) @section('image') -{{-- FIXME: Personaliser ca --}} - + @endsection diff --git a/resources/views/vendor/errors/illustrated-layout.blade.php b/resources/views/vendor/errors/illustrated-layout.blade.php index 8d7e262..a277a37 100644 --- a/resources/views/vendor/errors/illustrated-layout.blade.php +++ b/resources/views/vendor/errors/illustrated-layout.blade.php @@ -1,48 +1,52 @@ - - - - @yield('title') + + + + @yield('title') - @vite(['resources/sass/fo/fo.scss']) - @stack('scripts') - - -
-
-
-
- @yield('code', __('Oh no')) -
+ @vite(['resources/sass/bo/bo.scss']) + @stack('scripts') + -
+ +
+
+
+
+ @yield('code', __('Oh no')) +
-

- @yield('message') -

+
-

- @yield('submessage') -

+

+ @yield('message') +

- @hasSection('button') - +

+ @yield('submessage') +

+ + @hasSection('button') +
{{ __('Go to page :page', [ - 'page' => __('home') + 'page' => __('home'), ]) }} - @endif -
-
- -
-
- @yield('image') -
+ @endif
- + +
+
+ @yield('image') +
+
+
+ + diff --git a/resources/views/vendor/errors/minimal.blade.php b/resources/views/vendor/errors/minimal.blade.php index 4c7ce34..f20ce4d 100644 --- a/resources/views/vendor/errors/minimal.blade.php +++ b/resources/views/vendor/errors/minimal.blade.php @@ -1,29 +1,37 @@ - - - - @yield('title') + + + - + @yield('title') - @vite(['resources/sass/fo/fo.scss']) - @stack('scripts') - - -
-
-
-
- @yield('code') -
+ -
- @yield('message') -
+ @vite(['resources/sass/bo/bo.scss']) + @stack('scripts') + + + +
+
+
+
+ @yield('code') +
+ +
+ @yield('message')
- +
+ + diff --git a/routes/web-bo.php b/routes/web-bo.php index 3e9d752..5270490 100644 --- a/routes/web-bo.php +++ b/routes/web-bo.php @@ -17,64 +17,60 @@ use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Route; // * BO -Route::prefix('bo') - ->name('bo.') - ->group(function () { - Route::namespace('\App\Http\Controllers\Bo') - ->group(function () { - Auth::routes( - [ - 'confirm' => false, - 'login' => true, - 'logout' => true, - 'register' => false, - 'reset' => false, - 'verify' => false, - ] - ); - }); - Route::middleware(['auth:backend', 'is-admin', 'is-super-admin']) - ->group(function () { - Route::get('/', [DashboardController::class, 'index']) - ->name('dashboard')->withoutMiddleware('is-super-admin'); - // * BANNED IPS - Route::resource('/bannedips', BannedIpController::class)->except('show'); - // * CONTENTS - Route::resource('/contents', ContentController::class) - ->only(['index', 'edit', 'update']) - ->withoutMiddleware('htmlsanitize') - ->middleware(['htmlsanitize:value']); - // * FAQ - THEMES - Route::resource('/faq-themes', FaqThemesController::class)->except('show'); - // * FAQ - QUESTIONS - Route::resource('/faq-questions', FaqQuestionsController::class)->except('show'); - // * GAIN VIEWS - Route::resource('/gain-views', GainViewController::class)->except('show'); - // * PRIZES - Route::resource('/prizes', PrizesController::class) - ->except('show') - ->withoutMiddleware('htmlsanitize') - ->middleware(['htmlsanitize:arg_content']); - // * RANGES - Route::resource('ranges', RangeController::class) - ->except('show') - ->withoutMiddleware('is-super-admin'); - // * PRODUCTS - Route::resource('products', ProductsController::class) - ->except('show') - ->withoutMiddleware('is-super-admin'); - // * SETTINGS. - Route::resource('/settings', SettingsController::class) - ->only(['edit', 'update']); - // * WINNERS LIST - Route::get('/winners-list', [WinnersListController::class, 'index'])->name('winners-list'); - // * INSTANT WIN - Route::get('/instant-win', [InstantWinController::class, 'index'])->name('instant-win'); - Route::get('/ajax/instant-win-generate', [InstantWinController::class, 'instantWinGenerate']); - // * UNIQUES CODES. - Route::get('/codes', [CodesController::class, 'index'])->name('codes'); - Route::post('/codes', [CodesController::class, 'generate'])->name('generate-codes'); - Route::get('/codes/search', [CodesController::class, 'search'])->name('codes.search'); - Route::post('/codes/export', [CodesController::class, 'export'])->name('export-codes'); - }); +Route::prefix('bo')->name('bo.')->group(function () { + Route::namespace('\App\Http\Controllers\Bo')->group(function () { + Auth::routes( + [ + 'confirm' => false, + 'login' => true, + 'logout' => true, + 'register' => false, + 'reset' => false, + 'verify' => false, + ] + ); }); + Route::middleware(['auth:backend', 'is-admin', 'is-super-admin'])->group(function () { + Route::get('/', [DashboardController::class, 'index']) + ->name('dashboard')->withoutMiddleware('is-super-admin'); + // * BANNED IPS + Route::resource('/bannedips', BannedIpController::class)->except('show'); + // * CONTENTS + Route::resource('/contents', ContentController::class) + ->only(['index', 'edit', 'update']) + ->withoutMiddleware('htmlsanitize') + ->middleware(['htmlsanitize:value']); + // * FAQ - THEMES + Route::resource('/faq-themes', FaqThemesController::class)->except('show'); + // * FAQ - QUESTIONS + Route::resource('/faq-questions', FaqQuestionsController::class)->except('show'); + // * GAIN VIEWS + Route::resource('/gain-views', GainViewController::class)->except('show'); + // * PRIZES + Route::resource('/prizes', PrizesController::class) + ->except('show') + ->withoutMiddleware('htmlsanitize') + ->middleware(['htmlsanitize:arg_content']); + // * RANGES + Route::resource('ranges', RangeController::class) + ->except('show') + ->withoutMiddleware('is-super-admin'); + // * PRODUCTS + Route::resource('products', ProductsController::class) + ->except('show') + ->withoutMiddleware('is-super-admin'); + // * SETTINGS. + Route::resource('/settings', SettingsController::class) + ->only(['edit', 'update']); + // * WINNERS LIST + Route::get('/winners-list', [WinnersListController::class, 'index'])->name('winners-list'); + // * INSTANT WIN + Route::get('/instant-win', [InstantWinController::class, 'index'])->name('instant-win'); + Route::get('/ajax/instant-win-generate', [InstantWinController::class, 'instantWinGenerate']); + // * UNIQUES CODES. + Route::get('/codes', [CodesController::class, 'index'])->name('codes'); + Route::post('/codes', [CodesController::class, 'generate'])->name('generate-codes'); + Route::get('/codes/search', [CodesController::class, 'search'])->name('codes.search'); + Route::post('/codes/export', [CodesController::class, 'export'])->name('export-codes'); + }); +}); diff --git a/routes/web-fo.php b/routes/web-fo.php index ae10084..c0fb325 100644 --- a/routes/web-fo.php +++ b/routes/web-fo.php @@ -1,20 +1,20 @@ middleware(['throttle:credentials'])->group(function () { +Route::middleware(['throttle:credentials'])->name('fo.')->group(function () { Route::middleware('game-date')->group(function () { // Routes nécessitant d'être connecté. Route::middleware('auth:frontend')->group(function () { diff --git a/routes/web-re7.php b/routes/web-re7.php index 63e3298..a9cbe0d 100644 --- a/routes/web-re7.php +++ b/routes/web-re7.php @@ -1,18 +1,16 @@ middleware(['re7']) - ->group(function () { - Route::get('/', [Re7Controller::class, 'index']); - Route::get('/teaser', [Re7Controller::class, 'teaser']); - Route::get('/mail-gain', [Re7Controller::class, 'prizeMail']); - Route::get('/mail-reduction', [Re7Controller::class, 'reductionMail']); - Route::get('/br', [Re7Controller::class, 'br']); - // phpcs:ignore - // TODO : Rendre dynamique la partie gain par rapport au BO. - Route::get('/gain1', [Re7Controller::class, 'gain1']); - Route::get('/gain2', [Re7Controller::class, 'gain2']); - }); +Route::prefix('re7')->name('re7.')->middleware(['re7'])->group(function () { + Route::get('/', [Re7Controller::class, 'index'])->name('index'); + Route::get('/teaser', [Re7Controller::class, 'teaser'])->name('teaser'); + Route::get('/mail-gain', [Re7Controller::class, 'prizeMail'])->name('mail-gain'); + Route::get('/mail-reduction', [Re7Controller::class, 'reductionMail'])->name('mail-reduction'); + Route::get('/br', [Re7Controller::class, 'br'])->name('br'); + // phpcs:ignore + // TODO : Rendre dynamique la partie gain par rapport au BO. + Route::get('/gain1', [Re7Controller::class, 'gain1'])->name('gain1'); + Route::get('/gain2', [Re7Controller::class, 'gain2'])->name('gain2'); +}); diff --git a/vite.config.ts b/vite.config.ts index a35e78d..fed29d1 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -3,6 +3,7 @@ import vue from "@vitejs/plugin-vue"; import laravel from "laravel-vite-plugin"; import path from "path"; import postcssDiscard from "postcss-discard-comments"; +import copy from "rollup-plugin-copy"; import { defineConfig, loadEnv } from "vite"; import babel from "vite-plugin-babel"; import checker from "vite-plugin-checker"; @@ -77,6 +78,43 @@ export default defineConfig({ ], refresh: true, }), + copy({ + targets: [ + { + src: [ + // * Logo for Bo error pages + path.normalize("resources/assets/images/engine/logo.png"), + // * Engine copy (Default favicon) + path.normalize("resources/favicon/android-chrome-192x192.png"), + path.normalize("resources/favicon/android-chrome-512x512.png"), + path.normalize("resources/favicon/apple-touch-icon.png"), + path.normalize("resources/favicon/browserconfig.xml"), + path.normalize("resources/favicon/browserconfig.xml"), + path.normalize("resources/favicon/favicon-16x16.png"), + path.normalize("resources/favicon/favicon-32x32.png"), + path.normalize("resources/favicon/favicon.ico"), + path.normalize("resources/favicon/mstile-150x150.png"), + path.normalize("resources/favicon/safari-pinned-tab.svg"), + path.normalize("resources/favicon/site.webmanifest"), + // * Theme Copy (override if present) favicon + path.normalize("resources/theme/mounted/favicon/android-chrome-192x192.png"), + path.normalize("resources/theme/mounted/favicon/android-chrome-512x512.png"), + path.normalize("resources/theme/mounted/favicon/apple-touch-icon.png"), + path.normalize("resources/theme/mounted/favicon/browserconfig.xml"), + path.normalize("resources/theme/mounted/favicon/browserconfig.xml"), + path.normalize("resources/theme/mounted/favicon/favicon-16x16.png"), + path.normalize("resources/theme/mounted/favicon/favicon-32x32.png"), + path.normalize("resources/theme/mounted/favicon/favicon.ico"), + path.normalize("resources/theme/mounted/favicon/mstile-150x150.png"), + path.normalize("resources/theme/mounted/favicon/safari-pinned-tab.svg"), + path.normalize("resources/theme/mounted/favicon/site.webmanifest"), + ], + dest: path.normalize("public") + }, + ], + copyOnce: true, + verbose: true + }), stylelint({ dev: false, build: true,