create-arktos
Version:
🚀 A modern Node.js backend boilerplate with TypeScript, Express, JWT authentication, Prisma ORM, PostgreSQL, and Resend email service. Includes complete authentication flow, security middleware, and database management.
118 lines (109 loc) • 3.75 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Password Reset - {{appName}}</title>
<style>
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
line-height: 1.6;
color: #333;
background-color: #f4f4f4;
margin: 0;
padding: 0;
}
.container {
max-width: 600px;
margin: 20px auto;
background: white;
padding: 40px;
border-radius: 10px;
box-shadow: 0 0 20px rgba(0,0,0,0.1);
}
.header {
text-align: center;
margin-bottom: 30px;
}
.logo {
font-size: 24px;
font-weight: bold;
color: #dc2626;
margin-bottom: 10px;
}
h1 {
color: #1f2937;
margin-bottom: 20px;
font-size: 24px;
}
.button {
display: inline-block;
padding: 12px 30px;
background-color: #dc2626;
color: white;
text-decoration: none;
border-radius: 6px;
font-weight: bold;
margin: 20px 0;
transition: background-color 0.3s ease;
}
.button:hover {
background-color: #b91c1c;
}
.footer {
margin-top: 40px;
text-align: center;
color: #6b7280;
font-size: 14px;
}
.footer a {
color: #dc2626;
text-decoration: none;
}
.divider {
border-top: 1px solid #e5e7eb;
margin: 30px 0;
}
.security-note {
background-color: #fef2f2;
border-left: 4px solid #dc2626;
padding: 15px;
margin: 20px 0;
font-size: 14px;
}
.warning {
background-color: #fffbeb;
border-left: 4px solid #f59e0b;
padding: 15px;
margin: 20px 0;
font-size: 14px;
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<div class="logo">{{appName}}</div>
</div>
<h1>Hi {{firstName}},</h1>
<p>We received a request to reset the password for your {{appName}} account.</p>
<p>If you requested this password reset, please click the button below to create a new password:</p>
<div style="text-align: center;">
<a href="{{resetUrl}}" class="button">Reset Password</a>
</div>
<div class="security-note">
<strong>Security Notice:</strong> This password reset link will expire in 1 hour for your security. If you didn't request a password reset, please ignore this email and your password will remain unchanged.
</div>
<div class="warning">
<strong>Important:</strong> If you suspect someone else requested this password reset, please contact our support team immediately and consider changing your password through the app directly.
</div>
<p>If the button doesn't work, you can also copy and paste the following link into your browser:</p>
<p style="word-break: break-all; color: #dc2626;">{{resetUrl}}</p>
<div class="divider"></div>
<div class="footer">
<p>Need help? Contact our support team or visit our <a href="{{frontendUrl}}">help center</a>.</p>
<p>© 2025 {{appName}}. All rights reserved.</p>
</div>
</div>
</body>
</html>