ResetPasswordPage.vue 3.12 KiB
<template>
<div class="form_wrapper">
<div class="form_container">
<div class="title_container">
<h2>Reset Password</h2>
<div class="underline-title"></div>
</div>
<div class="row clearfix">
<div class="">
<form class="form">
<label for="user-oldPassword" style="padding-top: 13px">
Old Password
</label>
<input v-model="userInformation.oldPassword" id="user-oldPassword" class="form-content" type="password"
name="oldPassword" required />
<div class="form-border"></div>
<label for="user-newPassword" style="padding-top: 13px">
New Password
</label>
<input v-model="userInformation.newPassword" id="user-newPassword" class="form-content" type="password"
name="newPassword" required />
<div class="form-border"></div>
<button id="submit-btn" @click.prevent="onSubmit" type="submit" value="Submit">
Submit
</button>
</form>
</div>
</div>
</div>
</div>
</template>
<script setup lang="ts">
import { ref, reactive } from "vue";
import * as UserService from "../services/UserService";
import { useRouter } from "vue-router";
import { User } from "@/type/types";
const router = useRouter();
const userInformation = reactive({
oldPassword: "",
newPassword: ""
});
const onSubmit = async () => {
const userInfo = {
oldPassword: userInformation.oldPassword,
newPassword: userInformation.newPassword,
};
const response = await UserService.resetPassword(
JSON.stringify(userInfo)
);
alert(response.message)
userInformation.oldPassword = ""
userInformation.newPassword = ""
};
</script>
<style scoped>
body {
font-family: Verdana, Geneva, sans-serif;
font-size: 14px;
background: #f2f2f2;
}
.form_wrapper {
justify-content: center;
align-items: center;
display: flex;
}
.form_container {
background: #fbfbfb;
border-radius: 8px;
box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.65);
height: auto;
width: 30%;
padding: 12px 44px;
}
.title_container {
font-family: "Raleway Thin", sans-serif;
letter-spacing: 4px;
padding-bottom: 23px;
padding-top: 13px;
text-align: center;
}
.form {
align-items: left;
display: flex;
flex-direction: column;
}
.form-content {
background: #fbfbfb;
border: none;
outline: none;
padding-top: 14px;
}
.form-border {
background: -webkit-linear-gradient(right, #a6f77b, #2ec06f);
height: 1px;
width: 100%;
}
#submit-btn {
background: -webkit-linear-gradient(right, #a6f77b, #2dbd6e);
border: none;
border-radius: 21px;
box-shadow: 0px 1px 8px #24c64f;
cursor: pointer;
color: white;
font-family: "Raleway SemiBold", sans-serif;
height: 42.3px;
margin: 0 auto;
margin-top: 50px;
transition: 0.25s;
width: 153px;
}
#submit-btn:hover {
box-shadow: 0px 1px 18px #24c64f;
}
.underline-title {
background: -webkit-linear-gradient(right, #a6f77b, #2ec06f);
height: 2px;
margin: -1.1rem auto 0 auto;
width: 200px;
}
.input_field radio_option {
margin-top: 10px;
}
</style>