confirmation_email.html.twig and reset_password/email.html.twig were plain unstyled HTML with no shared structure. Extract a table-based layout (templates/emails/layout.html.twig) with header/logo, content block, and footer, so future transactional emails can extend it instead of starting from scratch. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
32 lines
1.4 KiB
Twig
32 lines
1.4 KiB
Twig
{% extends 'emails/layout.html.twig' %}
|
|
|
|
{% block title %}Reset your password{% endblock %}
|
|
|
|
{% block content %}
|
|
<h1 style="margin:0 0 16px; font-size:20px; color:#222222;">Hi!</h1>
|
|
|
|
<p style="margin:0 0 24px;">
|
|
We received a request to reset your password. Click the button below to choose a new one.
|
|
This link will expire in {{ resetToken.expirationMessageKey|trans(resetToken.expirationMessageData, 'ResetPasswordBundle') }}.
|
|
</p>
|
|
|
|
<table role="presentation" cellpadding="0" cellspacing="0" style="margin:0 0 24px;">
|
|
<tr>
|
|
<td style="border-radius:4px; background-color:#3a7ca5;">
|
|
<a href="{{ url('app_reset_password', {token: resetToken.token}) }}" style="display:inline-block; padding:12px 24px; color:#ffffff; text-decoration:none; font-weight:bold;">
|
|
Reset my password
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p style="margin:0 0 24px;">
|
|
If the button doesn't work, copy and paste this link into your browser:<br>
|
|
<a href="{{ url('app_reset_password', {token: resetToken.token}) }}" style="color:#3a7ca5; word-break:break-all;">{{ url('app_reset_password', {token: resetToken.token}) }}</a>
|
|
</p>
|
|
|
|
<p style="margin:0 0 8px;">If you didn't request a password reset, you can safely ignore this email.</p>
|
|
|
|
<p style="margin:24px 0 0;">Cheers!</p>
|
|
{% endblock %}
|