ldc-lionor/resources/views/fo/pages/contact.blade.php
2026-01-08 10:00:17 +01:00

193 lines
10 KiB
PHP

@extends('fo.layout')
@section('title', __('Contact - Besoin d\'une information, contactez-nous.'))
@section('description', __('Posez votre question et nous y répondrons dans les meilleurs délais.'))
@section('breadcrumb', request()->route()->getName())
@section('content')
<div class="g-0 pb-md-5 position-relative hero">
<div class="position-relative hero-fix-height">
<img class="img-fluid" src="{{ Vite::asset('resources/assets/images/Panoramique1.jpg') }}" alt="Des poulets dans un élevage">
</div>
<!-- breadcrumb -->
<div class="breadcrumb-obj small container mt-3">
<div class="row">
<div class="col-12 d-flex">
<p class="fst-italic me-2">Vous êtes ici</p>
@include('modules.breadcrumbs.breadcrumb-body')
</div>
</div>
</div>
<!-- END breadcrumb -->
</div>
<div class="pt-lg-5 position-relative container">
<div class="row">
<section class="col-md-8 offset-md-2 stripes">
<h1 class="text-uppercase font-amatic font-amatic-48 text-center">{{ __('Besoin d\'une information ?') }}<span
class="font-amatic-red">{{ __('contactez-nous !') }}</span></h1>
</section>
</div>
<div class="container mt-4">
<div class="row">
<div class="col">@include('modules.flash-messages')</div>
</div>
</div>
<!-- GRID -->
<div class="row g-3 mt-4">
<div class="col-md-6">
<img class="img-fluid" src="{{ Vite::asset('resources/assets/images/chicken-with-logo.jpg') }}"
alt="Un poulet roux avec un sticker 100% local">
</div>
<div class="col-md-6">
<div class="mb-4">
<span
class="cn-cookie-activate d-flex flex-column flex-lg-row text-lg-start justify-content-center align-items-center rounded-3 border-primary mx-auto w-fit border border-2 bg-white px-3 py-2 text-center"
data-cookie-name="recaptcha">
<span>
<p class="text-primary fs-6 fw-bold lh-sm">
{{ __('Vous devez accepter les cookies reCaptcha pour utiliser les formulaires.') }}
</p>
<p class="fs-6 small-text lh-sm">{{ __('Acceptez ce cookie pour utiliser le formulaire') }}</p>
</span>
<button class="btn btn-outline-primary rounded-2 fs-6 fw-bold ms-3 px-4 py-3"
id="recaptcha-accept">{{ __('AUTORISER') }} </button>
</span>
</div>
<form class="row g-3" id="contact-form" action="{{ route('contact.submit') }}" method="post">
@csrf
<div class="col-md-12 d-flex align-items-center flex-wrap">
<label class="form-label fw-bold me-4" for="inputPassword4">{{ __('Civilité') }}&nbsp;*</label>
@foreach (App\Enums\CivilityEnum::toArray() as $civility)
<div class="form-check mx-3">
<input class="form-check-input" id="flexRadio{{ $civility->label . $civility->value }}" name="civility"
type="radio" value="{{ $civility->value }}" @if ((old('civility') ?? 1) == $civility->value) checked @endif>
<label class="form-check-label" for="flexRadio{{ $civility->label . $civility->value }}">
{{ $civility->label }}
</label>
</div>
@endforeach
</div>
<div class="col-md-6">
<input class="form-control" id="inputNom4" name="lastname" type="text" value="{{ old('lastname') }}"
placeholder="{{ __('Nom *') }}" required>
@include('modules.input-error', ['inputName' => 'lastname'])
</div>
<div class="col-md-6">
<input class="form-control" id="inputPrenom4" name="firstname" type="text" value="{{ old('firstname') }}"
placeholder="{{ __('Prénom *') }}" required>
@include('modules.input-error', ['inputName' => 'firstname'])
</div>
<div class="col-md-6">
<input class="form-control" id="inputMail4" name="email" type="mail" value="{{ old('email') }}"
placeholder="{{ __('Adresse e-mail *') }}" required>
@include('modules.input-error', ['inputName' => 'email'])
</div>
<div class="col-md-6">
<input class="form-control" id="inputTelephone4" name="phone" type="telephone" value="{{ old('phone') }}"
placeholder="{{ __('Téléphone') }}">
@include('modules.input-error', ['inputName' => 'phone'])
</div>
<div class="col-12">
<input class="form-control" id="inputAddress" name="address" type="text" value="{{ old('address') }}"
placeholder="{{ __('Adresse *') }}" required>
@include('modules.input-error', ['inputName' => 'address'])
</div>
<div class="col-md-6">
<input class="form-control" id="inputVille4" name="city" type="text" value="{{ old('city') }}"
placeholder="{{ __('Ville *') }}" required>
@include('modules.input-error', ['inputName' => 'city'])
</div>
<div class="col-md-6">
<input class="form-control" id="inputPostal4" name="postcode" type="text" value="{{ old('postcode') }}"
placeholder="{{ __('Code postal *') }}" required>
@include('modules.input-error', ['inputName' => 'postcode'])
</div>
<div class="col-md-12">
<div class="separator"></div>
</div>
<div class="col-12">
<input class="form-control" id="inputAddress" name="subject" type="text" value="{{ old('subject') }}"
placeholder="{{ __('Objet de la demande *') }}" required>
@include('modules.input-error', ['inputName' => 'subject'])
</div>
<div class="col-md-12">
<textarea class="form-control" id="exampleFormControlTextarea1" name="message" rows="10"
placeholder="{{ __('Écrivez votre message *') }}" required>{{ old('message') }}</textarea>
@include('modules.input-error', ['inputName' => 'message'])
</div>
<div class="col-md-12">
<p class="small">
{{ __('Les informations recueillies à partir de ce formulaire sont traitées par le Responsable de Traitement pour donner suite à votre demande de contact. Pour connaître vos droits, vous pouvez consulter la') }}
<a href="{{ route('policies') }}"
title="{{ __('Accéder à la charte de confidentialité') }}">{{ __('Charte de confidentialité') }}</a>.
</p>
</div>
<div class="col-md-12">
<div class="row flex-column flex-lg-row small">
<div class="col-md-6 fst-italic pb-lg-0 pb-5">
<div class="flex justify-center" id="r_captcha"></div>
</div>
<div class="col-md-6 text-lg-end text-center">
<button class="g-recaptcha btn btn-primary text-uppercase mb-2" type="submit">{{ __('Envoyer >') }}</button>
<p class="fst-italic ms-1">{{ __('* Champs obligatoire') }}</p>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="container mt-4">
<div class="row">
<div class="col">@include('modules.flash-messages')</div>
</div>
</div>
</div>
@endsection
@push('scripts')
<script nonce="{{ $nonce ?? '' }}">
document.addEventListener('DOMContentLoaded', function() {
document.getElementById("recaptcha-accept").addEventListener('click', function(e) {
e.preventDefault();
window.WebCookieNotice.acceptCookie('recaptcha');
});
const initFormCaptcha = () => {
const newDiv = document.createElement("div");
newDiv.classList.add('g-recaptcha');
document.getElementById('r_captcha').appendChild(newDiv);
document.getElementById('contact-form').inert = true;
};
window.__CN_Recaptcha = function() {
initFormCaptcha();
(function(d, t) {
let g = d.createElement(t),
s = d.getElementsByTagName(t)[0];
g.src = 'https://www.google.com/recaptcha/api.js?render=explicit&onload=__CN_Recaptcha_Loaded';
s.parentNode.insertBefore(g, s)
}(document, 'script'));
};
window.__CN_Recaptcha_Reset = function() {
document.querySelector('#r_captcha > div')?.remove();
initFormCaptcha();
};
window.__CN_Recaptcha_Loaded = function() {
document.getElementById('contact-form').inert = false;
grecaptcha.render(document.querySelector('#r_captcha > div'), {
'sitekey': "{{ config('services.google.recaptcha.public') }}"
});
};
});
</script>
@endpush