UNPKG

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
<!DOCTYPE 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>&copy; 2025 {{appName}}. All rights reserved.</p> </div> </div> </body> </html>