From 43db9196cd0b0a08b4fb039075a99203361ee6d4 Mon Sep 17 00:00:00 2001 From: eldov Date: Sun, 30 Aug 2026 05:16:54 +0200 Subject: [PATCH] feat: initial import of Erugo blade templates and email views --- views/app.blade.php | 188 +++++++++++++++++++++ views/emails/accountCreatedMail.twig | 16 ++ views/emails/emailVerificationMail.twig | 28 +++ views/emails/layout.twig | 102 +++++++++++ views/emails/passwordResetMail.twig | 20 +++ views/emails/reverseShareInviteMailV2.twig | 27 +++ views/emails/shareCreatedMail.twig | 16 ++ views/emails/shareDeletedWarningMail.twig | 27 +++ views/emails/shareDeletionWarningMail.twig | 29 ++++ views/emails/shareDownloadedMail.twig | 17 ++ views/emails/shareExpiredWarningMail.twig | 28 +++ views/emails/shareExpiryWarningMail.twig | 17 ++ views/shares/failed.blade.php | 34 ++++ views/shares/pending.blade.php | 52 ++++++ 14 files changed, 601 insertions(+) create mode 100644 views/app.blade.php create mode 100644 views/emails/accountCreatedMail.twig create mode 100644 views/emails/emailVerificationMail.twig create mode 100644 views/emails/layout.twig create mode 100644 views/emails/passwordResetMail.twig create mode 100644 views/emails/reverseShareInviteMailV2.twig create mode 100644 views/emails/shareCreatedMail.twig create mode 100644 views/emails/shareDeletedWarningMail.twig create mode 100644 views/emails/shareDeletionWarningMail.twig create mode 100644 views/emails/shareDownloadedMail.twig create mode 100644 views/emails/shareExpiredWarningMail.twig create mode 100644 views/emails/shareExpiryWarningMail.twig create mode 100644 views/shares/failed.blade.php create mode 100644 views/shares/pending.blade.php diff --git a/views/app.blade.php b/views/app.blade.php new file mode 100644 index 0000000..e9b5f06 --- /dev/null +++ b/views/app.blade.php @@ -0,0 +1,188 @@ + + + + + + + + + + + {{ $settings['application_name'] }} + @vite('resources/js/app.js') + + + + + + + + +
+ + + \ No newline at end of file diff --git a/views/emails/accountCreatedMail.twig b/views/emails/accountCreatedMail.twig new file mode 100644 index 0000000..229f764 --- /dev/null +++ b/views/emails/accountCreatedMail.twig @@ -0,0 +1,16 @@ +{% extends 'emails/layout' %} + +{% block header %}Account Created! Set your password +{% endblock %} + +{% block content %} +

Hi {{ user.name }},

+ +

We've created an account for you on {{ settings.application_name }}.

+

Please set your password to get started.

+{% endblock %} + +{% block action_url %}{{ settings.application_url }}/reset-password/{{ token }}{% endblock %} +{% block action_text %} + Set Password +{% endblock %} diff --git a/views/emails/emailVerificationMail.twig b/views/emails/emailVerificationMail.twig new file mode 100644 index 0000000..7ed5b00 --- /dev/null +++ b/views/emails/emailVerificationMail.twig @@ -0,0 +1,28 @@ +{% extends 'emails/layout' %} + +{% block header %}Verify your email address +{% endblock %} + +{% block content %} +

Hi {{ user.name }},

+ +

Thanks for creating an account on {{ settings.application_name }}.

+

Please enter the following verification code to activate your account:

+ +
+
+ {{ code }} +
+
+ +

+ This code will expire in 15 minutes. +

+ +

+ Didn't create an account? You can safely ignore this email. +

+{% endblock %} + + + diff --git a/views/emails/layout.twig b/views/emails/layout.twig new file mode 100644 index 0000000..f447898 --- /dev/null +++ b/views/emails/layout.twig @@ -0,0 +1,102 @@ + + + + + + + {% block title %}{% endblock %} + + + + + +
+
+ +

+ {% block header %}{% endblock %} +

