Compare commits

...

4 Commits

Author SHA1 Message Date
Melon 0d2d5c7c0c
Add email verified to profile data
ci/woodpecker/push/build Pipeline was successful Details
2023-04-05 17:07:16 +01:00
Melon d270c66fd1
Remove external lucide svelte library and fix multiple calls to /user/@me on the profile page 2023-04-05 16:59:12 +01:00
Melon 2611d42e46
Add dash for verified email 2023-04-05 16:58:39 +01:00
Melon 3a4d20e6cb
Move buttons and start adding settings 2023-04-05 16:58:23 +01:00
3 changed files with 49 additions and 0 deletions

View File

@ -7,6 +7,7 @@
import {loginStore, profileStore, type LoginStore, type ProfileData} from "./stores/login";
loginStore.subscribe((value: LoginStore) => {
console.error("Change login", value);
getMe();
});

View File

@ -17,6 +17,53 @@
<div class="settings-content">
{#if $profileStore}
<h1>Settings</h1>
<form>
<h2>Email</h2>
<div>
<span>{$profileStore.email}</span>
{#if $profileStore.email_verified}
<span> - Verified</span>
{:else}
<span> - Unverified</span>
{/if}
</div>
<section>
<input id="email" name="email" placeholder=" " autocomplete="email" required bind:value={inputEmail} />
</section>
<button type="submit">Change email</button>
</form>
<form>
<h2>Password</h2>
<section>
<label for="password">Password:</label>
<input id="password" name="password" placeholder=" " autocomplete="password" required bind:value={inputPassword} />
<label for="new-password">New Password:</label>
<input
id="new-password"
name="new-password"
placeholder=" "
autocomplete="new-password"
aria-describedby="password-constraints"
required
bind:value={inputNewPassword}
/>
<label for="repeat-password">Repeat Password:</label>
<input
id="repeat-password"
name="repeat-password"
placeholder=" "
autocomplete="repeat-password"
aria-describedby="password-constraints"
required
bind:value={inputRepeatPassword}
/>
</section>
<section>
<PasswordConstraints password={inputNewPassword} />
</section>
<button type="submit">Change password</button>
</form>
<section />
<section>Honestly I'm just too lazy to make this yet</section>
{:else}
<LazyDelay delayMs={500}>Loading...</LazyDelay>

View File

@ -18,6 +18,7 @@ export const loginStore = writable<LoginStore>(
loginStore.subscribe(value => localStorage.setItem("login-session", JSON.stringify(value)));
export interface ProfileData {
email_verified: boolean;
icon: string;
display_name: string;
username: string;