Compare commits
No commits in common. "trunk" and "addBanner" have entirely different histories.
29 changed files with 118 additions and 350 deletions
|
|
@ -1,5 +1,3 @@
|
|||
ARG PHP_8_5_TAG=latest
|
||||
|
||||
FROM composer:2.8 AS vendor
|
||||
|
||||
ARG GITLAB_USER
|
||||
|
|
@ -35,7 +33,6 @@ RUN npm config set @uwil:registry=https://lab.s-web.fr/api/v4/groups/ldc-web/-/p
|
|||
RUN npm config set -- '//lab.s-web.fr/api/v4/groups/ldc-web/-/packages/npm/:_authToken' "${GITLAB_PASSWORD}"
|
||||
RUN npm ci && npm run prod
|
||||
|
||||
ARG PHP_8_5_TAG
|
||||
FROM registry.s-web.fr/ldc-web/projets/ldc-web-images-docker/uwil-production-8.5:${PHP_8_5_TAG}
|
||||
|
||||
ARG USER=www-data
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
# LDC
|
||||
|
||||
# Table of contents
|
||||
|
||||
- [Table of contents](#table-of-contents)
|
||||
|
|
|
|||
39
RGPD.md
39
RGPD.md
|
|
@ -1,39 +0,0 @@
|
|||
# RGPD
|
||||
|
||||
## Site
|
||||
|
||||
### En base de données
|
||||
|
||||
| Table | Colonne | Contenu | Utilisation |
|
||||
| ----- | ------- | ------- | ----------- |
|
||||
| activity_logs | user_id | Identifiant de l'utilisateur (back) | Tracer les modifications dans le BO |
|
||||
| --- | --- | --- | --- |
|
||||
| companies | responsable | Nom du responsable de la société | Renvoyé via un call API |
|
||||
| --- | --- | --- | --- |
|
||||
| users | first_name | Prénom | Affichage à différents endroits du BO |
|
||||
| users | last_name | Nom | Affichage à différents endroits du BO |
|
||||
| users | email | Adresse mail | Identifiant, sert à la connexion au BO |
|
||||
|
||||
### Formulaire de contact (marketing)
|
||||
|
||||
| Donnée | Contenu |
|
||||
| ------ | ------- |
|
||||
| Nom | Nom de la personne |
|
||||
| Prénom | Prénom de la personne |
|
||||
| Adresse E-mail | Adresse email de la personne |
|
||||
| Téléphone | Numéro de téléphone de la personne |
|
||||
| Adresse | Adresse de la personne |
|
||||
| Code postal | Code postal de la personne |
|
||||
| Ville | Ville de la personne |
|
||||
| Pays | Pays de la personne |
|
||||
| Société | Société de la personne |
|
||||
| Pièce jointe | Photo renseignée par la personne |
|
||||
|
||||
## Cookies
|
||||
|
||||
| Service | Utilité |
|
||||
| ------- | ------- |
|
||||
| Matomo | Mesure d'audience |
|
||||
| Google Recaptcha | Empêcher la soumission de formulaire par des robots |
|
||||
| Vimeo | Visionner du contenu disponible sur la plateforme Vimeo |
|
||||
| Youtube | Visionner du contenu disponible sur la plateforme Youtube |
|
||||
|
|
@ -105,8 +105,8 @@ class ContactRequest extends FormRequest
|
|||
ContactFormType::export->equals(ContactFormType::make($typeContactForm))
|
||||
) {
|
||||
$rules = array_merge($rules, [
|
||||
'typeExport' => ['array', 'min:1'],
|
||||
'typeExport.*' => [Rule::enum(ExportAskingType::class)],
|
||||
'type' => ['array', 'min:1'],
|
||||
'type.*' => [Rule::enum(ExportAskingType::class)],
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ namespace App\Models;
|
|||
use App\Enums\Contact\BreedType;
|
||||
use App\Enums\Contact\ContactFormType;
|
||||
use App\Enums\Contact\CustomerAskingType;
|
||||
use App\Enums\Contact\ExportAskingType;
|
||||
use App\Enums\Contact\PressType;
|
||||
use App\Enums\Department;
|
||||
use Illuminate\Database\Eloquent\Casts\AsEnumArrayObject;
|
||||
|
|
@ -29,7 +28,6 @@ use Illuminate\Database\Eloquent\Model;
|
|||
* @property string $postalcode The customer's postalcode.
|
||||
* @property boolean $newsletter The customer's optin response.
|
||||
* @property \App\Enums\Contact\CustomerAskingType[] $type The customer's type asking
|
||||
* @property \App\Enums\Contact\ExportAskingType[] $typeExport The customer's type asking
|
||||
* @property \App\Enums\Contact\PressType $subject The message's subject
|
||||
* @property-read \Carbon\Carbon $created_at Created date.
|
||||
* @property-read \Carbon\Carbon $updated_at Updated date.
|
||||
|
|
@ -62,7 +60,6 @@ class MailContactData extends Model
|
|||
'town',
|
||||
'postalcode',
|
||||
'type',
|
||||
'typeExport',
|
||||
'subject',
|
||||
'newsletter',
|
||||
];
|
||||
|
|
@ -77,7 +74,6 @@ class MailContactData extends Model
|
|||
'typeelevage' => AsEnumArrayObject::class . ':' . BreedType::class,
|
||||
'zonegeo' => AsEnumArrayObject::class . ':' . Department::class,
|
||||
'type' => AsEnumArrayObject::class . ':' . CustomerAskingType::class,
|
||||
'typeExport' => AsEnumArrayObject::class . ':' . ExportAskingType::class,
|
||||
'subject' => PressType::class,
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'driver' => env('SCOUT_DRIVER'),
|
||||
'driver' => env('SCOUT_DRIVER', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ return [
|
|||
'label' => 'Type of breeding desired'
|
||||
],
|
||||
'geo_zone' => [
|
||||
'label' => 'Geographic area of your project',
|
||||
'label' => 'Geographic area of your project',
|
||||
'placeholder' => 'Drop-down list of departments'
|
||||
],
|
||||
'your_project' => [
|
||||
|
|
@ -72,10 +72,6 @@ return [
|
|||
'label' => 'Type',
|
||||
'placeholder' => 'Dropdown list'
|
||||
],
|
||||
'exportAskingType' => [
|
||||
'label' => 'Type',
|
||||
'placeholder' => 'Dropdown list'
|
||||
],
|
||||
'company' => [
|
||||
'label' => 'Company',
|
||||
'placeholder' => 'Your company'
|
||||
|
|
@ -156,23 +152,4 @@ return [
|
|||
'validate' => 'Confirm',
|
||||
'policy_message' => 'For any additional information regarding your personal data and your rights, please consult our '
|
||||
],
|
||||
'finance-maintenance' => 'The stock market prices are currently undergoing maintenance. We apologise for any inconvenience caused. We are working to restore the service as soon as possible.',
|
||||
'bea_banner' => [
|
||||
'region_label' => 'Animal welfare and LDC commitments',
|
||||
'logo_alt' => 'Animal Welfare Logo - Committed Agricultural Chain',
|
||||
'commitments_intro' => 'Discover our commitments :br on',
|
||||
'site_url_text' => 'www.bienetreanimal.fr',
|
||||
'site_link_title' => 'Visit the website www.bienetreanimal.fr (new window)',
|
||||
'site_link_aria' => 'Visit the website www.bienetreanimal.fr (new window)',
|
||||
'company' => 'LDC',
|
||||
'title' => 'Member company of the collective',
|
||||
'subtitle' => 'Committed Agricultural Chain to elevate Animal Welfare',
|
||||
'description' => '100% French origin chicken :br raised with RESPECT FOR ANIMAL WELFARE:br by a COMMITTED AGRICULTURAL CHAIN',
|
||||
'description_html' => '100% French origin chicken :br raised with RESPECT FOR ANIMAL WELFARE:br by a COMMITTED AGRICULTURAL CHAIN',
|
||||
'ldc_alt' => 'LDC logo',
|
||||
'cta_text' => 'Discover our commitments here',
|
||||
'cta_title' => 'Discover our commitments to animal welfare on www.bienetreanimal.fr (new window)',
|
||||
'cta_aria' => 'Discover our commitments to animal welfare on www.bienetreanimal.fr (new window)',
|
||||
'new_window' => 'new window',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -73,10 +73,6 @@ return [
|
|||
'label' => 'Type',
|
||||
'placeholder' => 'Liste déroulante'
|
||||
],
|
||||
'exportAskingType' => [
|
||||
'label' => 'Type',
|
||||
'placeholder' => 'Liste déroulante'
|
||||
],
|
||||
'company' => [
|
||||
'label' => 'Société',
|
||||
'placeholder' => 'Votre société'
|
||||
|
|
@ -157,23 +153,4 @@ return [
|
|||
'validate' => 'Valider',
|
||||
'policy_message' => 'Pour toute information complémentaire concernant vos données personnelles et vos droits, merci de consulter notre'
|
||||
],
|
||||
'finance-maintenance' => 'Affichage du cours de la bourse en cours de maintenance, veuillez nous excuser pour la gêne occasionnée. Nous nous efforçons de rétablir le service dans les meilleurs délais.',
|
||||
'bea_banner' => [
|
||||
'region_label' => 'Bien-être animal et engagements Groupe LDC',
|
||||
'logo_alt' => 'Logo Bien-être Animal - Filière Agricole Engagée',
|
||||
'commitments_intro' => 'Retrouvez nos engagements :br sur',
|
||||
'site_url_text' => 'www.bienetreanimal.fr',
|
||||
'site_link_title' => 'Visiter le site www.bienetreanimal.fr (nouvelle fenêtre)',
|
||||
'site_link_aria' => 'Visiter le site www.bienetreanimal.fr (nouvelle fenêtre)',
|
||||
'company' => 'Groupe LDC',
|
||||
'title' => 'Le Groupe LDC adhère au collectif',
|
||||
'subtitle' => 'Filière Agricole Engagée pour élever le Bien-être Animal',
|
||||
'description' => 'Du poulet 100% origine France :br élevé dans le RESPECT DU BIEN-ÊTRE ANIMAL :br par une FILIÈRE AGRICOLE ENGAGÉE',
|
||||
'description_html' => 'Du poulet 100% origine France :br élevé dans le RESPECT DU BIEN-ÊTRE ANIMAL :br par une FILIÈRE AGRICOLE ENGAGÉE',
|
||||
'ldc_alt' => 'Logo Groupe LDC',
|
||||
'cta_text' => 'Retrouvez nos engagements ici',
|
||||
'cta_title' => 'Retrouvez nos engagements en faveur du bien-être animal sur www.bienetreanimal.fr (nouvelle fenêtre)',
|
||||
'cta_aria' => 'Retrouvez nos engagements en faveur du bien-être animal sur www.bienetreanimal.fr (nouvelle fenêtre)',
|
||||
'new_window' => 'nouvelle fenêtre',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@ data:
|
|||
GOOGLE_RECAPTCHA_PUBLIC: "${APP_GOOGLE_RECAPTCHA_PUBLIC}"
|
||||
GOOGLE_RECAPTCHA_VERSION: "${APP_GOOGLE_RECAPTCHA_VERSION}"
|
||||
GOOGLE_MAPS_KEY: "${APP_GOOGLE_MAPS_KEY}"
|
||||
SCOUT_DRIVER: "${APP_SCOUT_DRIVER}"
|
||||
SCOUT_PREFIX: "${APP_SCOUT_PREFIX}"
|
||||
SCOUT_QUEUE: "${APP_SCOUT_QUEUE}"
|
||||
MEILISEARCH_HOST: "meilisearch.common-services:7700"
|
||||
|
|
@ -93,9 +92,6 @@ spec:
|
|||
containers:
|
||||
- name: ${CI_PROJECT_PATH_SLUG}-container
|
||||
image: $IMAGE_TAG
|
||||
env:
|
||||
- name: XDG_CONFIG_HOME # For tinker
|
||||
value: /tmp
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: ${CI_PROJECT_PATH_SLUG}-config-map
|
||||
|
|
@ -137,9 +133,9 @@ spec:
|
|||
imagePullSecrets:
|
||||
- name: docker-registry-credentials
|
||||
securityContext:
|
||||
runAsUser: 82
|
||||
runAsGroup: 82
|
||||
fsGroup: 82
|
||||
runAsUser: 33
|
||||
runAsGroup: 33
|
||||
fsGroup: 33
|
||||
fsGroupChangePolicy: "OnRootMismatch"
|
||||
volumes:
|
||||
- name: storage
|
||||
|
|
@ -238,8 +234,8 @@ spec:
|
|||
persistentVolumeClaim:
|
||||
claimName: ${CI_PROJECT_PATH_SLUG}-pvc-storage
|
||||
securityContext:
|
||||
runAsUser: 82
|
||||
runAsGroup: 82
|
||||
fsGroup: 82
|
||||
runAsUser: 33
|
||||
runAsGroup: 33
|
||||
fsGroup: 33
|
||||
fsGroupChangePolicy: "OnRootMismatch"
|
||||
restartPolicy: OnFailure
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ $(document).ready(function () {
|
|||
var brands_slider_default = new Swiper(
|
||||
$(".brands-list_default .brands-list__slider"),
|
||||
{
|
||||
slidesPerView: 5,
|
||||
slidesPerView: 6,
|
||||
spaceBetween: 10,
|
||||
loop: true,
|
||||
navigation: {
|
||||
|
|
@ -229,7 +229,7 @@ $(document).ready(function () {
|
|||
},
|
||||
breakpoints: {
|
||||
1025: {
|
||||
slidesPerView: 5,
|
||||
slidesPerView: 6,
|
||||
},
|
||||
761: {
|
||||
slidesPerView: 3,
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 9.5 KiB |
|
|
@ -8,9 +8,50 @@
|
|||
|
||||
// * BASE
|
||||
@use './base/common';
|
||||
@use './base/fonts';
|
||||
@use './base/tailwind-scope';
|
||||
|
||||
// * TAILWIND
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
//////////////////// Poppins ////////////////////
|
||||
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: 'Poppins';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url('&/fonts/Poppins/Poppins-Regular.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: 'Poppins';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: url('&/fonts/Poppins/Poppins-Bold.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: 'Poppins';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: url('&/fonts/Poppins/Poppins-Light.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: 'Poppins';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: url('&/fonts/Poppins/Poppins-BoldItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: 'Poppins';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
src: url('&/fonts/Poppins/Poppins-Italic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
.f-poppins {
|
||||
font-family: 'Poppins', sans-serif;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,86 +0,0 @@
|
|||
//////////////////// Poppins ////////////////////
|
||||
|
||||
/* Poppins - Light */
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: Poppins;
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: url('&/fonts/Poppins/Poppins-Light.ttf') format('truetype');
|
||||
}
|
||||
|
||||
/* Poppins - Regular */
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: Poppins;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url('&/fonts/Poppins/Poppins-Regular.ttf') format('truetype');
|
||||
}
|
||||
|
||||
/* Poppins - Italic */
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: Poppins;
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: url('&/fonts/Poppins/Poppins-Italic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
/* Poppins - Medium */
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: Poppins;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
src: url('&/fonts/Poppins/Poppins-Medium.ttf') format('truetype');
|
||||
}
|
||||
|
||||
/* Poppins - Semi Bold */
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: Poppins;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
src: url('&/fonts/Poppins/Poppins-SemiBold.ttf') format('truetype');
|
||||
}
|
||||
|
||||
/* Poppins - Bold */
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: Poppins;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: url('&/fonts/Poppins/Poppins-Bold.ttf') format('truetype');
|
||||
}
|
||||
|
||||
/* Poppins - Bold Italic */
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: Poppins;
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: url('&/fonts/Poppins/Poppins-BoldItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
/* Poppins - Black */
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: 'Poppins Black';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
src: url('&/fonts/Poppins/Poppins-Black.ttf') format('truetype');
|
||||
}
|
||||
|
||||
/* Poppins - Black Italic */
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: 'Poppins Black';
|
||||
font-style: italic;
|
||||
font-weight: 900;
|
||||
src: url('&/fonts/Poppins/Poppins-BlackItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
.f-poppins {
|
||||
font-family: Poppins, sans-serif;
|
||||
}
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
:where(.tailwind-scope, #bea-encart),
|
||||
:where(.tailwind-scope, #bea-encart) :where(*, *::before, *::after) {
|
||||
--tw-border-spacing-x: 0;
|
||||
--tw-border-spacing-y: 0;
|
||||
--tw-translate-x: 0;
|
||||
--tw-translate-y: 0;
|
||||
--tw-rotate: 0;
|
||||
--tw-skew-x: 0;
|
||||
--tw-skew-y: 0;
|
||||
--tw-scale-x: 1;
|
||||
--tw-scale-y: 1;
|
||||
--tw-ring-offset-shadow: 0 0 #0000;
|
||||
--tw-ring-shadow: 0 0 #0000;
|
||||
--tw-shadow: 0 0 #0000;
|
||||
--tw-shadow-colored: 0 0 #0000;
|
||||
}
|
||||
|
|
@ -1,6 +1,9 @@
|
|||
// ASSETS
|
||||
import.meta.glob("../../assets/images/**/*", { eager: true });
|
||||
|
||||
// * Packages
|
||||
import axios from "axios";
|
||||
import Chart from "chart.js/auto";
|
||||
import axios from "axios";
|
||||
// * Other
|
||||
import "../../sass/front/app.scss";
|
||||
|
||||
|
|
@ -10,9 +13,6 @@ import CookieNotice from "@ldc-web/cookie-notice";
|
|||
// LOCAL IMPORTS
|
||||
import "./base/common";
|
||||
|
||||
// * ASSETS
|
||||
import.meta.glob("../../assets/images/**/*", { eager: true });
|
||||
|
||||
axios.defaults.headers.common = {
|
||||
Accept: "application/json, text/plain, */*",
|
||||
"X-Requested-With": "XMLHttpRequest",
|
||||
|
|
|
|||
2
resources/ts/vite-env.d.ts
vendored
2
resources/ts/vite-env.d.ts
vendored
|
|
@ -6,4 +6,4 @@ interface ImportMetaEnv {
|
|||
|
||||
interface ImportMeta {
|
||||
readonly env: ImportMetaEnv;
|
||||
}
|
||||
}
|
||||
|
|
@ -23,7 +23,8 @@
|
|||
<h3 class="finance-api__title subtitle">{{ $bourseSection['string_title'] }}</h3>
|
||||
@endif
|
||||
<p class="warning-message">
|
||||
{{ __('front.finance-maintenance') }}
|
||||
Affichage du cours de la bourse en cours de maintenance, veuillez nous excuser pour la gêne
|
||||
occasionnée. Nous nous efforçons de rétablir le service dans les meilleurs délais.
|
||||
</p>
|
||||
<div class="finance-api__text description">
|
||||
@if (isset($bourseSection['wysiwyg_description']))
|
||||
|
|
|
|||
|
|
@ -1,31 +1,15 @@
|
|||
@if (!empty($joinUs))
|
||||
<div data-anchor="{{ Str::ucfirst(Str::lower(data_get($joinUs, 'string_title', '')) . ' ' . Str::lower(data_get($joinUs, 'string_subtitle', ''))) }}"
|
||||
id="rejoin_6">
|
||||
@if(!empty($joinUs))
|
||||
<div data-anchor="{{ Str::ucfirst(Str::lower($joinUs['string_title']) . " " . Str::lower($joinUs['string_subtitle'])) }}" id="rejoin_6">
|
||||
<div class="breeders fw fw-container">
|
||||
<div class="breeders__wrapper wrapper">
|
||||
<x-front.sections.title title="{{ data_get($joinUs, 'string_title', '') }}"
|
||||
subtitle="{{ data_get($joinUs, 'string_subtitle', '') }}" class="breeders__title"
|
||||
secondaryClass="breeders__subtitle" />
|
||||
<x-front.sections.title title="{{ $joinUs['string_title'] }}" subtitle="{{ $joinUs['string_subtitle'] }}"
|
||||
class="breeders__title" secondaryClass="breeders__subtitle" />
|
||||
<div class="textblock__container">
|
||||
<div class="textblock__block">
|
||||
<div class="breeders__text description textblock__info-description">
|
||||
{!! data_get($joinUs, 'wysiwyg_content', '') !!}
|
||||
{!! $joinUs['wysiwyg_content'] !!}
|
||||
</div>
|
||||
@if (!empty(data_get($joinUs, 'list_cta.0.model_cta')) && !empty(data_get($joinUs, 'list_cta.0.reserved_model_cta')))
|
||||
@php
|
||||
$targetModel = \App\Models\PageConfig::getModelFromInputModelConfig(
|
||||
data_get($joinUs, 'list_cta.0.model_cta'),
|
||||
data_get($joinUs, 'list_cta.0.reserved_model_cta'),
|
||||
);
|
||||
$buttonUrl = \App\Helpers\RouteHelper::routeNameChecker(
|
||||
"front.dynamic-pages.{$targetModel->id_key}",
|
||||
);
|
||||
@endphp
|
||||
<a class="breeders__btn btn"
|
||||
href="{{ $buttonUrl }}">{{ data_get($joinUs, 'list_cta.0.string_label_cta') }}</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="breeders__videos videos-list">
|
||||
@if (!empty($joinUs['list_videos']))
|
||||
|
|
@ -34,13 +18,11 @@
|
|||
@php
|
||||
$video = [
|
||||
'type_video' => isset($vid['youtubeid_video']) ? 'youtube' : 'vimeo',
|
||||
'video' => isset($vid['youtubeid_video'])
|
||||
? $vid['youtubeid_video']
|
||||
: data_get($vid, 'vimeoid_video', ''),
|
||||
'video' => isset($vid['youtubeid_video']) ? $vid['youtubeid_video']: $vid['vimeoid_video']
|
||||
];
|
||||
@endphp
|
||||
<x-front.sections.video :video='$video' class="video__wrap" />
|
||||
<div class="video__title">{{ data_get($vid, 'string_title', '') }}</div>
|
||||
<div class="video__title">{{ $vid['string_title'] }}</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
|
|
|
|||
|
|
@ -20,14 +20,14 @@ Téléphone : {{ $data->phone }}
|
|||
@endif
|
||||
|
||||
@if (\App\Enums\Contact\ContactFormType::breeder->equals($data->enumType))
|
||||
@if (is_iterable($data->typeelevage))
|
||||
@if (is_array($data->typeelevage))
|
||||
Type d'élevage :
|
||||
@foreach($data->typeelevage as $breeding)
|
||||
{{ $breeding->label() }}
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@if (is_iterable($data->zonegeo))
|
||||
@if (is_array($data->zonegeo))
|
||||
Zone géographique :
|
||||
@foreach($data->zonegeo as $zone)
|
||||
{{ $zone->label() }}
|
||||
|
|
@ -39,20 +39,14 @@ Zone géographique :
|
|||
Société : {{ $data->company }}
|
||||
@endif
|
||||
|
||||
@if (is_iterable($data->type) && \App\Enums\Contact\ContactFormType::restauration->equals($data->enumType))
|
||||
@if (is_array($data->type) && \App\Enums\Contact\ContactFormType::restauration->equals($data->enumType) ||
|
||||
\App\Enums\Contact\ContactFormType::export->equals($data->enumType))
|
||||
Type de demande :
|
||||
@foreach($data->type as $t)
|
||||
{{ $t->label() }}
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@if (is_iterable($data->typeExport) && \App\Enums\Contact\ContactFormType::export->equals($data->enumType))
|
||||
Type de demande :
|
||||
@foreach($data->typeExport as $t)
|
||||
{{ $t->label() }}
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@if (\App\Enums\Contact\ContactFormType::press->equals($data->enumType))
|
||||
Sujet : {{ $data->subject->label() }}
|
||||
@endif
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
{{-- BREEDER --}}
|
||||
@if (\App\Enums\Contact\ContactFormType::breeder->equals($data->enumType))
|
||||
@if (is_iterable($data->typeelevage))
|
||||
@if (is_array($data->typeelevage))
|
||||
<p>Type d'élevage : </p>
|
||||
<ul>
|
||||
@foreach ($data->typeelevage as $breeding)
|
||||
|
|
@ -39,7 +39,7 @@
|
|||
</ul>
|
||||
@endif
|
||||
|
||||
@if (is_iterable($data->zonegeo))
|
||||
@if (is_array($data->zonegeo))
|
||||
<p>Zone géographique : </p>
|
||||
<ul>
|
||||
@foreach ($data->zonegeo as $zone)
|
||||
|
|
@ -54,7 +54,7 @@
|
|||
<p>Société : {{ $data->company }}</p>
|
||||
@endif
|
||||
|
||||
@if (is_iterable($data->type) && \App\Enums\Contact\ContactFormType::restauration->equals($data->enumType))
|
||||
@if (is_array($data->type) && \App\Enums\Contact\ContactFormType::restauration->equals($data->enumType))
|
||||
<p>Type de demande : </p>
|
||||
<ul>
|
||||
@foreach ($data->type as $t)
|
||||
|
|
@ -64,10 +64,10 @@
|
|||
@endif
|
||||
|
||||
{{-- Export --}}
|
||||
@if (is_iterable($data->typeExport) && \App\Enums\Contact\ContactFormType::export->equals($data->enumType) && $data->typeExport)
|
||||
@if (is_array($data->type) && \App\Enums\Contact\ContactFormType::export->equals($data->enumType) && $data->type)
|
||||
<p>Type de demande : </p>
|
||||
<ul>
|
||||
@foreach ($data->typeExport as $t)
|
||||
@foreach ($data->type as $t)
|
||||
<li>{{ $t->label() }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@
|
|||
@endif
|
||||
|
||||
@if (\App\Enums\Contact\ContactFormType::export->equals($contactFormType))
|
||||
<x-front.inputs.multi-select placeholder="{{ ucfirst(__('front.contact.inputs.exportAskingType.placeholder')) }}"
|
||||
label="{{ ucfirst(__('front.contact.inputs.exportAskingType.label')) }}" required="true" name="typeExport"
|
||||
<x-front.inputs.multi-select placeholder="{{ ucfirst(__('front.contact.inputs.customerAskingType.placeholder')) }}"
|
||||
label="{{ ucfirst(__('front.contact.inputs.customerAskingType.label')) }}" required="true" name="type"
|
||||
:options="collect(\App\Enums\Contact\ExportAskingType::toArray())->map(function ($type) {
|
||||
return [
|
||||
'value' => $type->value,
|
||||
|
|
|
|||
|
|
@ -94,11 +94,13 @@
|
|||
@endphp
|
||||
@endforeach
|
||||
@foreach ($sections as $section)
|
||||
@if($section['title'] === 'bea_content')
|
||||
@include('front.pages.partials.bea_content')
|
||||
@continue
|
||||
@endif
|
||||
|
||||
@if ($section['title'] === 'banner')
|
||||
@include('front.pages.partial.bea-banner')
|
||||
@break
|
||||
@else
|
||||
<x-front.text-block :textBlock="$section" />
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
{{-- Sections numbers --}}
|
||||
|
|
|
|||
27
resources/views/front/pages/partial/bea-banner.blade.php
Normal file
27
resources/views/front/pages/partial/bea-banner.blade.php
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<div id="bea-banner" class="flex f-poppins">
|
||||
|
||||
<div class="w-14 flex-none">
|
||||
<img src="{{ Vite::asset('resources/assets/images/front/logo_bea.svg') }}" alt="{{ __('Logo BEA') }}" title="{{ __('Logo BEA') }}"/>
|
||||
|
||||
<p>{!! clean(__('Retrouvez nos engagements sur :linkUrl', [
|
||||
'linkUrl' => '<a href="https://www.bienetreanimal.fr" title="Site Bien Etre Animal" target="_blank" rel="noopener nofollow">www.bienetreanimal.fr</a> '
|
||||
])) !!}</p>
|
||||
</div>
|
||||
<div class="w-64 flex-initial">
|
||||
<h3>
|
||||
<span>{{ __('LDC') }}</span><br>
|
||||
<span class="uppercase">{{ __('Entreprise adhérente au collectif') }}</span>
|
||||
<img src="{{ Vite::asset('resources/assets/images/front/coeur.svg') }}" alt="{{ __('coeur') }}" title="{{ __('coeur') }}"/><br>
|
||||
<span class="uppercase">{{ __('Fillière Agricole Engagée pour élever le Bien-être Animal') }}</span><br>
|
||||
</h3>
|
||||
<p>
|
||||
<span>{{ __('Du poulet 100% origine France') }}</span><br>
|
||||
<span>{{ __('élevé dans le') }}</span>
|
||||
<span class="uppercase">{{ __('respect du bien-être animal') }}</span><br>
|
||||
<span>{{ __('par une') }}</span>
|
||||
<span class="uppercase">{{ __('filière agricole engagée') }}</span><br>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
<div class="tailwind-scope">
|
||||
<section class="f-poppins my-6" id="bea-encart" aria-label="{{ __('front.bea_banner.region_label') }}">
|
||||
<div class="relative overflow-hidden bg-[#2e267b] px-8 pb-14 pt-7 text-white shadow-xl sm:px-12 sm:py-9 lg:px-16 lg:py-10">
|
||||
<div class="relative flex flex-col items-center justify-between gap-8 md:flex-row md:items-start lg:gap-12">
|
||||
|
||||
{{-- Colonne gauche --}}
|
||||
<div class="flex w-full shrink-0 flex-col items-center text-center md:w-auto">
|
||||
<img class="w-36 object-contain drop-shadow-md sm:w-44 lg:w-48"
|
||||
src="{{ Vite::asset('resources/assets/images/front/logo_bea.svg') }}" title="{{ __('front.bea_banner.logo_alt') }}"
|
||||
alt="{{ __('front.bea_banner.logo_alt') }}" />
|
||||
<p class="mt-3 text-xs font-[600] leading-snug tracking-wide sm:text-sm">
|
||||
{!! __('front.bea_banner.commitments_intro', ['br' => '<br />']) !!}
|
||||
<a class="rounded-sm underline hover:opacity-80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white"
|
||||
href="https://www.bienetreanimal.fr" title="{{ __('front.bea_banner.site_link_title') }}"
|
||||
aria-label="{{ __('front.bea_banner.site_link_aria') }}" target="_blank"
|
||||
rel="noopener noreferrer">{{ __('front.bea_banner.site_url_text') }}<span class="sr-only">
|
||||
({{ __('front.bea_banner.new_window') }})</span></a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{{-- Colonne centrale --}}
|
||||
<div class="flex-1 text-center md:text-left">
|
||||
<h2 class="text-xl font-[600] leading-snug tracking-normal sm:text-2xl lg:text-3xl">
|
||||
<span class="relative inline-flex items-center gap-1.5 uppercase">
|
||||
<span>{{ __('front.bea_banner.title') }}</span>
|
||||
<img class="hidden h-8 w-8 rotate-[15deg] object-contain sm:absolute sm:-right-14 sm:-top-8 sm:h-12 sm:w-12 md:inline-block"
|
||||
src="{{ Vite::asset('resources/assets/images/front/coeur.svg') }}" alt="" role="presentation" aria-hidden="true" />
|
||||
</span><br />
|
||||
{{ __('front.bea_banner.subtitle') }}
|
||||
</h2>
|
||||
|
||||
<div class="mb-14 mt-4 flex flex-col items-end md:hidden">
|
||||
<img class="inline-block h-10 w-10 rotate-[15deg] object-contain pe-4"
|
||||
src="{{ Vite::asset('resources/assets/images/front/coeur.svg') }}" alt="" role="presentation" aria-hidden="true" />
|
||||
<img class="w-24 object-contain" src="{{ Vite::asset('resources/assets/images/front/ldc-sign.png') }}"
|
||||
title="{{ __('front.bea_banner.ldc_alt') }}" alt="{{ __('front.bea_banner.ldc_alt') }}" />
|
||||
</div>
|
||||
|
||||
<p class="mt-4 max-w-xl text-sm font-medium leading-snug text-white sm:text-base lg:text-lg">
|
||||
{!! __('front.bea_banner.description', ['br' => '<br />']) !!}
|
||||
</p>
|
||||
|
||||
<div class="mt-6 flex justify-center sm:mt-7 md:justify-start">
|
||||
<a class="bea-cta inline-flex items-center justify-center gap-3 rounded-full bg-[#e60f1d] px-8 py-3.5 text-sm font-bold text-white shadow-md transition-all hover:bg-[#c80510] focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-[#2e267b] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-offset-2 focus-visible:ring-offset-[#2e267b] active:scale-95 sm:text-base"
|
||||
href="https://www.bienetreanimal.fr" title="{{ __('front.bea_banner.cta_title') }}"
|
||||
aria-label="{{ __('front.bea_banner.cta_aria') }}" target="_blank" rel="noopener noreferrer">
|
||||
<span>{{ __('front.bea_banner.cta_text') }}</span>
|
||||
<svg class="h-4 w-4 shrink-0 stroke-[3] sm:h-6 sm:w-6" aria-hidden="true" focusable="false" fill="none"
|
||||
stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7" />
|
||||
</svg>
|
||||
<span class="sr-only"> ({{ __('front.bea_banner.new_window') }})</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Signature LDC --}}
|
||||
<div class="hidden shrink-0 items-start justify-start self-start md:mr-6 md:flex md:self-auto md:pt-12 lg:mr-10 lg:pt-14">
|
||||
<img class="w-24 object-contain sm:w-32 xl:relative xl:-left-36 xl:top-16 xl:w-36"
|
||||
src="{{ Vite::asset('resources/assets/images/front/ldc-sign.png') }}" title="{{ __('front.bea_banner.ldc_alt') }}"
|
||||
alt="{{ __('front.bea_banner.ldc_alt') }}" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{{-- Décoration : Soleil en bas à droite (partiellement tronqué par le conteneur) --}}
|
||||
<img
|
||||
class="sm:w-30 pointer-events-none absolute -bottom-10 right-4 w-20 rotate-[26deg] select-none object-contain sm:-bottom-8 sm:right-6 lg:-bottom-28 lg:right-8 lg:w-56"
|
||||
src="{{ Vite::asset('resources/assets/images/front/soleil.svg') }}" alt="" role="presentation" aria-hidden="true" />
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
|
@ -6,14 +6,9 @@ use App\Models\DynamicPage;
|
|||
use App\Models\News;
|
||||
use Diglactic\Breadcrumbs\Breadcrumbs;
|
||||
use Diglactic\Breadcrumbs\Generator;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Support\Str;
|
||||
use Mcamara\LaravelLocalization\Facades\LaravelLocalization;
|
||||
|
||||
if (!Schema::hasTable('dynamic_pages')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$currentLocale = app()->getLocale();
|
||||
$supportedLocales = LaravelLocalization::getSupportedLanguagesKeys();
|
||||
$pageHome = DynamicPage::getModelsCached()
|
||||
|
|
|
|||
|
|
@ -25,10 +25,6 @@ export default {
|
|||
sans: [
|
||||
'Figtree',
|
||||
...defaultTheme.fontFamily.sans
|
||||
],
|
||||
poppins: [
|
||||
'Poppins',
|
||||
...defaultTheme.fontFamily.sans
|
||||
]
|
||||
},
|
||||
borderRadius: {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import path from "path";
|
|||
import react from '@vitejs/plugin-react';
|
||||
import eslint from 'vite-plugin-eslint';
|
||||
import stylelint from "vite-plugin-stylelint";
|
||||
import glob from "glob";
|
||||
|
||||
const env = loadEnv("r", process.cwd(), "");
|
||||
const debugMode = env["APP_DEBUG"] === "true";
|
||||
|
|
@ -18,6 +19,7 @@ export default defineConfig({
|
|||
'resources/sass/back/app.scss',
|
||||
// FRONT
|
||||
'resources/ts/front/app.ts',
|
||||
...glob.sync('resources/assets/images/front/**/*.{jpg,png,jpeg}'),
|
||||
],
|
||||
refresh: true,
|
||||
}),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue