- Express + EJS server-rendered app - Supabase PostgreSQL database - Auth: username/password with bcrypt - Dashboard with business stats - Load CRUD with filters - WhatsApp message parser - Payment tracking - Shipper & vehicle management - Reports (monthly, top shippers, routes) - Government-app aesthetic (tricolor theme) - Dark mode support - Docker + Coolify deployment ready - Seed data from existing business ledger (88 loads, 41 shippers, 70 vehicles)
48 lines
2.1 KiB
Text
48 lines
2.1 KiB
Text
<!DOCTYPE html>
|
|
<html lang="en" data-theme="light">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title><%= typeof title !== 'undefined' ? title + ' — ' : '' %><%= appName %> · <%= appNameHi %></title>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+Devanagari:wght@400;600;700&family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
|
<link rel="stylesheet" href="/css/style.css">
|
|
</head>
|
|
<body class="auth-page">
|
|
<div class="login-page">
|
|
<div class="login-container">
|
|
<div class="login-header">
|
|
<div class="login-emblem">🇮🇳</div>
|
|
<h1 class="login-title-hi"><%= appNameHi %></h1>
|
|
<h2 class="login-title-en"><%= appName %></h2>
|
|
<p class="login-tagline">भारत सरकार प्रायोजित माल परिवहन मंच</p>
|
|
<p class="login-tagline-en">Govt. of India Sponsored Freight Platform</p>
|
|
</div>
|
|
|
|
<% if (typeof error !== 'undefined' && error) { %>
|
|
<div class="alert alert-error"><%= error %></div>
|
|
<% } %>
|
|
|
|
<form method="POST" action="/login" class="login-form">
|
|
<input type="hidden" name="_csrf" value="<%= _csrf %>">
|
|
<div class="form-group">
|
|
<label class="form-label">Username</label>
|
|
<input type="text" name="username" class="form-input" required autofocus placeholder="Enter username">
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="form-label">Password</label>
|
|
<input type="password" name="password" class="form-input" required placeholder="Enter password">
|
|
</div>
|
|
<button type="submit" class="btn btn-primary btn-block">🔐 Login</button>
|
|
</form>
|
|
|
|
<div class="login-footer">
|
|
<div class="footer-tricolor"><span></span><span></span><span></span></div>
|
|
<p>Secured by Government of India</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script src="/js/app.js"></script>
|
|
</body>
|
|
</html>
|