"use strict";
const q = new URLSearchParams(location.search);
if (q.get("registered")) toast("Account created — please sign in", "ok");

$("#toRegister").onclick = e => { e.preventDefault(); $("#loginView").classList.add("hidden"); $("#regView").classList.remove("hidden"); };
$("#toLogin").onclick = e => { e.preventDefault(); $("#regView").classList.add("hidden"); $("#loginView").classList.remove("hidden"); };

$("#loginForm").onsubmit = async e => {
  e.preventDefault();
  const btn = $("#loginBtn"); btn.disabled = true; btn.textContent = "Signing in…";
  $("#loginErr").classList.add("hidden");
  try {
    await POST("/auth/login", { email: $("#liEmail").value.trim(), password: $("#liPass").value });
    const next = q.get("next") || "/";
    location.href = next.startsWith("/") ? next : "/";
  } catch (err) {
    const box = $("#loginErr"); box.textContent = err.message; box.classList.remove("hidden");
    btn.disabled = false; btn.textContent = "Sign in";
  }
};
$("#regForm").onsubmit = async e => {
  e.preventDefault();
  const btn = $("#regBtn"); btn.disabled = true; btn.textContent = "Creating…";
  $("#regErr").classList.add("hidden");
  try {
    await POST("/auth/register", { email: $("#rgEmail").value.trim(), password: $("#rgPass").value, full_name: $("#rgName").value.trim() });
    location.href = "/login?registered=1";
  } catch (err) {
    const box = $("#regErr"); box.textContent = err.message; box.classList.remove("hidden");
    btn.disabled = false; btn.textContent = "Create account";
  }
};
