ADD: Recuperación de contraseña
This commit is contained in:
parent
b68bd0c27b
commit
31862e7cf5
@ -18,6 +18,7 @@ const emit = defineEmits([
|
||||
/** Propiedades */
|
||||
const props = defineProps({
|
||||
class: String,
|
||||
disabled: Boolean,
|
||||
id: String,
|
||||
modelValue: Number | String,
|
||||
onError: String | Array,
|
||||
@ -71,6 +72,8 @@ onMounted(() => {
|
||||
v-bind="$attrs"
|
||||
ref="input"
|
||||
class="input-primary"
|
||||
:class="{ 'cursor-not-allowed': disabled }"
|
||||
:disabled="disabled"
|
||||
:id="autoId"
|
||||
:placeholder="placeholder"
|
||||
:required="required"
|
||||
|
||||
@ -18,6 +18,7 @@ const emit = defineEmits([
|
||||
/** Propiedades */
|
||||
const props = defineProps({
|
||||
class: String,
|
||||
disabled: Boolean,
|
||||
id: String,
|
||||
icon: String,
|
||||
modelValue: Number | String,
|
||||
@ -73,6 +74,8 @@ onMounted(() => {
|
||||
v-model="value"
|
||||
v-bind="$attrs"
|
||||
class="pl-2 w-full outline-none border-none bg-transparent"
|
||||
:class="{ 'cursor-not-allowed': disabled }"
|
||||
:disabled="disabled"
|
||||
:id="autoId"
|
||||
:placeholder="placeholder"
|
||||
:type="type"
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { success } from "toastr";
|
||||
|
||||
export default {
|
||||
'&':'y',
|
||||
account: {
|
||||
@ -101,6 +103,8 @@ export default {
|
||||
description: '¿Ha olvidado su contraseña? No hay problema. Sólo tienes que indicarnos tu dirección de correo electrónico y te enviaremos un enlace para restablecer la contraseña que te permitirá elegir una nueva.',
|
||||
sendLink: 'Enviar enlace de recuperación',
|
||||
title: 'Contraseña olvidada',
|
||||
success: 'Se ha enviado un enlace de recuperación a su dirección de correo electrónico.',
|
||||
error: 'Error al enviar el enlace de recuperación, intente más tarde.',
|
||||
},
|
||||
login: 'Iniciar sesión',
|
||||
logout: 'Cerrar sesión',
|
||||
|
||||
@ -18,7 +18,16 @@ const form = useForm({
|
||||
|
||||
/** Métodos */
|
||||
const submit = () => {
|
||||
form.post(route('password.email'));
|
||||
form.post(route('auth.forgot-password'), {
|
||||
onSuccess: () => {
|
||||
Notify.success(Lang('auth.forgotPassword.success'));
|
||||
router.push({ name: 'index' });
|
||||
},
|
||||
onError: () => {
|
||||
Notify.error(Lang('auth.forgotPassword.error'));
|
||||
router.push({ name: 'index' });
|
||||
}
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
@ -1,31 +1,45 @@
|
||||
<script setup>
|
||||
import { onMounted, ref } from 'vue';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
import { useForm } from '@Services/Api.js'
|
||||
|
||||
import PrimaryButton from '@Holos/Button/Primary.vue';
|
||||
import Input from '@Holos/Form/InputWithIcon.vue'
|
||||
|
||||
/** Propiedades */
|
||||
const props = defineProps({
|
||||
email: String,
|
||||
token: String,
|
||||
});
|
||||
/** Definidores */
|
||||
const vroute = useRoute();
|
||||
const router = useRouter();
|
||||
|
||||
/** Propiedades */
|
||||
const form = useForm({
|
||||
token: props.token,
|
||||
email: props.email,
|
||||
token: '',
|
||||
password: '',
|
||||
password_confirmation: '',
|
||||
});
|
||||
|
||||
const email = ref('');
|
||||
|
||||
/** Métodos */
|
||||
const submit = () => {
|
||||
form.post(route('password.update'), {
|
||||
form.post(route('auth.reset-password'), {
|
||||
onSuccess: () => {
|
||||
Notify.success(Lang('auth.reset.success'));
|
||||
router.push({ name: 'index' })
|
||||
},
|
||||
onFinish: () => form.reset('password', 'password_confirmation'),
|
||||
onError: () => {
|
||||
router.push({ name: 'index' });
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
console.log('mount')
|
||||
|
||||
form.token = vroute.query.token;
|
||||
email.value = vroute.query.email;
|
||||
|
||||
// router.replace({ query: {} });
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@ -34,9 +48,8 @@ const submit = () => {
|
||||
icon="mail"
|
||||
id="email"
|
||||
type="email"
|
||||
v-model="form.email"
|
||||
:onError="form.errors.email"
|
||||
:placeholder="$t('email.title')"
|
||||
v-model="email"
|
||||
disabled
|
||||
/>
|
||||
<Input
|
||||
icon="password"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user