63 lines
2.1 KiB
Vue
63 lines
2.1 KiB
Vue
<template>
|
|
<page-full-layout banner>
|
|
<template #heading>
|
|
<page-full-heading-banner>Passwort vergessen</page-full-heading-banner>
|
|
</template>
|
|
<form @submit.prevent="submit">
|
|
<div class="grid gap-5">
|
|
<span class="text-gray-500 text-sm"
|
|
>Hier kannst du dein Passwort zurücksetzen.<br />
|
|
Gebe dafür ein neues Passwort ein.<br />
|
|
Merke oder notiere dir dieses Passwort, bevor du das Formular absendest.<br />
|
|
Danach wirst du zum Dashboard weitergeleitet.</span
|
|
>
|
|
<f-text id="password" v-model="values.password" type="password" name="password" label="Neues Passwort"></f-text>
|
|
<f-text id="password_confirmation" v-model="values.password_confirmation" type="password" name="password_confirmation" label="Neues Passwort widerholen"></f-text>
|
|
<button type="submit" class="btn btn-primary">Passwort zurücksetzen</button>
|
|
<div class="flex justify-center">
|
|
<button type="button" class="text-gray-500 text-sm hover:text-gray-300" @click.prevent="$inertia.visit('/login')">Zurück zum Login</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</page-full-layout>
|
|
</template>
|
|
|
|
<script>
|
|
import FullLayout from '../../layouts/FullLayout.vue';
|
|
|
|
export default {
|
|
layout: FullLayout,
|
|
|
|
props: {
|
|
token: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
email: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
},
|
|
|
|
data: function () {
|
|
return {
|
|
values: {
|
|
password: '',
|
|
password_confirmation: '',
|
|
},
|
|
};
|
|
},
|
|
methods: {
|
|
async submit() {
|
|
await this.axios.post('/password/reset', {
|
|
...this.values,
|
|
email: this.email,
|
|
token: this.token,
|
|
});
|
|
this.$success('Dein Passwort wurde zurückgesetzt.');
|
|
this.$inertia.visit('/');
|
|
},
|
|
},
|
|
};
|
|
</script>
|