+
+ +
{% block content %}{% endblock %} + {% if block('action_url') is defined %} +
+ {{ block('action_text')|default('Click Here') }} +
+

+

{{ settings.email_template_fallback_text }}

+

{{ block('action_url') }}

+ {% endif %} +
+ + +
+ + diff --git a/views/emails/passwordResetMail.twig b/views/emails/passwordResetMail.twig new file mode 100644 index 0000000..fd27966 --- /dev/null +++ b/views/emails/passwordResetMail.twig @@ -0,0 +1,20 @@ +{% extends 'emails/layout' %} + +{% block header %}Reset your password +{% endblock %} + +{% block content %} +

Hi {{ user.name }},

+ +

We've received a request to reset your password.

+

Use the link below to reset your password and get back into your account.

+ +

+ Didn't request a password reset? Ignore this email. +

+{% endblock %} + +{% block action_url %}{{ settings.application_url }}/reset-password/{{ token }}{% endblock %} +{% block action_text %} + Reset Password +{% endblock %} diff --git a/views/emails/reverseShareInviteMailV2.twig b/views/emails/reverseShareInviteMailV2.twig new file mode 100644 index 0000000..69caa93 --- /dev/null +++ b/views/emails/reverseShareInviteMailV2.twig @@ -0,0 +1,27 @@ +{% extends 'emails/layout' %} + +{% block header %} You have a new reverse share request +{% endblock %} + +{% block content %} +

Hi {{ recipient_name }},

+ +

{{ sender_name }} is requesting files from you.

+{% if isExistingUser %} +

Click the button below to log in to your account and upload files for {{ sender_name }}.

+{% else %} +

Click the button below to accept the request and upload files for {{ sender_name }}.

+{% endif %} + +{% if invite.message %} +
+

Message: {{ invite.message }}

+
+{% endif %} + +{% endblock %} + +{% block action_url %}{% if isExistingUser %}{{ settings.application_url }}/?invite_id={{ invite.id }}{% else %}{{ settings.application_url }}/?invite_token={{ token }}{% endif %}{% endblock %} + +{% block action_text %}{% if isExistingUser %}Log In & Upload{% else %}Accept Request{% endif %}{% endblock %} + diff --git a/views/emails/shareCreatedMail.twig b/views/emails/shareCreatedMail.twig new file mode 100644 index 0000000..40b05c1 --- /dev/null +++ b/views/emails/shareCreatedMail.twig @@ -0,0 +1,16 @@ +{% extends 'emails/layout' %} + +{% block header %} You have files to download +{% endblock %} + +{% block content %} +

Hi {{ recipient_name }},

+ +

{{ sender_name }} shared {{ share.file_count }} file{{ share.file_count == 1 ? '' : 's' }} with you.

+

Click the button below to access your files.

+{% endblock %} + +{% block action_url %}{{ settings.application_url }}/shares/{{ share.long_id }}{% endblock %} +{% block action_text %} + Download Files +{% endblock %} diff --git a/views/emails/shareDeletedWarningMail.twig b/views/emails/shareDeletedWarningMail.twig new file mode 100644 index 0000000..321b585 --- /dev/null +++ b/views/emails/shareDeletedWarningMail.twig @@ -0,0 +1,27 @@ +{% extends 'emails/layout' %} + +{% block header %} + Your share has been deleted +{% endblock %} + +{% block content %} +

Hi {{ share.user.first_name }},

+ +

This is a reminder that your share "{{ share.name }}" ({{ share.long_id }}) has been deleted.

+ +{% if share.download_count > 0 %} +

The share has been downloaded + {{ share.download_count }} + time{{ share.download_count == 1 ? '' : 's' }}.

+{% else %} +

The share wasn't downloaded.

+{% endif %} + +

This share can no longer be revived.

+{% endblock %} + +{% block action_url %}{{ settings.application_url }}{% endblock %} +{% block action_text %} + Visit + {{ settings.application_name }} +{% endblock %} diff --git a/views/emails/shareDeletionWarningMail.twig b/views/emails/shareDeletionWarningMail.twig new file mode 100644 index 0000000..9d7902e --- /dev/null +++ b/views/emails/shareDeletionWarningMail.twig @@ -0,0 +1,29 @@ +{% extends 'emails/layout' %} + +{% block header %} + Your share will be deleted soon +{% endblock %} + +{% block content %} +

