From 21bee958c27e6227fc5a084951a065d552d88772 Mon Sep 17 00:00:00 2001 From: MrMelon54 Date: Tue, 22 Nov 2022 15:46:33 +0000 Subject: [PATCH] Fix up register form and add styles to email code form --- src/components/login/EmailCodeForm.svelte | 75 +++++++++-- src/components/login/LoginForm.svelte | 18 ++- src/components/register/RegisterForm.svelte | 138 ++++++++++++++------ src/routes/register/RegisterRoute.svelte | 47 ++++++- 4 files changed, 221 insertions(+), 57 deletions(-) diff --git a/src/components/login/EmailCodeForm.svelte b/src/components/login/EmailCodeForm.svelte index a61a4db..25a8d5e 100644 --- a/src/components/login/EmailCodeForm.svelte +++ b/src/components/login/EmailCodeForm.svelte @@ -10,15 +10,72 @@ } -
-

Email Code

+ + +
+ + diff --git a/src/components/login/LoginForm.svelte b/src/components/login/LoginForm.svelte index d9dfa38..9a6b9d7 100644 --- a/src/components/login/LoginForm.svelte +++ b/src/components/login/LoginForm.svelte @@ -18,9 +18,7 @@
-
-
@@ -43,6 +41,9 @@ background: var(--bg-panel); border-radius: var(--large-curve) var(--large-curve) 0 0; padding: 0 16px; + display: flex; + flex-direction: column; + align-items: center; > h1 { margin: 0; @@ -53,10 +54,12 @@ > section { padding-bottom: 16px; + display: grid; + grid-template-columns: repeat(2, auto); + gap: 16px; > label { - width: 100px; - display: inline-block; + align-self: center; } > input { @@ -65,6 +68,13 @@ width: 260px; height: 16px; border-radius: var(--small-curve); + border: 2px solid var(--primary-hover); + transition: border-color 100ms; + + &:focus { + border: 2px solid var(--primary-text); + outline: none; + } } } } diff --git a/src/components/register/RegisterForm.svelte b/src/components/register/RegisterForm.svelte index b1156fe..8ae5a78 100644 --- a/src/components/register/RegisterForm.svelte +++ b/src/components/register/RegisterForm.svelte @@ -2,11 +2,18 @@ import {createEventDispatcher} from "svelte"; import {getEnv} from "~/utils/env"; + export let err: {message: string; log_id: string}; + + // Account let inputEmail: string = ""; - let inputUsername: string = ""; - let inputDisplayName: string = ""; + let inputTag: string = ""; let inputPassword: string = ""; let inputRepeat: string = ""; + + // Profile + let inputDisplayName: string = ""; + let inputPronouns: number; + let inputGender: string; let inputBirthday: Date; const dispatch = createEventDispatcher(); @@ -14,10 +21,13 @@ function submitLogin() { dispatch("submit", { email: inputEmail, - username: inputUsername, - displayName: inputDisplayName, + username: inputTag, password: inputPassword, repeatPassword: inputRepeat, + displayName: inputDisplayName, + pronouns: inputPronouns, + gender: inputGender, + birthday: inputBirthday, }); } @@ -30,21 +40,15 @@

Register

-
-

Account

-
+

Account

-
-
- - -
+ + -
-
-
-
-

Profile (optional)

-
+

Profile (optional)

- -
+ + + + + + + -
-
-

Policy

-
+

Policy

@@ -108,6 +115,13 @@
+ {#if err} +
+
Error
+
{err.message}
+
Log ID: {err.log_id}
+
+ {/if}
@@ -116,6 +130,7 @@ diff --git a/src/routes/register/RegisterRoute.svelte b/src/routes/register/RegisterRoute.svelte index 8792f3c..bdb70bf 100644 --- a/src/routes/register/RegisterRoute.svelte +++ b/src/routes/register/RegisterRoute.svelte @@ -2,15 +2,58 @@ import Page from "~/lib/Page.svelte"; import RegisterForm from "~/components/register/RegisterForm.svelte"; import {postRegister} from "~/api/register"; + import {navigate} from "svelte-navigator"; type RegisterFormResp = {access_token?: string; refresh_token?: string}; + let created: boolean = false; + let err: {message: string; log_id: string} = undefined; + async function submitRegister(e: {detail: object}) { console.info(e.detail); - postRegister(e.detail, undefined); + let x = await postRegister(e.detail, undefined); + if (x.message !== undefined) { + if (x.message === "Account Created") created = true; + else err = x; + } else err == undefined; } - + {#if created} +
+
+

Register

+

Account created, please login to continue.

+
+
+ +
+
+ {:else} + + {/if}
+ +