From 3fe0b433720b01d5e4d5289ac1d9e0d87c29ee9f Mon Sep 17 00:00:00 2001 From: Wim Brand Date: Tue, 25 Mar 2025 17:58:26 +0100 Subject: [PATCH] Add e-mail based login --- res/template/login.html | 20 ++ svelte/rollup.config.js | 1 + svelte/src/icons/Persistence.svelte | 2 +- svelte/src/icons/Pro.svelte | 2 +- svelte/src/layout/ToggleButton.svelte | 7 +- svelte/src/lib/PixeldrainAPI.mts | 3 + svelte/src/login.js | 8 + svelte/src/login/Login.svelte | 165 +++++++++++++--- svelte/src/login/LoginRegister.svelte | 8 +- svelte/src/login/Register.svelte | 38 +--- svelte/src/login/Router.svelte | 36 ++++ svelte/src/user_home/AccountSettings.svelte | 37 +++- svelte/src/user_home/EmbeddingControls.svelte | 1 - svelte/src/user_home/OTPSetup.svelte | 169 ++++++++++++++++ svelte/src/util/Form.svelte | 120 +++++++----- webcontroller/user_account.go | 180 ------------------ webcontroller/web_controller.go | 7 +- 17 files changed, 499 insertions(+), 305 deletions(-) create mode 100644 res/template/login.html create mode 100644 svelte/src/login.js create mode 100644 svelte/src/login/Router.svelte create mode 100644 svelte/src/user_home/OTPSetup.svelte diff --git a/res/template/login.html b/res/template/login.html new file mode 100644 index 0000000..3815268 --- /dev/null +++ b/res/template/login.html @@ -0,0 +1,20 @@ +{{define "login"}} + + + {{template "meta_tags" "Login" }} + + + + + + + {{template "menu" .}} +
+ {{template "analytics"}} + + +{{end}} diff --git a/svelte/rollup.config.js b/svelte/rollup.config.js index 6d1a975..d2b2cb8 100644 --- a/svelte/rollup.config.js +++ b/svelte/rollup.config.js @@ -20,6 +20,7 @@ export default [ "text_upload", "speedtest", "upload_history", + "login", ].map((name, index) => ({ input: `src/${name}.js`, output: { diff --git a/svelte/src/icons/Persistence.svelte b/svelte/src/icons/Persistence.svelte index 0f2068e..a83e7dc 100644 --- a/svelte/src/icons/Persistence.svelte +++ b/svelte/src/icons/Persistence.svelte @@ -1,4 +1,4 @@ -star +star diff --git a/svelte/src/util/Form.svelte b/svelte/src/util/Form.svelte index 7bce136..a74792f 100644 --- a/svelte/src/util/Form.svelte +++ b/svelte/src/util/Form.svelte @@ -1,22 +1,34 @@ - + -
- {#if submitted} + + {#if submitted && submit_result !== undefined} {#if submit_result.messages}
Something went wrong, please correct these errors before continuing:
@@ -129,7 +135,6 @@ let handle_errors = (response) => { {/if} {/if} -
{#each config.fields as field} {#if field.type !== "description"} @@ -141,8 +146,10 @@ let handle_errors = (response) => { id="input_{field.name}" name="{field.name}" value="{field.default_value}" + pattern={field.pattern} type="text" - class="form_input"/> + class="form_input" + /> {:else if field.type === "text_area"}