SYNC 20 participate InstantWin Ok
This commit is contained in:
parent
1b0e275fd4
commit
07b6691c36
5 changed files with 171 additions and 44 deletions
|
|
@ -20,3 +20,4 @@
|
|||
@import "./pages/static_page";
|
||||
@import "./pages/products";
|
||||
@import "./pages/won";
|
||||
@import "./pages/participate";
|
||||
|
|
|
|||
23
sass/pages/_participate.scss
Normal file
23
sass/pages/_participate.scss
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
.participate-page {
|
||||
.br-and-arrow {
|
||||
position: relative;
|
||||
text-align: center;
|
||||
|
||||
img {
|
||||
width: 9rem;
|
||||
}
|
||||
|
||||
&::after {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 3rem;
|
||||
height: 4rem;
|
||||
background-image: url('@Theme/images/arrow-code.png');
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
content: ' ';
|
||||
transform: translateY(100%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -11,11 +11,13 @@
|
|||
<li class="nav-item">
|
||||
<a class="fs-4 fw-bold nav-link" href="{{ route('fo.homepage') }}/#gifts">{{ __('Les cadeaux') }}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="fs-4 fw-bold nav-link link-tertiary @if (request()->routeIs('fo.participate')) active @endif"
|
||||
href="{{ route('fo.participate') }}"
|
||||
@if (request()->routeIs('fo.participate')) aria-current="page" @endif>{{ __('Jouer !') }}</a>
|
||||
</li>
|
||||
@can('fo.gameEnabled')
|
||||
<li class="nav-item">
|
||||
<a class="fs-4 fw-bold nav-link link-tertiary @if (request()->routeIs('fo.participate')) active @endif"
|
||||
href="{{ route('fo.participate') }}"
|
||||
@if (request()->routeIs('fo.participate')) aria-current="page" @endif>{{ __('Jouer !') }}</a>
|
||||
</li>
|
||||
@endcan
|
||||
@can('fo.showProducts')
|
||||
<li class="nav-item">
|
||||
<a class="fs-4 fw-bold nav-link @if (request()->routeIs('fo.produits-porteurs')) active @endif"
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
<p>Bonjour,</p>
|
||||
<p>{{ $msg }}</p>
|
||||
|
|
@ -1,47 +1,150 @@
|
|||
@extends('theme::layout')
|
||||
|
||||
@section('title', 'Saisie du code')
|
||||
@section('title', __('Je participe'))
|
||||
@section('description', __('Je participe au jeu en soumettant mon code unique de participation'))
|
||||
|
||||
@section('main-class', 'participate-page')
|
||||
|
||||
@section('content')
|
||||
<div class="code connect floating grid">
|
||||
<div class="head-bloc"></div>
|
||||
<section class="main--bloc container">
|
||||
<div class="edit-code grid">
|
||||
<h1 class="post-title">Saisissez votre code</h1>
|
||||
<p class="pre--text">Pour participer au jeu, munissez-vous du sticker présent sur les produits Le Gaulois participant à
|
||||
l'opération.</p>
|
||||
<p class="post--text"><span class="underlined">Attention :</span> <strong>en cas de gain du coffret Wonderbox,</strong>
|
||||
gardez précieusement <strong>le sticker utilisé ainsi que votre ticket de caisse.</strong> Ils vous seront demandés comme
|
||||
preuves de gain pour valider votre lot.</p>
|
||||
<div class="code--img">
|
||||
<img src="{{ Vite::asset('resources/theme/mounted/assets/images/br.png') }}" alt="Sticker jeu 100% gagnant">
|
||||
<div class="container pb-5 pt-5">
|
||||
{{-- TITLE --}}
|
||||
<div class="row mb-3">
|
||||
<div class="col text-center">
|
||||
<h1 class="text-tertiary text-uppercase fw-bold">{{ __('Saisissez votre code') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
{{-- TEXT --}}
|
||||
<div class="row mb-5">
|
||||
<div class="col position-relative">
|
||||
<p class="fs-4 mb-5 text-center">
|
||||
{{ __('Pour participer au jeu, munissez-vous du sticker présent sur les produits Le Gaulois participant à l\'opération.') }}
|
||||
</p>
|
||||
<p class="fs-4 mb-5 text-center">
|
||||
<span class="text-decoration-underline">{{ __('Attention') }} :</span> {!! __(
|
||||
':strong en cas de gain du coffret Wonderbox,:endStrong gardez précieusement :strong le sticker utilisé ainsi que votre ticket de caisse. :endStrong',
|
||||
[
|
||||
'strong' => '<strong>',
|
||||
'endStrong' => '</strong>',
|
||||
],
|
||||
) !!}
|
||||
{{ __('Ils vous seront demandés comme preuves de gain pour valider votre lot.') }}
|
||||
</p>
|
||||
<div class="br-and-arrow">
|
||||
<img class="img-fluid" data-bs-toggle="tooltip" src="{{ Vite::asset('resources/theme/mounted/assets/images/br.png') }}"
|
||||
title="{{ __('Le sticker présent sur le produit que vous avez acheté.') }}" alt="{{ __('Votre sticker') }}">
|
||||
</div>
|
||||
<form class="flex" id="code--form" method="POST" action="{{ route('fo.participate') }}">
|
||||
<div class="code--edit flex">
|
||||
@csrf
|
||||
<input name="code" type="text" maxlength="9" size="9" placeholder="Code unique (9 caractères)*" required>
|
||||
<input name="code_ean" type="text" maxlength="13" size="13" placeholder="Code Barre (13 caractères)*" required>
|
||||
<div class="rules">
|
||||
<input id="accept_rules" name="accept_rules" type="checkbox" required>
|
||||
<label for="accept_rules">J'ai lu et j'accepte le <a href="{{ route('fo.reglement') }}">règlement</a> du
|
||||
jeu*</label>
|
||||
</div>
|
||||
</div>
|
||||
{{-- FORM --}}
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<form class="container" action="{{ route('fo.participate-submit') }}" method="POST">
|
||||
@csrf
|
||||
<div class="row justify-content-center mb-2">
|
||||
{{-- UNIQUE_CODE --}}
|
||||
<div class="col col-sm-10 col-md-6 col-lg-5 col-xl-4 mb-3 py-2">
|
||||
<div class="input-group has-validation">
|
||||
<div class="form-floating @error('unique_code') is-invalid @enderror">
|
||||
<input id="unique-code" name="unique_code" type="text" value="{{ old('unique_code') }}"
|
||||
placeholder="{{ __('Votre :attribute', [
|
||||
'attribute' => __('validation.custom.unique_code'),
|
||||
]) }}"
|
||||
@class([
|
||||
'form-control',
|
||||
'mx-auto',
|
||||
'is-invalid' => $errors->has('unique_code'),
|
||||
]) autocomplete="off" @required(true) />
|
||||
<label for="unique-code">
|
||||
{{ Str::ucfirst(
|
||||
__('Votre :attribute', [
|
||||
'attribute' => __('validation.custom.unique_code'),
|
||||
]),
|
||||
) }}*
|
||||
</label>
|
||||
</div>
|
||||
@error('unique_code')
|
||||
<div class="invalid-feedback" role="alert">
|
||||
<strong>{{ implode(',', $errors->get('unique_code')) }}</strong>
|
||||
</div>
|
||||
@enderror
|
||||
</div>
|
||||
<small>{{ __('Comporte :length caractères, trouvable au dos du sticker', ['length' => config('codes.codeLength')]) }}</small>
|
||||
</div>
|
||||
|
||||
<span>* Champs obligatoires</span>
|
||||
</div>
|
||||
<input class="btn btn-success" type="submit" value="Je valide">
|
||||
</form>
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</section>
|
||||
{{-- Force next columns to break to new line --}}
|
||||
<div class="w-100"></div>
|
||||
|
||||
@if ($settingsGlobal->use_ean_codes)
|
||||
{{-- EAN_CODE --}}
|
||||
<div class="col col-sm-10 col-md-6 col-lg-5 col-xl-4 mb-3 py-2">
|
||||
<div class="input-group has-validation">
|
||||
<div class="form-floating @error('ean_code') is-invalid @enderror">
|
||||
<input id="ean-code" name="ean_code" type="text" value="{{ old('ean_code') }}"
|
||||
placeholder="{{ __('Votre :attribute', [
|
||||
'attribute' => __('validation.custom.ean_code'),
|
||||
]) }}"
|
||||
@class([
|
||||
'form-control',
|
||||
'mx-auto',
|
||||
'is-invalid' => $errors->has('ean_code'),
|
||||
]) autocomplete="off" @required(true) />
|
||||
<label for="ean-code">
|
||||
{{ Str::ucfirst(
|
||||
__('Votre :attribute', [
|
||||
'attribute' => __('validation.custom.ean_code'),
|
||||
]),
|
||||
) }}*
|
||||
</label>
|
||||
</div>
|
||||
@error('ean_code')
|
||||
<div class="invalid-feedback" role="alert">
|
||||
<strong>{{ implode(',', $errors->get('ean_code')) }}</strong>
|
||||
</div>
|
||||
@enderror
|
||||
</div>
|
||||
<small>{{ __('Comporte :length caractères, trouvable au dos du produit que vous avez acheté', ['length' => 13]) }}</small>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- Force next columns to break to new line --}}
|
||||
<div class="w-100"></div>
|
||||
|
||||
{{-- CGV --}}
|
||||
<div class="col col-sm-10 col-md-6 col-lg-5 col-xl-4 py-2">
|
||||
<div class="form-check">
|
||||
<input id="participate-game-rules" name="game_rules" type="checkbox" @class([
|
||||
'form-check-input',
|
||||
'me-1',
|
||||
'is-invalid' => $errors->has('game_rules'),
|
||||
]) required />
|
||||
<label class="form-check-label fw-bold w-fit" for="participate-game-rules">
|
||||
{!! clean(
|
||||
__('J\'ai lu et accepte le :a :game_rules :enda', [
|
||||
'a' => '<a href="' . route('fo.reglement') . '" target="_blank">',
|
||||
'game_rules' => __('validation.custom.game_rules'),
|
||||
'enda' => '</a>',
|
||||
]),
|
||||
) !!}
|
||||
</label>
|
||||
</div>
|
||||
@foreach ($errors->get('game_rules') as $message)
|
||||
<div class="invalid-feedback d-block">{{ $message }}</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center mb-5">
|
||||
<div class="col col-sm-10 col-md-6 col-lg-5 col-xl-4 text-end">
|
||||
<span class="text-secondary">* {{ __('Champs obligatoires') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center mb-5">
|
||||
<div class="col col-sm-10 col-md-6 col-lg-5 col-xl-4 text-center">
|
||||
<button class="btn btn-lg btn-tertiary fw-bold text-uppercase px-3 py-2" data-bs-toggle="tooltip" type="submit"
|
||||
title="{{ __('Soumettre ma participation et découvrir mon éventuel gain') }}">{{ __('Je valide') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue