(() => { 'use strict'; function showError(form, message) { const error = form.querySelector('[data-form-error]'); error.textContent = message; error.hidden = false; } const loginForm = document.querySelector('[data-login-form]'); loginForm?.addEventListener('submit', async (event) => { event.preventDefault(); const form = event.currentTarget; const submit = form.querySelector('button[type="submit"]'); submit.disabled = true; try { await CampusBookHouse.request('/api/v1/account/customer/login', { method: 'POST', body: JSON.stringify(Object.fromEntries(new FormData(form))) }); window.location.assign(new URLSearchParams(window.location.search).get('next') || '/'); } catch (error) { showError(form, error.message); submit.disabled = false; } }); const signupForm = document.querySelector('[data-signup-form]'); signupForm?.addEventListener('submit', async (event) => { event.preventDefault(); const form = event.currentTarget; const submit = form.querySelector('button[type="submit"]'); submit.disabled = true; try { await CampusBookHouse.request('/api/v1/account/register/customer/site', { method: 'POST', body: JSON.stringify(Object.fromEntries(new FormData(form))) }); window.location.assign('/login.html?registered=1'); } catch (error) { showError(form, error.message); submit.disabled = false; } }); })();