joblin / frontend /login.html
Britzzy's picture
feat: corporate ATS scrapers (Ashby, Greenhouse), O&G, government boards, posted_date fixes
7db43bc
Raw
History Blame Contribute Delete
2.17 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Joblin - Sign In</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="auth-page">
<div class="auth-card">
<a href="index.html" class="auth-brand">
<div class="auth-brand-icon">J</div>
<h1>Job<span>lin</span></h1>
</a>
<p class="subtitle">AI-powered CV & job matching platform</p>
<form id="loginForm">
<div class="form-group">
<label>Email</label>
<input type="email" id="email" placeholder="you@example.com" required autocomplete="email">
</div>
<div class="form-group">
<label>Password</label>
<div class="pwd-wrapper">
<input type="password" id="password" placeholder="Enter your password" required autocomplete="current-password">
<span class="pwd-toggle" onclick="togglePwd('password',this)">&#128065;</span>
</div>
</div>
<button type="submit" class="btn btn-primary btn-lg" style="width:100%" id="loginBtn">Sign In</button>
</form>
<p class="footer-link" style="margin-bottom:var(--space-2)"><a href="forgot-password.html">Forgot password?</a></p>
<p class="footer-link">Don't have an account? <a href="register.html">Create one</a></p>
</div>
</div>
<script src="app.js"></script>
<script>
const btn = document.getElementById("loginBtn");
document.getElementById("loginForm").addEventListener("submit", async (e) => {
e.preventDefault();
btn.disabled = true;
btn.innerHTML = '<span class="spinner"></span> Signing in...';
try {
const data = await apiFetch("POST", "/api/auth/login", {
email: document.getElementById("email").value,
password: document.getElementById("password").value,
});
localStorage.setItem("joblin_token", data.token);
setCurrentUser(data.user);
window.location.href = "dashboard.html";
} catch (err) {
showToast(err.message, "error");
btn.disabled = false;
btn.textContent = "Sign In";
}
});
if (getToken()) window.location.href = "dashboard.html";
</script>
</body>
</html>