|
|
@ -6,17 +6,42 @@ |
|
|
|
|
|
|
|
let username = ''; |
|
|
|
let password = ''; |
|
|
|
let newPassword = ''; |
|
|
|
let newPassword2 = ''; |
|
|
|
let error: string; |
|
|
|
let loading = false; |
|
|
|
let changeMode = false; |
|
|
|
let changeUser = null; |
|
|
|
|
|
|
|
async function handleSignIn() { |
|
|
|
error = void(0); |
|
|
|
loading = true; |
|
|
|
|
|
|
|
if (newPassword !== newPassword2) { |
|
|
|
error = "The two passwords do not match, please re-enter." |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
const res = await Auth.signIn(username, password); |
|
|
|
if (changeMode) { |
|
|
|
const res = await Auth.completeNewPassword(changeUser, newPassword) |
|
|
|
console.log(res); |
|
|
|
|
|
|
|
changeMode = false; |
|
|
|
password = ""; |
|
|
|
} else { |
|
|
|
const res = await Auth.signIn(username, password); |
|
|
|
console.log(res); |
|
|
|
|
|
|
|
if (res.challengeName == "NEW_PASSWORD_REQUIRED") { |
|
|
|
newPassword = ""; |
|
|
|
newPassword2 = ""; |
|
|
|
changeMode = true |
|
|
|
changeUser = res |
|
|
|
} |
|
|
|
|
|
|
|
goto('/', {replaceState: true}); |
|
|
|
goto('/', {replaceState: true}); |
|
|
|
} |
|
|
|
} catch (err) { |
|
|
|
error = err?.toString() || err; |
|
|
|
} |
|
|
@ -30,8 +55,15 @@ |
|
|
|
<ModalBody> |
|
|
|
<label for="name">Username</label> |
|
|
|
<input type="text" bind:value={username} /> |
|
|
|
<label for="name">Password</label> |
|
|
|
<input type="password" bind:value={password} /> |
|
|
|
{#if changeMode} |
|
|
|
<label for="name">New Password</label> |
|
|
|
<input type="password" bind:value={newPassword} /> |
|
|
|
<label for="name">Confirm New Password</label> |
|
|
|
<input type="password" bind:value={newPassword2} /> |
|
|
|
{:else} |
|
|
|
<label for="name">Password</label> |
|
|
|
<input type="password" bind:value={password} /> |
|
|
|
{/if} |
|
|
|
</ModalBody> |
|
|
|
</Modal> |
|
|
|
</form> |