67 lines
1.2 KiB
Vue
67 lines
1.2 KiB
Vue
<template>
|
|
<div>
|
|
<h3 class="font-semibold text-2xl text-gray-900">
|
|
Password
|
|
</h3>
|
|
<small class="text-gray-600">Manage your password.</small>
|
|
|
|
<form
|
|
class="mt-3"
|
|
@submit.prevent="update"
|
|
@keydown="form.onKeydown($event)"
|
|
>
|
|
<!-- Password -->
|
|
<text-input
|
|
native-type="password"
|
|
name="password"
|
|
:form="form"
|
|
label="Password"
|
|
:required="true"
|
|
/>
|
|
|
|
<!-- Password Confirmation-->
|
|
<text-input
|
|
native-type="password"
|
|
name="password_confirmation"
|
|
:form="form"
|
|
label="Confirm Password"
|
|
:required="true"
|
|
/>
|
|
|
|
<!-- Submit Button -->
|
|
<v-button
|
|
:loading="form.busy"
|
|
class="mt-4"
|
|
>
|
|
Update password
|
|
</v-button>
|
|
</form>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup>
|
|
useOpnSeoMeta({
|
|
title: "Password",
|
|
})
|
|
definePageMeta({
|
|
middleware: "auth",
|
|
})
|
|
|
|
const form = useForm({
|
|
password: "",
|
|
password_confirmation: "",
|
|
})
|
|
|
|
const update = () => {
|
|
form
|
|
.patch("/settings/password")
|
|
.then(() => {
|
|
form.reset()
|
|
useAlert().success("Password updated.")
|
|
})
|
|
.catch((error) => {
|
|
console.error(error)
|
|
})
|
|
}
|
|
</script>
|