diff --git a/app/Models/News.php b/app/Models/News.php index a0b96e27..3292d1a5 100644 --- a/app/Models/News.php +++ b/app/Models/News.php @@ -263,6 +263,7 @@ class News extends Model implements Sitemapable, SchemaOrgInterface, Redirectabl ->whereHas('newsCategory', function (Builder $q) { $q->where('published', true); }) + ->orderBy('updated_at', 'desc') ->get(); }); } @@ -292,7 +293,7 @@ class News extends Model implements Sitemapable, SchemaOrgInterface, Redirectabl $q->where('published', true); }) ->where('published', true) - ->orderByDesc('created_at') + ->orderByDesc('updated_at') ->paginate($detect->isMobile() ? 3 : 6) ->through(function ($newsModel) { return view('fo.partials.news-card', ['model' => $newsModel])->render(); diff --git a/app/Notifications/Customer/ResetPassword.php b/app/Notifications/Customer/ResetPassword.php index 14ed5bee..725c76b3 100644 --- a/app/Notifications/Customer/ResetPassword.php +++ b/app/Notifications/Customer/ResetPassword.php @@ -42,10 +42,13 @@ class ResetPassword extends NotificationsResetPassword ->template('notifications::email-club') ->subject(trans('Mot de passe oublié - :site_name', ['site_name' => config('app.name')])) /** @var string $firstname */ - ->greeting(trans('Bonjour :name', ['name' => $notifiable->api_data->firstname])) + ->greeting(trans('Bonjour :name,', ['name' => $notifiable->api_data->firstname])) ->line(trans( - "Afin réinitialiser votre mot de passe pour vous connecter à :site_name, cliquez sur le lien suivant :", - ['site_name' => config('app.name')] + "Afin réinitialiser votre mot de passe pour vous connecter :strong sur le Club des Gaulois, :endStrong cliquez sur le lien ci-dessous (lien valable 24h uniquement) :", + [ + 'strong' => '', + 'endStrong' => '' + ] )) /** @var string $verificationUrl */ ->action(trans('Réinitialisez votre mot de passe'), $this->resetUrl($notifiable)); diff --git a/app/Notifications/Customer/UpdatePassword.php b/app/Notifications/Customer/UpdatePassword.php index a3d0d7e2..6318dac2 100644 --- a/app/Notifications/Customer/UpdatePassword.php +++ b/app/Notifications/Customer/UpdatePassword.php @@ -30,9 +30,13 @@ class UpdatePassword extends Notification ->subject(trans("Mise à jour du mot de passe - :site_name", [ 'site_name' => config('app.name') ])) - ->greeting(trans('Bonjour :name', ['name' => $notifiable->username])) - ->line(trans("Le mot de passe associé à votre compte :site_name vient d'être modifié.", [ - 'site_name' => config('app.name') - ])); + ->greeting(trans('Bonjour :name,', ['name' => $notifiable->api_data->firstname])) + ->line(trans("Le mot de passe associé à votre compte :strong sur le Club des Gaulois :endStrong vient d'être modifié.", + [ + 'strong' => '', + 'endStrong' => '' + ] + )) + ->action(trans('Me connecter au club'), route('club.login')); } } diff --git a/app/Notifications/Customer/VerifyEmail.php b/app/Notifications/Customer/VerifyEmail.php index 15135f98..b9f72b81 100644 --- a/app/Notifications/Customer/VerifyEmail.php +++ b/app/Notifications/Customer/VerifyEmail.php @@ -46,9 +46,15 @@ class VerifyEmail extends NotificationsVerifyEmail return (new MailMessage()) ->template('notifications::email-club') ->subject(trans("Inscription - :site_name", ['site_name' => config('app.name')])) - ->greeting(trans('Bonjour :name', ['name' => $notifiable->username])) - ->line(trans("Vous venez de créer un compte sur :site_name.", ['site_name' => config('app.name')])) - ->line("Pour confirmer votre inscription, merci de cliquer sur le lien ci-dessous :") - ->action(trans('Confirmer mon adresse email'), $verificationUrl); + ->greeting(trans('Bonjour :name,', ['name' => $notifiable->username])) + ->line(trans("Vous venez de créer un compte :strong sur le Club des Gaulois : :endStrong quelle bonne idée pour bénéficier de la Bourse aux échanges Départ'aimants et profitez des bons de réduction à imprimer !", + [ + 'strong' => '', + 'endStrong' => '' + ] + )) + ->line("Vous pouvez également enregistrer vos recettes favorites et les commenter et faire une liste de courses avec vos produits Le Gaulois préféré.") + ->line("Pour confirmer votre inscription, merci de cliquer sur le lien ci-dessous (Lien valable 1h uniquement) :") + ->action(trans('Confirmer mon adresse mail'), $verificationUrl); } } diff --git a/app/Notifications/Shop/NewOrder.php b/app/Notifications/Shop/NewOrder.php index 3bb22fd8..64df5397 100644 --- a/app/Notifications/Shop/NewOrder.php +++ b/app/Notifications/Shop/NewOrder.php @@ -50,16 +50,35 @@ class NewOrder extends Notification ->subject(trans('Récapitulation de votre commande - :site_name', [ 'site_name' => config('app.name') ])) - ->greeting(trans('Merci pour votre achat !')) - ->line(trans("Votre commande a bien été prise en compte et sera traité sous les meilleurs délais.")) - ->line(trans("Vous pouvez retrouver le récapitulif de votre commande en pièce jointe.")) + ->greeting(trans('Bonjour :name,', ['name' => $this->order->firstname])) + ->line(trans("Merci pour votre achat !")) + ->line(trans("Votre commande a bien été prise en compte et sera traitée sous les meilleurs délais.")) + ->line(trans("Vous pouvez retrouver le récapitulatif de votre commande :strong en pièce jointe. :endStrong", + [ + 'strong' => '', + 'endStrong' => '' + ] + )) ->lineIf( $this->order->payementType->equals(OrderType::check), - trans("Si vous avez choisi un payement par chèque, veuillez l'envoyer à l'adresse suivante :") + trans("Si vous avez choisi un paiement par chèque : Merci de nous faire parvenir votre chèque à l'ordre de LDC et à l'adresse suivante :") ) ->lineIf( $this->order->payementType->equals(OrderType::check), - trans("LDC - Les Départ'Aimants Le Gaulois ZI St Laurent - CS 50925 72302 Sablé sur Sarthe") + trans(":strong LDC - Boutique Club Le Gaulois :br ZI Saint-Laurent - CS 50925 :br 72300 Sablé sur Sarthe :endStrong", + [ + 'strong' => '', + 'endStrong' => '', + 'br' => '
' + ] + )) + ->lineIf( + $this->order->payementType->equals(OrderType::check), + trans("Une fois le chèque reçu, vous recevrez votre fond de carte de France sous un délai maximum de 5 semaines.") + ) + ->lineIf( + $this->order->payementType->equals(OrderType::check), + trans("Attention, vous disposez de 30 jours maximum pour envoyer votre chèque. Au delà des 30 jours, votre commande sera automatiquement annulée.") ) ->attachData($this->makePdfFile(), 'recapitulatif_commande_le_gaulois.pdf'); } diff --git a/resources/assets/images/mail/header-left.svg b/resources/assets/images/mail/header-left.svg index d2eb97e0..c59232a4 100644 --- a/resources/assets/images/mail/header-left.svg +++ b/resources/assets/images/mail/header-left.svg @@ -1,32 +1,76 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/assets/images/mail/header-right.svg b/resources/assets/images/mail/header-right.svg index 60f78948..ffe74a33 100644 --- a/resources/assets/images/mail/header-right.svg +++ b/resources/assets/images/mail/header-right.svg @@ -1,50 +1,46 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/assets/images/mail/logo.png b/resources/assets/images/mail/logo.png new file mode 100644 index 00000000..8e7b5491 Binary files /dev/null and b/resources/assets/images/mail/logo.png differ diff --git a/resources/assets/images/mail/socials/club_des_gaulois.png b/resources/assets/images/mail/socials/club_des_gaulois.png new file mode 100644 index 00000000..d6bc5aeb Binary files /dev/null and b/resources/assets/images/mail/socials/club_des_gaulois.png differ diff --git a/resources/assets/images/mail/socials/facebook.png b/resources/assets/images/mail/socials/facebook.png index 2d4034d5..19d9d8da 100644 Binary files a/resources/assets/images/mail/socials/facebook.png and b/resources/assets/images/mail/socials/facebook.png differ diff --git a/resources/assets/images/mail/socials/instagram.png b/resources/assets/images/mail/socials/instagram.png index 7447d71f..7f21567f 100644 Binary files a/resources/assets/images/mail/socials/instagram.png and b/resources/assets/images/mail/socials/instagram.png differ diff --git a/resources/assets/images/mail/socials/linkedin.png b/resources/assets/images/mail/socials/linkedin.png index 86df5274..63efbf33 100644 Binary files a/resources/assets/images/mail/socials/linkedin.png and b/resources/assets/images/mail/socials/linkedin.png differ diff --git a/resources/assets/images/mail/socials/tiktok.png b/resources/assets/images/mail/socials/tiktok.png new file mode 100644 index 00000000..4f47d6e3 Binary files /dev/null and b/resources/assets/images/mail/socials/tiktok.png differ diff --git a/resources/assets/images/mail/socials/youtube.png b/resources/assets/images/mail/socials/youtube.png index e1d806f8..52f11be5 100644 Binary files a/resources/assets/images/mail/socials/youtube.png and b/resources/assets/images/mail/socials/youtube.png differ diff --git a/resources/sass/club/mail-theme.scss b/resources/sass/club/mail-theme.scss index 08976d3d..13c7b3b7 100644 --- a/resources/sass/club/mail-theme.scss +++ b/resources/sass/club/mail-theme.scss @@ -12,14 +12,15 @@ // * Mail vars $outter-bg: $color-hex-white; $outter-color: $color-hex-dark; -$body-bg: $color-hex-dark-blue; +$body-bg: $color-hex-mails-dark-blue; $body-color: $color-hex-white; -$footer-color: $color-hex-marron; -$footer-bg: $color-hex-creme; +$footer-color: $color-hex-mails-brown; +$footer-bg: $color-hex-mails-creme; +$text-color: $color-hex-mails-brown; // * buttons $button-primary: $color-white; -$button-primary-color: $color-hex-dark-blue; +$button-primary-color: $color-hex-mails-brown; $button-tertiary: $color-hex-creme; $button-tertiary-color: $color-hex-dark; $button-success: $color-success; @@ -36,12 +37,12 @@ body *:not(html, style, br, tr, code) { position: relative; box-sizing: border-box; font-family: + Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, - Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", @@ -251,6 +252,12 @@ body { text-align: center; } + h6 { + margin-top: 0; + font-size: 16px; + text-align: center; + } + a { text-decoration: underline; } @@ -307,15 +314,11 @@ body { .button { display: inline-block; overflow: hidden; - border-radius: 4px; - border-top: 8px solid #{$button-tertiary}; - border-right: 18px solid #{$button-tertiary}; - border-bottom: 8px solid #{$button-tertiary}; - border-left: 18px solid #{$button-tertiary}; - background-color: #{$button-tertiary}; - color: #{$button-tertiary-color}; + font-size: 18px; + font-weight: bold; text-decoration: none; text-size-adjust: none; + text-transform: uppercase; } /* Panels */ @@ -349,4 +352,123 @@ body { .break-all { word-break: break-all; } + + .text-center { + text-align: center; + } + + .uppercase { + text-transform: uppercase; + } + + .black { + font-weight: 900; + } + + .mb-2 { + margin-bottom: 8px; + } + + .mb-4 { + margin-bottom: 16px; + } + + .pr-3 { + padding-right: 10px; + } + + .bg-white { + width: 100%; + border-top: 32px solid #{$body-color}; + border-right: 32px solid #{$body-color}; + border-bottom: 2px solid #{$body-color}; + border-left: 32px solid #{$body-color}; + margin-bottom: 48px; + background-color: $body-color; + } + + .bg-pink { + width: 100%; + border-top: 32px solid #{$color-hex-rose}; + border-right: 32px solid #{$color-hex-rose}; + border-bottom: 2px solid #{$color-hex-rose}; + border-left: 32px solid #{$color-hex-rose}; + margin-bottom: 48px; + background-color: $color-hex-rose; + } + + .bg-yellow { + width: 100%; + border-top: 32px solid #{$color-hex-yellow}; + border-right: 32px solid #{$color-hex-yellow}; + border-bottom: 2px solid #{$color-hex-yellow}; + border-left: 32px solid #{$color-hex-yellow}; + background-color: $color-hex-yellow; + } + + .text-primary { + color: $color-hex-dark-blue; + } + + .card-title { + width: fit-content; + box-shadow: -2px 2px 4px 0 rgb(78 50 56 / 12%); + font-size: 22px; + font-weight: bold; + font-weight: 700; + } + + .card-primary { + border: 8px solid #{$color-hex-medium-blue}; + background-color: $color-hex-medium-blue; + color: $body-color; + } + + .card-secondary { + border: 8px solid #{$color-hex-light-blue}; + background-color: $color-hex-light-blue; + color: $body-color; + } + + .card-tertiary { + border: 8px solid #{$body-color}; + background-color: $body-color; + color: $color-hex-dark-blue; + } + + .button-primary { + border-top: 8px solid #{$button-primary}; + border-right: 18px solid #{$button-primary}; + border-bottom: 8px solid #{$button-primary}; + border-left: 18px solid #{$button-primary}; + background-color: $button-primary; + color: $button-primary-color; + } + + .button-l-blue { + border-top: 8px solid #{$color-hex-light-blue}; + border-right: 16px solid #{$color-hex-light-blue}; + border-bottom: 8px solid #{$color-hex-light-blue}; + border-left: 16px solid #{$color-hex-light-blue}; + background-color: $color-hex-light-blue; + color: $body-color; + } + + .button-d-blue { + border-top: 8px solid #{$color-hex-medium-blue}; + border-right: 16px solid #{$color-hex-medium-blue}; + border-bottom: 8px solid #{$color-hex-medium-blue}; + border-left: 16px solid #{$color-hex-medium-blue}; + background-color: $color-hex-medium-blue; + color: $body-color; + } + + .button-white { + border-top: 8px solid #{$body-color}; + border-right: 16px solid #{$body-color}; + border-bottom: 8px solid #{$body-color}; + border-left: 16px solid #{$body-color}; + background-color: $body-color; + color: $body-bg; + } } diff --git a/resources/sass/front-colors.scss b/resources/sass/front-colors.scss index 612eda02..cd13a4c8 100644 --- a/resources/sass/front-colors.scss +++ b/resources/sass/front-colors.scss @@ -29,4 +29,9 @@ $color-collection-actual: #974c99; $color-hex-gc-yellow: #fdd106; $color-hex-gc-dark-yellow: #EFA82B; $color-hex-gc-dark-orange: #D45805; -$color-hex-gc-brown: #4E3238; \ No newline at end of file +$color-hex-gc-brown: #4E3238; + +// * MAILS +$color-hex-mails-dark-blue: #0F437D; +$color-hex-mails-creme: #F4EBE4; +$color-hex-mails-brown: #4D3042; diff --git a/resources/views/components/club/mail/club.blade.php b/resources/views/components/club/mail/club.blade.php new file mode 100644 index 00000000..324d40ac --- /dev/null +++ b/resources/views/components/club/mail/club.blade.php @@ -0,0 +1,14 @@ + + + + + + +
+

Nos bons

+

de réduction

+

Économisez en bons de réduction sur une sélection de produits Le Gaulois.

+ + Imprimer mes coupons + +
diff --git a/resources/views/components/club/mail/depart-aimant.blade.php b/resources/views/components/club/mail/depart-aimant.blade.php new file mode 100644 index 00000000..3bf39ff2 --- /dev/null +++ b/resources/views/components/club/mail/depart-aimant.blade.php @@ -0,0 +1,14 @@ + + + + + + +
+

La communauté

+

départ'aimants

+

Rejoignez la communauté "Départ'Aimants”, dédiée aux passionnés de la collection de magnets.

+ + Compléter ma collec + +
diff --git a/resources/views/components/club/mail/social.blade.php b/resources/views/components/club/mail/social.blade.php new file mode 100644 index 00000000..66783fad --- /dev/null +++ b/resources/views/components/club/mail/social.blade.php @@ -0,0 +1,15 @@ + + + + + + +
+

Les réseaux

+

sociaux

+

@legaulois_officiel

+

Rejoignez notre compte Instagram pour suivre l'actualité du moment.

+ + Je m'abonne + +
diff --git a/resources/views/fo/pages/home.blade.php b/resources/views/fo/pages/home.blade.php index b3d99296..94976a6d 100644 --- a/resources/views/fo/pages/home.blade.php +++ b/resources/views/fo/pages/home.blade.php @@ -298,7 +298,7 @@

- {{ now()->subDays(rand(1, 31))->format('d/m/Y') }}

+ {{ $newsModel->updated_at->format('d/m/Y') }}

{{ $newsModel->title }}

@@ -309,7 +309,7 @@

- {{ now()->subDays(rand(1, 31))->format('d/m/Y') }}

+ {{ $newsModel->updated_at->format('d/m/Y') }}

{{ $newsModel->title }}

diff --git a/resources/views/fo/partials/news-card.blade.php b/resources/views/fo/partials/news-card.blade.php index 8c7a9773..af3b5a15 100644 --- a/resources/views/fo/partials/news-card.blade.php +++ b/resources/views/fo/partials/news-card.blade.php @@ -25,7 +25,7 @@ @endif
-

{{ $model->updated_at ->format('d/m/Y') }}

+

{{ $model->updated_at->format('d/m/Y') }}

{{ $model->title }}

diff --git a/resources/views/vendor/mail/html/button.blade.php b/resources/views/vendor/mail/html/button.blade.php index d0485eab..d464aee6 100644 --- a/resources/views/vendor/mail/html/button.blade.php +++ b/resources/views/vendor/mail/html/button.blade.php @@ -8,7 +8,7 @@ diff --git a/resources/views/vendor/mail/html/message/layout.blade.php b/resources/views/vendor/mail/html/message/layout.blade.php index c51c7bd5..ce5c4184 100644 --- a/resources/views/vendor/mail/html/message/layout.blade.php +++ b/resources/views/vendor/mail/html/message/layout.blade.php @@ -21,28 +21,64 @@ {{-- Footer --}} - -

{{ __('Gauloisement vôtre, L’équipe Le Gaulois') }}

+ +
{{ __('C\'est bon d\'être Gaulois') }}
+
- {{ $slot }}
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
{!! clean( __( 'Pour toute information complémentaire concernant vos données personnelles et vos droits, merci de consulter notre :startA Charte de confidentialité:endA.', [ 'startA' => - '', - 'endA' => '', + 'endA' => '', ], ), - ) !!} - {{ __('LDC Sablé, SAS, Zone Industrielle Saint-Laurent 72300 Sablé-sur-Sarthe, 02.43.62.70.00') }} - - {{ __('Si vous ne souhaitez plus recevoir d’emails de la part de :appname, vous pouvez vous désinscrire.', [ - 'appname' => config('app.name'), - ]) }} + ) !!} +
+
+ {{ __('SOCIETE LDC Sablé - ZI Saint Laurent') }} +
+ {{ __('72300 Sablé-sur-Sarthe - Tél : 02 43 62 70 00') }} diff --git a/resources/views/vendor/notifications/email-club.blade.php b/resources/views/vendor/notifications/email-club.blade.php index cf7b440a..a4452e77 100644 --- a/resources/views/vendor/notifications/email-club.blade.php +++ b/resources/views/vendor/notifications/email-club.blade.php @@ -1,7 +1,7 @@ {{-- Greeting --}} @if (! empty($greeting)) -# {{ $greeting }} +

{{ $greeting }}

@else @if ($level === 'error') # @lang('Whoops!') @@ -12,7 +12,7 @@ {{-- Intro Lines --}} @foreach ($introLines as $line) -{{ $line }} +

{!! clean($line) !!}

@endforeach @@ -21,7 +21,7 @@ $level, - default => 'tertiary', + default => 'button-primary', }; ?> @@ -35,24 +35,10 @@ @endforeach -{{-- Salutation --}} -@if (! empty($salutation)) -{{ $salutation }} -@else -@lang('Regards'),
-{{ config('app.name') }} -@endif + + + + + -{{-- Subcopy --}} -@isset($actionText) - -@lang( - "If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\n". - 'into your web browser:', - [ - 'actionText' => $actionText, - ] -) [{{ $displayableActionUrl }}]({{ $actionUrl }}) - -@endisset
diff --git a/resources/views/vendor/notifications/email.blade.php b/resources/views/vendor/notifications/email.blade.php index 678e2591..0cf0dab3 100644 --- a/resources/views/vendor/notifications/email.blade.php +++ b/resources/views/vendor/notifications/email.blade.php @@ -21,7 +21,7 @@ $level, - default => 'primary', + default => 'button-primary', }; ?>