From 1952056b6d1760eb4278eae5edfe8da0b8058ada Mon Sep 17 00:00:00 2001 From: Noah Lancien Date: Tue, 23 Jul 2024 11:25:52 +0200 Subject: [PATCH 01/15] fix: #56 - reduced text width in headers --- resources/views/fo/layouts/banner.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/fo/layouts/banner.blade.php b/resources/views/fo/layouts/banner.blade.php index ef20bba..e8d4b56 100644 --- a/resources/views/fo/layouts/banner.blade.php +++ b/resources/views/fo/layouts/banner.blade.php @@ -3,7 +3,7 @@ @empty($noOverlay)
@endempty -
+

{{ $h1 }}

@if (!empty($span)) {{ $span }} From 114b98526f7c6a27e456726ec3f82dc87feafcb1 Mon Sep 17 00:00:00 2001 From: Noah Lancien Date: Tue, 23 Jul 2024 12:15:23 +0200 Subject: [PATCH 02/15] fix: #51 - some style fixes + YT and linkedin links --- resources/views/fo/layouts/banner-slider.blade.php | 7 +------ resources/views/fo/layouts/footer.blade.php | 6 +++--- resources/views/fo/layouts/nav-menu.blade.php | 8 ++++---- resources/views/fo/pages/home.blade.php | 11 +++++++---- 4 files changed, 15 insertions(+), 17 deletions(-) diff --git a/resources/views/fo/layouts/banner-slider.blade.php b/resources/views/fo/layouts/banner-slider.blade.php index 30c5f54..46dd05c 100644 --- a/resources/views/fo/layouts/banner-slider.blade.php +++ b/resources/views/fo/layouts/banner-slider.blade.php @@ -7,11 +7,6 @@ {{ $slideModel->picture_alt }}
- @if ($loop->first) - - @endif @if (!empty($slideModel->title))

{{ $slideModel->title }}

@endif @@ -24,7 +19,7 @@ @endif
@isset($displayArrow) - diff --git a/resources/views/fo/layouts/footer.blade.php b/resources/views/fo/layouts/footer.blade.php index 5933522..a9115cf 100644 --- a/resources/views/fo/layouts/footer.blade.php +++ b/resources/views/fo/layouts/footer.blade.php @@ -22,13 +22,13 @@
- {{ __('Youtube') }} - + {{ __('LinkedIn') }} diff --git a/resources/views/fo/layouts/nav-menu.blade.php b/resources/views/fo/layouts/nav-menu.blade.php index 5e20172..d8441d3 100644 --- a/resources/views/fo/layouts/nav-menu.blade.php +++ b/resources/views/fo/layouts/nav-menu.blade.php @@ -82,12 +82,12 @@
{{-- Socials --}}
- + {{ __('Youtube') }} {{ __('Retrouvez nous sur les réseaux sociaux') }} - + {{ __('LinkedIn') }}
diff --git a/resources/views/fo/pages/home.blade.php b/resources/views/fo/pages/home.blade.php index 4213ce6..af1d6da 100644 --- a/resources/views/fo/pages/home.blade.php +++ b/resources/views/fo/pages/home.blade.php @@ -61,7 +61,7 @@
@if ($missionSection->data['bloc_button_on_se_devoile']['value'])
-
+ @@ -147,9 +147,12 @@
@php $homeTeamData = [ - 'Culture d’entreprise inclusive et collaborative :' => 'Notre entreprise valorise la diversité des perspectives et favorise un environnement où chacun se sent écouté et respecté. Nous croyons en la force de la collaboration et encourageons l’innovation à tous les niveaux.', - 'Opportunités de développement professionnel :' => 'En nous rejoignant, vous aurez accès à des programmes de formation et de développement pour renforcer vos compétences et progresser dans votre carrière. Nous encourageons la croissance personnelle et professionnelle de nos employés.', - 'Implication dans des projets innovants :' => 'Nous travaillons sur des projets stimulants et innovants qui offre l’opportunité de faire une réelle différence pour les consommateurs. Rejoindre notre équipe vous permettra de contribuer à des initiatives passionnantes et impactantes.

Et en plus, on est sympas.', + 'Culture d’entreprise inclusive et collaborative :' => + 'Notre entreprise valorise la diversité des perspectives et favorise un environnement où chacun se sent écouté et respecté. Nous croyons en la force de la collaboration et encourageons l’innovation à tous les niveaux.', + 'Opportunités de développement professionnel :' => + 'En nous rejoignant, vous aurez accès à des programmes de formation et de développement pour renforcer vos compétences et progresser dans votre carrière. Nous encourageons la croissance personnelle et professionnelle de nos employés.', + 'Implication dans des projets innovants :' => + 'Nous travaillons sur des projets stimulants et innovants qui offre l’opportunité de faire une réelle différence pour les consommateurs. Rejoindre notre équipe vous permettra de contribuer à des initiatives passionnantes et impactantes.

Et en plus, on est sympas.', ]; @endphp @foreach ($homeTeamData as $title => $text) From 2348aa5af7a302951623ea646c5adeb6dad58687 Mon Sep 17 00:00:00 2001 From: Noah Lancien Date: Tue, 23 Jul 2024 13:44:51 +0200 Subject: [PATCH 03/15] fix: #22 - Increased news thumbnails dimensions --- app/Http/Requests/Bo/News/StoreNewsRequest.php | 2 +- resources/views/bo/pages/news/form.blade.php | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/Http/Requests/Bo/News/StoreNewsRequest.php b/app/Http/Requests/Bo/News/StoreNewsRequest.php index d7d73cb..5c2efac 100644 --- a/app/Http/Requests/Bo/News/StoreNewsRequest.php +++ b/app/Http/Requests/Bo/News/StoreNewsRequest.php @@ -59,7 +59,7 @@ class StoreNewsRequest extends FormRequest return \array_merge( $rules, $this->pictureRules('picture', 500, 390, 500, 390, true), - $this->pictureRules('thumbnail', 300, 200, 300, 200, true), + $this->pictureRules('thumbnail', 660, 440, 660, 440, true), ); } diff --git a/resources/views/bo/pages/news/form.blade.php b/resources/views/bo/pages/news/form.blade.php index cade8e8..628bfd5 100644 --- a/resources/views/bo/pages/news/form.blade.php +++ b/resources/views/bo/pages/news/form.blade.php @@ -318,12 +318,12 @@ @include('bo.partials.inputs.varchar-picture', [ 'id' => 'newsPictureThumbnail', 'name' => 'thumbnail', - 'width' => 300, - 'height' => 200, + 'width' => 660, + 'height' => 440, 'model' => $newsModel ?? null, 'helper' => __('crud.minicrud.dimensions_must_be', [ - 'widthpx' => '300px', - 'heightpx' => '200px', + 'widthpx' => '660px', + 'heightpx' => '440px', ]), 'required' => true, 'preview' => true, From 918d5a3dc806e5e173d0b59f3bff3488434860a3 Mon Sep 17 00:00:00 2001 From: Nicolas Demangeat Date: Wed, 24 Jul 2024 09:35:27 +0200 Subject: [PATCH 04/15] fix: wip for produce page --- .../2024_06_21_145915_qa_section.php | 2 - .../views/fo/pages/produce/show.blade.php | 46 +++++++++---------- 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/database/migrations/2024_06_21_145915_qa_section.php b/database/migrations/2024_06_21_145915_qa_section.php index 626dfba..ad70038 100644 --- a/database/migrations/2024_06_21_145915_qa_section.php +++ b/database/migrations/2024_06_21_145915_qa_section.php @@ -4,9 +4,7 @@ use App\Enums\Sections\PageSectionEnum; use App\Lib\Helpers\FileStorageHelper; use App\Models\Section; use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Collection; -use Illuminate\Support\Facades\Schema; return new class extends Migration { diff --git a/resources/views/fo/pages/produce/show.blade.php b/resources/views/fo/pages/produce/show.blade.php index 377e2d8..790def8 100644 --- a/resources/views/fo/pages/produce/show.blade.php +++ b/resources/views/fo/pages/produce/show.blade.php @@ -41,7 +41,7 @@
{{-- GMS --}} -
+ {{--

{{ $gmsSection->h2_title }}

@@ -50,21 +50,21 @@
{!! clean($gmsSection->text) !!}
-
+
--}} {{-- PART 1 --}} - @include('fo.pages.produce.banner-elements', [ + {{-- @include('fo.pages.produce.banner-elements', [ 'partName' => 'de_la_partie1', 'data' => $gmsSection->data, 'itemMax' => 3, - ]) + ]) --}} {{-- PART 2 --}} - @include('fo.pages.produce.banner-elements', [ + {{-- @include('fo.pages.produce.banner-elements', [ 'partName' => 'de_la_partie2', 'data' => $gmsSection->data, 'itemMax' => 3, - ]) + ]) --}} {{-- PART 3 --}} - @include('fo.pages.produce.banner-elements', [ + {{-- @include('fo.pages.produce.banner-elements', [ 'partName' => 'de_la_partie3', 'data' => $gmsSection->data, 'itemMax' => 1, @@ -72,15 +72,15 @@
- + --}} {{-- RHD --}} -
+ {{--

{{ $rhdSection->h2_title }}

-
+
--}} {{-- PART 1 --}} - @include('fo.pages.produce.banner-elements', [ + {{-- @include('fo.pages.produce.banner-elements', [ 'partName' => 'de_la_partie1', 'data' => $rhdSection->data, 'itemMax' => 10, @@ -92,9 +92,9 @@
-
+
--}} {{-- PART 2 --}} -
+ {{--

{{ __('le saviez-vous ?') }}

@@ -116,9 +116,9 @@
-
+
--}} {{-- EXPORT --}} -
+ {{--

{{ $exportSection->h2_title }}

@@ -131,25 +131,25 @@
- + --}} {{-- QUALITY --}} -
+ {{--
--}}

{{ $qualitySection->h2_title }}

+ @include('fo.pages.produce.banner-elements', [ + 'partName' => 'de_la_partie1', + 'data' => $qualitySection->data, + 'itemMax' => 1, + ])
{!! clean($qualitySection->text) !!}
@if ($qualitySection->data['bloc_button__on_vous_explique_comment_lire_cetteetiquette']['value']) {{ __('On vous explique comment lire cette étiquette') }} @endif
- @include('fo.pages.produce.banner-elements', [ - 'partName' => 'de_la_partie1', - 'data' => $qualitySection->data, - 'itemMax' => 1, - ])
{!! clean($qualitySection->data['bloc_text_de_la_partie2_content']['value']) !!}
@@ -193,5 +193,5 @@
-
+ {{--
--}} @endsection From 30aad4c124f573200bfa3855856208e2225b2f03 Mon Sep 17 00:00:00 2001 From: Nicolas Demangeat Date: Wed, 24 Jul 2024 09:54:47 +0200 Subject: [PATCH 05/15] feat: can edit the content for legals in bo --- app/Enums/StaticPageType.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Enums/StaticPageType.php b/app/Enums/StaticPageType.php index afb8f08..1ac9b02 100644 --- a/app/Enums/StaticPageType.php +++ b/app/Enums/StaticPageType.php @@ -66,7 +66,7 @@ enum StaticPageType: int // @phpcs:enable return match ($this) { self::contact => false, - self::legals => false, + self::legals => true, self::confidentiality => true, self::home => false, self::unveil => false, From 7e76ad9b02bb9cd497d5c3d67b64ef8b61a68ea1 Mon Sep 17 00:00:00 2001 From: Noah Lancien Date: Wed, 24 Jul 2024 12:19:47 +0200 Subject: [PATCH 06/15] fix: #51 - display news strip in mobile --- .../Requests/Bo/Strips/StoreStripRequest.php | 13 +-- app/Rules/WysiwygLength.php | 83 +++++++++++++++++++ resources/views/fo/pages/home.blade.php | 2 +- 3 files changed, 86 insertions(+), 12 deletions(-) create mode 100644 app/Rules/WysiwygLength.php diff --git a/app/Http/Requests/Bo/Strips/StoreStripRequest.php b/app/Http/Requests/Bo/Strips/StoreStripRequest.php index d438903..2ecb5ba 100644 --- a/app/Http/Requests/Bo/Strips/StoreStripRequest.php +++ b/app/Http/Requests/Bo/Strips/StoreStripRequest.php @@ -2,9 +2,9 @@ namespace App\Http\Requests\Bo\Strips; +use App\Rules\WysiwygLength; use App\Traits\Requests\HasPicture; use Illuminate\Foundation\Http\FormRequest; -use Illuminate\Support\Str; use Illuminate\Validation\Rules\Enum; class StoreStripRequest extends FormRequest @@ -48,16 +48,7 @@ class StoreStripRequest extends FormRequest 'text' => [ 'required', 'string', - 'min:3', - // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed - function (string $attribute, mixed $value, \Closure $fail) { - if (Str::wordCount(\strip_tags($value)) > 255) { - $fail(trans('validation.max_words', [ - 'attribute' => trans('validation.attributes.text'), - 'count' => '255' - ])); - } - } + new WysiwygLength(3, 90), ], 'news_id' => 'nullable|exists:news,id', 'published' => 'required|boolean', diff --git a/app/Rules/WysiwygLength.php b/app/Rules/WysiwygLength.php new file mode 100644 index 0000000..f57d257 --- /dev/null +++ b/app/Rules/WysiwygLength.php @@ -0,0 +1,83 @@ +max) and !($length >= $this->min && $length <= $this->max)) { + $fail(trans('validation.between.string', [ + 'attribute' => $translatedAttribute, + 'min' => $this->min, + 'max' => $this->max + ])); + return; + } + if ($length < $this->min) { + $fail(trans('validation.min.string', [ + 'attribute' => $translatedAttribute, + 'min' => $this->min + ])); + } + } + + /** + * Get the correct translation for the given attrribute. + * + * @param string $attribute + * @return string + */ + private static function getTranslatedAttribute(string $attribute): string + { + /** @var \Illuminate\Translation\Translator $trans */ + $trans = trans(); + if ($trans->has('validation.attributes.' . $attribute)) { + return trans('validation.attributes.' . $attribute); + } + if ($trans->has('validation.custom.' . $attribute)) { + return trans('validation.custom.' . $attribute); + } + return $attribute; + } +} diff --git a/resources/views/fo/pages/home.blade.php b/resources/views/fo/pages/home.blade.php index af1d6da..6fa5445 100644 --- a/resources/views/fo/pages/home.blade.php +++ b/resources/views/fo/pages/home.blade.php @@ -258,7 +258,7 @@ {{-- STRIP --}} @if ($stripModels->isNotEmpty()) -
+
@foreach ($stripModels as $stripModel) @include('fo.partials.strips.strip-item') From 17690e0bf8c49a627df78f5c4c2ff3acf38a1cb4 Mon Sep 17 00:00:00 2001 From: Noah Lancien Date: Wed, 24 Jul 2024 14:35:31 +0200 Subject: [PATCH 07/15] fix: #31 - many style fixes on unveil page --- app/Enums/Sites/SpeciesEnum.php | 70 ++++++++++++++++++ app/Http/Controllers/Bo/SiteController.php | 10 +-- resources/assets/images/pictos/chicken.jpg | Bin 0 -> 4365 bytes resources/assets/images/pictos/duck.jpg | Bin 0 -> 3406 bytes .../assets/images/pictos/guinea_fowl.jpg | Bin 0 -> 3538 bytes .../assets/images/pictos/hen_and_rooster.jpg | Bin 0 -> 3699 bytes resources/assets/images/pictos/rabbit.jpg | Bin 0 -> 3288 bytes resources/assets/images/pictos/turkey.jpg | Bin 0 -> 5540 bytes resources/sass/fo/fo.scss | 3 + resources/sass/fo/pages/_site.scss | 9 ++- resources/sass/fo/pages/_unveil.scss | 11 +-- resources/sass/fo/partials/_slider.scss | 17 +++++ resources/ts/fo/base/common.ts | 13 +++- resources/views/fo/pages/site.blade.php | 24 +++--- resources/views/fo/pages/unveil.blade.php | 21 +++++- resources/views/fo/partials/carte.blade.php | 12 +-- 16 files changed, 156 insertions(+), 34 deletions(-) create mode 100644 resources/assets/images/pictos/chicken.jpg create mode 100644 resources/assets/images/pictos/duck.jpg create mode 100644 resources/assets/images/pictos/guinea_fowl.jpg create mode 100644 resources/assets/images/pictos/hen_and_rooster.jpg create mode 100644 resources/assets/images/pictos/rabbit.jpg create mode 100644 resources/assets/images/pictos/turkey.jpg create mode 100644 resources/sass/fo/partials/_slider.scss diff --git a/app/Enums/Sites/SpeciesEnum.php b/app/Enums/Sites/SpeciesEnum.php index 6d6254f..4770563 100644 --- a/app/Enums/Sites/SpeciesEnum.php +++ b/app/Enums/Sites/SpeciesEnum.php @@ -30,4 +30,74 @@ enum SpeciesEnum: int self::guinea_fowl->name => 'Pintade', self::rooster->name => 'Coq', ]; + + /** + * Pictures paths. + */ + private const PICTURES = [ + self::chicken->name => 'resources/assets/images/pictos/chicken.jpg', + self::turkey->name => 'resources/assets/images/pictos/turkey.jpg', + self::hen->name => 'resources/assets/images/pictos/hen_and_rooster.jpg', + self::duck->name => 'resources/assets/images/pictos/duck.jpg', + self::rabbit->name => 'resources/assets/images/pictos/rabbit.jpg', + self::guinea_fowl->name => 'resources/assets/images/pictos/guinea_fowl.jpg', + self::rooster->name => 'resources/assets/images/pictos/hen_and_rooster.jpg', + ]; + + /** + * Get picture path + * + * @return string + */ + public function picture(): string + { + return self::PICTURES[$this->name]; + } + + /** + * Alt attributes for pictures. + */ + private const ALTS = [ + self::chicken->name => 'Pictogramme pour la catégorie \'poulet\'', + self::turkey->name => 'Pictogramme pour la catégorie \'dinde\'', + self::hen->name => 'Pictogramme pour la catégorie \'poule\'', + self::duck->name => 'Pictogramme pour la catégorie \'canard\'', + self::rabbit->name => 'Pictogramme pour la catégorie \'lapin\'', + self::guinea_fowl->name => 'Pictogramme pour la catégorie \'pintade\'', + self::rooster->name => 'Pictogramme pour la catégorie \'coq\'', + ]; + + /** + * Get picture alt attribute + * + * @return string + */ + public function alt(): string + { + return self::ALTS[$this->name]; + } + + + /** + * Alt attributes for pictures. + */ + private const TITLES = [ + self::chicken->name => 'Pictogramme pour la catégorie \'poulet\'', + self::turkey->name => 'Pictogramme pour la catégorie \'dinde\'', + self::hen->name => 'Pictogramme pour la catégorie \'poule\'', + self::duck->name => 'Pictogramme pour la catégorie \'canard\'', + self::rabbit->name => 'Pictogramme pour la catégorie \'lapin\'', + self::guinea_fowl->name => 'Pictogramme pour la catégorie \'pintade\'', + self::rooster->name => 'Pictogramme pour la catégorie \'coq\'', + ]; + + /** + * Get picture alt attribute + * + * @return string + */ + public function title(): string + { + return self::TITLES[$this->name]; + } } diff --git a/app/Http/Controllers/Bo/SiteController.php b/app/Http/Controllers/Bo/SiteController.php index 686f1ae..693ac4b 100644 --- a/app/Http/Controllers/Bo/SiteController.php +++ b/app/Http/Controllers/Bo/SiteController.php @@ -42,15 +42,13 @@ class SiteController extends Controller $siteModels, $search, null, - 'title', - 'introduction', - 'content', + 'name', + 'description', ); } $searchFields = \implode(', ', [ - Str::ucfirst(trans('validation.attributes.title')), - trans('validation.custom.introduction'), - trans('validation.attributes.content'), + Str::ucfirst(trans('validation.attributes.name')), + trans('validation.attributes.description'), ]); /** Sort columns with a query */ diff --git a/resources/assets/images/pictos/chicken.jpg b/resources/assets/images/pictos/chicken.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6273230028f33e2875517bab9636261203503a18 GIT binary patch literal 4365 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 lyvHR1csbC^Of;1bHWnu1?eeP8Fyi`pf+Jvl literal 0 HcmV?d00001 diff --git a/resources/assets/images/pictos/guinea_fowl.jpg b/resources/assets/images/pictos/guinea_fowl.jpg new file mode 100644 index 0000000000000000000000000000000000000000..98edd3f49758996610252d3b5724db2809189593 GIT binary patch literal 3538 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⋘z5?@5 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 R^lW|34l!h?M{U literal 0 HcmV?d00001 diff --git a/resources/assets/images/pictos/turkey.jpg b/resources/assets/images/pictos/turkey.jpg new file mode 100644 index 0000000000000000000000000000000000000000..da41a4f10001bf7b212cb9d015bc7b760cf4879b GIT binary patch literal 5540 zcmbVQWl&s8w>^UlHUwvIcXv&2hu|LI1_%;@1PN||V8I86K(N7ea7iFI1VV6k4aq=& z3@(p*@AtiWzu)Rp)z#J2y?57IwQKEjKYzat5NfEXs{kMn0Dv9_aK8k+12Fya@)j)|6O>Ua5#AB2S>~YmAV4VD%Iru%ri5ecw1cw8MG2aRf6!6sbaz`^KR&Ke)YYi zE&NvO=z{6laj2{CJl<;9=XXM8H8s@=0I?7C=N)I}qiZXY$+-nVRriqF<6utpdw@2! z;rv6WYQ$du_&kCNw`pZ`G}T>a5OMT6&eLk{I--SzXbxpd@y+{VNXc)SmS>Bdcqt!{ zha+-CJ)#+kbv`s+pYa{_0qiIf1zvKybdO1ZiGo)67IC9m|Cty7u!ra$NTCG%i~ln6 zFk_&jfiV9e1dZ@vxuy=9ZRP6qQy9%O63f1FC>hV4o49=2eCHq=Ft*P5v7fpd(?hDl z74*Wzd-r*>EGg=v)ag;f2`wtE{sM%w*va}Q4Ddkw|6v{g&@n)0|As;TJB&spAhFSx z%9M{oA>-hY;vQ>a;)zuVq`tChocInBrP9s`h2*7Vas5JPsnh7lhrnuL>ciTF5<;PI zu!MY)&9iG`kT`!|itZ$#8E@*} zU-yaAqO_X@IZLw7&VKgn|1mq+IKF0p+C_K35tfhAgxK|terBcK6#v3&;%1wA{!(u8 z9?0%;)1h(t`NzLr4ROQCVQ!e$!RM zR!tf$d6rB+$PxO6S?;|xjhp1fHybgoHccrDov^jxt!k_&Pj^`L z_LaY^s@i2kXmM)^Q|P=Qn=wwF#o?cPuakL0L|?mic6-3K9nm82+_vLRa?wB(KO+@> z4ph9|{g`GN>0{QdUhD_i)30{yy?gyN?M>DJG|W9yb;oHWOZ zsBn7u$i&vN&QdFr@P%If-XXSH8Iedxd@KsI;Q1*iUu$t{1KH-XKH- z<%D34ij~e06~n5TX_1OGMx*9e@c=28q=u;#FUYz&Q!DiK6D5?uTPMb2AJNG59y{+57)Y-uLlxLB%I#?bg9qdvZM{NNy`H~tspZiJc=Sf`TVz^rS#)gzVl1h|+-ZQS? z4a#vNdpDkpGU7ht5SJmm*}TzAkVkVR&O`asZY^w#|Ne-hpZ25Kc-?|~`)A(?HP20o zCbKre-;Y0kq0$4Gdo_J0M&DQ{8a8KD`@RY%l2E+-uPgQ*Sca^}GYzAIognKH2NOOb zPv(2T>$_8l(f*33cE-Wv?xO*5nbcWx_=;Kk)OK@JRy>=?EL950)O^k1k!|X3WM6SN zxokNTXQPxKu;|>J6_yP-qmh~qjTGoAv z5fp(Ebxc<;v|{n$Pk2`AGvZ&K;qJD88lUJKsFb4Em+DP1XEC%TUVO<(WIU|Khbk3f zjDHazjXYqsOa35c1DLCQHbB6!Q}JvMo4vv`Zi7@m@@svrm*|B zn~#=*Lh#jWeS!sv8h`XIv!}`}Ns=Ld!E_0D>2I+S1ly~&!VL$qvIw1wwaMENigLTx z!Uy(bo|AdO6P_W_N2M3-d|;g?)g3QF65!;j+>ofaV}H&{oQA}{%?L^QQJldK-Qr)} zZI#{=QCG=Z&3&OY_zYPIe!p0(N2HnqE+n5RO#(K zpsEUQ$~TOjwFpVbUI`5Q2qH;XY=SwM@VXt-2ALjO--$TM(;9|`3f}flbq`ai4z|<| zUVnV3*lL6T8VC&?9gKsGje+%d$$lu<05J%Yi9|>rOv<2O6GlkHETCxM0V`w?mb3Ll z^h}a5vI;7tG)&2Rg{SHn8oetj?)^_G$B_j}#lMopD1guEI?&BnIzNNb!UZEC=Y8T_ z`o(>|%Prj0q2c=o!Ck#lm60j80@NOISy?xVXLO5y`y`y0`|Hov{il+zSbyO-+>q8V zT%{DYYJMxCITazuGpA!JzIK_bY_Ld*7C4+m=V@;C#$9sEB@w|y;#xMtuj9^b@_X?saoQwsKK7m2<`^sU={1S<dQ0Xd>wI-Ab1s9J6l6fJkTA}11AB`@Xab90sl#0w) zt`(9ck(2GEqT37T87xS#Xnq%mK26@;&+yI~sb?;{QLkXZKEt8AM4I~W=V!uG1vtle5qhb`64e%^g)pzl-NN+HQJ@CM_+2IHx28W%~=ENjv0Ed$m( zi%6u>gu6z>f~+I2W7-I-M-O3#+TE^T79oJNh=ABWFfq0?4tADVsnM)hd z!`cDOL|c(!DFllL@g96!&H0L38T=ojIvnv8ZYh%mJM0^oAs!?!gI(mzEvPE&O~%WvpJV4N4LNE4|NmRsNo4z zb^A6-l7_v|=&Lp=zC#oClQ`kg#@iuX%tA4R6PUAYIV|Iki;LqKnE(DnzhdQ*!G z(tX`9DZ99WZk9)osjYVf%WPziJ*s+E^hz^pmw6{^Okcb`%L>CfHg+KP;A?qB)Qws} zV&(On@sbwICl(|nX3LBbLPiDVpX#Dmz~?^I6JIC9n8jhg$uS*R)8CS}!j$rAHr!13 z3!7a&vVNT*-s`*va`FQV*#s=PC{#OM$J+!vld@G({1s22B)~C6sM*n9ZZ{){1nF(I z3c)=&Oz83AiUpkn#6Y3ljdgcBz zzl@I3|1U%$PfKBtK~&_yj<(?|!Pa2Y+A(c#anHH{_q&c2=8M4Yn6X?5Y8qcm>b>J< zCfLJSOj^2pRo<@GJC*QjY3Xh+ZMj#2NYz@4l6Za!B5mVtX2Rro@uVXIO_B%(yL`== z$8Q3yyiE(K(2nL33i*gOxuTuE%7v==*X4r_IzPEj_Aw8tvC2p8KTuDX8Ua`AbQT0r z?YJ7-*gWsczZ{0@zKeiPkG^;zWKV-8t)^Dkd6T>t>|r_>PWDWNGH3#+uTE*`@rjc^ zJF?b%wOr)KV~q2pOOuwkD`Az#Mt6r|P;3Ho#ICY7i#HpFm8Y=X60i5UOVwb`O2y5j z^@y97qUS=5@o)&CQXI!cTms^UL2(fg11ADI^6q;?sMS$UQlql&@_;b4oC<8&!`)|S zrXz&3)LVjsd>8}pv|B1i-gKf*TH9vXvF(-c8>`W_5VVvkdw6blc(OkMHDqFY2#Vs;iEey^nL?)Z`-vEAq^ zd6h8biM=xv!^>q+)o$sjv86@PH?y;6n8D~(X;~@ZllG6;ZWx~jil+BRCK^#P<)15# z#e10W!+O@dyAAJwT}-&%DK`BMJo(wp&z~~mK`@aJCq!YEF#dvYtgHMl{N}`{r=6qk zIxK#8$!H1hncc0(D*KkuC{tVX9E2JhqwGBBpjP7Q=|1~-QUyNIl>)KEig_M8DcRh* zqG$W97Z|Upc0OykZBP#1%rI)JJCXC$3Gx?=NdyF_nKOImZ_(9FPt!v(J#mGDrMX26 z-SMT(JVu@cq?_K%<}}~@)*}$ zKSyPm_B&FF@XfOoq)jxGD;62`*+@Qqf<3h0q;fqFEXtInQEyDaRG76X(!#k#gBw()~1Y}kSG@L2V!$yi`HpLKjoI)uij(zBBf+P)oB z5fCn+Rfee|rgS4oc1@K>&K^r=My>b07X&NKn@(WFD&i#Vt`y2Ea%sznCTH)r(2}rc zx<2{hTO-;m2@oOU5RZjhOA7l4sMQVbqJaKQ4m zo6OF-okh&J(%I`vs+HeNA4J*)lQc6I@VCwQu8TH)m)2vAVRtqt(4!$lhp+xJ9SmKY^W9&TEmy4w*V_CJ>3|kBp<|f(aj>nM8v|+g! z(;EF{mY}|CW~cLJs3gyU;^iZ5eL2!0+s5S}${Ys235ZnrErUi<_W{T1XfGE1NyKvZ zc2aO*aq5VN9KE*AgE)Bq76%#zCOXLJ|f&cX7m$c@KCK-Bu_Oa~kLl$qT9% zPzNSd;<$^sq`K($#I*wy&aWQrOd?ywHe$d-Tk~!jUqbDssnW?{gZ9)!@`Bv?$vVjj zlH&*ItK2^lPen=l*vc*|BztM%i*BaqEDl!Z$jhg*wA**u?}4;18>Ni(9R=8uegpU0 zDAv?mRl~Zf>|ZPWBE)sT2nD)-rsG(39IWq*{lqt4 zgOe@}pA!P2rjvL}p>UYd;uJ~pLB^s2%MA1uT);}ZA&qY`2$ef9oH-_pwfj~yw^nnSlqHMHFrXGJ?pX3`2$Q}=W< z3w26R1kQ>`y70DcpHk3fwr{FMYXJ|kEZVND#M_f5CatWQ?TTrR>m~NC1m3)UnY`Un zSwFRF*gHYaR(YjRK1Yc_dH1?!x^~h6`EHjiU<}%L2#ew;8Xl_*IxdNK0fI9AviA%B E1KhCoMF0Q* literal 0 HcmV?d00001 diff --git a/resources/sass/fo/fo.scss b/resources/sass/fo/fo.scss index 6083b66..9be1d0d 100644 --- a/resources/sass/fo/fo.scss +++ b/resources/sass/fo/fo.scss @@ -24,3 +24,6 @@ @import "./pages/unveil"; @import "./pages/news"; @import "./pages/hire"; + +// * PARTIALS +@import "./partials/slider"; diff --git a/resources/sass/fo/pages/_site.scss b/resources/sass/fo/pages/_site.scss index a7b9a1b..7c55318 100644 --- a/resources/sass/fo/pages/_site.scss +++ b/resources/sass/fo/pages/_site.scss @@ -11,9 +11,12 @@ .swiper-sites-brands { clip-path: inset(-2rem -50vw 0 0); - .separator { - border-right: 1px solid; - border-right-color: #ddd; + .swiper-slide { + padding: 0 1rem; + + &:not(:last-child) { + border-right: 1px solid #ddd; + } } } } diff --git a/resources/sass/fo/pages/_unveil.scss b/resources/sass/fo/pages/_unveil.scss index 8f88998..646bbd0 100644 --- a/resources/sass/fo/pages/_unveil.scss +++ b/resources/sass/fo/pages/_unveil.scss @@ -86,14 +86,15 @@ } .picture { - z-index: 0; - top: 3rem; - left: -3rem; - max-height: 70%; - transform: rotate(-15deg); + width: auto; + max-height: 20rem; @include media-breakpoint-up(lg) { + z-index: 0; + top: 3rem; left: 2rem; + max-height: 70%; + transform: rotate(-15deg); } } diff --git a/resources/sass/fo/partials/_slider.scss b/resources/sass/fo/partials/_slider.scss new file mode 100644 index 0000000..0dd272a --- /dev/null +++ b/resources/sass/fo/partials/_slider.scss @@ -0,0 +1,17 @@ +.swiper-sites-map { + .swiper-slide { + .ck-content { + height: 3em; + } + + .site-title { + display: block; + overflow: hidden; + height: 2.5em; + max-height: 2.5em; + line-height: 1.2em; + text-overflow: ellipsis; + word-wrap: break-word; + } + } +} diff --git a/resources/ts/fo/base/common.ts b/resources/ts/fo/base/common.ts index f58de70..87f001f 100644 --- a/resources/ts/fo/base/common.ts +++ b/resources/ts/fo/base/common.ts @@ -245,7 +245,9 @@ document.addEventListener("DOMContentLoaded", function () { "swiper-sites-brands": { modules: [Navigation, Keyboard], grabCursor: true, - slidesPerView: "auto", + slidesPerView: 2, + // slidesPerView: "auto", + centerInsufficientSlides: true, keyboard: { enabled: true, }, @@ -347,6 +349,15 @@ document.addEventListener("DOMContentLoaded", function () { (swiper.autoplay.paused) ? swiper.autoplay.start() : swiper.autoplay.pause(); }); } + // Specific behaviour for sites.show. + if (swiper.el.id === "swiper-sites-map" && window.location.pathname.startsWith("/sites/")) { + for (const slide of swiper.slides) { + // Slide to the correct slide + if (slide.dataset.indextoslide) { + swiper.slideTo(Number(slide.dataset.indextoslide)); + } + } + } } // GoToTop Button diff --git a/resources/views/fo/pages/site.blade.php b/resources/views/fo/pages/site.blade.php index 8ef5e3d..a97a70d 100644 --- a/resources/views/fo/pages/site.blade.php +++ b/resources/views/fo/pages/site.blade.php @@ -14,7 +14,7 @@
-
-
+
+

{{ $siteModel->employees }} {{ __('personnes') }}

-
- -

+

+ @foreach ($siteModel->pictos as $picto) + @php $enum = \App\Enums\Sites\SpeciesEnum::make($picto) @endphp + {{ $enum->alt() }} + @endforeach +

{{ implode( ', ', collect($siteModel->pictos)->map(function ($picto) { @@ -232,16 +236,12 @@ @foreach ($siteModel->logos as $logo)

-
-
+
+
{{ $logo->picture_alt }}
-
-

{{ $logo->label }}

-
-
@endforeach diff --git a/resources/views/fo/pages/unveil.blade.php b/resources/views/fo/pages/unveil.blade.php index 560747c..a9cd16e 100644 --- a/resources/views/fo/pages/unveil.blade.php +++ b/resources/views/fo/pages/unveil.blade.php @@ -60,6 +60,15 @@ ])
+
+
+
+
+ {!! clean($keySection->text) !!} +
+
+
+
{{-- MISSIONS --}}
@@ -184,18 +193,26 @@
@endsection + @push('scripts') - + }); + @endpush diff --git a/resources/views/vendor/cn-cookies.blade.php b/resources/views/vendor/cn-cookies.blade.php index 661ae18..2b4fa50 100644 --- a/resources/views/vendor/cn-cookies.blade.php +++ b/resources/views/vendor/cn-cookies.blade.php @@ -11,16 +11,19 @@ $strings = (object)[ 'button_customize_cookies' => __('cookie-notice.button_customize_cookies'), 'button_close_cookies' => __('cookie-notice.button_close_cookies'), 'button_title_open_new_tab' => __('cookie-notice.button_title_open_new_tab'), - 'button_forbid' => __('cookie-notice.button_forbid'), - 'button_allow' => __('cookie-notice.button_allow'), + 'button_toggle_cookie' => __('cookie-notice.button_toggle_cookie'), 'button_forbid_all' => Str::upper(__('cookie-notice.button_forbid_all')), 'button_allow_all' => Str::upper(__('cookie-notice.button_allow_all')), 'button_customize' => Str::upper(__('cookie-notice.button_customize')), 'button_forbid_all_title' => __('cookie-notice.button_forbid_all_title'), 'button_allow_all_title' => __('cookie-notice.button_allow_all_title'), - 'button_back' => Str::upper(__('cookie-notice.button_back')), + 'button_validate_and_close' => Str::upper(__('cookie-notice.button_validate_and_close')), 'banner_title' => __('cookie-notice.banner_title', ['site_name' => $site_name]), - 'banner_text' => __('cookie-notice.banner_text'), + 'banner_text' => sprintf( + "%s

%s", + "Nous utilisons des cookies pour nous assurer du bon fonctionnement de notre site et à des fins analytiques. Vous pouvez changer d'avis à tout moment en cliquant sur l'icône présente sur chaque page de notre site. En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l'utilisation de technologies de suivi nécessaires à leur bon fonctionnement.", + "Charte de confidentialité" + ), 'panel_title' => __('cookie-notice.panel_title'), 'panel_content' => __('cookie-notice.panel_content'), 'panel_subtitle' => __('cookie-notice.panel_subtitle'), @@ -29,29 +32,82 @@ $strings = (object)[ 'navigation_title' => __('cookie-notice.navigation_title'), ]; + +$cookieInline = function ($cookieName, $text, $subtext = '') { + return <<