Hi {{ share.user.first_name }},

+

This is a reminder that your share ({{ share.name }} + / + {{ share.long_id }}) will be deleted in + {{ deletes_in }}.

+ +{% if share.download_count > 0 %} +

The share has been downloaded + {{ share.download_count }} + time{{ share.download_count == 1 ? '' : 's' }}.

+{% else %} +

The share wasn't downloaded.

+{% endif %} + +

You can revive it in the "My Shares" section of the app. This will prevent it from being deleted.

+{% endblock %} + +{% block action_url %}{{ settings.application_url }}{% endblock %} +{% block action_text %} + Visit + {{ settings.application_name }} +{% endblock %} diff --git a/views/emails/shareDownloadedMail.twig b/views/emails/shareDownloadedMail.twig new file mode 100644 index 0000000..7654a91 --- /dev/null +++ b/views/emails/shareDownloadedMail.twig @@ -0,0 +1,17 @@ +{% extends 'emails/layout' %} + +{% block header %}Share Downloaded +{% endblock %} + +{% block content %} +

Hi {{ share.user.name }},

+

Just thought you'd like to know that your share "{{ share.name }}" was downloaded.

+

+ We'll only send this the first time a share is downloaded. +

+{% endblock %} + +{% block action_url %}{{ settings.application_url }}/shares/{{ share.long_id }}{% endblock %} +{% block action_text %} + View Share +{% endblock %} diff --git a/views/emails/shareExpiredWarningMail.twig b/views/emails/shareExpiredWarningMail.twig new file mode 100644 index 0000000..156924a --- /dev/null +++ b/views/emails/shareExpiredWarningMail.twig @@ -0,0 +1,28 @@ +{% extends 'emails/layout' %} + +{% block header %} + Your share has expired +{% endblock %} + +{% block content %} +

Hi {{ share.user.first_name }},

+

This is a reminder that your share ({{ share.name }} + / + {{ share.long_id }}) has expired.

+ +{% if share.download_count > 0 %} +

The share has been downloaded + {{ share.download_count }} + time{{ share.download_count == 1 ? '' : 's' }}.

+{% else %} +

The share wasn't downloaded.

+{% endif %} + +

You can revive it in the "My Shares" section of the app.

+{% endblock %} + +{% block action_url %}{{ settings.application_url }}{% endblock %} +{% block action_text %} + Visit + {{ settings.application_name }} +{% endblock %} diff --git a/views/emails/shareExpiryWarningMail.twig b/views/emails/shareExpiryWarningMail.twig new file mode 100644 index 0000000..9f15721 --- /dev/null +++ b/views/emails/shareExpiryWarningMail.twig @@ -0,0 +1,17 @@ +{% extends 'emails/layout' %} + +{% block header %} + Your share is expiring soon +{% endblock %} + +{% block content %} +

Hi {{ share.user.first_name }},

+

This is a reminder that your share ({{ share.name }} / {{ share.long_id }}) will expire in + {{ share_expires_in }}.

+

You can extend the expiry date in the "My Shares" section of the app.

+{% endblock %} + +{% block action_url %}{{ settings.application_url }}{% endblock %} +{% block action_text %} + Visit {{ settings.application_name }} +{% endblock %} diff --git a/views/shares/failed.blade.php b/views/shares/failed.blade.php new file mode 100644 index 0000000..82b6ec1 --- /dev/null +++ b/views/shares/failed.blade.php @@ -0,0 +1,34 @@ + + + + + + + + + + {{ $settings['application_name'] }} + @vite('resources/js/app.js') + + + + + +
+ +
+ + + diff --git a/views/shares/pending.blade.php b/views/shares/pending.blade.php new file mode 100644 index 0000000..5410b15 --- /dev/null +++ b/views/shares/pending.blade.php @@ -0,0 +1,52 @@ + + + + + + + + + + {{ $settings['application_name'] }} + @vite('resources/js/app.js') + + + + + + + +
+ +
+ + +