aboutsummaryrefslogtreecommitdiffstats
path: root/res/setup.html
diff options
context:
space:
mode:
Diffstat (limited to 'res/setup.html')
-rw-r--r--res/setup.html52
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) {
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage