Aplikasi billing & manajemen ISP (fiber optic) — PWA pelanggan, portal teknisi & kolektor, admin panel lengkap, multi-vendor OLT, RADIUS, WhatsApp/Telegram, pembayaran QRIS. Kredit & lisensi (ISC): - Base kode & repo: alijayanet/billing-rtrw oleh Alijaya Net — terima kasih banyak atas base kode dan repo yang bermanfaat. - Add-on: GoWA, LibreSpeed/OpenSpeedTest, Uptime Kuma, notification-forwarder. - Dikembangkan menjadi OPEN-ISP oleh oxpoe — https://github.com/oxpoe/open-isp
44 lines
2.1 KiB
Plaintext
44 lines
2.1 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="<%= lang || 'id' %>" data-theme="dark">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
|
|
<title><%= title %> | <%= company %></title>
|
|
<meta name="theme-color" content="#0A0D14">
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link rel="stylesheet" href="/vendor/bootstrap-icons/bootstrap-icons.min.css">
|
|
<link rel="stylesheet" href="/css/landing.css?v=4">
|
|
<link rel="stylesheet" href="/css/auth.css?v=4">
|
|
<link rel="stylesheet" href="/css/theme-toggle.css">
|
|
<link rel="icon" href="/img/icons/icon-192.png">
|
|
<script>document.documentElement.classList.add('js');</script>
|
|
</head>
|
|
<body>
|
|
<main class="otp-wrap">
|
|
<div class="auth-card">
|
|
<div class="auth-logo"><i class="bi bi-cash-coin" style="font-size:26px;color:var(--primary)"></i></div>
|
|
<h2><%= t('collector.login_title','Portal Kolektor') %></h2>
|
|
<p class="sub"><%= company %></p>
|
|
|
|
<% if (error) { %><div class="auth-alert err" style="justify-content:center"><i class="bi bi-exclamation-triangle"></i> <%= error %></div><% } %>
|
|
|
|
<form method="POST" action="/collector/login">
|
|
<div class="field">
|
|
<label for="username"><i class="bi bi-person-badge"></i> Username</label>
|
|
<div class="wrap"><i class="bi bi-person-badge lead-ic"></i>
|
|
<input type="text" id="username" name="username" class="inp" required placeholder="Masukkan username" autocomplete="username" autofocus></div>
|
|
</div>
|
|
<div class="field">
|
|
<label for="password"><i class="bi bi-key"></i> Password</label>
|
|
<div class="wrap"><i class="bi bi-key lead-ic"></i>
|
|
<input type="password" id="password" name="password" class="inp" required placeholder="Masukkan password" autocomplete="current-password"></div>
|
|
</div>
|
|
<button type="submit" class="lbtn lbtn-primary btn-auth"><i class="bi bi-box-arrow-in-right"></i> Masuk</button>
|
|
</form>
|
|
</div>
|
|
</main>
|
|
<script src="/js/theme-toggle.js" defer></script>
|
|
</body>
|
|
</html>
|