43 lines
1.2 KiB
Vue
43 lines
1.2 KiB
Vue
<template>
|
|
<div class="content-l">
|
|
<h2>Account</h2>
|
|
<div class="content-m">
|
|
<h3>Passwort ändern</h3>
|
|
<div class="col-2">
|
|
<UiInput label="Passwort">
|
|
<input type="password" v-model="password">
|
|
</UiInput>
|
|
<UiInput label="Passwort wiederholen">
|
|
<input type="password" v-model="passwordRepeat">
|
|
</UiInput>
|
|
</div>
|
|
<div class="center">
|
|
<UiButton :onclick="() => change()" :disabled="password.length === 0 || password !== passwordRepeat">Passwort Ändern</UiButton>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { changePassword } from '~/requests/user';
|
|
|
|
const password = ref("");
|
|
const passwordRepeat = ref("");
|
|
|
|
function change()
|
|
{
|
|
if(password.value !== passwordRepeat.value)
|
|
{
|
|
throw new Error("[Method: AccountTab.change] passwords do not match.");
|
|
}
|
|
changePassword(requireUser().username, password.value, () => {
|
|
resetFields();
|
|
});
|
|
}
|
|
|
|
function resetFields()
|
|
{
|
|
password.value = "";
|
|
passwordRepeat.value = "";
|
|
}
|
|
</script> |