diff --git a/app/Http/Controllers/Club/Auth/LoginController.php b/app/Http/Controllers/Club/Auth/LoginController.php index 4e13a2c2..f8a6609d 100644 --- a/app/Http/Controllers/Club/Auth/LoginController.php +++ b/app/Http/Controllers/Club/Auth/LoginController.php @@ -8,6 +8,7 @@ use Illuminate\Contracts\Auth\StatefulGuard; use Illuminate\Contracts\View\View; use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Http\Request; +use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Support\Arr; use Illuminate\Support\Facades\Auth; @@ -42,6 +43,16 @@ class LoginController extends Controller */ public function showLoginForm(): View { + die((new MailMessage()) + ->template('notifications::email-club') + ->subject(trans("Mise à jour de l'email - :site_name", [ + 'site_name' => config('app.name') + ])) + ->greeting(trans('Bonjour :name', ['name' => 'sdsd'])) + ->action('bonton action', route('fo.add-single-optin')) + ->line(trans("L'email associé à votre compte :site_name vient d'être modifié.", [ + 'site_name' => config('app.name') + ]))->render()); return view('club.auth.login'); } diff --git a/app/Notifications/Customer/DestroyCustomer.php b/app/Notifications/Customer/DestroyCustomer.php index 8b3c1414..f1ddce85 100644 --- a/app/Notifications/Customer/DestroyCustomer.php +++ b/app/Notifications/Customer/DestroyCustomer.php @@ -32,6 +32,7 @@ class DestroyCustomer extends Notification $firstname = $notifiable->username; return (new MailMessage()) + ->template('notifications::email-club') ->subject(trans('Supression du compte - :site_name', [ 'site_name' => config('app.name') ])) diff --git a/app/Notifications/Customer/DestroyedCustomer.php b/app/Notifications/Customer/DestroyedCustomer.php index 5415e27d..22535d06 100644 --- a/app/Notifications/Customer/DestroyedCustomer.php +++ b/app/Notifications/Customer/DestroyedCustomer.php @@ -31,6 +31,7 @@ class DestroyedCustomer extends Notification { // phpcs:enable return (new MailMessage()) + ->template('notifications::email-club') ->subject(trans('Votre compte est suprimé - :site_name', [ 'site_name' => config('app.name') ])) diff --git a/app/Notifications/Customer/ResetPassword.php b/app/Notifications/Customer/ResetPassword.php index e4a2e085..1272e9fe 100644 --- a/app/Notifications/Customer/ResetPassword.php +++ b/app/Notifications/Customer/ResetPassword.php @@ -46,6 +46,7 @@ class ResetPassword extends NotificationsResetPassword $firstname = $notifiable->username; return (new MailMessage()) + ->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' => $firstname])) diff --git a/app/Notifications/Customer/UpdateEmail.php b/app/Notifications/Customer/UpdateEmail.php index 485744bc..bd827fbc 100644 --- a/app/Notifications/Customer/UpdateEmail.php +++ b/app/Notifications/Customer/UpdateEmail.php @@ -32,6 +32,7 @@ class UpdateEmail extends Notification $firstname = $notifiable->username; return (new MailMessage()) + ->template('notifications::email-club') ->subject(trans("Mise à jour de l'email - :site_name", [ 'site_name' => config('app.name') ])) diff --git a/app/Notifications/Customer/UpdatePassword.php b/app/Notifications/Customer/UpdatePassword.php index 4c4183b8..3328ef18 100644 --- a/app/Notifications/Customer/UpdatePassword.php +++ b/app/Notifications/Customer/UpdatePassword.php @@ -32,6 +32,7 @@ class UpdatePassword extends Notification $firstname = $notifiable->username; return (new MailMessage()) + ->template('notifications::email-club') ->subject(trans("Mise à jour du mot de passe - :site_name", [ 'site_name' => config('app.name') ])) diff --git a/app/Notifications/Customer/VerifyEmail.php b/app/Notifications/Customer/VerifyEmail.php index 04c4a231..ef546d15 100644 --- a/app/Notifications/Customer/VerifyEmail.php +++ b/app/Notifications/Customer/VerifyEmail.php @@ -45,6 +45,7 @@ class VerifyEmail extends NotificationsVerifyEmail $firstname = $notifiable->username; return (new MailMessage()) + ->template('notifications::email-club') ->subject(trans("Inscription - :site_name", ['site_name' => config('app.name')])) /** @var string $firstname */ ->greeting(trans('Bonjour :name', ['name' => $firstname])) diff --git a/resources/assets/images/mail/club-logo.png b/resources/assets/images/mail/club-logo.png new file mode 100644 index 00000000..697562ac Binary files /dev/null and b/resources/assets/images/mail/club-logo.png differ diff --git a/resources/assets/images/mail/header-left.svg b/resources/assets/images/mail/header-left.svg new file mode 100644 index 00000000..d2eb97e0 --- /dev/null +++ b/resources/assets/images/mail/header-left.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/assets/images/mail/header-right.svg b/resources/assets/images/mail/header-right.svg new file mode 100644 index 00000000..60f78948 --- /dev/null +++ b/resources/assets/images/mail/header-right.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/assets/images/mail/logo-footer.png b/resources/assets/images/mail/logo-footer.png new file mode 100644 index 00000000..9fbe3498 Binary files /dev/null and b/resources/assets/images/mail/logo-footer.png differ diff --git a/resources/assets/images/mail/socials/facebook.png b/resources/assets/images/mail/socials/facebook.png new file mode 100644 index 00000000..2d4034d5 Binary files /dev/null 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 new file mode 100644 index 00000000..7447d71f Binary files /dev/null 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 new file mode 100644 index 00000000..86df5274 Binary files /dev/null and b/resources/assets/images/mail/socials/linkedin.png differ diff --git a/resources/assets/images/mail/socials/youtube.png b/resources/assets/images/mail/socials/youtube.png new file mode 100644 index 00000000..e1d806f8 Binary files /dev/null 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 new file mode 100644 index 00000000..da0490ca --- /dev/null +++ b/resources/sass/club/mail-theme.scss @@ -0,0 +1,375 @@ +@import "utilities/variables"; + +// 1. Include new custom variables +@import "utilities/bootstrap-variables"; + +// 2. Include functions first (so you can manipulate colors, SVGs, calc, etc) +@import "bootstrap/scss/functions"; + +// 3. Include remainder of required Bootstrap stylesheets +@import "bootstrap/scss/variables"; + +// * Mail vars +$outter-bg: $color-hex-white; +$outter-color: $color-hex-dark; +$body-bg: $color-hex-dark-blue; +$body-color: $color-hex-white; +$footer-color: $color-hex-marron; +$footer-bg: $color-hex-creme; + +// * buttons +$button-primary: $color-white; +$button-primary-color: $color-hex-dark-blue; +$button-success: $color-success; +$button-success-color: $color-white; +$button-danger: $color-danger; +$button-danger-color: $color-white; + +// * Laravel mail vendor + +/* Base */ + +body, +body *:not(html, style, br, tr, code) { + position: relative; + box-sizing: border-box; + font-family: + -apple-system, + BlinkMacSystemFont, + "Segoe UI", + Roboto, + Helvetica, + Arial, + sans-serif, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol"; +} + +body { + width: 100% !important; + height: 100%; + padding: 0; + margin: 0; + background-color: $outter-bg; + color: $outter-color; + line-height: 1.4; + text-size-adjust: none; +} + +.mail-tmpl { + p, + ul, + ol, + blockquote { + line-height: 1.4; + text-align: left; + } + + img { + max-width: 100%; + } + + a { + color: #{shade-color($body-color, 10%)}; + + img { + border: 0; + } + } + + /* Typography */ + + h1 { + margin-top: 0; + color: $body-color; + font-size: 20px; + font-weight: bold; + text-align: left; + } + + h2 { + margin-top: 0; + color: $body-color; + font-size: 18px; + font-weight: bold; + text-align: left; + } + + h3 { + margin-top: 0; + color: $body-color; + font-size: 16px; + font-weight: bold; + text-align: left; + } + + p { + margin-top: 0; + color: $body-color; + font-size: 16px; + line-height: 1.5em; + text-align: left; + } + + .sub { + font-size: 12px; + } + + /* Layout */ + + .wrapper { + -premailer-width: 100%; + width: 100%; + padding: 0; + margin: 0; + background-color: $body-color; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + } + + .content { + -premailer-width: 100%; + width: 100%; + padding: 0; + margin: 0; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + } + + /* Header */ + + .header { + padding: 0; + text-align: center; + + .inner-header { + -premailer-width: 570px; + width: 570px; + padding: 25px 0 0; + border-width: 1px; + border-color: #{shade-color($body-bg, 30%)}; + border-radius: 2px; + margin: 0 auto; + background-color: $body-bg; + box-shadow: 0 2px 0 rgb(0 0 150 / 2.5%), 2px 4px 0 rgb(0 0 150 / 1.5%); + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + } + + a { + color: $body-color; + font-size: 19px; + font-weight: bold; + text-decoration: none; + } + } + + + /* Logo */ + + .logo-default { + width: 75px; + height: 75px; + max-height: 75px; + } + + .logo { + width: 200px; + height: 110px; + max-height: 110px; + } + + .logo-club { + width: 145px; + height: 104px; + max-height: 104px; + } + + /* Body */ + + .body { + -premailer-width: 100%; + width: 100%; + padding: 0; + border-top: 1px solid #{$body-color}; + border-bottom: 1px solid #{$body-color}; + margin: 0; + background-color: $body-color; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + + .inner-body { + -premailer-width: 570px; + width: 570px; + padding: 0; + border-width: 1px; + border-color: #{shade-color($body-bg, 30%)}; + border-radius: 2px; + margin: 0 auto; + background-color: $body-bg; + box-shadow: 0 2px 0 rgb(0 0 150 / 2.5%), 2px 4px 0 rgb(0 0 150 / 1.5%); + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + } + } + + + /* Subcopy */ + + .subcopy { + padding-top: 25px; + border-top: 1px solid #{shade-color($body-bg, 30%)}; + margin-top: 25px; + + p { + font-size: 14px; + } + } + + /* Footer */ + + .footer { + -premailer-width: 570px; + width: 570px; + padding: 0; + margin: 0 auto; + background-color: $footer-bg; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + color: $footer-color; + text-align: center; + + a,p,h3 { + color: $footer-color; + } + + h3 { + font-size: 20px; + text-align: center; + } + + a { + text-decoration: underline; + } + + p { + font-size: 12px; + text-align: center; + } + } + + /* Tables */ + + .table { + table { + -premailer-width: 100%; + width: 100%; + margin: 30px auto; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + } + + th { + padding-bottom: 8px; + border-bottom: 1px solid #edeff2; + margin: 0; + } + + td { + padding: 10px 0; + margin: 0; + color: #74787e; + font-size: 15px; + line-height: 18px; + } + } + + .content-cell { + max-width: 100vw; + padding: 32px; + } + + /* Buttons */ + + .action { + -premailer-width: 100%; + width: 100%; + padding: 0; + margin: 30px auto; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + text-align: center; + } + + .button { + display: inline-block; + overflow: hidden; + border-radius: 4px; + color: $body-bg; + text-decoration: none; + text-size-adjust: none; + + &.button-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-green, + &.button-success { + border-top: 8px solid #{$button-success}; + border-right: 18px solid #{$button-success}; + border-bottom: 8px solid #{$button-success}; + border-left: 18px solid #{$button-success}; + background-color: #{$button-success}; + color: #{$button-success-color}; + } + + &.button-red, + &.button-error { + border-top: 8px solid #{$button-danger}; + border-right: 18px solid #{$button-danger}; + border-bottom: 8px solid #{$button-danger}; + border-left: 18px solid #{$button-danger}; + background-color: #{$button-danger}; + color: #{$button-danger-color}; + } + } + + /* Panels */ + + .panel { + border-left: $color-primary solid 4px; + margin: 21px 0; + } + + .panel-content { + padding: 16px; + background-color: $body-color; + color: $body-color; + + p { + color: $body-color; + } + } + + .panel-item { + padding: 0; + + p:last-of-type { + padding-bottom: 0; + margin-bottom: 0; + } + } + + /* Utilities */ + + .break-all { + word-break: break-all; + } +} diff --git a/resources/sass/fo/mail-theme.scss b/resources/sass/fo/mail-theme.scss deleted file mode 100644 index f818313c..00000000 --- a/resources/sass/fo/mail-theme.scss +++ /dev/null @@ -1,313 +0,0 @@ -@use "sass:color"; -@import "utilities/variables"; - -// 1. Include new custom variables -@import "utilities/bootstrap-variables"; - -// 2. Include functions first (so you can manipulate colors, SVGs, calc, etc) -@import "bootstrap/scss/functions"; - -// 3. Include remainder of required Bootstrap stylesheets -@import "bootstrap/scss/variables"; - -// * Laravel mail vendor - -/* Base */ - -body, -body *:not(html, style, br, tr, code) { - position: relative; - box-sizing: border-box; - font-family: - -apple-system, - BlinkMacSystemFont, - "Segoe UI", - Roboto, - Helvetica, - Arial, - sans-serif, - "Apple Color Emoji", - "Segoe UI Emoji", - "Segoe UI Symbol"; -} - -body { - width: 100% !important; - height: 100%; - padding: 0; - margin: 0; - background-color: $body-bg; - color: $body-color; - line-height: 1.4; - text-size-adjust: none; -} - -p, -ul, -ol, -blockquote { - line-height: 1.4; - text-align: left; -} - -img { - max-width: 100%; -} - -a { - color: $link-color; -} - -a img { - border: 0; -} - -/* Typography */ - -h1 { - margin-top: 0; - color: $color-primary; - font-size: 18px; - font-weight: bold; - text-align: left; -} - -h2 { - margin-top: 0; - font-size: 16px; - font-weight: bold; - text-align: left; -} - -h3 { - margin-top: 0; - font-size: 14px; - font-weight: bold; - text-align: left; -} - -p { - margin-top: 0; - font-size: 16px; - line-height: 1.5em; - text-align: left; -} - -.sub { - font-size: 12px; -} - -/* Layout */ - -.wrapper { - -premailer-width: 100%; - width: 100%; - padding: 0; - margin: 0; - background-color: $bg-lightened; - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; -} - -.content { - -premailer-width: 100%; - width: 100%; - padding: 0; - margin: 0; - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; -} - -/* Header */ - -.header { - padding: 25px 0; - text-align: center; -} - -.header a { - color: $color-primary; - font-size: 19px; - font-weight: bold; - text-decoration: none; -} - -/* Logo */ - -.logo { - width: 75px; - height: 75px; - max-height: 75px; -} - -/* Body */ - -.body { - -premailer-width: 100%; - width: 100%; - padding: 0; - border-top: 1px solid #{$bg-lightened}; - border-bottom: 1px solid #{$bg-lightened}; - margin: 0; - background-color: $bg-lightened; - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; -} - -.inner-body { - -premailer-width: 570px; - width: 570px; - padding: 0; - border-width: 1px; - border-color: color.scale($body-bg, $lightness: -30%); - border-radius: 2px; - margin: 0 auto; - background-color: $body-bg; - box-shadow: 0 2px 0 rgb(0 0 150 / 2.5%), 2px 4px 0 rgb(0 0 150 / 1.5%); - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; -} - -/* Subcopy */ - -.subcopy { - padding-top: 25px; - border-top: 1px solid color.scale($body-bg, $lightness: -30%); - margin-top: 25px; -} - -.subcopy p { - font-size: 14px; -} - -/* Footer */ - -.footer { - -premailer-width: 570px; - width: 570px; - padding: 0; - margin: 0 auto; - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; - text-align: center; -} - -.footer p { - color: #b0adc5; - font-size: 12px; - text-align: center; -} - -.footer a { - color: #b0adc5; - text-decoration: underline; -} - -/* Tables */ - -.table table { - -premailer-width: 100%; - width: 100%; - margin: 30px auto; - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; -} - -.table th { - padding-bottom: 8px; - border-bottom: 1px solid #edeff2; - margin: 0; -} - -.table td { - padding: 10px 0; - margin: 0; - color: #74787e; - font-size: 15px; - line-height: 18px; -} - -.content-cell { - max-width: 100vw; - padding: 32px; -} - -/* Buttons */ - -.action { - -premailer-width: 100%; - width: 100%; - padding: 0; - margin: 30px auto; - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; - text-align: center; -} - -.button { - display: inline-block; - overflow: hidden; - border-radius: 4px; - color: $body-bg; - text-decoration: none; - text-size-adjust: none; -} - -.button-blue, -.button-primary { - border-top: 8px solid #{$color-primary}; - border-right: 18px solid #{$color-primary}; - border-bottom: 8px solid #{$color-primary}; - border-left: 18px solid #{$color-primary}; - background-color: #{$color-primary}; -} - -.button-green, -.button-success { - border-top: 8px solid #{$color-success}; - border-right: 18px solid #{$color-success}; - border-bottom: 8px solid #{$color-success}; - border-left: 18px solid #{$color-success}; - background-color: #{$color-success}; -} - -.button-red, -.button-error { - border-top: 8px solid #{$color-danger}; - border-right: 18px solid #{$color-danger}; - border-bottom: 8px solid #{$color-danger}; - border-left: 18px solid #{$color-danger}; - background-color: #{$color-danger}; -} - -/* Panels */ - -.panel { - border-left: $color-primary solid 4px; - margin: 21px 0; -} - -.panel-content { - padding: 16px; - background-color: $bg-lightened; - color: $body-color; -} - -.panel-content p { - color: $body-color; -} - -.panel-item { - padding: 0; -} - -.panel-item p:last-of-type { - padding-bottom: 0; - margin-bottom: 0; -} - -/* Utilities */ - -.break-all { - word-break: break-all; -} diff --git a/resources/ts/utilities/sass-safelist.ts b/resources/ts/utilities/sass-safelist.ts index f2e90681..da178b0f 100644 --- a/resources/ts/utilities/sass-safelist.ts +++ b/resources/ts/utilities/sass-safelist.ts @@ -12,5 +12,7 @@ const sassSafelist: UserDefinedSafelist = [ /^cn-.*/, // Aos /^aos-*/, /^[data-aos^="fade"][data-aos^="fade"]*/, + // * Mail + /^mail-tmpl.*/ ]; export { sassSafelist }; diff --git a/resources/views/vendor/mail/html/button.blade.php b/resources/views/vendor/mail/html/button.blade.php new file mode 100644 index 00000000..d0485eab --- /dev/null +++ b/resources/views/vendor/mail/html/button.blade.php @@ -0,0 +1,21 @@ +@props(['url', 'color' => 'primary', 'align' => 'center']) + + + + + diff --git a/resources/views/vendor/mail/html/footer.blade.php b/resources/views/vendor/mail/html/footer.blade.php new file mode 100644 index 00000000..0e938a7b --- /dev/null +++ b/resources/views/vendor/mail/html/footer.blade.php @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/resources/views/vendor/mail/html/header.blade.php b/resources/views/vendor/mail/html/header.blade.php index 5459f2ea..daf5c21d 100644 --- a/resources/views/vendor/mail/html/header.blade.php +++ b/resources/views/vendor/mail/html/header.blade.php @@ -1,13 +1,21 @@ - - - @if (trim($slot) === 'Laravel') - - @else - - {{ $slot }} - @endif - + + + + + + + + + + diff --git a/resources/views/vendor/mail/html/layout.blade.php b/resources/views/vendor/mail/html/layout.blade.php new file mode 100644 index 00000000..75d764d5 --- /dev/null +++ b/resources/views/vendor/mail/html/layout.blade.php @@ -0,0 +1,60 @@ + + + + + {{ config('app.name') }} + + + + + + + + + + + + + + + + + diff --git a/resources/views/vendor/mail/html/message-club.blade.php b/resources/views/vendor/mail/html/message-club.blade.php new file mode 100644 index 00000000..e3a2fa3a --- /dev/null +++ b/resources/views/vendor/mail/html/message-club.blade.php @@ -0,0 +1,9 @@ +@section('header-content') + @if (trim($slot) === 'Laravel') + Laravel Logo + @else + {{ config('app.name') }} + @endif +@endsection + +@include('vendor.mail.html.message.layout') diff --git a/resources/views/vendor/mail/html/message.blade.php b/resources/views/vendor/mail/html/message.blade.php new file mode 100644 index 00000000..1ee62065 --- /dev/null +++ b/resources/views/vendor/mail/html/message.blade.php @@ -0,0 +1,9 @@ +@section('header-content') + @if (trim($slot) === 'Laravel') + Laravel Logo + @else + + @endif +@endsection + +@include('vendor.mail.html.message.layout') diff --git a/resources/views/vendor/mail/html/message/layout.blade.php b/resources/views/vendor/mail/html/message/layout.blade.php new file mode 100644 index 00000000..9d6326ec --- /dev/null +++ b/resources/views/vendor/mail/html/message/layout.blade.php @@ -0,0 +1,48 @@ + + {{-- Header --}} + + + @yield('header-content') + + + + {{-- Body --}} + {{ $slot }} + + {{-- Subcopy --}} + @isset($subcopy) + + + {{ $subcopy }} + + + @endisset + + {{-- Footer --}} + + + +

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

+ {!! 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' => '', + ], + ), + ) !!} + {{ __('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'), + ]) }} +
+
+
diff --git a/resources/views/vendor/mail/html/panel.blade.php b/resources/views/vendor/mail/html/panel.blade.php new file mode 100644 index 00000000..1e414b44 --- /dev/null +++ b/resources/views/vendor/mail/html/panel.blade.php @@ -0,0 +1,13 @@ + + + + + diff --git a/resources/views/vendor/mail/html/subcopy.blade.php b/resources/views/vendor/mail/html/subcopy.blade.php new file mode 100644 index 00000000..3e9fba7e --- /dev/null +++ b/resources/views/vendor/mail/html/subcopy.blade.php @@ -0,0 +1,7 @@ + + + + + diff --git a/resources/views/vendor/mail/html/table.blade.php b/resources/views/vendor/mail/html/table.blade.php new file mode 100644 index 00000000..b3bb3c8e --- /dev/null +++ b/resources/views/vendor/mail/html/table.blade.php @@ -0,0 +1,3 @@ +
+ {{ Illuminate\Mail\Markdown::parse($slot) }} +
diff --git a/resources/views/vendor/notifications/email-club.blade.php b/resources/views/vendor/notifications/email-club.blade.php new file mode 100644 index 00000000..4527c431 --- /dev/null +++ b/resources/views/vendor/notifications/email-club.blade.php @@ -0,0 +1,58 @@ + +{{-- Greeting --}} +@if (! empty($greeting)) +# {{ $greeting }} +@else +@if ($level === 'error') +# @lang('Whoops!') +@else +# @lang('Hello!') +@endif +@endif + +{{-- Intro Lines --}} +@foreach ($introLines as $line) +{{ $line }} + +@endforeach + +{{-- Action Button --}} +@isset($actionText) + $level, + default => 'primary', + }; +?> + +{{ $actionText }} + +@endisset + +{{-- Outro Lines --}} +@foreach ($outroLines as $line) +{{ $line }} + +@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 new file mode 100644 index 00000000..678e2591 --- /dev/null +++ b/resources/views/vendor/notifications/email.blade.php @@ -0,0 +1,58 @@ + +{{-- Greeting --}} +@if (! empty($greeting)) +# {{ $greeting }} +@else +@if ($level === 'error') +# @lang('Whoops!') +@else +# @lang('Hello!') +@endif +@endif + +{{-- Intro Lines --}} +@foreach ($introLines as $line) +{{ $line }} + +@endforeach + +{{-- Action Button --}} +@isset($actionText) + $level, + default => 'primary', + }; +?> + +{{ $actionText }} + +@endisset + +{{-- Outro Lines --}} +@foreach ($outroLines as $line) +{{ $line }} + +@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/vite.config.ts b/vite.config.ts index 02f61076..b5525ca4 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -17,7 +17,7 @@ const env = loadEnv("r", process.cwd(), ""); const purgePlugin = purge({ templates: ["blade"], - paths: ["resources/{js,ts,views}/**/*.{ts,js,vue}"], + paths: ["resources/{js,ts,views}/**/*.{ts,js,vue,blade.php}"], safelist: sassSafelist, }); @@ -95,9 +95,9 @@ export default defineConfig({ input: [ "resources/sass/bo/bo.scss", "resources/ts/bo/bo.ts", - "resources/sass/fo/mail-theme.scss", "resources/sass/fo/fo.scss", "resources/ts/fo/fo.ts", + "resources/sass/club/mail-theme.scss", "resources/sass/club/club.scss", "resources/ts/club/club.ts", ],