From 14097c0acfd60632fc55ef85fb210f1af8a90367 Mon Sep 17 00:00:00 2001 From: Alexis Gousseau Date: Tue, 19 Mar 2024 12:36:03 +0100 Subject: [PATCH] update we hire page --- app/Http/Middleware/SecureHeaders.php | 3 +- database/factories/TestimonialFactory.php | 2 +- .../sections/default-banner-1400x500.png | Bin 0 -> 6679 bytes .../sections/produce-banner-1200x450.png | Bin 6694 -> 0 bytes .../seeders/Development/SectionSeeder.php | 192 +++++++++++-- .../seeders/Development/TestimonialSeeder.php | 1 - package-lock.json | 14 +- package.json | 14 +- .../assets/images/others/background_video.png | Bin 0 -> 19352 bytes resources/lang/fr/cookie-notice.php | 1 + resources/sass/fo/base/_common.scss | 8 +- resources/sass/fo/fo.scss | 1 - resources/sass/fo/pages/_hire.scss | 100 ++----- resources/sass/fo/vendor/_fancybox.scss | 1 - resources/ts/fo/base/common.ts | 81 ++++-- resources/ts/fo/fo.ts | 4 +- resources/ts/index.d.ts | 2 - resources/ts/utilities/sass-safelist.ts | 2 +- resources/views/fo/modules/frame.blade.php | 2 +- .../views/fo/modules/video-frame.blade.php | 8 +- resources/views/fo/pages/hire.blade.php | 263 ++++++++++-------- .../fo/partials/testimonials/card.blade.php | 4 +- resources/views/vendor/cn-cookies.blade.php | 122 +------- routes/web-fo.php | 5 +- 24 files changed, 438 insertions(+), 392 deletions(-) create mode 100644 database/factories/assets/sections/default-banner-1400x500.png delete mode 100644 database/factories/assets/sections/produce-banner-1200x450.png create mode 100644 resources/assets/images/others/background_video.png delete mode 100644 resources/sass/fo/vendor/_fancybox.scss diff --git a/app/Http/Middleware/SecureHeaders.php b/app/Http/Middleware/SecureHeaders.php index 19aaa34..e97ed69 100644 --- a/app/Http/Middleware/SecureHeaders.php +++ b/app/Http/Middleware/SecureHeaders.php @@ -67,7 +67,8 @@ class SecureHeaders "frame-src 'self' " . implode(' ', [ 'https://www.google.com/recaptcha/', 'https://recaptcha.google.com/recaptcha/', - 'https://www.google.com/maps/' + 'https://www.google.com/maps/', + 'https://www.youtube.com', ]) . ';', "font-src 'self' data: " . \implode(' ', [ // * VITE DEV diff --git a/database/factories/TestimonialFactory.php b/database/factories/TestimonialFactory.php index 8d1789f..a03a387 100644 --- a/database/factories/TestimonialFactory.php +++ b/database/factories/TestimonialFactory.php @@ -18,7 +18,7 @@ class TestimonialFactory extends Factory return [ 'name' => fake()->name(), 'job' => fake()->jobTitle(), - 'content' => \clean(\fake()->randomHtml(6, 7)), + 'content' => \clean(\fake()->randomHtml()), 'picture_alt' => fake()->sentence(), 'picture_title' => fake()->sentence(), ]; diff --git a/database/factories/assets/sections/default-banner-1400x500.png b/database/factories/assets/sections/default-banner-1400x500.png new file mode 100644 index 0000000000000000000000000000000000000000..83199602e482bb0e2c5ea226137f2d4ae10f297b GIT binary patch literal 6679 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[], 'nombre'); - $data = array_merge($data, $section->emptyWysiwygBloc([], "text accompagnant le nombre", fake()->text(35))); + $data = $section->emptyKeyNumberBloc([], 'nombre', fake()->randomNumber()); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], "text accompagnant le nombre", clean(\fake()->randomHtml(1, 1))) + ); + $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( + new Section(), + new \SplFileInfo(\resource_path( + '../database/factories/assets/sections/default-banner-1400x500.png' + )) + ), fake()->sentence(), fake()->sentence(), 1200, 450)); + $data = array_merge($data, $section->emptyWysiwygBloc([], "vidéos", fake()->text(35))); + $data = array_merge($data, $section->emptyButtonBooleanBloc([], 'Voir les offres tout de suite')); + return $data; + } + + /** + * Get MiniCrud datas for Hire - Grow section. + * + * @param \App\Models\Section $section + * @return array + */ + private function getHireFormationData(Section $section) + { + $data = $section->emptyKeyNumberBloc([], 'nombre n°1', fake()->randomNumber()); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], "text accompagnant le nombre n°1", clean(\fake()->randomHtml(1, 1))) + ); + $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( + new Section(), + new \SplFileInfo(\resource_path( + '../database/factories/assets/sections/default-banner-1400x500.png' + )) + ), fake()->sentence(), fake()->sentence(), 1400, 500, true, 'Image n°1')); + $data = array_merge($data, $section->emptyStringBloc([], "Titre h3 de la section", fake()->text(35))); + $data = array_merge($data, $section->emptyKeyNumberBloc([], 'nombre n°2', fake()->randomNumber())); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], "text accompagnant le nombre n°2", clean(\fake()->randomHtml(1, 1))) + ); + $data = array_merge($data, $section->emptyKeyNumberBloc([], 'nombre n°3', fake()->randomNumber())); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], "text accompagnant le nombre n°3", clean(\fake()->randomHtml(1, 1))) + ); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], "n°2", clean(\fake()->randomHtml())) + ); + $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( + new Section(), + new \SplFileInfo(\resource_path( + '../database/factories/assets/sections/default-banner-1400x500.png' + )) + ), fake()->sentence(), fake()->sentence(), 1400, 500, true, 'Image n°2')); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], "n°3", clean(\fake()->randomHtml())) + ); + return $data; + } + + /** + * Get MiniCrud datas for Hire - Parity section. + * + * @param \App\Models\Section $section + * @return array + */ + private function getHireParityData(Section $section) + { + $data = $section->emptyPictureBloc([], FileStorageHelper::storeFile( + new Section(), + new \SplFileInfo(\resource_path( + '../database/factories/assets/sections/default-banner-1400x500.png' + )) + ), fake()->sentence(), fake()->sentence(), 1400, 500, true, 'Bannière'); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], "Contenu n°1", clean(\fake()->randomHtml())) + ); + $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( + new Section(), + new \SplFileInfo(\resource_path( + '../database/factories/assets/sections/default-banner-1400x500.png' + )) + ), fake()->sentence(), fake()->sentence(), 1400, 500, true, 'Image n°1')); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], "Contenu n°2", clean(\fake()->randomHtml())) + ); + $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( + new Section(), + new \SplFileInfo(\resource_path( + '../database/factories/assets/sections/default-banner-1400x500.png' + )) + ), fake()->sentence(), fake()->sentence(), 1400, 500, true, 'Image n°2')); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], "Contenu n°3", clean(\fake()->randomHtml())) + ); + $data = array_merge($data, $section->emptyButtonBooleanBloc([], 'On Bouge Ensemble')); + return $data; } @@ -192,22 +293,28 @@ class SectionSeeder extends Seeder } /** - * Get MiniCrud datas for Hire - Parity section. + * Get MiniCrud datas for Hire - Find section. * * @param \App\Models\Section $section * @return array */ - private function getHireParityData(Section $section) + private function getHireFindData(Section $section) { - $data = $section->emptyButtonBooleanBloc([], 'On Bouge Ensemble'); + $data = $section->emptyStringBloc([], "Titre h3 de la section", fake()->text(35)); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], "Contenu n°1", clean(\fake()->randomHtml())) + ); $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( - '../database/factories/assets/sections/default-picture-100x100.png' + '../database/factories/assets/sections/default-banner-1400x500.png' )) - ), fake()->sentence(), fake()->sentence(), 100, 100, true)); - $data = array_merge($data, $section->emptyStringBloc([], "Deuxième contenu", fake()->text(35))); - + ), fake()->sentence(), fake()->sentence(), 1400, 500, true, 'Image')); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], "Contenu n°2", clean(\fake()->randomHtml())) + ); return $data; } @@ -361,7 +468,10 @@ class SectionSeeder extends Seeder '../database/factories/assets/sections/default-picture-100x100.png' )) ), fake()->sentence(), fake()->sentence(), 200, 200); - $data = array_merge($data, $section->emptyWysiwygBloc([], 'accompagnant l\'image', clean(\fake()->randomHtml()))); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], 'accompagnant l\'image', clean(\fake()->randomHtml())) + ); $data = array_merge($data, $section->emptyWysiwygBloc([], 'text', clean(\fake()->randomHtml()))); return $data; } @@ -377,7 +487,7 @@ class SectionSeeder extends Seeder $data = $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( - '../database/factories/assets/sections/produce-banner-1200x450.png' + '../database/factories/assets/sections/default-banner-1400x500.png' )) ), fake()->sentence(), fake()->sentence(), 1200, 450, true, "Bannière de la partie 1"); $data = array_merge( @@ -414,7 +524,7 @@ class SectionSeeder extends Seeder $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( - '../database/factories/assets/sections/produce-banner-1200x450.png' + '../database/factories/assets/sections/default-banner-1400x500.png' )) ), fake()->sentence(), fake()->sentence(), 1200, 450, true, "Bannière de la partie 2")); $data = array_merge( @@ -451,7 +561,7 @@ class SectionSeeder extends Seeder $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( - '../database/factories/assets/sections/produce-banner-1200x450.png' + '../database/factories/assets/sections/default-banner-1400x500.png' )) ), fake()->sentence(), fake()->sentence(), 1200, 450, true, "Bannière de la partie 3")); $data = array_merge( @@ -478,31 +588,43 @@ class SectionSeeder extends Seeder $data = $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( - '../database/factories/assets/sections/produce-banner-1200x450.png' + '../database/factories/assets/sections/default-banner-1400x500.png' )) ), fake()->sentence(), fake()->sentence(), 1200, 450, true, "Bannière de la partie 1"); - $data = array_merge($data, $section->emptyWysiwygBloc([], 'accompagnant l\'image 1 de la partie 1', clean(\fake()->randomHtml()))); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], 'accompagnant l\'image 1 de la partie 1', clean(\fake()->randomHtml())) + ); $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( '../database/factories/assets/sections/default-picture-100x100.png' )) ), fake()->sentence(), fake()->sentence(), 100, 100, true, "Image 1 de la partie 1")); - $data = array_merge($data, $section->emptyWysiwygBloc([], 'accompagnant l\'image 2 de la partie 1', clean(\fake()->randomHtml()))); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], 'accompagnant l\'image 2 de la partie 1', clean(\fake()->randomHtml())) + ); $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( '../database/factories/assets/sections/default-picture-100x100.png' )) ), fake()->sentence(), fake()->sentence(), 100, 100, true, "Image 2 de la partie 1")); - $data = array_merge($data, $section->emptyWysiwygBloc([], 'accompagnant l\'image 3 de la partie 1', clean(\fake()->randomHtml()))); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], 'accompagnant l\'image 3 de la partie 1', clean(\fake()->randomHtml())) + ); $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( '../database/factories/assets/sections/default-picture-100x100.png' )) ), fake()->sentence(), fake()->sentence(), 100, 100, true, "Image 3 de la partie 1")); - $data = array_merge($data, $section->emptyWysiwygBloc([], 'accompagnant l\'image 1 de la partie 2', clean(\fake()->randomHtml()))); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], 'accompagnant l\'image 1 de la partie 2', clean(\fake()->randomHtml())) + ); $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( @@ -523,24 +645,33 @@ class SectionSeeder extends Seeder $data = $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( - '../database/factories/assets/sections/produce-banner-1200x450.png' + '../database/factories/assets/sections/default-banner-1400x500.png' )) ), fake()->sentence(), fake()->sentence(), 1200, 450, true, "Bannière de la partie"); - $data = array_merge($data, $section->emptyWysiwygBloc([], 'accompagnant l\'image 1 de la partie', clean(\fake()->randomHtml()))); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], 'accompagnant l\'image 1 de la partie', clean(\fake()->randomHtml())) + ); $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( '../database/factories/assets/sections/default-picture-100x100.png' )) ), fake()->sentence(), fake()->sentence(), 100, 100, true, "Image 1 de la partie")); - $data = array_merge($data, $section->emptyWysiwygBloc([], 'accompagnant l\'image 2 de la partie', clean(\fake()->randomHtml()))); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], 'accompagnant l\'image 2 de la partie', clean(\fake()->randomHtml())) + ); $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( '../database/factories/assets/sections/default-picture-100x100.png' )) ), fake()->sentence(), fake()->sentence(), 100, 100, true, "Image 2 de la partie")); - $data = array_merge($data, $section->emptyWysiwygBloc([], 'accompagnant l\'image 3 de la partie', clean(\fake()->randomHtml()))); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], 'accompagnant l\'image 3 de la partie', clean(\fake()->randomHtml())) + ); $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( @@ -562,10 +693,13 @@ class SectionSeeder extends Seeder $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( - '../database/factories/assets/sections/produce-banner-1200x450.png' + '../database/factories/assets/sections/default-banner-1400x500.png' )) ), fake()->sentence(), fake()->sentence(), 1200, 450, true, "Bannière de la partie 1")); - $data = array_merge($data, $section->emptyWysiwygBloc([], "accompagnant l'image 1 de la partie 1", clean(\fake()->randomHtml()))); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], "accompagnant l'image 1 de la partie 1", clean(\fake()->randomHtml())) + ); $data = array_merge($data, $section->emptyPictureBloc([], FileStorageHelper::storeFile( new Section(), new \SplFileInfo(\resource_path( @@ -573,9 +707,15 @@ class SectionSeeder extends Seeder )) ), fake()->sentence(), fake()->sentence(), 100, 100, true, "Image 1 de la partie 1")); $data = array_merge($data, $section->emptyWysiwygBloc([], "text de la partie 2", clean(\fake()->randomHtml()))); - $data = array_merge($data, $section->emptyWysiwygBloc([], "accompagnant le bouton 'On vous écoute'", clean(\fake()->randomHtml()))); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], "accompagnant le bouton 'On vous écoute'", clean(\fake()->randomHtml())) + ); $data = array_merge($data, $section->emptyButtonBooleanBloc([], "'On vous écoute'")); - $data = array_merge($data, $section->emptyWysiwygBloc([], "accompagnant le bouton 'On se dévoile'", clean(\fake()->randomHtml()))); + $data = array_merge( + $data, + $section->emptyWysiwygBloc([], "accompagnant le bouton 'On se dévoile'", clean(\fake()->randomHtml())) + ); $data = array_merge($data, $section->emptyButtonBooleanBloc([], "'On se dévoile'")); return $data; } diff --git a/database/seeders/Development/TestimonialSeeder.php b/database/seeders/Development/TestimonialSeeder.php index efd26db..3c8dbf3 100644 --- a/database/seeders/Development/TestimonialSeeder.php +++ b/database/seeders/Development/TestimonialSeeder.php @@ -23,7 +23,6 @@ class TestimonialSeeder extends Seeder { FileStorageHelper::removeModelFiles(new Testimonial()); foreach (TypeEnum::cases() as $type) { - // @phpstan-ignore-next-line Testimonial::factory(3)->make()->each(function (Testimonial $testimonial) use ($type) { $testimonial->type = $type; $testimonial->picture = FileStorageHelper::storeFile( diff --git a/package-lock.json b/package-lock.json index e312292..4586433 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,6 @@ "@babel/core": "^7.22.11", "@babel/types": "^7.21.2", "@erbelion/vite-plugin-laravel-purgecss": "^0.2.3", - "@fancyapps/ui": "^5.0.33", "@fortawesome/fontawesome-svg-core": "^6.5.1", "@fortawesome/free-regular-svg-icons": "^6.5.1", "@fortawesome/free-solid-svg-icons": "^6.5.1", @@ -34,6 +33,7 @@ "eslint": "latest", "eslint-import-resolver-alias": "^1.1.2", "eslint-plugin-vue": "latest", + "fslightbox": "^3.4.1", "laravel-vite-plugin": "^0.8.1", "postcss-discard-comments": "^6.0.0", "prettier": "latest", @@ -907,12 +907,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@fancyapps/ui": { - "version": "5.0.33", - "resolved": "https://registry.npmjs.org/@fancyapps/ui/-/ui-5.0.33.tgz", - "integrity": "sha512-nYW7ntjhrpqoLz/vA9KpJ2zJ5gXRB7rpFKXWjW4GC1f2st/IoI1Oy2TEEz0xABIlvPTCuoMXaT1X3UC7bP97rA==", - "dev": true - }, "node_modules/@fortawesome/fontawesome-common-types": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.1.tgz", @@ -4020,6 +4014,12 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/fslightbox": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/fslightbox/-/fslightbox-3.4.1.tgz", + "integrity": "sha512-/YkPP9jCnZMIlPuJPUo10JTCOCntU0vHeIKe0cB5ruR0ss2QCLhzxY5h24grZ2gUsF//0NXik7iGMU05RV/jcg==", + "dev": true + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", diff --git a/package.json b/package.json index b66f9d2..1c5cbc5 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,6 @@ "@babel/core": "^7.22.11", "@babel/types": "^7.21.2", "@erbelion/vite-plugin-laravel-purgecss": "^0.2.3", - "@fancyapps/ui": "^5.0.33", "@fortawesome/fontawesome-svg-core": "^6.5.1", "@fortawesome/free-regular-svg-icons": "^6.5.1", "@fortawesome/free-solid-svg-icons": "^6.5.1", @@ -39,9 +38,10 @@ "bootstrap": "^5.3.2", "chart.js": "^4.4.0", "cropperjs": "^1.6.1", - "eslint": "latest", "eslint-import-resolver-alias": "^1.1.2", "eslint-plugin-vue": "latest", + "eslint": "latest", + "fslightbox": "^3.4.1", "laravel-vite-plugin": "^0.8.1", "postcss-discard-comments": "^6.0.0", "prettier": "latest", @@ -50,26 +50,26 @@ "rollup-plugin-copy": "^3.5.0", "sass": "latest", "slugify": "^1.6.6", - "stylelint": "^15.11.0", "stylelint-config-idiomatic-order": "github:ream88/stylelint-config-idiomatic-order", "stylelint-config-sass-guidelines": "^10.0.0", "stylelint-config-standard-scss": "^11.1.0", "stylelint-scss": "^5.3.2", + "stylelint": "^15.11.0", "sweetalert2": "^11.7.31", "swiper": "^11.0.6", "terser": "latest", "toastify-js": "^1.12.0", "ts-loader": "^9.3.1", - "typescript": ">=3.3.1 <5.2.0", "typescript-eslint": "latest", - "vite": "^4.5.1", + "typescript": ">=3.3.1 <5.2.0", "vite-plugin-babel": "latest", "vite-plugin-checker": "latest", "vite-plugin-eslint": "latest", "vite-plugin-stylelint": "latest", - "vue": "latest", + "vite": "^4.5.1", "vue-eslint-parser": "^9.3.2", "vue-loader": "^17.3.1", - "vue-tsc": "1.8.11" + "vue-tsc": "1.8.11", + "vue": "latest" } } diff --git a/resources/assets/images/others/background_video.png b/resources/assets/images/others/background_video.png new file mode 100644 index 0000000000000000000000000000000000000000..b556cc1e2eabe5c5b96e90dc01d202a9fe93addf GIT binary patch literal 19352 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 'Image d’un bon gros cookie', 'navigation_title' => 'Navigation du panneau des cookies', 'custom' => [ + 'frame' => 'Vous devez accepter les cookies pour visionner cette vidéo', 'analytics' => [ 'title' => 'Google Analytics', 'description' => 'Les services de mesure d’audience permettent de générer des statistiques de fréquentation utiles à l’amélioration du site.', diff --git a/resources/sass/fo/base/_common.scss b/resources/sass/fo/base/_common.scss index b7ce97d..4db1aff 100644 --- a/resources/sass/fo/base/_common.scss +++ b/resources/sass/fo/base/_common.scss @@ -28,11 +28,9 @@ $theme-colors: map.merge($theme-colors, $light-colors); } .video-play-button { - top: 50%; - left: 50%; height: 3rem; - border-radius: 5rem; - transform: translate(-50%, -50%); + border-radius: 100%; + box-shadow: inset 0 0 0 2px #{$color-tertiary}; } } @@ -174,7 +172,7 @@ $theme-colors: map.merge($theme-colors, $light-colors); @include media-breakpoint-up(lg) { // Mask to add a transparent effect on the right side. .mask-white { - mask: linear-gradient(-90deg, #fff6, #fff 30%); + mask: linear-gradient(-90deg,#fff0 0%,#fff 20%,#fff 80%,#fff0 100%); } @each $idx, $color in $theme-colors { diff --git a/resources/sass/fo/fo.scss b/resources/sass/fo/fo.scss index 5d34207..966401b 100644 --- a/resources/sass/fo/fo.scss +++ b/resources/sass/fo/fo.scss @@ -8,7 +8,6 @@ @import "./vendor/bootstrap"; @import "./vendor/swiper"; @import "./vendor/cookie-notice"; -@import "./vendor/fancybox"; // * BASE @import "./base/bootstrap-overload"; diff --git a/resources/sass/fo/pages/_hire.scss b/resources/sass/fo/pages/_hire.scss index a99ead2..e36241e 100644 --- a/resources/sass/fo/pages/_hire.scss +++ b/resources/sass/fo/pages/_hire.scss @@ -6,6 +6,30 @@ text-transform: none; } + .swiper-button-prev-custom, .swiper-button-next-custom { + top: 101%; + + @include media-breakpoint-up(lg) { + top: 50%; + } + } + + .swiper-button-prev-custom { + transform: rotate(180deg); + + @include media-breakpoint-up(lg) { + left: 10%; + transform: rotate(180deg) translateY(50%); + } + } + + .swiper-button-next-custom { + @include media-breakpoint-up(lg) { + right: 10%; + transform: translateY(-50%); + } + } + .company-life, .formation{ .ck-content{ h3 { @@ -23,80 +47,4 @@ filter: invert(1); } } - - .parity{ - .parity-img{ - min-height: 210px; - max-height: 450px; - object-fit: cover; - } - } - - .find{ - .find-img{ - min-width: 330px; - min-height: 210px; - object-fit: cover; - } - } } - - -// LLLLLLLLLLL GGGGGGGGGGGGG -// L:::::::::L GGG::::::::::::G -// L:::::::::L GG:::::::::::::::G -// LL:::::::LL G:::::GGGGGGGG::::G -// L:::::L G:::::G GGGGGG -// L:::::L G:::::G -// L:::::L G:::::G -// L:::::L G:::::G GGGGGGGGGG -// L:::::L G:::::G G::::::::G -// L:::::L G:::::G GGGGG::::G -// L:::::L G:::::G G::::G -// L:::::L LLLLLL G:::::G G::::G -// LL:::::::LLLLLLLLL:::::L G:::::GGGGGGGG::::G -// L::::::::::::::::::::::L GG:::::::::::::::G -// L::::::::::::::::::::::L GGG::::::GGG:::G -// LLLLLLLLLLLLLLLLLLLLLLLL GGGGGG GGGG -@include media-breakpoint-up(lg) { - .we-hire { - .swiper-button-prev-custom { - top: 55%; - transform: rotate(180deg); - } - - .swiper-button-next-custom { - top: calc(50% + 19px); - right: 11.5rem; - } - - .swiper-button-prev-custom, .swiper-button-next-custom { - position: absolute; - z-index: 20; - padding: 0.5rem; - border: 1px solid; - border-color: $primary; - border-radius: 2rem; - background-color: transparent; - transition: all ease-in-out .3s; - - &:hover{ - z-index: 999; - background-color: #fff; - } - } - - .swiper-button-disabled { - display: none; - } - - .find{ - .find-img{ - min-width: 511px; - min-height: 330px; - object-fit: cover; - } - } - } -} - diff --git a/resources/sass/fo/vendor/_fancybox.scss b/resources/sass/fo/vendor/_fancybox.scss deleted file mode 100644 index 06aa23f..0000000 --- a/resources/sass/fo/vendor/_fancybox.scss +++ /dev/null @@ -1 +0,0 @@ -@import "@fancyapps/ui/dist/fancybox/fancybox.css"; diff --git a/resources/ts/fo/base/common.ts b/resources/ts/fo/base/common.ts index 0d26f28..c11db09 100644 --- a/resources/ts/fo/base/common.ts +++ b/resources/ts/fo/base/common.ts @@ -1,11 +1,7 @@ -import { Fancybox } from "@fancyapps/ui"; import Swiper from "swiper"; import { Keyboard, Navigation, Pagination } from "swiper/modules"; document.addEventListener("DOMContentLoaded", function () { - // * Video frames. - Fancybox.bind("[data-fancybox]"); - // Define a multiplier according to the window size. function getWindowWidth() { @@ -100,58 +96,52 @@ document.addEventListener("DOMContentLoaded", function () { }, }, "swiper-we-hire": { - modules: [Navigation, Keyboard], + modules: [Navigation], grabCursor: true, slidesPerView: 1.2, centeredSlides: true, - spaceBetween: 30, + spaceBetween: 10, navigation: { nextEl: ".video-next", prevEl: ".video-prev", }, - keyboard: { - enabled: true, - }, breakpoints: { 576: { - slidesPerView: 1.1, - spaceBetween: 0, + slidesPerView: 1.2, + spaceBetween: 20, }, 768: { slidesPerView: 1.5, - spaceBetween: 0, + spaceBetween: 20, }, 1200: { - slidesPerView: 1.3, - spaceBetween: 0, + slidesPerView: 3, + spaceBetween: 20, }, }, }, "swiper-we-hire-testimonials": { - modules: [Navigation, Keyboard], + modules: [Navigation], grabCursor: true, slidesPerView: 1.2, centeredSlides: true, - spaceBetween: 30, + spaceBetween: 10, navigation: { nextEl: ".testi-next", prevEl: ".testi-prev", }, - keyboard: { - enabled: true, - }, breakpoints: { 576: { - slidesPerView: 1.1, - spaceBetween: 0, + slidesPerView: 1.2, + spaceBetween: 20, }, 768: { slidesPerView: 1.5, - spaceBetween: 0, + spaceBetween: 20, }, 1200: { - slidesPerView: 1.3, - spaceBetween: 0, + slidesPerView: 3, + spaceBetween: 20, }, }, }, @@ -293,6 +283,49 @@ document.addEventListener("DOMContentLoaded", function () { behavior: "smooth", }); }); + + // * Video frames. + const videoFrameList = document.querySelectorAll( + ".video-frame" + ) as NodeListOf; + for (const videoLink of videoFrameList) { + if (!videoLink.dataset.type) { + throw new Error("Missing dataset type"); + } + if (!videoLink.dataset.frame) { + throw new Error("Missing dataset frame"); + } + // @ts-ignore + window.__CN_VIDEO = window.__CN_VIDEO ?? {}; + + const newIframe = document.createElement("iframe"); + newIframe.frameBorder = "0"; + newIframe.allow = "fullscreen"; + newIframe.width = "1920px"; + newIframe.height = "1080px"; + newIframe.setAttribute("allowfullscreen", "allowfullscreen"); + + // @ts-ignore + const instance = new FsLightbox(); + instance.props.sources = [newIframe]; + + setTimeout(() => { + videoLink.addEventListener("click", (e) => { + e.preventDefault(); + + // * This comes fslightbox lib + // @ts-ignore + instance.open(); + setTimeout(function () { + // @ts-ignore + newIframe.src = window.__CN_VIDEO[videoLink.dataset.type] + ? String(videoLink.href) + : String(videoLink.dataset.frame); + }, 50); + return false; + }); + }, 300); + } }); // Bootstrap Carousel diff --git a/resources/ts/fo/fo.ts b/resources/ts/fo/fo.ts index 185e166..0fd0d46 100644 --- a/resources/ts/fo/fo.ts +++ b/resources/ts/fo/fo.ts @@ -6,8 +6,8 @@ import.meta.glob(["./../../assets/images/**"]); import CookieNotice from "@ldc-web/cookie-notice"; window.CookieNotice = CookieNotice; -import { Fancybox } from "@fancyapps/ui"; -window.Fancybox = Fancybox; +// FANCYBOX +import "fslightbox"; // UTILITIES import "./utilities/bootstrap"; diff --git a/resources/ts/index.d.ts b/resources/ts/index.d.ts index 36411c4..1626858 100644 --- a/resources/ts/index.d.ts +++ b/resources/ts/index.d.ts @@ -1,4 +1,3 @@ -import type { Fancybox } from "@fancyapps/ui"; import CookieNotice from "@ldc-web/cookie-notice"; import type VueTagsInput from "@sipec/vue3-tags-input"; import { AxiosStatic } from "axios"; @@ -74,7 +73,6 @@ declare global { interface Window { CookieNotice: typeof CookieNotice; - Fancybox: typeof Fancybox; axios: AxiosStatic; Swal: Function; vueDebug: boolean | undefined; diff --git a/resources/ts/utilities/sass-safelist.ts b/resources/ts/utilities/sass-safelist.ts index f9d115e..c55f5a1 100644 --- a/resources/ts/utilities/sass-safelist.ts +++ b/resources/ts/utilities/sass-safelist.ts @@ -23,6 +23,6 @@ const sassSafelist: UserDefinedSafelist = [ /^btn-.*/, /^text-bubble-.*/, /^swiper-.*/, - /^plus-corner-.*/ + /^plus-corner-.*/, ]; export { sassSafelist }; diff --git a/resources/views/fo/modules/frame.blade.php b/resources/views/fo/modules/frame.blade.php index 1fb8b0f..b996209 100644 --- a/resources/views/fo/modules/frame.blade.php +++ b/resources/views/fo/modules/frame.blade.php @@ -10,7 +10,7 @@

+ style="text-align:center; padding: 1rem; background-color: rgb(153, 153, 153); color: #FFF; position: absolute; top:50%; left: 50%; transform:translateX(-50%) translateY(-50%);"> {{ __('cookie-notice.custom.frame', [ 'type' => $frame, ]) }} diff --git a/resources/views/fo/modules/video-frame.blade.php b/resources/views/fo/modules/video-frame.blade.php index cbc6bc5..d058afc 100644 --- a/resources/views/fo/modules/video-frame.blade.php +++ b/resources/views/fo/modules/video-frame.blade.php @@ -1,7 +1,7 @@ @php $uniqueID = uniqid(); @endphp -{{-- FIXME: cookie-notice ici devrait laisser l'image affichée... Remettre la classe cn-vimeo avec le fix. --}} - - {{ $alt }} - + {{ $alt }} + diff --git a/resources/views/fo/pages/hire.blade.php b/resources/views/fo/pages/hire.blade.php index 642f440..d8dbf48 100644 --- a/resources/views/fo/pages/hire.blade.php +++ b/resources/views/fo/pages/hire.blade.php @@ -31,76 +31,71 @@ @endif -
-
-
-

- {{ __('120') }} -
- {{ str(__('métiers de l\'industrie agroalimentaire'))->upper() }} -

-
+
+ @include('fo.partials.key-number', [ + 'color' => 'quad', + 'value' => $compagnyLifeSection->data['bloc_key_nombre']['value'], + 'text' => clean($compagnyLifeSection->data['bloc_text_accompagnant_le_nombre_content']['value']), + 'wysiwyg' => true, + ]) +
+
+ {{ $compagnyLifeSection->data['bloc_image']['alt'] }} +
+ @if ($compagnyLifeSection->data['bloc_button_voir_les_offres_tout_de_suite']['value']) + -
-
- Paysage d'un champs de blé au soleil couchant avec une lisière en fond de tableau -
- + @endif
- {{-- FIXME: il faudra changer le texte qui est le même que la partie précédente car optionnel en BO --}}
- @if ($compagnyLifeSection->text) -
- {!! clean($compagnyLifeSection->text) !!} -
- @endif +
+ {!! clean($compagnyLifeSection->data['bloc_videos_content']['value']) !!} +
-
+
{{-- SWIPER VIDEO --}} -
-
+
+
@foreach ($videoModels as $video)
-
+
@include('fo.modules.video-frame', [ - 'type' => 'vimeo', + 'type' => 'youtube', 'title' => __('Visionner la vidéo'), - 'link' => 'https://vimeo.com/' . $video->video_id, + 'link' => "https://www.youtube.com/embed/{$video->video_id}", 'picture' => Vite::asset( - 'resources/assets/images/banners/alternative_banner_reworked.jpg'), - 'alt' => trans('Video_about_who_we_are'), + 'resources/assets/images/others/background_video.png'), + 'alt' => __('Video_about_who_we_are'), + 'linkNewTab' => true, ])
-
{{ __($video->place) }} :
{{ __($video->title) }} +
+ {{ __($video->place) }} :
{{ __($video->title) }}
@endforeach
- {{-- FIXME: fléche de navigation a refactoriser une fois le bloc vidéo fait --}} -
+
-
+ title="{{ __('Navigation du slider (gauche)') }}" alt="{{ __('flèche vers la gauche') }}"> + +
+ title="{{ __('Navigation du slider (droite)') }}" alt="{{ __('flèche vers la droite') }}"> +
{{-- FORMATION --}} - {{-- FIXME: Toute cette partie est a revoir - Toutes les illustrations devraient être adminisatrable en BO (optionnel) - Tous les chiffres clés sont a l'heure actuelle dans le wysiwyg, - en partant de ce constat, je ne vois pas comment faire les bulles demandé dans la créa --}} -
-
-

- {{ $formationSection->h2_title }} -

- @if ($formationSection->text) -
+
+
+
+
+

+ {{ $formationSection->h2_title }} +

+
+
{!! clean($formationSection->text) !!}
- @endif -
- {{ __('On témoigne') }} +
+ @include('fo.partials.key-number', [ + 'color' => 'primary', + 'value' => $formationSection->data['bloc_key_nombre_n1']['value'] . '%', + 'text' => clean($formationSection->data['bloc_text_accompagnant_le_nombre_n1_content']['value']), + 'wysiwyg' => true, + ]) +
+
+ {{ $formationSection->data['bloc_image_n1']['alt'] }} +
+ +
+
+
+

{{ $formationSection->data['bloc_string_titre_h3_de_la_section']['value'] }}

+
+
+
+ @include('fo.partials.key-number', [ + 'color' => 'tertiary', + 'value' => '+' . $formationSection->data['bloc_key_nombre_n2']['value'] . '%', + 'text' => clean( + $formationSection->data['bloc_text_accompagnant_le_nombre_n2_content']['value']), + 'wysiwyg' => true, + ]) + @include('fo.partials.key-number', [ + 'color' => 'primary', + 'value' => '+' . $formationSection->data['bloc_key_nombre_n3']['value'] . '%', + 'text' => clean( + $formationSection->data['bloc_text_accompagnant_le_nombre_n3_content']['value']), + 'wysiwyg' => true, + ]) +
+
+ {!! clean($formationSection->data['bloc_n2_content']['value']) !!} +
+
+
+
+
+
+ {!! clean($formationSection->data['bloc_n3_content']['value']) !!} +
+
+
+ {{ $formationSection->data['bloc_image_n2']['alt'] }} +
@@ -142,10 +186,9 @@

{{ $testimonialSection->data['bloc_string_titre_h3_de_la_section']['value'] }}

-
- {{-- FIXME: scroll du swiper NOK ne va pas jusqu'a centrer la dernière vignette --}} -
-
+
+
+
@foreach ($testimonialModels as $testimonial)
@include('fo.partials.testimonials.card', [ @@ -167,11 +210,11 @@ @endforeach
- - @@ -187,68 +230,59 @@

{{ $paritySection->h2_title }}

- {{ $paritySection->data['bloc_image']['alt'] }} + {{ $paritySection->data['bloc_banniere']['alt'] }}
- {{-- wysiwyg unique --}}
- @if ($paritySection->text) -
- {!! clean($paritySection->text) !!} -
- @endif +
+ {!! clean($paritySection->data['bloc_contenu_n1_content']['value']) !!} +
- {{-- FIXME: Tout ce qui suit a été défini comme optionnel donc non présent en BO --}} - {{-- On doit avoir un text riche (optionnel) et une photo associé a ce texte (défini comme optionnelle aussi en bo donc non présente) --}}
-
+
- {{ $paritySection->data['bloc_image']['alt'] }} + {{ $paritySection->data['bloc_image_n1']['alt'] }}
-

{{ $paritySection->data['bloc_image']['title'] }}

+

{{ $paritySection->data['bloc_image_n1']['title'] }}

- @if ($paritySection->text) -
- {!! clean($paritySection->text) !!} -
- @endif +
+ {!! clean($paritySection->data['bloc_contenu_n2_content']['value']) !!} +
- {{-- FIXME: src de l'img a changer, devrait être administrable --}} {{ $paritySection->data['bloc_image']['alt'] }} + alt="{{ __('Schéma des activités') }}">
-
+
- {{ $paritySection->data['bloc_image']['alt'] }} + {{ $paritySection->data['bloc_image_n2']['alt'] }}
-

{{ $paritySection->data['bloc_image']['title'] }}

+

{{ $paritySection->data['bloc_image_n2']['title'] }}

- @if ($paritySection->text) -
- {!! clean($paritySection->text) !!} -
- @endif +
+ {!! clean($paritySection->data['bloc_contenu_n3_content']['value']) !!} +
- {{-- @if ($paritySection->data['bloc_button_on_bouge_ensemble']['value']) --}} -
-
- - {{ __('On bouge') }} - + @if ($paritySection->data['bloc_button_on_bouge_ensemble']['value']) + -
- {{-- @endif --}} + @endif
{{-- FIND --}} @@ -258,22 +292,20 @@
-

{{ $findSection->h2_title }}

+

{{ $findSection->data['bloc_string_titre_h3_de_la_section']['value'] }}

- @if ($findSection->text) -
-
- {!! clean($findSection->text) !!} -
+
+
+ {!! clean($findSection->data['bloc_contenu_n1_content']['value']) !!}
- @endif +
{{ $paritySection->data['bloc_image']['alt'] }} + title="{{ $findSection->data['bloc_image']['title'] }}" + alt="{{ $findSection->data['bloc_image']['alt'] }}">
@@ -294,6 +326,11 @@
+
+
+ {!! clean($findSection->data['bloc_contenu_n2_content']['value']) !!} +
+
diff --git a/resources/views/fo/partials/testimonials/card.blade.php b/resources/views/fo/partials/testimonials/card.blade.php index 68e7de4..3423fab 100644 --- a/resources/views/fo/partials/testimonials/card.blade.php +++ b/resources/views/fo/partials/testimonials/card.blade.php @@ -1,5 +1,5 @@
!empty($bgClass), ])>
@if (!empty($picture)) - {{ $picture['alt'] ?? '' }} @endif
diff --git a/resources/views/vendor/cn-cookies.blade.php b/resources/views/vendor/cn-cookies.blade.php index ae54a19..661ae18 100644 --- a/resources/views/vendor/cn-cookies.blade.php +++ b/resources/views/vendor/cn-cookies.blade.php @@ -31,95 +31,24 @@ $strings = (object)[ $cookies = []; -// YOUTUBE +// youtube $cookies['youtube'] = [ - 'name' => 'VIDEOS - Youtube', - 'description' => __('Les cookies déposés via les services de partage de vidéo ont pour finalité de permettre à l’utilisateur de visionner directement sur le site le contenu multimédia.'), + 'name' => __('cookie-notice.custom.youtube.name'), + 'description' => __('cookie-notice.custom.youtube.description'), + 'labelLink' => __('cookie-notice.custom.youtube.labelLink'), 'link' => 'https://policies.google.com/technologies/cookies?hl=fr&utm_source=ucb', - 'labelLink' => __('En savoir +'), 'cookies' => ['NID', 'VISITOR_INFO1_LIVE', 'YSC'] ]; - $cookies['youtube']['script'] = <<