<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>