feat: complete user authentication, admin guard, customer account dashboard and branded HTML emails

This commit is contained in:
2026-11-01 13:55:45 +01:00
parent b6ee6938cb
commit ee89da5e61
37 changed files with 1895 additions and 22 deletions
@@ -0,0 +1,99 @@
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@yield('title', 'Jouwdriedee.nl')</title>
<style>
/* Base styles */
body, table, td, a { -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; outline: none; text-decoration: none; }
body { margin: 0; padding: 0; width: 100% !important; background-color: #F8FAFC; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; }
/* Interactive elements */
.btn-primary {
display: inline-block;
background-color: #FBBF24;
color: #0F172A !important;
font-weight: 800;
font-size: 14px;
padding: 12px 28px;
border-radius: 12px;
text-decoration: none;
text-align: center;
}
.btn-primary:hover {
background-color: #F59E0B;
}
</style>
</head>
<body style="margin: 0; padding: 0; background-color: #F8FAFC; color: #1E293B;">
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #F8FAFC; padding: 30px 10px;">
<tr>
<td align="center">
<!-- Outer Container (Max 600px) -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 600px; background-color: #FFFFFF; border-radius: 20px; overflow: hidden; border: 1px solid #E2E8F0; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);">
<!-- Top Colorful Accent Gradient Bar -->
<tr>
<td height="6" style="background: linear-gradient(90deg, #F43F5E 0%, #F59E0B 50%, #38BDF8 100%);"></td>
</tr>
<!-- Header with Logo -->
<tr>
<td align="center" style="padding: 28px 24px 20px 24px; border-bottom: 1px solid #F1F5F9; background-color: #FFFFFF;">
<a href="{{ config('app.url') }}" target="_blank" style="text-decoration: none; display: inline-block;">
<table role="presentation" border="0" cellpadding="0" cellspacing="0">
<tr>
<!-- Isometric 3D Logo Mark representation in SVG/colors -->
<td align="center" valign="middle" style="background: linear-gradient(135deg, #F59E0B 0%, #F43F5E 50%, #6366F1 100%); border-radius: 12px; width: 40px; height: 40px; text-align: center; color: #FFFFFF; font-weight: 900; font-size: 18px; line-height: 40px;">
3D
</td>
<td valign="middle" style="padding-left: 12px; text-align: left;">
<span style="font-size: 22px; font-weight: 900; color: #0F172A; letter-spacing: -0.5px;">Jouw<span style="color: #F43F5E;">driedee</span><span style="background-color: #6366F1; color: #FFFFFF; font-size: 10px; font-weight: 900; padding: 2px 5px; border-radius: 4px; margin-left: 4px; vertical-align: top;">.NL</span></span>
<span style="display: block; font-size: 11px; font-weight: 700; color: #64748B;">Nederlandse 3D Printstudio &amp; Webshop</span>
</td>
</tr>
</table>
</a>
</td>
</tr>
<!-- Main Email Content Slot -->
<tr>
<td style="padding: 32px 32px 28px 32px;">
@yield('content')
</td>
</tr>
<!-- Footer Info & Trust Badges -->
<tr>
<td style="background-color: #0F172A; padding: 28px 32px; color: #94A3B8; text-align: center; font-size: 12px; line-height: 1.6;">
<div style="font-weight: 800; color: #F1F5F9; font-size: 13px; margin-bottom: 6px;">
Jouwdriedee.nl &bull; Hoogwaardige 3D Prints &amp; Collectibles
</div>
<div style="color: #94A3B8; margin-bottom: 14px;">
Geprint met precisie op Bambu Lab printers met 100% veilig Bio-PLA+ en PETG filament.
</div>
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-bottom: 16px; border-top: 1px solid #1E293B; padding-top: 14px;">
<tr>
<td align="center" style="color: #F59E0B; font-size: 11px; font-weight: 700;">
&bull; Vragen of speciale wensen? Stuur een e-mail naar <a href="mailto:info@jouwdriedee.nl" style="color: #FBBF24; text-decoration: underline;">info@jouwdriedee.nl</a> &bull;
</td>
</tr>
</table>
<div style="font-size: 11px; color: #64748B;">
&copy; {{ date('Y') }} Jouwdriedee.nl. Alle rechten voorbehouden.
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>