Initial commit
This commit is contained in:
140
resources/views/emails/administration/user-deleted.blade.php
Normal file
140
resources/views/emails/administration/user-deleted.blade.php
Normal file
@@ -0,0 +1,140 @@
|
||||
@component('emails.layouts.html', ['subject' => __('Your profile has been deleted')])
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Hello :name,', ['name' => $full_name ?? $name]) }}
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{!! __('Your :appname user profile has been deleted.', ['appname' => config('app.name')]) !!}
|
||||
</p>
|
||||
|
||||
{{-- Deletion Reason (only shown for auto-deletions) --}}
|
||||
@if(isset($autoDeleted) && $autoDeleted)
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; padding: 0; line-height: 1.5;">
|
||||
<strong>{{ __('Reason for deletion:') }}</strong>
|
||||
</p>
|
||||
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Your profile was automatically deleted due to prolonged inactivity.') }}
|
||||
@if(isset($daysNotLoggedIn) && isset($totalDaysToDelete))
|
||||
{{ __('Profiles are deleted after :days days of no login activity.', ['days' => round($totalDaysToDelete)]) }}
|
||||
{{ __('Your last login was more than :days days ago.', ['days' => round($daysNotLoggedIn)]) }}
|
||||
@endif
|
||||
</p>
|
||||
@endif
|
||||
|
||||
{{-- Account Details Table --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; padding: 0; line-height: 1.5;">
|
||||
<strong>{{ __('Account Details:') }}</strong>
|
||||
</p>
|
||||
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td width="35%" style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('Username:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $name }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="35%" style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('Full name:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $full_name }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="35%" style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('Email:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $deletedMail }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="35%" style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
<strong>{{ __('Deleted at:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
{{ $time }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Balance handling information --}}
|
||||
@if(isset($totalBalance) && $totalBalance != 0)
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 20px 0 10px 0; padding: 0; line-height: 1.5;">
|
||||
<strong>{{ __('Balance handling:') }}</strong>
|
||||
</p>
|
||||
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td width="35%" style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('Total balance:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ tbFormat($totalBalance) }}
|
||||
</td>
|
||||
</tr>
|
||||
@if($balanceHandlingOption === 'donate' && isset($donationOrganizationName))
|
||||
<tr>
|
||||
<td width="35%" style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('Action:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ __('Donated to organization') }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="35%" style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('Organization:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $donationOrganizationName }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="35%" style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
<strong>{{ __('Account:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
{{ __('messages.' . $donationAccountName . '_account') }}
|
||||
</td>
|
||||
</tr>
|
||||
@else
|
||||
<tr>
|
||||
<td width="35%" style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
<strong>{{ __('Action:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
{{ __('Balance deleted') }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- Deletion information --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('All your accounts, personal profile data, photos, or other uploaded files and messages will be permanently deleted. Historical data such as transaction descriptions and messages you shared with other :appname users will be anonymized. We did not share any of your data with third parties.', ['appname' => config('app.name')]) }}
|
||||
</p>
|
||||
|
||||
{{-- Closing message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 30px 0; padding: 0; line-height: 1.5;">
|
||||
{!! __('On behalf of the :appname Team, we hope to see you another time!', ['appname' => config('app.name')]) !!}
|
||||
</p>
|
||||
|
||||
{{-- Footer note --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 20px 0 0 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td style="padding: 15px; background-color: #f9fafb; border-top: 1px solid #e5e7eb; font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #6b7280; line-height: 1.5;">
|
||||
{{ __('This is an automated notification about your account deletion. This action will become permanent after :days days.', ['days' => $gracePeriodDays ?? 30]) }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@endcomponent
|
||||
55
resources/views/emails/auth/reset-password.blade.php
Normal file
55
resources/views/emails/auth/reset-password.blade.php
Normal file
@@ -0,0 +1,55 @@
|
||||
@component('emails.layouts.html', ['subject' => $subject, 'locale' => $locale ?? config('app.fallback_locale')])
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; line-height: 1.6;">
|
||||
{{ trans('Hello :name,', ['name' => $notifiable->full_name ?? $notifiable->name], $locale ?? config('app.fallback_locale')) }}
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; line-height: 1.6;">
|
||||
{{ trans('You are receiving this email because we received a password reset request for your account.', [], $locale ?? config('app.fallback_locale')) }}
|
||||
</p>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 30px 0; line-height: 1.6;">
|
||||
{{ trans('Click the button below to reset your password. This link will expire in :count minutes.', ['count' => $expireMinutes], $locale ?? config('app.fallback_locale')) }}
|
||||
</p>
|
||||
|
||||
{{-- Button --}}
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 30px auto;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $resetUrl }}" style="height:44px;v-text-anchor:middle;width:220px;" arcsize="14%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $resetUrl }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: block; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; line-height: 44px; text-align: center; text-decoration: none; width: 220px; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
{{ trans('Reset Password', [], $locale ?? config('app.fallback_locale')) }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Alternative link --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 30px 0 0 0; line-height: 1.6; text-align: left;">
|
||||
{{ trans("If the button doesn't work, copy and paste this link into your browser:", [], $locale ?? config('app.fallback_locale')) }}
|
||||
</p>
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 12px; color: {{ theme_color('text.primary') }}; margin: 10px 0 30px 0; line-height: 1.6; text-align: left; word-break: break-all;">
|
||||
<a href="{{ $resetUrl }}" style="color: {{ theme_color('primary.600') }}; text-decoration: underline;">{{ $resetUrl }}</a>
|
||||
</p>
|
||||
|
||||
{{-- Security notice --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 30px 0 0 0; line-height: 1.6;">
|
||||
{{ trans('If you did not request this password reset, no further action is required.', [], $locale ?? config('app.fallback_locale')) }}
|
||||
</p>
|
||||
|
||||
{{-- Closing --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 30px 0 0 0; line-height: 1.6;">
|
||||
{{ timebank_config('mail.platform_sign_off_signature.' . ($locale ?? config('app.fallback_locale'))) ?? timebank_config('mail.platform_sign_off_signature.en', 'See you around!') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
46
resources/views/emails/calls/blocked.blade.php
Normal file
46
resources/views/emails/calls/blocked.blade.php
Normal file
@@ -0,0 +1,46 @@
|
||||
@component('emails.layouts.html', ['subject' => __('Your call has been blocked')])
|
||||
|
||||
{{-- Warning Banner --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse; background-color: #FEF2F2; border-left: 4px solid #DC2626;">
|
||||
<tr>
|
||||
<td style="padding: 20px; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif;">
|
||||
<h1 style="color: #991B1B; margin: 0 0 10px 0; font-size: 24px; font-weight: bold;">{{ __('Your call has been blocked') }}</h1>
|
||||
<p style="font-size: 16px; color: #991B1B; margin: 0;">
|
||||
{{ $callTitle }}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Dear') }} {{ $callable->name }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Your call ":title" has been blocked by the platform administrators for policy review and is no longer visible.', ['title' => $callTitle]) }}
|
||||
</p>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 30px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('If you believe this was done in error, please contact our support team.') }}
|
||||
</p>
|
||||
|
||||
{{-- CTA button --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 30px 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td align="center" style="padding: 0;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 8px; background-color: #111827;">
|
||||
<a href="mailto:{{ $supportEmail }}" style="display: inline-block; padding: 16px 40px; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 18px; font-weight: bold; color: #ffffff; text-decoration: none; border-radius: 8px; mso-padding-alt: 0;">
|
||||
{{ __('Contact support') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@endcomponent
|
||||
50
resources/views/emails/calls/expired.blade.php
Normal file
50
resources/views/emails/calls/expired.blade.php
Normal file
@@ -0,0 +1,50 @@
|
||||
@component('emails.layouts.html', ['subject' => __('Your call has expired')])
|
||||
|
||||
{{-- Warning Banner --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse; background-color: #F9FAFB; border-left: 4px solid {{ theme_color('text.primary') }};">
|
||||
<tr>
|
||||
<td style="padding: 20px; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif;">
|
||||
<h1 style="color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; font-size: 24px; font-weight: bold;">{{ __('Your call has expired') }}</h1>
|
||||
<p style="font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0;">
|
||||
{{ $callTitle }}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Dear') }} {{ $callable->name }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Your call ":title" has expired and is no longer visible on the platform.', ['title' => $callTitle]) }}
|
||||
</p>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 30px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('You can create a new call or extend the expiry date on your calls page.') }}
|
||||
</p>
|
||||
|
||||
{{-- CTA button --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 30px 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td align="center" style="padding: 0;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 8px; background-color: #111827;">
|
||||
<a href="{{ $loginUrl }}" style="display: inline-block; padding: 16px 40px; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 18px; font-weight: bold; color: #ffffff; text-decoration: none; border-radius: 8px; mso-padding-alt: 0;">
|
||||
{{ __('Manage your calls') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 14px; color: #6B7280; margin: 15px 0 30px 0; padding: 0; line-height: 1.5; text-align: center;">
|
||||
{{ __('Click the button above to log in and manage your calls.') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
50
resources/views/emails/calls/expiring.blade.php
Normal file
50
resources/views/emails/calls/expiring.blade.php
Normal file
@@ -0,0 +1,50 @@
|
||||
@component('emails.layouts.html', ['subject' => __('Your call expires in :days days', ['days' => $daysRemaining])])
|
||||
|
||||
{{-- Warning Banner --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse; background-color: #F9FAFB; border-left: 4px solid {{ theme_color('text.primary') }};">
|
||||
<tr>
|
||||
<td style="padding: 20px; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif;">
|
||||
<h1 style="color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; font-size: 24px; font-weight: bold;">{{ __('Your call expires in :days days', ['days' => $daysRemaining]) }}</h1>
|
||||
<p style="font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0;">
|
||||
{{ $callTitle }}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Dear') }} {{ $callable->name }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Your call ":title" expires in :days days.', ['title' => $callTitle, 'days' => $daysRemaining]) }}
|
||||
</p>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 30px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Renew it before it is removed from the platform.') }}
|
||||
</p>
|
||||
|
||||
{{-- CTA button --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 30px 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td align="center" style="padding: 0;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 8px; background-color: #111827;">
|
||||
<a href="{{ $loginUrl }}" style="display: inline-block; padding: 16px 40px; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 18px; font-weight: bold; color: #ffffff; text-decoration: none; border-radius: 8px; mso-padding-alt: 0;">
|
||||
{{ __('Manage your calls') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 14px; color: #6B7280; margin: 15px 0 30px 0; padding: 0; line-height: 1.5; text-align: center;">
|
||||
{{ __('Click the button above to log in and manage your calls.') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
99
resources/views/emails/contact-form/copy.blade.php
Normal file
99
resources/views/emails/contact-form/copy.blade.php
Normal file
@@ -0,0 +1,99 @@
|
||||
@component('emails.layouts.html', ['locale' => app()->getLocale(), 'subject' => match($contact['context'] ?? 'contact') {
|
||||
'report-issue' => __('Copy of Your Issue Report'),
|
||||
'report-error' => __('Copy of Your Error Report'),
|
||||
'delete-profile' => __('Copy of Your Profile Deletion Request'),
|
||||
default => __('Copy of Your Contact Form Submission'),
|
||||
}])
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Hello') }} {{ explode(' ', $contact['full_name'])[0] }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('This is a copy of your :type submitted to :site:', [
|
||||
'type' => match($contact['context'] ?? 'contact') {
|
||||
'report-issue' => __('issue report'),
|
||||
'report-error' => __('error report'),
|
||||
'delete-profile' => __('profile deletion request'),
|
||||
default => __('message'),
|
||||
},
|
||||
'site' => config('app.name')
|
||||
]) }}
|
||||
</p>
|
||||
|
||||
{{-- Contact Information --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: {{ theme_color('text.primary') }}; width: 100px;">
|
||||
{{ __('Your name') }}:
|
||||
</td>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }};">
|
||||
{{ $contact['name'] == $contact['full_name'] ? $contact['name'] : $contact['name'] . ' (' . $contact['full_name'] .')' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: {{ theme_color('text.primary') }};">
|
||||
{{ __('Your email') }}:
|
||||
</td>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }};">
|
||||
{{ $contact['email'] }}
|
||||
</td>
|
||||
</tr>
|
||||
@if(!empty($contact['subject']))
|
||||
<tr>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: {{ theme_color('text.primary') }};">
|
||||
{{ __('Subject') }}:
|
||||
</td>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }};">
|
||||
{{ $contact['subject'] }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if(!empty($contact['url']))
|
||||
<tr>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: {{ theme_color('text.primary') }};">
|
||||
{{ __('Page URL') }}:
|
||||
</td>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; word-break: break-all;">
|
||||
{{ $contact['url'] }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
|
||||
{{-- Message content panel --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse; background-color: {{ theme_color('text.surface') }}; border-left: 4px solid {{ theme_color('text.secondary') }};">
|
||||
<tr>
|
||||
<td style="padding: 15px 20px;">
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; color: {{ theme_color('text.secondary') }}; margin: 0 0 10px 0; padding: 0;">
|
||||
{{ __('Your message') }}:
|
||||
</p>
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.secondary') }}; margin: 0; padding: 0; line-height: 1.5; white-space: pre-wrap;">{{ $contact['message'] }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Confirmation message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
@if(($contact['context'] ?? 'contact') === 'delete-profile')
|
||||
{{ __('We have received your profile deletion request and will review it according to our data retention policies. You will be contacted regarding the next steps.') }}
|
||||
@else
|
||||
{{ __('We have received your message and will get back to you as soon as possible.') }}
|
||||
@endif
|
||||
</p>
|
||||
|
||||
{{-- Closing --}}
|
||||
@if(!in_array(($contact['context'] ?? 'contact'), ['delete-profile', 'report-error', 'report-issue']))
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 30px 0 30px 0; padding: 0; line-height: 1.5;">
|
||||
{{ timebank_config('mail.platform_sign_off_signature.' . app()->getLocale()) ?? timebank_config('mail.platform_sign_off_signature.en', 'See you around!') }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
{{-- Subcopy --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: {{ theme_color('text.muted') }}; margin: 30px 0 10px 0; padding: 0; line-height: 1.5; border-top: 1px solid #e5e7eb; padding-top: 20px;">
|
||||
{{ __('This is an automated confirmation that your message was successfully submitted through the contact form.') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
117
resources/views/emails/contact-form/email.blade.php
Normal file
117
resources/views/emails/contact-form/email.blade.php
Normal file
@@ -0,0 +1,117 @@
|
||||
@component('emails.layouts.html', ['locale' => app()->getLocale(), 'subject' => match($contact['context'] ?? 'contact') {
|
||||
'report-issue' => __('Issue Report'),
|
||||
'report-error' => __('Error Report'),
|
||||
'delete-profile' => __('Profile Deletion Request'),
|
||||
default => __('Contact Form Submission'),
|
||||
}])
|
||||
|
||||
{{-- Title --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: bold; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.4;">
|
||||
{{ match($contact['context'] ?? 'contact') {
|
||||
'report-issue' => __('Issue Report'),
|
||||
'report-error' => __('Error Report'),
|
||||
'delete-profile' => __('Profile Deletion Request'),
|
||||
default => __('Contact Form Submission'),
|
||||
} }}
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('You have received a new :type from :site:', [
|
||||
'type' => match($contact['context'] ?? 'contact') {
|
||||
'report-issue' => __('issue report'),
|
||||
'report-error' => __('error report'),
|
||||
'delete-profile' => __('profile deletion request'),
|
||||
default => __('contact form submission'),
|
||||
},
|
||||
'site' => config('app.name')
|
||||
]) }}
|
||||
</p>
|
||||
|
||||
{{-- Contact Information --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: {{ theme_color('text.primary') }}; width: 100px;">
|
||||
{{ __('From') }}:
|
||||
</td>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }};">
|
||||
{{ $contact['name'] == $contact['full_name'] ? $contact['name'] : $contact['name'] . ' (' . $contact['full_name'] .')' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: {{ theme_color('text.primary') }};">
|
||||
{{ __('Email') }}:
|
||||
</td>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }};">
|
||||
{{ $contact['email'] }}
|
||||
</td>
|
||||
</tr>
|
||||
@if(!empty($contact['subject']))
|
||||
<tr>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: {{ theme_color('text.primary') }};">
|
||||
{{ __('Subject') }}:
|
||||
</td>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }};">
|
||||
{{ $contact['subject'] }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if(!empty($contact['url']))
|
||||
<tr>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: {{ theme_color('text.primary') }};">
|
||||
{{ __('Page URL') }}:
|
||||
</td>
|
||||
<td style="padding: 5px 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; word-break: break-all;">
|
||||
{{ $contact['url'] }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
|
||||
{{-- Message content panel --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse; background-color: {{ theme_color('text.surface') }}; border-left: 4px solid {{ theme_color('text.secondary') }};">
|
||||
<tr>
|
||||
<td style="padding: 15px 20px;">
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; color: {{ theme_color('text.secondary') }}; margin: 0 0 10px 0; padding: 0;">
|
||||
{{ __('Message') }}:
|
||||
</p>
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.secondary') }}; margin: 0; padding: 0; line-height: 1.5; white-space: pre-wrap;">{{ $contact['message'] }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Action Required for delete-profile --}}
|
||||
@if(($contact['context'] ?? 'contact') === 'delete-profile')
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 15px; background-color: #fef3c7; border-left: 4px solid #f59e0b; line-height: 1.5;">
|
||||
<strong>{{ __('Action Required') }}:</strong> {{ __('This user has requested profile deletion. Please review and process according to your data retention policies.') }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
{{-- View Profile Button --}}
|
||||
@if(!empty($contact['is_authenticated']) && !empty($contact['profile_url']))
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 10px auto 20px auto;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $contact['profile_url'] }}" style="height:40px;v-text-anchor:middle;width:200px;" arcsize="15%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $contact['profile_url'] }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: block; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 40px; text-align: center; text-decoration: none; width: 200px; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
{{ __('View :name', ['name' => $contact['full_name']]) }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- Subcopy --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: {{ theme_color('text.muted') }}; margin: 30px 0 10px 0; padding: 0; line-height: 1.5; border-top: 1px solid #e5e7eb; padding-top: 20px;">
|
||||
{{ __('This is an automated message from the contact form on :site.', ['site' => config('app.name')]) }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
97
resources/views/emails/inactive-profiles/warning-1.blade.php
Normal file
97
resources/views/emails/inactive-profiles/warning-1.blade.php
Normal file
@@ -0,0 +1,97 @@
|
||||
@component('emails.layouts.html', ['subject' => __('Warning: Your profile will be deleted soon')])
|
||||
|
||||
{{-- Warning Banner --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse; background-color: #F9FAFB; border-left: 4px solid {{ theme_color('text.primary') }};">
|
||||
<tr>
|
||||
<td style="padding: 20px; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif;">
|
||||
<h1 style="color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; font-size: 24px; font-weight: bold;">{{ __('Inactive profile warning') }}</h1>
|
||||
<p style="font-size: 18px; font-weight: bold; color: {{ theme_color('text.primary') }}; margin: 0;">
|
||||
{{ __('Your profile will be deleted in') }}: <span style="font-size: 22px;">{{ $timeRemaining }}</span>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Dear') }} {{ $profile->name }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Your profile has been inactive for :days days. We will automatically delete your profile if you do not log in again soon.', ['days' => round($daysSinceLogin)]) }}
|
||||
</p>
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{__('This measure maintains an active platform for our community and protects your privacy by removing outdated personal information.') }}
|
||||
</p>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5; font-weight: bold;">
|
||||
{{ __('This action is irreversible. We will permanently delete all your personal data. Your past transactions will remain visible to other users but will be fully anonymized.') }}
|
||||
</p>
|
||||
|
||||
@if(!empty($accounts))
|
||||
{{-- Account Balances Table --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; padding: 0; line-height: 1.5;">
|
||||
<strong>{{ __('Your accounts') }}</strong>
|
||||
</p>
|
||||
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse; background-color: #F9FAFB; border: 1px solid #E5E7EB;">
|
||||
<tr>
|
||||
<td style="padding: 15px;">
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse;">
|
||||
@foreach($accounts as $account)
|
||||
<tr style="border-bottom: 1px solid #E5E7EB;">
|
||||
<td style="padding: 10px 0; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 14px; color: #6B7280;">
|
||||
{{ $account['name'] }}
|
||||
</td>
|
||||
<td style="padding: 10px 0; text-align: right; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 500; color: {{ theme_color('text.primary') }};">
|
||||
{{ $account['balanceFormatted'] }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
<tr style="border-top: 2px solid #9CA3AF;">
|
||||
<td style="padding: 15px 0 5px 0; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: #374151;">
|
||||
{{ __('Total balance') }}
|
||||
</td>
|
||||
<td style="padding: 15px 0 5px 0; text-align: right; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 18px; font-weight: bold; color: {{ theme_color('text.primary') }};">
|
||||
{{ tbFormat($totalBalance) }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- Balance deletion warning --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('All your account balances will be permanently deleted.') }}
|
||||
</p>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 30px 0; padding: 0; line-height: 1.5; font-weight: bold;">
|
||||
{{ __('Balance to be deleted') }}: {{ tbFormat($totalBalance) }}
|
||||
</p>
|
||||
|
||||
{{-- Call to action button --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 30px 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td align="center" style="padding: 0;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 8px; background-color: #111827;">
|
||||
<a href="{{ $loginUrl }}" style="display: inline-block; padding: 16px 40px; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 18px; font-weight: bold; color: #ffffff; text-decoration: none; border-radius: 8px; mso-padding-alt: 0;">
|
||||
{{ __('Activate profile') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 14px; color: #6B7280; margin: 15px 0 30px 0; padding: 0; line-height: 1.5; text-align: center;">
|
||||
{{ __('Click the button above to log in and prevent your profile from being deleted.') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
97
resources/views/emails/inactive-profiles/warning-2.blade.php
Normal file
97
resources/views/emails/inactive-profiles/warning-2.blade.php
Normal file
@@ -0,0 +1,97 @@
|
||||
@component('emails.layouts.html', ['subject' => __('Urgent: Your profile will be deleted soon')])
|
||||
|
||||
{{-- Warning Banner --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse; background-color: #F9FAFB; border-left: 4px solid {{ theme_color('text.primary') }};">
|
||||
<tr>
|
||||
<td style="padding: 20px; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif;">
|
||||
<h1 style="color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; font-size: 24px; font-weight: bold;">{{ __('Urgent: Inactive profile warning') }}</h1>
|
||||
<p style="font-size: 18px; font-weight: bold; color: {{ theme_color('text.primary') }}; margin: 0;">
|
||||
{{ __('Your profile will be deleted in') }}: <span style="font-size: 22px;">{{ $timeRemaining }}</span>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Dear') }} {{ $profile->name }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('This is your second warning. Your profile has been inactive for :days days and will be automatically deleted if you do not log in soon.', ['days' => round($daysSinceLogin)]) }}
|
||||
</p>
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{__('This measure maintains an active platform for our community and protects your privacy by removing outdated personal information.') }}
|
||||
</p>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5; font-weight: bold;">
|
||||
{{ __('This action is irreversible. We will permanently delete all your personal data. Your past transactions will remain visible to other users but will be fully anonymized.') }}
|
||||
</p>
|
||||
|
||||
@if(!empty($accounts))
|
||||
{{-- Account Balances Table --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; padding: 0; line-height: 1.5;">
|
||||
<strong>{{ __('Your accounts') }}</strong>
|
||||
</p>
|
||||
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse; background-color: #F9FAFB; border: 1px solid #E5E7EB;">
|
||||
<tr>
|
||||
<td style="padding: 15px;">
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse;">
|
||||
@foreach($accounts as $account)
|
||||
<tr style="border-bottom: 1px solid #E5E7EB;">
|
||||
<td style="padding: 10px 0; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 14px; color: #6B7280;">
|
||||
{{ $account['name'] }}
|
||||
</td>
|
||||
<td style="padding: 10px 0; text-align: right; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 500; color: {{ theme_color('text.primary') }};">
|
||||
{{ $account['balanceFormatted'] }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
<tr style="border-top: 2px solid #9CA3AF;">
|
||||
<td style="padding: 15px 0 5px 0; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: #374151;">
|
||||
{{ __('Total balance') }}
|
||||
</td>
|
||||
<td style="padding: 15px 0 5px 0; text-align: right; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 18px; font-weight: bold; color: {{ theme_color('text.primary') }};">
|
||||
{{ tbFormat($totalBalance) }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- Balance deletion warning --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('All your account balances will be permanently deleted.') }}
|
||||
</p>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 30px 0; padding: 0; line-height: 1.5; font-weight: bold;">
|
||||
{{ __('Balance to be deleted') }}: {{ tbFormat($totalBalance) }}
|
||||
</p>
|
||||
|
||||
{{-- Call to action button --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 30px 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td align="center" style="padding: 0;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 8px; background-color: #111827;">
|
||||
<a href="{{ $loginUrl }}" style="display: inline-block; padding: 16px 40px; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 18px; font-weight: bold; color: #ffffff; text-decoration: none; border-radius: 8px; mso-padding-alt: 0;">
|
||||
{{ __('Activate profile') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 14px; color: #6B7280; margin: 15px 0 30px 0; padding: 0; line-height: 1.5; text-align: center;">
|
||||
{{ __('Click the button above to log in and prevent your profile from being deleted.') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
@@ -0,0 +1,98 @@
|
||||
@component('emails.layouts.html', ['subject' => __('Final warning: Your profile will be deleted very soon')])
|
||||
|
||||
{{-- Warning Banner --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse; background-color: #F9FAFB; border-left: 4px solid {{ theme_color('text.primary') }};">
|
||||
<tr>
|
||||
<td style="padding: 20px; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif;">
|
||||
<h1 style="color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; font-size: 24px; font-weight: bold;">{{ __('Final warning: Inactive profile removal') }}</h1>
|
||||
<p style="font-size: 18px; font-weight: bold; color: {{ theme_color('text.primary') }}; margin: 0;">
|
||||
{{ __('Your profile will be deleted in') }}: <span style="font-size: 22px;">{{ $timeRemaining }}</span>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Dear') }} {{ $profile->name }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('This is our final warning. Your profile has been inactive for :days days and will be automatically deleted very soon. This is your last chance to prevent deletion.', ['days' => round($daysSinceLogin)]) }}
|
||||
</p>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{__('This measure maintains an active platform for our community and protects your privacy by removing outdated personal information.') }}
|
||||
</p>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5; font-weight: bold;">
|
||||
{{ __('This action is irreversible. We will permanently delete all your personal data. Your past transactions will remain visible to other users but will be fully anonymized.') }}
|
||||
</p>
|
||||
|
||||
@if(!empty($accounts))
|
||||
{{-- Account Balances Table --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; padding: 0; line-height: 1.5;">
|
||||
<strong>{{ __('Your accounts') }}</strong>
|
||||
</p>
|
||||
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse; background-color: #F9FAFB; border: 1px solid #E5E7EB;">
|
||||
<tr>
|
||||
<td style="padding: 15px;">
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse;">
|
||||
@foreach($accounts as $account)
|
||||
<tr style="border-bottom: 1px solid #E5E7EB;">
|
||||
<td style="padding: 10px 0; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 14px; color: #6B7280;">
|
||||
{{ $account['name'] }}
|
||||
</td>
|
||||
<td style="padding: 10px 0; text-align: right; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 500; color: {{ theme_color('text.primary') }};">
|
||||
{{ $account['balanceFormatted'] }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
<tr style="border-top: 2px solid #9CA3AF;">
|
||||
<td style="padding: 15px 0 5px 0; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: #374151;">
|
||||
{{ __('Total balance') }}
|
||||
</td>
|
||||
<td style="padding: 15px 0 5px 0; text-align: right; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 18px; font-weight: bold; color: {{ theme_color('text.primary') }};">
|
||||
{{ tbFormat($totalBalance) }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- Balance deletion warning --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('All your account balances will be permanently deleted.') }}
|
||||
</p>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 30px 0; padding: 0; line-height: 1.5; font-weight: bold;">
|
||||
{{ __('Balance to be deleted') }}: {{ tbFormat($totalBalance) }}
|
||||
</p>
|
||||
|
||||
{{-- Call to action button --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 30px 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td align="center" style="padding: 0;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 8px; background-color: #111827;">
|
||||
<a href="{{ $loginUrl }}" style="display: inline-block; padding: 16px 40px; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 18px; font-weight: bold; color: #ffffff; text-decoration: none; border-radius: 8px; mso-padding-alt: 0;">
|
||||
{{ __('Activate Profile Now') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 14px; color: #6B7280; margin: 15px 0 30px 0; padding: 0; line-height: 1.5; text-align: center;">
|
||||
{{ __('Click the button above to log in and prevent your profile from being deleted.') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
143
resources/views/emails/layouts/html.blade.php
Normal file
143
resources/views/emails/layouts/html.blade.php
Normal file
@@ -0,0 +1,143 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{ $locale ?? config('app.locale') }}" lang="{{ $locale ?? config('app.locale') }}">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
<title>{{ $subject ?? config('app.name') }}</title>
|
||||
<!--[if mso]>
|
||||
<style type="text/css">
|
||||
body, table, td, p, a, li {
|
||||
font-family: Arial, sans-serif !important;
|
||||
}
|
||||
</style>
|
||||
<![endif]-->
|
||||
<style type="text/css">
|
||||
/* Progressive Enhancement for Mobile */
|
||||
@media only screen and (max-width: 600px) {
|
||||
.email-container {
|
||||
width: 100% !important;
|
||||
}
|
||||
.email-content {
|
||||
padding: 20px 15px !important;
|
||||
}
|
||||
.mobile-padding {
|
||||
padding-left: 8px !important;
|
||||
padding-right: 8px !important;
|
||||
}
|
||||
.mobile-button {
|
||||
width: 100% !important;
|
||||
max-width: 280px !important;
|
||||
min-width: 200px !important;
|
||||
}
|
||||
.mobile-button a {
|
||||
width: 100% !important;
|
||||
max-width: 280px !important;
|
||||
min-width: 200px !important;
|
||||
display: block !important;
|
||||
}
|
||||
.mobile-text {
|
||||
font-size: 14px !important;
|
||||
}
|
||||
.mobile-text-small {
|
||||
font-size: 13px !important;
|
||||
}
|
||||
.mobile-title {
|
||||
font-size: 18px !important;
|
||||
}
|
||||
/* Reduce padding for outer wrapper */
|
||||
.outer-padding {
|
||||
padding: 20px 10px 0 10px !important;
|
||||
}
|
||||
/* Make tables responsive */
|
||||
table[role="presentation"] {
|
||||
width: 100% !important;
|
||||
}
|
||||
/* Adjust logo padding */
|
||||
.logo-cell {
|
||||
padding: 0 0 10px 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Extra small screens (300px) */
|
||||
@media only screen and (max-width: 360px) {
|
||||
.email-content {
|
||||
padding: 15px 10px !important;
|
||||
}
|
||||
.mobile-padding {
|
||||
padding-left: 5px !important;
|
||||
padding-right: 5px !important;
|
||||
}
|
||||
.mobile-button {
|
||||
width: 60% !important;
|
||||
max-width: 180px !important;
|
||||
min-width: auto !important;
|
||||
margin-left: auto !important;
|
||||
margin-right: auto !important;
|
||||
}
|
||||
.mobile-button a {
|
||||
width: 100% !important;
|
||||
max-width: 100% !important;
|
||||
min-width: auto !important;
|
||||
padding-left: 5px !important;
|
||||
padding-right: 5px !important;
|
||||
font-size: 13px !important;
|
||||
}
|
||||
.outer-padding {
|
||||
padding: 10px 5px 0 5px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<!--[if !mso]><!-->
|
||||
<style type="text/css">
|
||||
/* Client-specific Styles - These won't be inlined */
|
||||
body {
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
</style>
|
||||
<!--<![endif]-->
|
||||
</head>
|
||||
<body style="margin: 0; padding: 0; width: 100%; background-color: #f4f4f4; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif;">
|
||||
<table role="presentation" class="email-wrapper" width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color: #f4f4f4; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt;">
|
||||
<tr>
|
||||
<td align="center" class="outer-padding" style="padding: 40px 20px 0 20px; mso-table-lspace: 0pt; mso-table-rspace: 0pt;">
|
||||
<!-- Header -->
|
||||
<table role="presentation" width="600" cellpadding="0" cellspacing="0" border="0" style="max-width: 600px; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt;">
|
||||
<tr>
|
||||
<td align="center" class="logo-cell" style="padding: 0 0 15px 0; mso-table-lspace: 0pt; mso-table-rspace: 0pt;">
|
||||
<img src="{{ asset('storage/app-images/app_mail_logo.png') }}" alt="{{ config('app.name') }}" width="120" style="width: 120px; max-width: 120px; height: auto; display: block; margin: 0 auto; border: 0; -ms-interpolation-mode: bicubic;" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- Content Container -->
|
||||
<table role="presentation" class="email-container" width="600" cellpadding="0" cellspacing="0" border="0" style="max-width: 600px; background-color: #ffffff; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt;">
|
||||
<tr>
|
||||
<td class="email-content" style="padding: 40px 30px; mso-table-lspace: 0pt; mso-table-rspace: 0pt;">
|
||||
{{ $slot }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td style="background-color: #f9fafb; padding: 20px; text-align: center; border-top: 1px solid #e5e7eb; mso-table-lspace: 0pt; mso-table-rspace: 0pt;">
|
||||
<p style="margin: 5px 0; padding: 0; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 12px; color: #6b7280; line-height: 1.5; text-align: center;">
|
||||
{{ __('Need help, or having issues?') }} <a href="mailto:{{ timebank_config('mail.support.email') }}" style="color: #6b7280; border-bottom: 1px solid #6b7280; text-decoration: none;">{{ __('Email our team') }}</a>
|
||||
</p>
|
||||
<p style="margin: 5px 0; padding: 0; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 12px; color: #6b7280; line-height: 1.5; text-align: center;">
|
||||
<a href="{{ config('app.url') }}" style="color: #6b7280; border-bottom: 1px solid #6b7280; text-decoration: none;">
|
||||
{{ __('Visit our website') }}
|
||||
</a>
|
||||
</p>
|
||||
<p style="margin: 15px 0 5px 0; padding: 0; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 12px; color: #6b7280; line-height: 1.5; text-align: center;">
|
||||
© {{ date('Y') }} {{ config('app.name') }}. {{ __('All rights reserved.') }}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
62
resources/views/emails/messages/new.blade.php
Normal file
62
resources/views/emails/messages/new.blade.php
Normal file
@@ -0,0 +1,62 @@
|
||||
@component('emails.layouts.html', ['subject' => trans('mail.new_message_subject')])
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Hello') }} {{ explode(' ', $recipientName)[0] }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Your conversation on :site with :name has an unread update:', ['site' => config('app.name'), 'name' => $groupName ?? $senderName]) }}
|
||||
</p>
|
||||
|
||||
{{-- Message content panel --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse; background-color: {{ theme_color('text.surface') }}; border-left: 4px solid {{ theme_color('text.secondary') }};">
|
||||
<tr>
|
||||
<td style="padding: 15px 20px;">
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; color: {{ theme_color('text.secondary') }}; margin: 0 0 10px 0; padding: 0;">
|
||||
{{ __(':sender:', ['sender' => $senderName]) }}
|
||||
</p>
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.secondary') }}; margin: 0; padding: 0; line-height: 1.5;">
|
||||
{{ $messageContent }}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Follow conversation message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Follow this conversation on our website by clicking the Chat Messenger button below:') }}
|
||||
</p>
|
||||
|
||||
{{-- Button --}}
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 10px auto 20px auto;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $conversationUrl }}" style="height:40px;v-text-anchor:middle;width:180px;" arcsize="15%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $conversationUrl }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: block; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 40px; text-align: center; text-decoration: none; width: 180px; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
{{ __('Chat Messenger') }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Closing --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 30px 0 30px 0; padding: 0; line-height: 1.5;">
|
||||
{{ timebank_config('mail.platform_sign_off_signature.' . app()->getLocale()) ?? timebank_config('mail.platform_sign_off_signature.en', 'See you around!') }}
|
||||
</p>
|
||||
|
||||
{{-- Subcopy --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: {{ theme_color('text.muted') }}; margin: 30px 0 10px 0; padding: 0; line-height: 1.5; border-top: 1px solid #e5e7eb; padding-top: 20px;">
|
||||
{{ __("You can't reply to this email. Use the Chat Messenger on our website instead.") }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
72
resources/views/emails/newsletter/blocks/article.blade.php
Normal file
72
resources/views/emails/newsletter/blocks/article.blade.php
Normal file
@@ -0,0 +1,72 @@
|
||||
{{-- Article Block Template for Email Newsletter --}}
|
||||
<table role="presentation" class="content-block" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom: 30px; border-top: 1px solid #e5e7eb; padding-top: 30px;">
|
||||
<tr>
|
||||
<td>
|
||||
{{-- Image --}}
|
||||
@if(isset($post['image']) && $post['image'])
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom: 20px;">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<img src="{{ $post['image'] }}" alt="{{ $post['title'] }}"
|
||||
style="max-width: 100%; height: auto; display: block; border: 0;"
|
||||
width="560" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- Title --}}
|
||||
<h2 style="font-family: Arial, Helvetica, sans-serif; font-size: 26px; font-weight: bold; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.3; ">
|
||||
<a href="{{ $post['url'] }}" style="color: {{ theme_color('text.primary') }}; text-decoration: none;">
|
||||
{{ $post['title'] }}
|
||||
</a>
|
||||
</h2>
|
||||
|
||||
{{-- Category --}}
|
||||
@if(isset($post['category']) && $post['category'])
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 15px 0;">
|
||||
<tr>
|
||||
<td style="background-color: {{ theme_color('brand') }}; padding: 4px 12px; font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #ffffff; font-weight: bold;">
|
||||
{{ $post['category'] }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- Author (prominent for articles) --}}
|
||||
@if(isset($post['author']) && $post['author'])
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('brand') }}; margin: 0 0 15px 0; padding: 0; font-weight: bold;">
|
||||
{{ __('Written by') }} {{ $post['author'] }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
{{-- Excerpt --}}
|
||||
@if(isset($post['excerpt']) && $post['excerpt'])
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.secondary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ $post['excerpt'] }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
|
||||
{{-- Continue reading button --}}
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 20px auto;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $post['url'] }}" style="height:40px;v-text-anchor:middle;width:200px;" arcsize="15%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $post['url'] }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: block; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 40px; text-align: center; text-decoration: none; width: 200px; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
{{ __('Continue Reading') }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
121
resources/views/emails/newsletter/blocks/event.blade.php
Normal file
121
resources/views/emails/newsletter/blocks/event.blade.php
Normal file
@@ -0,0 +1,121 @@
|
||||
{{-- Event Block Template for Email Newsletter --}}
|
||||
<table role="presentation" class="content-block" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom: 30px; border-top: 1px solid #e5e7eb; padding-top: 30px;">
|
||||
<tr>
|
||||
<td>
|
||||
{{-- Image --}}
|
||||
@if(isset($post['image']) && $post['image'])
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom: 20px;">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<img src="{{ $post['image'] }}" alt="{{ $post['title'] }}"
|
||||
style="max-width: 100%; height: auto; display: block; border: 0;"
|
||||
width="560" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- Title --}}
|
||||
<h2 style="font-family: Arial, Helvetica, sans-serif; font-size: 24px; font-weight: bold; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.3; ">
|
||||
<a href="{{ $post['url'] }}" style="color: {{ theme_color('text.primary') }}; text-decoration: none;">
|
||||
{{ $post['title'] }}
|
||||
</a>
|
||||
</h2>
|
||||
|
||||
{{-- Category --}}
|
||||
@if(isset($post['category']) && $post['category'])
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 15px 0;">
|
||||
<tr>
|
||||
<td style="background-color: {{ theme_color('brand') }}; padding: 4px 12px; font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #ffffff; font-weight: bold;">
|
||||
{{ $post['category'] }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- Date, time, Venue and location --}}
|
||||
@if(isset($post['venue']) && $post['venue'])
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('brand') }}; margin: 0 0 10px 0; padding: 0; font-weight: bold;">
|
||||
@if(isset($post['event_date']) && $post['event_date'])
|
||||
{{ $post['event_date'] }}
|
||||
@if(isset($post['event_time']) && $post['event_time'])
|
||||
- {{ $post['event_time'] }}
|
||||
@endif
|
||||
<br>{{ $post['venue'] }}
|
||||
@endif
|
||||
@if(isset($post['address']) && $post['address'])
|
||||
<br>{{ $post['address'] }}
|
||||
@endif
|
||||
</p>
|
||||
@endif
|
||||
|
||||
{{-- Excerpt --}}
|
||||
@if(isset($post['excerpt']) && $post['excerpt'])
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.secondary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ $post['excerpt'] }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
{{-- Organizer --}}
|
||||
@if(isset($post['author']) && $post['author'])
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.secondary') }}; margin: 0 0 20px 0;">
|
||||
<span style="font-weight: bold;"> {{ __('Organized by') }} {{ $post['author'] }} </span>
|
||||
</p>
|
||||
@endif
|
||||
|
||||
{{-- Event buttons --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 20px 0;">
|
||||
<tr>
|
||||
<td align="center">
|
||||
{{-- Event page button --}}
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" style="display: inline-block; vertical-align: top;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $post['url'] }}" style="height:44px;v-text-anchor:middle;width:150px;" arcsize="14%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $post['url'] }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: inline-block; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; padding: 12px 20px; text-align: center; text-decoration: none; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
{{ __('Event page') }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Calendar link if available --}}
|
||||
@if(isset($post['calendar_url']) && $post['calendar_url'])
|
||||
<!--[if !mso]><!-->
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" style="display: inline-block; vertical-align: top; margin-left: 10px;">
|
||||
<!--<![endif]-->
|
||||
<!--[if mso]>
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="left" style="display: inline-block;">
|
||||
<![endif]-->
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: #6b7280;">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $post['calendar_url'] }}" style="height:44px;v-text-anchor:middle;width:180px;" arcsize="14%" stroke="f" fillcolor="#6b7280">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $post['calendar_url'] }}" style="background-color: #6b7280; border-radius: 6px; color: #ffffff; display: inline-block; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; padding: 12px 20px; text-align: center; text-decoration: none; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
📅 {{ __('Add to Calendar') }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
46
resources/views/emails/newsletter/blocks/image.blade.php
Normal file
46
resources/views/emails/newsletter/blocks/image.blade.php
Normal file
@@ -0,0 +1,46 @@
|
||||
{{-- Image Block Template for Email Newsletter --}}
|
||||
<table role="presentation" class="content-block" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom: 30px; border-top: 1px solid #e5e7eb; padding-top: 30px;">
|
||||
<tr>
|
||||
<td>
|
||||
{{-- Image --}}
|
||||
@if(isset($post['image']) && $post['image'])
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom: 0;">
|
||||
<tr>
|
||||
<td align="center">
|
||||
@if(isset($post['url']) && $post['url'])
|
||||
<a href="{{ $post['url'] }}" style="display: block;">
|
||||
<img src="{{ $post['image'] }}" alt="{{ $post['title'] ?? '' }}"
|
||||
style="max-width: 100%; height: auto; display: block; border: 0;"
|
||||
width="560" />
|
||||
</a>
|
||||
@else
|
||||
<img src="{{ $post['image'] }}" alt="{{ $post['title'] ?? '' }}"
|
||||
style="max-width: 100%; height: auto; display: block; border: 0;"
|
||||
width="560" />
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Caption and Owner - small text aligned right --}}
|
||||
@if((isset($post['media_caption']) && $post['media_caption']) || (isset($post['media_owner']) && $post['media_owner']))
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-top: 8px;">
|
||||
<tr>
|
||||
<td align="right" style="font-family: Arial, Helvetica, sans-serif; font-size: 11px; color: {{ theme_color('text.secondary') }}; line-height: 1.4;">
|
||||
@if(isset($post['media_caption']) && $post['media_caption'])
|
||||
<span style="font-style: italic;">{{ $post['media_caption'] }}</span>
|
||||
@endif
|
||||
@if((isset($post['media_caption']) && $post['media_caption']) && (isset($post['media_owner']) && $post['media_owner']))
|
||||
<span style="margin: 0 4px;">—</span>
|
||||
@endif
|
||||
@if(isset($post['media_owner']) && $post['media_owner'])
|
||||
<span>{{ $post['media_owner'] }}</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
82
resources/views/emails/newsletter/blocks/news.blade.php
Normal file
82
resources/views/emails/newsletter/blocks/news.blade.php
Normal file
@@ -0,0 +1,82 @@
|
||||
{{-- News Block Template for Email Newsletter --}}
|
||||
<table role="presentation" class="content-block" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom: 30px; border-top: 1px solid #e5e7eb; padding-top: 30px;">
|
||||
<tr>
|
||||
<td>
|
||||
{{-- Image --}}
|
||||
@if(isset($post['image']) && $post['image'])
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom: 20px;">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<img src="{{ $post['image'] }}" alt="{{ $post['title'] }}"
|
||||
style="max-width: 100%; height: auto; display: block; border: 0;"
|
||||
width="560" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- Location prefix for news --}}
|
||||
@if(isset($post['location_prefix']) && $post['location_prefix'])
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: {{ theme_color('brand') }}; text-transform: uppercase; margin: 0 0 10px 0; letter-spacing: 1px;">
|
||||
{{ $post['location_prefix'] }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
{{-- Title --}}
|
||||
<h2 style="font-family: Arial, Helvetica, sans-serif; font-size: 24px; font-weight: bold; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.3;">
|
||||
<a href="{{ $post['url'] }}" style="color: {{ theme_color('text.primary') }}; text-decoration: none;">
|
||||
{{ $post['title'] }}
|
||||
</a>
|
||||
</h2>
|
||||
|
||||
{{-- Category --}}
|
||||
@if(isset($post['category']) && $post['category'])
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 15px 0;">
|
||||
<tr>
|
||||
<td style="background-color: {{ theme_color('brand') }}; padding: 4px 12px; font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #ffffff; font-weight: bold;">
|
||||
{{ $post['category'] }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- Excerpt --}}
|
||||
@if(isset($post['excerpt']) && $post['excerpt'])
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.secondary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ $post['excerpt'] }}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
{{-- Author and date --}}
|
||||
@if(isset($post['author']) && $post['author'])
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom: 20px;">
|
||||
<tr>
|
||||
<td style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.secondary') }};">
|
||||
<span style="font-weight: bold;">{{ __('By') }} {{ $post['author'] }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- Read more button --}}
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 20px auto;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $post['url'] }}" style="height:40px;v-text-anchor:middle;width:200px;" arcsize="15%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $post['url'] }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: block; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 40px; text-align: center; text-decoration: none; width: 200px; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
{{ __('Full article') }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
114
resources/views/emails/newsletter/wrapper.blade.php
Normal file
114
resources/views/emails/newsletter/wrapper.blade.php
Normal file
@@ -0,0 +1,114 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{ $locale ?? config('app.locale') }}" lang="{{ $locale ?? config('app.locale') }}">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
<title>{{ $subject }}</title>
|
||||
<!--[if mso]>
|
||||
<style type="text/css">
|
||||
body, table, td, p, a, li {
|
||||
font-family: Arial, sans-serif !important;
|
||||
}
|
||||
</style>
|
||||
<![endif]-->
|
||||
<style type="text/css">
|
||||
/* Client-specific Styles */
|
||||
body, table, td, p, a, li, blockquote {
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
table, td {
|
||||
mso-table-lspace: 0pt;
|
||||
mso-table-rspace: 0pt;
|
||||
}
|
||||
img {
|
||||
-ms-interpolation-mode: bicubic;
|
||||
border: 0;
|
||||
height: auto;
|
||||
line-height: 100%;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* Reset styles */
|
||||
body {
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
/* What it does: Stops Outlook from adding extra spacing to tables. */
|
||||
table {
|
||||
border-collapse: collapse !important;
|
||||
}
|
||||
|
||||
/* What it does: Fixes webkit padding issue. */
|
||||
table.email-container {
|
||||
border-spacing: 0 !important;
|
||||
}
|
||||
|
||||
/* Progressive Enhancement for Mobile */
|
||||
@media only screen and (max-width: 600px) {
|
||||
.email-container {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body style="margin: 0; padding: 0; width: 100%; background-color: #f4f4f4; font-family: Arial, Helvetica, sans-serif;">
|
||||
<table role="presentation" class="email-wrapper" width="100%" cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table role="presentation" class="email-container" width="600" cellpadding="0" cellspacing="0" border="0" style="max-width: 600px; background-color: #ffffff;">
|
||||
|
||||
<!-- Header -->
|
||||
<tr>
|
||||
<td style="background-color: {{ theme_color('brand') }}; padding: 20px; text-align: center;">
|
||||
<img src="{{ asset('storage/app-images/app_mail_logo_inverted.png') }}" alt="{{ config('app.name') }}" width="90" height="auto" style="width: 90px; max-width: 90px; height: auto; display: block; margin: 0 auto; border: 0; outline: none;" />
|
||||
@if(isset($mailingTitle))
|
||||
<p style="color: #ffffff; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: 600; margin: 0; padding: 0; mso-line-height-rule: exactly; line-height: 1.5;">
|
||||
{{ $mailingTitle }}
|
||||
</p>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Content -->
|
||||
<tr>
|
||||
<td class="email-content" style="padding: 30px 20px 0px 20px;">
|
||||
@if(isset($contentBlocks) && count($contentBlocks) > 0)
|
||||
@foreach($contentBlocks as $block)
|
||||
@include($block['template'], ['post' => $block['data']])
|
||||
@endforeach
|
||||
@else
|
||||
{{ $slot ?? '' }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Footer -->
|
||||
<tr>
|
||||
<td style="background-color: #f9fafb; padding: 20px; text-align: center; border-top: 1px solid #e5e7eb;">
|
||||
<p style="margin: 5px 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #6b7280; line-height: 1.5;">
|
||||
{{ __('You received this newsletter because you subscribed to our updates.') }}
|
||||
</p>
|
||||
<p style="margin: 5px 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #6b7280; line-height: 1.5;">
|
||||
<a href="{{ $unsubscribeUrl ?? '#' }}" style="color: #6b7280; text-decoration: underline;">
|
||||
{{ __('Unsubscribe') }}
|
||||
</a> |
|
||||
<a href="{{ config('app.url') }}" style="color: #6b7280; text-decoration: underline;">
|
||||
{{ __('Visit our website') }}
|
||||
</a>
|
||||
</p>
|
||||
<p style="margin: 15px 0 5px 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #6b7280; line-height: 1.5;">
|
||||
© {{ date('Y') }} {{ config('app.name') }}. {{ __('All rights reserved.') }}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,53 @@
|
||||
@component('emails.layouts.html', ['subject' => __('Your profile has been updated')])
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; line-height: 1.6;">
|
||||
{{ __('Hello :name,', ['name' => $profile->full_name ?? $profile->name]) }}
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; line-height: 1.6;">
|
||||
{!! __('An administrator has made changes to your profile on <strong>:appname</strong>.', ['appname' => config('app.name')]) !!}
|
||||
</p>
|
||||
|
||||
@if(!empty($changedFields))
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; line-height: 1.6;">
|
||||
<strong>{{ __('Changed fields:') }}</strong>
|
||||
</p>
|
||||
<ul style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 20px; line-height: 1.6;">
|
||||
@foreach($changedFields as $field)
|
||||
<li>{{ $field }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 30px 0; line-height: 1.6;">
|
||||
{{ __('Please review these changes by logging into your account.') }}
|
||||
</p>
|
||||
|
||||
{{-- Button --}}
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 30px auto;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $buttonUrl }}" style="height:44px;v-text-anchor:middle;width:220px;" arcsize="14%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $buttonUrl }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: block; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; line-height: 44px; text-align: center; text-decoration: none; width: 220px; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
{{ __('Review profile') }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Closing --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 30px 0 0 0; line-height: 1.6;">
|
||||
{{ timebank_config('mail.platform_sign_off_signature.' . app()->getLocale()) ?? timebank_config('mail.platform_sign_off_signature.en', 'See you around!') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
46
resources/views/emails/profile-links/link-changed.blade.php
Normal file
46
resources/views/emails/profile-links/link-changed.blade.php
Normal file
@@ -0,0 +1,46 @@
|
||||
@component('emails.layouts.html', ['subject' => $action === 'attached' ? trans('Your profile has been linked', [], $locale) : trans('Your profile has been unlinked', [], $locale), 'locale' => $locale])
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; line-height: 1.6;">
|
||||
{{ trans('Hello', [], $locale) }} {{ $recipient->full_name ?? $recipient->name }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; line-height: 1.6;">
|
||||
@if($action === 'attached')
|
||||
{{ trans('Your profile on', [], $locale) }} <strong>{{ config('app.name') }}</strong> {{ trans('has been linked to', [], $locale) }} <strong>{{ $linkedProfile->name }}</strong>.
|
||||
@else
|
||||
{{ trans('Your profile on', [], $locale) }} <strong>{{ config('app.name') }}</strong> {{ trans('has been unlinked from', [], $locale) }} <strong>{{ $linkedProfile->name }}</strong>.
|
||||
@endif
|
||||
</p>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 30px 0; line-height: 1.6;">
|
||||
{{ trans('You can now switch profiles via your profile menu in the top right corner of our website.', [], $locale) }}
|
||||
</p>
|
||||
|
||||
{{-- Button --}}
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 30px auto;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $buttonUrl }}" style="height:44px;v-text-anchor:middle;width:220px;" arcsize="14%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $buttonUrl }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: block; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; line-height: 44px; text-align: center; text-decoration: none; width: 220px; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
{{ trans('View Profile', [], $locale) }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Closing --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 30px 0 0 0; line-height: 1.6;">
|
||||
{{ timebank_config('mail.platform_sign_off_signature.' . $locale) ?? timebank_config('mail.platform_sign_off_signature.en', 'See you around!') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
@@ -0,0 +1,83 @@
|
||||
@component('emails.layouts.html', ['subject' => trans('messages.Reservation_cancelled', [], 'en')])
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Hello') }} {{ $reacter->full_name ?? $reacter->name }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Your reservation for :event has been cancelled.', ['event' => $post->translations->first()->title]) }}
|
||||
</p>
|
||||
|
||||
@if($post->meeting)
|
||||
{{-- Event Details --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Event Details:') }}
|
||||
</p>
|
||||
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse;">
|
||||
@if($post->meeting->venue)
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('Location:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $post->meeting->venue }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if($post->meeting->address)
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('Address:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $post->meeting->address }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if($post->meeting->from)
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
<strong>{{ __('Date & Time:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
{{ \Illuminate\Support\Carbon::parse($post->meeting->from)->isoFormat('dddd D MMMM YYYY, H:mm') }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- Reserve again message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('If you wish to reserve again, you can view the event:') }}
|
||||
</p>
|
||||
|
||||
{{-- Button --}}
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 10px auto 20px auto;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $buttonUrl }}" style="height:40px;v-text-anchor:middle;width:160px;" arcsize="15%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $buttonUrl }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: block; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 40px; text-align: center; text-decoration: none; width: 160px; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
{{ __('View Event') }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Closing --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 30px 0 30px 0; padding: 0; line-height: 1.5;">
|
||||
{{ timebank_config('mail.platform_sign_off_signature.' . app()->getLocale()) ?? timebank_config('mail.platform_sign_off_signature.en', 'See you around!') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
@@ -0,0 +1,83 @@
|
||||
@component('emails.layouts.html', ['subject' => trans('messages.Reservation_confirmation', [], 'en')])
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
Hello {{ $reacter->full_name ?? $reacter->name }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
Your reservation for <strong>{{ $post->translations->first()->title }}</strong> has been confirmed!
|
||||
</p>
|
||||
|
||||
@if($post->meeting)
|
||||
{{-- Event Details --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; padding: 0; line-height: 1.5;">
|
||||
Event Details:
|
||||
</p>
|
||||
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse;">
|
||||
@if($post->meeting->venue)
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>Location:</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $post->meeting->venue }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if($post->meeting->address)
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>Address:</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $post->meeting->address }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if($post->meeting->from)
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
<strong>Date & Time:</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
{{ \Illuminate\Support\Carbon::parse($post->meeting->from)->isoFormat('dddd D MMMM YYYY, H:mm') }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- View details message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
View the full event details:
|
||||
</p>
|
||||
|
||||
{{-- Button --}}
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 10px auto 20px auto;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $buttonUrl }}" style="height:40px;v-text-anchor:middle;width:160px;" arcsize="15%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $buttonUrl }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: block; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 40px; text-align: center; text-decoration: none; width: 160px; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
View Event
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Closing --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 30px 0 30px 0; padding: 0; line-height: 1.5;">
|
||||
{{ timebank_config('mail.platform_sign_off_signature.' . app()->getLocale()) ?? timebank_config('mail.platform_sign_off_signature.en', 'See you around!') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
@@ -0,0 +1,92 @@
|
||||
@component('emails.layouts.html', ['subject' => trans('messages.Reservation_update', [], 'en')])
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Hello') }} {{ $reacter->full_name ?? $reacter->name }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __(':organizer has sent you an update about :event:', ['organizer' => $organizer->name, 'event' => $post->translations->first()->title]) }}
|
||||
</p>
|
||||
|
||||
{{-- Custom Message Panel --}}
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td style="padding: 20px; border-left: 4px solid {{ theme_color('text.secondary') }}; font-family: Arial, Helvetica, sans-serif; font-size: 15px; color: {{ theme_color('text.secondary') }}; line-height: 1.6; background-color: {{ theme_color('text.surface') }} ">
|
||||
{{ $customMessage }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@if($post->meeting)
|
||||
{{-- Event Details --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; color: {{ theme_color('text.primary') }}; margin: 10px 0 10px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Event Details:') }}
|
||||
</p>
|
||||
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse;">
|
||||
@if($post->meeting->venue)
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('Location:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $post->meeting->venue }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if($post->meeting->address)
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('Address:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $post->meeting->address }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if($post->meeting->from)
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
<strong>{{ __('Date & Time:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
{{ \Illuminate\Support\Carbon::parse($post->meeting->from)->isoFormat('dddd D MMMM YYYY, H:mm') }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- View details message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('View the full event details:') }}
|
||||
</p>
|
||||
|
||||
{{-- Button --}}
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 10px auto 20px auto;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $buttonUrl }}" style="height:40px;v-text-anchor:middle;width:160px;" arcsize="15%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $buttonUrl }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: block; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 40px; text-align: center; text-decoration: none; width: 160px; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
{{ __('View Event') }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Closing --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 30px 0 30px 0; padding: 0; line-height: 1.5;">
|
||||
{{ timebank_config('mail.platform_sign_off_signature.' . app()->getLocale()) ?? timebank_config('mail.platform_sign_off_signature.en', 'See you around!') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
43
resources/views/emails/reactions/star-received.blade.php
Normal file
43
resources/views/emails/reactions/star-received.blade.php
Normal file
@@ -0,0 +1,43 @@
|
||||
@component('emails.layouts.html', ['subject' => trans('messages.Your_profile_has_received_a_'. $reactionType['name'], [], 'en')])
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Hello') }} {{ $to['name'] }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Your profile on :site just received a :reaction from :user!', ['site' => config('app.name'), 'reaction' => __($reactionType['name']), 'user' => $from->name]) }}
|
||||
</p>
|
||||
|
||||
{{-- See profile message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('See the profile page of :user here:', ['user' => $from->name]) }}
|
||||
</p>
|
||||
|
||||
{{-- Button --}}
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 10px auto 20px auto;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $buttonUrl }}" style="height:40px;v-text-anchor:middle;width:200px;" arcsize="15%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $buttonUrl }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: block; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 40px; text-align: center; text-decoration: none; width: 200px; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
{{ $from->name }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Closing --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 30px 0 30px 0; padding: 0; line-height: 1.5;">
|
||||
{{ timebank_config('mail.platform_sign_off_signature.' . app()->getLocale()) ?? timebank_config('mail.platform_sign_off_signature.en', 'See you around!') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
52
resources/views/emails/tags/new.blade.php
Normal file
52
resources/views/emails/tags/new.blade.php
Normal file
@@ -0,0 +1,52 @@
|
||||
@component('emails.layouts.html', ['subject' => trans('messages.new_tag_added') . ': ' . ($tagInfo['tag'] ?? 'Unknown')])
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Hello') }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('A new tag has been added:') }}
|
||||
</p>
|
||||
|
||||
{{-- Tag Information Table --}}
|
||||
@if($tagInfo)
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('Name:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $tagInfo['tag'] ?? '-' }}
|
||||
</td>
|
||||
</tr>
|
||||
@if(isset($tagInfo['category_path']))
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('Category:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $tagInfo['category_path'] }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if(isset($tagInfo['comment']))
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
<strong>{{ __('Description:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
{{ $tagInfo['comment'] }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
@endif
|
||||
|
||||
{{-- Closing --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 30px 0 30px 0; padding: 0; line-height: 1.5;">
|
||||
{{ config('app.name') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
27
resources/views/emails/team-invitation.blade.php
Normal file
27
resources/views/emails/team-invitation.blade.php
Normal file
@@ -0,0 +1,27 @@
|
||||
@component('mail::message')
|
||||
{{ __('You have been invited to join the :team team!', ['team' => $invitation->team->name]) }}
|
||||
|
||||
@if (Laravel\Fortify\Features::enabled(Laravel\Fortify\Features::registration()))
|
||||
{{ __('If you do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:') }}
|
||||
|
||||
@component('mail::button', ['url' => route('register')])
|
||||
{{ __('Create Account') }}
|
||||
@endcomponent
|
||||
|
||||
{{ __('If you already have an account, you may accept this invitation by clicking the button below:') }}
|
||||
|
||||
@else
|
||||
{{ __('You may accept this invitation by clicking the button below:') }}
|
||||
@endif
|
||||
|
||||
@component('mail::button', ['url' => $acceptUrl])
|
||||
{{ __('Accept Invitation') }}
|
||||
@endcomponent
|
||||
|
||||
{{ __('If you did not expect to receive an invitation to this team, you may discard this email.') }}
|
||||
|
||||
@component('mail::subcopy')
|
||||
Need help, or having issues? Email our team at [{{ timebank_config('mail.support.email') }}](mailto:{{ timebank_config('mail.support.email') }}).
|
||||
@endcomponent
|
||||
@endcomponent
|
||||
|
||||
97
resources/views/emails/transfers/payment-received.blade.php
Normal file
97
resources/views/emails/transfers/payment-received.blade.php
Normal file
@@ -0,0 +1,97 @@
|
||||
@component('emails.layouts.html', ['subject' => __('Payment received from :name', ['name' => $transaction->accountFrom->accountable->name])])
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 15px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Hello') }} {{ $transaction->accountTo->accountable->full_name ?? $transaction->accountTo->accountable->name }},
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; padding: 0; line-height: 1.5;">
|
||||
{!! __('You have received a new payment on your <strong>:account</strong> account from <strong>:from</strong>.', ['account' => $transaction->accountTo->name, 'from' => $transaction->accountFrom->accountable->name]) !!}
|
||||
</p>
|
||||
|
||||
{{-- Transaction Details --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; color: {{ theme_color('text.primary') }}; margin: 0 0 10px 0; padding: 0; line-height: 1.5;">
|
||||
{{ __('Transaction Details:') }}
|
||||
</p>
|
||||
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 0 0 20px 0; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('Date:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $transaction->updated_at->format('Y-m-d H:i') }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('From:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $transaction->accountFrom->accountable->name }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
<strong>{{ __('Description:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }}; border-bottom: 1px solid #e5e7eb;">
|
||||
{{ $transaction->description }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: {{ theme_color('text.primary') }};">
|
||||
<strong>{{ __('Amount:') }}</strong>
|
||||
</td>
|
||||
<td style="padding: 10px; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: {{ theme_color('brand') }};">
|
||||
{{ tbFormat($transaction->amount) }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Buttons --}}
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 10px auto;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $transactionStatement }}" style="height:40px;v-text-anchor:middle;width:220px;" arcsize="15%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $transactionStatement }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: block; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 40px; text-align: center; text-decoration: none; width: 220px; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
{{ __('Transaction statement') }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 10px auto 20px auto;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $transactionHistoryUrl }}" style="height:40px;v-text-anchor:middle;width:220px;" arcsize="15%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $transactionHistoryUrl }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: block; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 40px; text-align: center; text-decoration: none; width: 220px; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
{{ __('Transaction history') }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Closing --}}
|
||||
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 30px 0 30px 0; padding: 0; line-height: 1.5;">
|
||||
{{ timebank_config('mail.platform_sign_off_signature.' . app()->getLocale()) ?? timebank_config('mail.platform_sign_off_signature.en', 'See you around!') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
42
resources/views/emails/verification/verify-email.blade.php
Normal file
42
resources/views/emails/verification/verify-email.blade.php
Normal file
@@ -0,0 +1,42 @@
|
||||
@component('emails.layouts.html', ['subject' => __('Verify your email address')])
|
||||
|
||||
{{-- Greeting --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; line-height: 1.6;">
|
||||
{{ __('Hello :name,', ['name' => $notifiable->full_name ?? $notifiable->name]) }}
|
||||
</p>
|
||||
|
||||
{{-- Main message --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 20px 0; line-height: 1.6;">
|
||||
{!! __('Thank you for creating an account on <strong>:appname</strong>!', ['appname' => config('app.name')]) !!}
|
||||
</p>
|
||||
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 0 0 30px 0; line-height: 1.6;">
|
||||
{{ __('Please verify your email address by clicking the button below. This link will expire in 60 minutes.') }}
|
||||
</p>
|
||||
|
||||
{{-- Button --}}
|
||||
<table role="presentation" class="mobile-button" cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 30px auto;">
|
||||
<tr>
|
||||
<td align="center" style="border-radius: 6px; background-color: {{ theme_color('brand') }};">
|
||||
<!--[if mso]>
|
||||
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{{ $verificationUrl }}" style="height:44px;v-text-anchor:middle;width:220px;" arcsize="14%" stroke="f" fillcolor="{{ theme_color('brand') }}">
|
||||
<w:anchorlock/>
|
||||
<center>
|
||||
<![endif]-->
|
||||
<a href="{{ $verificationUrl }}" style="background-color: {{ theme_color('brand') }}; border-radius: 6px; color: #ffffff; display: block; font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; line-height: 44px; text-align: center; text-decoration: none; width: 220px; -webkit-text-size-adjust: none; mso-hide: all;">
|
||||
{{ __('Verify Email Address') }}
|
||||
</a>
|
||||
<!--[if mso]>
|
||||
</center>
|
||||
</v:roundrect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- Closing --}}
|
||||
<p style="font-family: {{ theme_font('font_family_body') }}, Arial, Helvetica, sans-serif; font-size: 16px; color: {{ theme_color('text.primary') }}; margin: 30px 0 0 0; line-height: 1.6;">
|
||||
{{ timebank_config('mail.platform_sign_off_signature.' . app()->getLocale()) ?? timebank_config('mail.platform_sign_off_signature.en', 'See you around!') }}
|
||||
</p>
|
||||
|
||||
@endcomponent
|
||||
Reference in New Issue
Block a user