diff options
Diffstat (limited to 'res/setup.html')
| -rw-r--r-- | res/setup.html | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/res/setup.html b/res/setup.html index 8068a9d..d7a044e 100644 --- a/res/setup.html +++ b/res/setup.html @@ -19,17 +19,16 @@ <body> <main class="setup"> - <h1 class="setup-title">SyncTube</h1> - <p>Create your admin account</p> + <img class="welcome-image" src="img/welcome.webp" alt="Welcome to Dohee Cinema"> + <h1 class="setup-title">Welcome to the Dohee Cinema</h1> + <p>put in the password for entry</p> - <form id="setup-form" class="setup-form" action="/setup" method="POST"> - <input type="text" name="name" placeholder="Name"> + <form id="setup-form" class="setup-form"> <input type="password" name="password" placeholder="Password"> - <input type="password" name="confirmation" placeholder="Repeat password"> <div id="form-errors" class="form-errors"></div> - <button type="submit">Create</button> + <button type="submit">Enter</button> </form> </main> @@ -37,33 +36,34 @@ const formElement = document.getElementById("setup-form"); const errorsElement = document.getElementById("form-errors"); + function submitPassword(pw) { + const payload = { password: pw }; + return fetch("/gate", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }) + .then(res => res.json()) + .then(response => handleResponse(response, pw)) + .catch(() => handleResponse(null, pw)); + } + formElement.addEventListener("submit", function (e) { e.preventDefault(); - - const { name, password, confirmation } = formElement.elements; - const payload = { - name: name.value, - password: password.value, - passwordConfirmation: confirmation.value, - } - - fetch("/setup", { method: "POST", body: JSON.stringify(payload) }) - .then(res => res.json()) - .then(response => handleResponse(response)) - .catch(() => handleResponse(null)); + const { password } = formElement.elements; + submitPassword(password.value); }, true); + const savedPassword = localStorage.getItem("gate_password"); + if (savedPassword) { + submitPassword(savedPassword); + } - function handleResponse(response) { - if (response.success) { - return window.location.reload(); + function handleResponse(response, pw) { + if (response && response.success === true) { + localStorage.setItem("gate_password", pw); + window.location.href = "/"; + return; } - const errors = !response - ? ["Unknown error"] - : (response.errors ?? []).map(item => item.error); - - showErrors(errorsElement, errors); + localStorage.removeItem("gate_password"); + showErrors(errorsElement, ["Incorrect password. Not cool man"]); } function showErrors(container, errors) { |
