mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-10 21:22:58 +01:00
Merge pull request #4709 from beganovich/v5-1801-refactor-email-templates
(v5) Refactor email templates
This commit is contained in:
commit
5dd38421e7
@ -123,7 +123,7 @@ class HtmlEngine
|
||||
$data['$number'] = ['value' => $this->entity->number ?: ' ', 'label' => ctrans('texts.invoice_number')];
|
||||
$data['$entity.terms'] = ['value' => $this->entity->terms ?: ' ', 'label' => ctrans('texts.invoice_terms')];
|
||||
$data['$terms'] = &$data['$entity.terms'];
|
||||
$data['$view_link'] = ['value' => '<a href="'.$this->invitation->getLink().'">'.ctrans('texts.view_invoice').'</a>', 'label' => ctrans('texts.view_invoice')];
|
||||
$data['$view_link'] = ['value' => '<a class="button" href="'.$this->invitation->getLink().'">'.ctrans('texts.view_invoice').'</a>', 'label' => ctrans('texts.view_invoice')];
|
||||
$data['$view_url'] = ['value' => $this->invitation->getLink(), 'label' => ctrans('texts.view_invoice')];
|
||||
}
|
||||
|
||||
@ -132,7 +132,7 @@ class HtmlEngine
|
||||
$data['$number'] = ['value' => $this->entity->number ?: ' ', 'label' => ctrans('texts.quote_number')];
|
||||
$data['$entity.terms'] = ['value' => $this->entity->terms ?: ' ', 'label' => ctrans('texts.quote_terms')];
|
||||
$data['$terms'] = &$data['$entity.terms'];
|
||||
$data['$view_link'] = ['value' => '<a href="'.$this->invitation->getLink().'">'.ctrans('texts.view_quote').'</a>', 'label' => ctrans('texts.view_quote')];
|
||||
$data['$view_link'] = ['value' => '<a class="button" href="'.$this->invitation->getLink().'">'.ctrans('texts.view_quote').'</a>', 'label' => ctrans('texts.view_quote')];
|
||||
$data['$view_url'] = ['value' => $this->invitation->getLink(), 'label' => ctrans('texts.view_quote')];
|
||||
}
|
||||
|
||||
@ -141,7 +141,7 @@ class HtmlEngine
|
||||
$data['$number'] = ['value' => $this->entity->number ?: ' ', 'label' => ctrans('texts.credit_number')];
|
||||
$data['$entity.terms'] = ['value' => $this->entity->terms ?: ' ', 'label' => ctrans('texts.credit_terms')];
|
||||
$data['$terms'] = &$data['$entity.terms'];
|
||||
$data['$view_link'] = ['value' => '<a href="'.$this->invitation->getLink().'">'.ctrans('texts.view_credit').'</a>', 'label' => ctrans('texts.view_credit')];
|
||||
$data['$view_link'] = ['value' => '<a class="button" href="'.$this->invitation->getLink().'">'.ctrans('texts.view_credit').'</a>', 'label' => ctrans('texts.view_credit')];
|
||||
$data['$view_url'] = ['value' => $this->invitation->getLink(), 'label' => ctrans('texts.view_credit')];
|
||||
// $data['$view_link'] = ['value' => $this->invitation->getLink(), 'label' => ctrans('texts.view_credit')];
|
||||
}
|
||||
|
@ -38,7 +38,6 @@
|
||||
"composer/composer": "^2",
|
||||
"czproject/git-php": "^3.17",
|
||||
"doctrine/dbal": "^2.10",
|
||||
"fedeisas/laravel-mail-css-inliner": "^3",
|
||||
"fideloper/proxy": "^4.2",
|
||||
"fzaninotto/faker": "^1.4",
|
||||
"google/apiclient": "^2.7",
|
||||
|
62
composer.lock
generated
62
composer.lock
generated
@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "0afe2d541cb6e16cfb9d29faf3425c2d",
|
||||
"content-hash": "94ab2953278081e3fdf663e1e7cf14c4",
|
||||
"packages": [
|
||||
{
|
||||
"name": "asgrim/ofxparser",
|
||||
@ -1657,66 +1657,6 @@
|
||||
],
|
||||
"time": "2020-12-29T14:50:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fedeisas/laravel-mail-css-inliner",
|
||||
"version": "3.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fedeisas/laravel-mail-css-inliner.git",
|
||||
"reference": "263f395b46ef9666151ac78daf429632b0b2e2c3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fedeisas/laravel-mail-css-inliner/zipball/263f395b46ef9666151ac78daf429632b0b2e2c3",
|
||||
"reference": "263f395b46ef9666151ac78daf429632b0b2e2c3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-dom": "*",
|
||||
"illuminate/mail": "^7.4 || ^8.0",
|
||||
"illuminate/support": "^7.4 || ^8.0",
|
||||
"php": "^7.2.5",
|
||||
"tijsverkoyen/css-to-inline-styles": "~2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^8.5",
|
||||
"swiftmailer/swiftmailer": "^6.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Fedeisas\\LaravelMailCssInliner\\LaravelMailCssInlinerServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Fedeisas\\LaravelMailCssInliner\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fede Isas",
|
||||
"email": "fedeisas@hotmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Inline the CSS of your HTML emails using Laravel",
|
||||
"keywords": [
|
||||
"css",
|
||||
"laravel",
|
||||
"mailer"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/fedeisas/laravel-mail-css-inliner/issues",
|
||||
"source": "https://github.com/fedeisas/laravel-mail-css-inliner/tree/3.1"
|
||||
},
|
||||
"time": "2020-09-12T05:00:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fideloper/proxy",
|
||||
"version": "4.4.1",
|
||||
|
@ -1,22 +1,19 @@
|
||||
@component('email.template.master', ['design' => 'light'])
|
||||
@component('email.template.master', ['design' => 'light', 'whitelabel' => false])
|
||||
|
||||
@slot('header')
|
||||
@component('email.components.header', ['p' => '', 'logo' => 'https://www.invoiceninja.com/wp-content/uploads/2019/01/InvoiceNinja-Logo-Round-300x300.png'])
|
||||
Hello!
|
||||
@endcomponent
|
||||
@slot('header')
|
||||
@include('email.components.header', ['logo' => 'https://www.invoiceninja.com/wp-content/uploads/2015/10/logo-white-horizontal-1.png'])
|
||||
@endslot
|
||||
|
||||
@endslot
|
||||
<p>You are receiving this email because we received a password reset request for your account.</p>
|
||||
|
||||
You are receiving this email because we received a password reset request for your account.
|
||||
<a href="{{ $link }}" target="_blank" class="button">
|
||||
Reset Password
|
||||
</a>
|
||||
|
||||
@component('email.components.button', ['url' => $link, 'show_link' => true])
|
||||
Reset Password
|
||||
@endcomponent
|
||||
<p>
|
||||
If you’re having trouble clicking the "Reset Password" button, copy and paste the URL below into your web
|
||||
browser:
|
||||
</p>
|
||||
|
||||
|
||||
@component('email.components.footer', ['url' => 'https://invoiceninja.com', 'url_text' => '© InvoiceNinja'])
|
||||
If you’re having trouble clicking the "Reset Password" button, copy and paste the URL below into your web browser:
|
||||
<a href="{{ $link }}">{{ $link }}</a>
|
||||
@endcomponent
|
||||
|
||||
@endcomponent
|
@ -1,35 +1,12 @@
|
||||
@component('mail::layout')
|
||||
@component('email.template.master', ['design' => 'light', 'whitelabel' => false])
|
||||
|
||||
{{-- Header --}}
|
||||
@slot('header')
|
||||
@component('mail::header', ['url' => config('app.url')])
|
||||
Header Title
|
||||
@slot('header')
|
||||
@include('email.components.header', ['logo' => 'https://www.invoiceninja.com/wp-content/uploads/2015/10/logo-white-horizontal-1.png'])
|
||||
@endslot
|
||||
|
||||
<p>{{ ctrans('texts.confirmation_message') }}</p>
|
||||
|
||||
<a href="{{ url("/user/confirm/{$user->confirmation_code}") }}" target="_blank" class="button">
|
||||
{{ ctrans('texts.confirm') }}
|
||||
</a>
|
||||
@endcomponent
|
||||
@endslot
|
||||
|
||||
{{-- Body --}}
|
||||
{{ $user }}
|
||||
trans('texts.confirmation_message')
|
||||
|
||||
@component('mail::button', ['url' => url("/user/confirm/{$user->confirmation_code}")])
|
||||
trans('texts.confirm')
|
||||
@endcomponent
|
||||
|
||||
{{-- Subcopy --}}
|
||||
@isset($subcopy)
|
||||
@slot('subcopy')
|
||||
@component('mail::subcopy')
|
||||
{{ $subcopy }}
|
||||
@endcomponent
|
||||
@endslot
|
||||
@endisset
|
||||
|
||||
|
||||
{{-- Footer --}}
|
||||
@slot('footer')
|
||||
@component('mail::footer')
|
||||
© {{ date('Y') }} {{ config('ninja.app_name') }}.
|
||||
@endcomponent
|
||||
@endslot
|
||||
|
||||
@endcomponent
|
@ -1,14 +1,3 @@
|
||||
<div id="header" class="border-b {{ isset($logo) ? 'p-6' : '' }} flex justify-center">
|
||||
@isset($logo)
|
||||
<img src="{{ $logo }}" style="height: 6rem;">
|
||||
@endisset
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col items-center mt-8 mb-4">
|
||||
<h1 id="title" class="text-2xl md:text-3xl mt-5">
|
||||
{{ $slot }}
|
||||
</h1>
|
||||
@isset($p)
|
||||
{!! $p !!}
|
||||
@endisset
|
||||
</div>
|
||||
@isset($logo)
|
||||
<img src="{{ $logo }}" style="height: 4rem;">
|
||||
@endisset
|
||||
|
@ -1,82 +1,56 @@
|
||||
@component('email.template.master', ['design' => 'light', 'settings' =>$settings])
|
||||
@component('email.template.master', ['design' => 'light', 'settings' => $settings])
|
||||
@slot('header')
|
||||
@include('email.components.header', ['logo' => 'https://www.invoiceninja.com/wp-content/uploads/2015/10/logo-white-horizontal-1.png'])
|
||||
@endslot
|
||||
|
||||
@slot('header')
|
||||
@component('email.components.header')
|
||||
Import completed
|
||||
@endcomponent
|
||||
@endslot
|
||||
<h1>Import completed</h1>
|
||||
<p>Hello, here is the output of your recent import job.</p>
|
||||
|
||||
@slot('greeting')
|
||||
Hello,
|
||||
@endslot
|
||||
@if(isset($clients) && count($clients) >=1)
|
||||
<h3>Clients Imported: {{ count($clients) }} </h3>
|
||||
@endif
|
||||
|
||||
Here is the output of your recent import job. <br><br>
|
||||
@if(isset($errors['clients']) && count($errors['clients']) >=1)
|
||||
<h3>Client Errors</h3>
|
||||
|
||||
@if(isset($clients) && count($clients) >=1)
|
||||
<ul>
|
||||
@foreach($errors['clients'] as $error)
|
||||
<li>{{ $error['client'] }} - {{ $error['error'] }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
|
||||
<h3>Clients Imported: {{ count($clients) }} </h3>
|
||||
@if(isset($invoices) && count($invoices) >=1)
|
||||
|
||||
@endif
|
||||
<h3>Invoices Imported: {{ count($invoices) }} </h3>
|
||||
|
||||
@if(isset($errors['clients']) && count($errors['clients']) >=1)
|
||||
@endif
|
||||
|
||||
<h3>Client Errors</h3>
|
||||
@if(isset($errors['invoices']) && count($errors['invoices']) >=1)
|
||||
<h3>Invoices Errors</h3>
|
||||
|
||||
<ul>
|
||||
@foreach($errors['clients'] as $error)
|
||||
<li>{{ $error['client'] }} - {{ $error['error'] }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
<ul>
|
||||
@foreach($errors['invoices'] as $error)
|
||||
<li>{{ $error['invoice'] }} - {{ $error['error'] }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
|
||||
@if(isset($invoices) && count($invoices) >=1)
|
||||
@if(isset($products) && count($products) >=1)
|
||||
<h3>Products Imported: {{ count($products) }} </h3>
|
||||
@endif
|
||||
|
||||
<h3>Invoices Imported: {{ count($invoices) }} </h3>
|
||||
@if(isset($errors['products']) && count($errors['products']) >=1)
|
||||
<h3>Client Errors</h3>
|
||||
|
||||
@endif
|
||||
<ul>
|
||||
@foreach($errors['products'] as $error)
|
||||
<li>{{ $error['product'] }} - {{ $error['error'] }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
|
||||
@if(isset($errors['invoices']) && count($errors['invoices']) >=1)
|
||||
<a href="{{ url('/') }}" target="_blank" class="button">Visit portal</a>
|
||||
|
||||
<h3>Invoices Errors</h3>
|
||||
|
||||
<ul>
|
||||
@foreach($errors['invoices'] as $error)
|
||||
<li>{{ $error['invoice'] }} - {{ $error['error'] }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
|
||||
@if(isset($products) && count($products) >=1)
|
||||
|
||||
<h3>Products Imported: {{ count($products) }} </h3>
|
||||
|
||||
@endif
|
||||
|
||||
@if(isset($errors['products']) && count($errors['products']) >=1)
|
||||
|
||||
<h3>Client Errors</h3>
|
||||
|
||||
<ul>
|
||||
@foreach($errors['products'] as $error)
|
||||
<li>{{ $error['product'] }} - {{ $error['error'] }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
|
||||
@component('email.components.button', ['url' => url('/')])
|
||||
Visit portal
|
||||
<p>Thank you, <br/> Invoice Ninja.</p>
|
||||
@endcomponent
|
||||
|
||||
|
||||
@slot('signature')
|
||||
Thank you, <br>
|
||||
Invoice Ninja
|
||||
@endslot
|
||||
|
||||
@slot('footer')
|
||||
@component('email.components.footer', ['url' => 'https://invoiceninja.com', 'url_text' => '© InvoiceNinja'])
|
||||
For any info, please visit InvoiceNinja.
|
||||
@endcomponent
|
||||
@endslot
|
||||
|
||||
@endcomponent
|
@ -1,26 +1,10 @@
|
||||
@component('email.template.master', ['design' => 'light', 'settings' =>$settings])
|
||||
@component('email.template.master', ['design' => 'light', 'settings' => $settings])
|
||||
@slot('header')
|
||||
@include('email.components.header', ['logo' => 'https://www.invoiceninja.com/wp-content/uploads/2015/10/logo-white-horizontal-1.png'])
|
||||
@endslot
|
||||
|
||||
@slot('header')
|
||||
@component('email.components.header', ['p' => 'Payment for your invoice has been completed!', 'logo' => 'https://www.invoiceninja.com/wp-content/uploads/2019/01/InvoiceNinja-Logo-Round-300x300.png'])
|
||||
Invoice paid
|
||||
@endcomponent
|
||||
<h1>Payment for your invoice has been completed!</h1>
|
||||
<p>We want to inform you that payment was completed for your invoice.</p>
|
||||
|
||||
@endslot
|
||||
|
||||
@slot('greeting')
|
||||
Hello,
|
||||
@endslot
|
||||
|
||||
We want to inform you that payment was completed for your invoice. Amount: $10,000.00.
|
||||
|
||||
@component('email.components.button', ['url' => 'https://invoiceninja.com', 'show_link' => true])
|
||||
Visit InvoiceNinja
|
||||
<a href="https://invoiceninja.com" target="_blank" class="button">Visit Invoice Ninja</a>
|
||||
@endcomponent
|
||||
|
||||
@slot('below_card')
|
||||
@component('email.components.footer', ['url' => 'https://invoiceninja.com', 'url_text' => '© InvoiceNinja'])
|
||||
For any info, please visit InvoiceNinja.
|
||||
@endcomponent
|
||||
@endslot
|
||||
|
||||
@endcomponent
|
@ -1,31 +1,13 @@
|
||||
@component('email.template.master', ['design' => 'light', 'settings' =>$settings])
|
||||
@component('email.template.master', ['design' => 'light', 'settings' => $settings])
|
||||
|
||||
@slot('header')
|
||||
@component('email.components.header')
|
||||
Migration completed
|
||||
@endcomponent
|
||||
@endslot
|
||||
@slot('header')
|
||||
@include('email.components.header', ['logo' => 'https://www.invoiceninja.com/wp-content/uploads/2015/10/logo-white-horizontal-1.png'])
|
||||
@endslot
|
||||
|
||||
@slot('greeting')
|
||||
Hello,
|
||||
@endslot
|
||||
<h1>Migration completed</h1>
|
||||
<p>We're happy to inform you that migration has been completed successfully. It is ready for you to review it.</p>
|
||||
|
||||
We're happy to inform you that migration has been completed successfully. It is ready for you to review it.
|
||||
<a href="{{ url('/') }}" target="_blank" class="button">Visit portal</a>
|
||||
|
||||
@component('email.components.button', ['url' => url('/')])
|
||||
Visit portal
|
||||
<p>Thank you, <br/> Invoice Ninja</p>
|
||||
@endcomponent
|
||||
|
||||
|
||||
@slot('signature')
|
||||
Thank you, <br>
|
||||
Invoice Ninja
|
||||
@endslot
|
||||
|
||||
@slot('footer')
|
||||
@component('email.components.footer', ['url' => 'https://invoiceninja.com', 'url_text' => '© InvoiceNinja'])
|
||||
For any info, please visit InvoiceNinja.
|
||||
@endcomponent
|
||||
@endslot
|
||||
|
||||
@endcomponent
|
@ -1,4 +1,4 @@
|
||||
@component('email.template.master', ['design' => 'light', 'settings' =>$settings])
|
||||
@component('email.template.master', ['design' => 'light', 'settings' => $settings])
|
||||
|
||||
@slot('header')
|
||||
@component('email.components.header')
|
||||
@ -19,7 +19,7 @@ Looks like you already migrated your data to V2 version of the Invoice Ninja. In
|
||||
|
||||
@slot('signature')
|
||||
Thank you, <br>
|
||||
Invoice Ninja
|
||||
Invoice Ninja
|
||||
@endslot
|
||||
|
||||
@slot('footer')
|
||||
@ -28,4 +28,4 @@ Invoice Ninja
|
||||
@endcomponent
|
||||
@endslot
|
||||
|
||||
@endcomponent
|
||||
@endcomponent
|
||||
|
@ -1,7 +1,13 @@
|
||||
Whoops!
|
||||
Looks like your migration failed.
|
||||
@component('email.template.master', ['design' => 'light', 'settings' => $settings])
|
||||
@slot('header')
|
||||
@include('email.components.header', ['logo' => 'https://www.invoiceninja.com/wp-content/uploads/2015/10/logo-white-horizontal-1.png'])
|
||||
@endslot
|
||||
|
||||
<pre>
|
||||
{!! $exception->getMessage() !!}
|
||||
{!! $content !!}
|
||||
</pre>
|
||||
<h1>Whoops, migration failed.</h1>
|
||||
<p>Looks like your migration failed. Here's the error message:</p>
|
||||
|
||||
<pre>
|
||||
{!! $exception->getMessage() !!}
|
||||
{!! $content !!}
|
||||
</pre>
|
||||
@endcomponent
|
||||
|
@ -1,26 +1,10 @@
|
||||
@component('email.template.master', ['design' => 'light', 'settings' =>$settings])
|
||||
@component('email.template.master', ['design' => 'light', 'settings' => $settings])
|
||||
@slot('header')
|
||||
@include('email.components.header', ['logo' => 'https://www.invoiceninja.com/wp-content/uploads/2015/10/logo-white-horizontal-1.png'])
|
||||
@endslot
|
||||
|
||||
@slot('header')
|
||||
@component('email.components.header', ['p' => 'Your quote was approved!', 'logo' => 'https://www.invoiceninja.com/wp-content/uploads/2019/01/InvoiceNinja-Logo-Round-300x300.png'])
|
||||
Quote approved
|
||||
@endcomponent
|
||||
<h1>Quote approved!</h1>
|
||||
<p>We want to inform you that quote was approved.</p>
|
||||
|
||||
@endslot
|
||||
|
||||
@slot('greeting')
|
||||
Hello,
|
||||
@endslot
|
||||
|
||||
We want to inform you that quote was approved. Put nicer text here.
|
||||
|
||||
@component('email.components.button', ['url' => 'https://invoiceninja.com', 'show_link' => true])
|
||||
Visit InvoiceNinja
|
||||
<a href="https://invoiceninja.com" target="_blank" class="button">Visit Invoice Ninja</a>
|
||||
@endcomponent
|
||||
|
||||
@slot('below_card')
|
||||
@component('email.components.footer', ['url' => 'https://invoiceninja.com', 'url_text' => '© InvoiceNinja'])
|
||||
For any info, please visit InvoiceNinja.
|
||||
@endcomponent
|
||||
@endslot
|
||||
|
||||
@endcomponent
|
@ -1,30 +1,7 @@
|
||||
@component('mail::layout')
|
||||
|
||||
{{-- Header --}}
|
||||
@slot('header')
|
||||
@component('mail::header', ['url' => config('app.url')])
|
||||
Header Title
|
||||
@endcomponent
|
||||
@endslot
|
||||
|
||||
{{-- Body --}}
|
||||
{{ $message }}
|
||||
|
||||
{{-- Subcopy --}}
|
||||
@isset($subcopy)
|
||||
@slot('subcopy')
|
||||
@component('mail::subcopy')
|
||||
{{ $subcopy }}
|
||||
@endcomponent
|
||||
@endslot
|
||||
@endisset
|
||||
|
||||
|
||||
{{-- Footer --}}
|
||||
@slot('footer')
|
||||
@component('mail::footer')
|
||||
© {{ date('Y') }} {{ config('ninja.app_name') }}.
|
||||
@endcomponent
|
||||
@endslot
|
||||
@component('email.template.master', ['design' => 'light', 'settings' => $settings])
|
||||
@slot('header')
|
||||
@include('email.components.header', ['logo' => 'https://www.invoiceninja.com/wp-content/uploads/2015/10/logo-white-horizontal-1.png'])
|
||||
@endslot
|
||||
|
||||
{{ $message }}
|
||||
@endcomponent
|
||||
|
@ -1,40 +1,19 @@
|
||||
@component('mail::layout')
|
||||
|
||||
{{-- Header --}}
|
||||
@slot('header')
|
||||
@component('mail::header', ['url' => config('app.url')])
|
||||
Header Title
|
||||
@endcomponent
|
||||
@endslot
|
||||
|
||||
{{-- Body --}}
|
||||
{{ $message }}
|
||||
|
||||
{!! str_replace('\n', '<br>', $system_info) !!}
|
||||
|
||||
@if(@count($laravel_log) > 0)
|
||||
<details>
|
||||
<summary>{{ ctrans('texts.display_log') }}</summary>
|
||||
@foreach($laravel_log as $log_line)
|
||||
<small>{{ $log_line }}</small> <br>
|
||||
@endforeach
|
||||
</details>
|
||||
@endif
|
||||
{{-- Subcopy --}}
|
||||
@isset($subcopy)
|
||||
@slot('subcopy')
|
||||
@component('mail::subcopy')
|
||||
{{ $subcopy }}
|
||||
@endcomponent
|
||||
@endslot
|
||||
@endisset
|
||||
|
||||
|
||||
{{-- Footer --}}
|
||||
@slot('footer')
|
||||
@component('mail::footer')
|
||||
© {{ date('Y') }} {{ config('ninja.app_name') }}.
|
||||
@endcomponent
|
||||
@endslot
|
||||
@component('email.template.master', ['design' => 'light', 'settings' => $settings])
|
||||
@slot('header')
|
||||
@include('email.components.header', ['logo' => 'https://www.invoiceninja.com/wp-content/uploads/2015/10/logo-white-horizontal-1.png'])
|
||||
@endslot
|
||||
|
||||
{{-- Body --}}
|
||||
{{ $message }}
|
||||
|
||||
{!! str_replace('\n', '<br>', $system_info) !!}
|
||||
|
||||
@if(@count($laravel_log) > 0)
|
||||
<details>
|
||||
<summary>{{ ctrans('texts.display_log') }}</summary>
|
||||
@foreach($laravel_log as $log_line)
|
||||
<small>{{ $log_line }}</small> <br>
|
||||
@endforeach
|
||||
</details>
|
||||
@endif
|
||||
@endcomponent
|
||||
|
@ -1,22 +1,15 @@
|
||||
@component('email.template.master', ['design' => 'dark', 'settings' => $settings, 'whitelabel' => $whitelabel])
|
||||
|
||||
@slot('header')
|
||||
@component('email.components.header', ['p' => $body, 'logo' => (strlen($settings->company_logo) > 1) ? url('') . $settings->company_logo : 'https://www.invoiceninja.com/wp-content/uploads/2019/01/InvoiceNinja-Logo-Round-300x300.png'])
|
||||
|
||||
@if(isset($title))
|
||||
{{$title}}
|
||||
@slot('header')
|
||||
@include('email.components.header', ['logo' => (strlen($settings->company_logo) > 1) ? url('') . $settings->company_logo : 'https://www.invoiceninja.com/wp-content/uploads/2015/10/logo-white-horizontal-1.png'])
|
||||
@endslot
|
||||
|
||||
{!! $body !!}
|
||||
|
||||
@slot('below_card')
|
||||
@if($signature)
|
||||
{{ $signature }}
|
||||
@endif
|
||||
|
||||
@endcomponent
|
||||
|
||||
@if($footer)
|
||||
@component('email.components.button', ['url' => $view_link])
|
||||
{{$view_text}}
|
||||
@endcomponent
|
||||
@endif
|
||||
|
||||
|
||||
@endslot
|
||||
|
||||
@endslot
|
||||
|
||||
@endcomponent
|
||||
|
@ -1,30 +1,15 @@
|
||||
@component('email.template.master', ['design' => 'light', 'settings' => $settings, 'whitelabel' => $whitelabel])
|
||||
|
||||
@slot('header')
|
||||
@component('email.components.header', ['p' => $body, 'logo' => (strlen($settings->company_logo) > 1) ? url('') . $settings->company_logo : 'https://www.invoiceninja.com/wp-content/uploads/2019/01/InvoiceNinja-Logo-Round-300x300.png'])
|
||||
|
||||
@if(isset($title))
|
||||
{{$title}}
|
||||
@endif
|
||||
|
||||
@endcomponent
|
||||
|
||||
|
||||
@if($footer)
|
||||
@component('email.components.button', ['url' => $view_link])
|
||||
{{$view_text}}
|
||||
@endcomponent
|
||||
@endif
|
||||
|
||||
|
||||
@include('email.components.header', ['logo' => (strlen($settings->company_logo) > 1) ? url('') . $settings->company_logo : 'https://www.invoiceninja.com/wp-content/uploads/2015/10/logo-white-horizontal-1.png'])
|
||||
@endslot
|
||||
|
||||
@slot('below_card')
|
||||
{!! $body !!}
|
||||
|
||||
@slot('below_card')
|
||||
@if($signature)
|
||||
{{ $signature }}
|
||||
@endif
|
||||
|
||||
@endslot
|
||||
@endslot
|
||||
|
||||
@endcomponent
|
||||
|
@ -1,78 +1,95 @@
|
||||
@php
|
||||
if(!isset($design)) $design = 'light';
|
||||
if(!isset($design)) {
|
||||
$design = 'light';
|
||||
}
|
||||
@endphp
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<!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" lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>@yield('title')</title>
|
||||
</head>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
</head>
|
||||
|
||||
<style>
|
||||
:root {
|
||||
@isset($settings)
|
||||
--primary-color: {{ $settings->primary_color }};
|
||||
@else
|
||||
--primary-color: #4caf50;
|
||||
@endisset
|
||||
}
|
||||
:root {
|
||||
--primary-color: {{ isset($settings) ? $settings->primary_color : '#4caf50' }};
|
||||
}
|
||||
|
||||
.border-primary {
|
||||
border-color: var(--primary-color);
|
||||
}
|
||||
.primary-color-bg {
|
||||
background-color: var(--primary-color);
|
||||
}
|
||||
|
||||
#email-content h1, h2, h3, h4 {
|
||||
display: block;
|
||||
color: {{ $design == 'light' ? 'black' : 'white' }};
|
||||
padding-bottom: 20px;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
#email-content p {
|
||||
display: block;
|
||||
color: {{ $design == 'light' ? 'black' : 'white' }};
|
||||
padding-bottom: 20px;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.button {
|
||||
background-color: var(--primary-color);
|
||||
color: white;
|
||||
padding: 10px 16px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#email-content a, .link {
|
||||
word-break: break-all;
|
||||
}
|
||||
</style>
|
||||
|
||||
@if($design == 'dark')
|
||||
<style>
|
||||
* {
|
||||
color: #cbd5e0 !important;
|
||||
}
|
||||
</style>
|
||||
@endif
|
||||
|
||||
<body class="{{ $design == 'light' ? 'bg-gray-200' : 'bg-gray-800' }} my-10 font-sans {{ $design == 'light' ? 'text-gray-700' : 'text-gray-400' }}">
|
||||
<div class="grid grid-cols-6">
|
||||
<div class="col-span-4 col-start-2">
|
||||
<div class="{{ $design == 'light' ? 'bg-white' : 'bg-gray-900' }} shadow border-t-2 {{ $design == 'light' ? 'border-primary' : 'border-gray-800' }}">
|
||||
<div class="px-10 break-all">
|
||||
{{ $header }}
|
||||
</div>
|
||||
<div id="text" class="flex flex-col px-10 py-6">
|
||||
@isset($greeting)
|
||||
{{ $greeting }}
|
||||
@endisset
|
||||
|
||||
<div class="break-all">
|
||||
{{ $slot}}
|
||||
</div>
|
||||
|
||||
@isset($signature)
|
||||
{{ $signature }}
|
||||
@endisset
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@isset($below_card)
|
||||
<div id="bottomText" class="px-10 my-4 text-center">
|
||||
{{ $below_card }}
|
||||
</div>
|
||||
@endisset
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Whitelabel -->
|
||||
@isset($whitelabel)
|
||||
@if(!$whitelabel)
|
||||
<div style="display: flex; flex-direction: row; justify-content: center; margin-top: 1rem; margin-bottom: 1rem;">
|
||||
<a href="https://invoiceninja.com" target="_blank">
|
||||
<img style="height: 4rem; {{ $design == 'dark' ? 'filter: invert(100%);' : '' }}" src="{{ asset('images/created-by-invoiceninja-new.png') }}" alt="Invoice Ninja">
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
<body style="margin: 0; padding: 0; background-color: {{ $design == 'light' ? '#F9FAFB' : '#111827' }};">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="padding: 20px; font-family: Arial, sans-serif, 'Open Sans'">
|
||||
<table align="center" cellpadding="0" cellspacing="0" width="600"
|
||||
style="box-shadow: 0 1px 3px 0 rgba(0,0,0,.1), 0 1px 2px 0 rgba(0,0,0,.06)">
|
||||
<tr>
|
||||
<td align="center" bgcolor="#4caf50" class="primary-color-bg" style="padding: 40px 0 30px 0;">
|
||||
{{ $header }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td bgcolor="{{ $design == 'light' ? '#ffffff' : '#1F2937'}}" style="padding: 40px 30px 40px 30px;">
|
||||
<table cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;">
|
||||
<tr>
|
||||
<td align="center" id="email-content">
|
||||
{{ $slot }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@isset($whitelabel)
|
||||
@if(!$whitelabel)
|
||||
<td bgcolor="{{ $design == 'light' ? '#ffffff' : '#1F2937'}}" style="padding-top: 20px; padding-bottom: 20px;" align="center">
|
||||
<p style="margin: 0; border-top: 1px solid {{ $design == 'light' ? '#F3F4F6' : '#374151' }}; padding-top: 20px;">
|
||||
<a href="https://invoiceninja.com" target="_blank">
|
||||
<img
|
||||
style="height: 4rem; {{ $design == 'dark' ? 'filter: invert(100%);' : '' }}"
|
||||
src="{{ asset('images/created-by-invoiceninja-new.png') }}"
|
||||
alt="Invoice Ninja">
|
||||
</a>
|
||||
</p>
|
||||
</td>
|
||||
@endif
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
</html>
|
||||
|
@ -1,30 +1,47 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ App::getLocale() }}" class="bg-white">
|
||||
<!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" lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<title>Invoice Ninja</title>
|
||||
</head>
|
||||
|
||||
<body class="bg-white p-4">
|
||||
{!! $body !!}
|
||||
|
||||
@if($signature)
|
||||
<div style="margin-top: 20px">
|
||||
{!! $signature !!}
|
||||
</div>
|
||||
@endif
|
||||
<body>
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="font-family: Arial, sans-serif, 'Open Sans'">
|
||||
<table cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<table cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td id="email-content">
|
||||
{!! $body !!}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@isset($whitelabel)
|
||||
@if(!$whitelabel)
|
||||
<td>
|
||||
<p>
|
||||
<a href="https://invoiceninja.com" target="_blank">
|
||||
{{ __('texts.ninja_email_footer', ['site' => 'Invoice Ninja']) }}
|
||||
</a>
|
||||
</p>
|
||||
</td>
|
||||
@endif
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
<footer class="p-4">
|
||||
{!! $footer !!}
|
||||
</footer>
|
||||
</html>
|
||||
|
||||
@if(!$whitelabel)
|
||||
<div style="display: block; margin-top: 1rem; margin-bottom: 1rem;">
|
||||
<a href="https://invoiceninja.com" target="_blank">
|
||||
{{ __('texts.ninja_email_footer', ['site' => 'Invoice Ninja']) }}
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user