blob: 82af3c766d1c8ac61217e2f9ef0ee17ba148d606 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<script>
import { changePassword } from '$lib/apiServer.js';
import Invites from '$lib/components/Invites.svelte';
let currentPassword = "", newPassword = "", confirmPassword = "", passwordForm;
let pending = false;
$: valid = (newPassword === confirmPassword) && (newPassword !== currentPassword);
$: disabled = pending || !valid;
async function onPasswordChange() {
pending = true;
let response = await changePassword(currentPassword, newPassword);
switch (response.status) {
case 200:
passwordForm.reset();
break;
}
pending = false;
}
</script>
<form on:submit|preventDefault={onPasswordChange} bind:this={passwordForm} >
<label>current password
<input class="input" name="currentPassword" type="password" placeholder="password" bind:value={currentPassword}>
</label>
<label>new password
<input class="input" name="newPassword" type="password" placeholder="password" bind:value={newPassword}>
</label>
<label>confirm new password
<input class="input" name="confirmPassword" type="password" placeholder="password" bind:value={confirmPassword}>
</label>
<button class="btn variant-filled" type="submit" disabled={disabled}>
change password
</button>
</form>
<Invites />
|