import SettingsLayout from "@/layouts/SettingsLayout"; import { useState } from "react"; import SubmitButton from "@/components/SubmitButton"; import { toast } from "react-hot-toast"; import TextInput from "@/components/TextInput"; import { useTranslation } from "next-i18next"; import getServerSideProps from "@/lib/client/getServerSideProps"; import { useUpdateUser, useUser } from "@/hooks/store/user"; export default function Password() { const { t } = useTranslation(); const [oldPassword, setOldPassword] = useState(""); const [newPassword, setNewPassword] = useState(""); const [submitLoader, setSubmitLoader] = useState(false); const { data: account } = useUser(); const updateUser = useUpdateUser(); const submit = async () => { if (newPassword === "" || oldPassword === "") { return toast.error(t("fill_all_fields")); } if (newPassword.length < 8) return toast.error(t("password_length_error")); setSubmitLoader(true); const load = toast.loading(t("applying_settings")); await updateUser.mutateAsync( { ...account, newPassword, oldPassword, }, { onSettled: (data, error) => { toast.dismiss(load); if (error) { toast.error(error.message); } else { setNewPassword(""); setOldPassword(""); toast.success(t("settings_applied")); } }, } ); setSubmitLoader(false); }; return (

{t("change_password")}

{t("password_change_instructions")}

{t("old_password")}

setOldPassword(e.target.value)} placeholder="••••••••••••••" type="password" />

{t("new_password")}

setNewPassword(e.target.value)} placeholder="••••••••••••••" type="password" />
); } export { getServerSideProps };