"use client"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { control } from "leaflet"; import React, { useEffect, useState } from "react"; import { Controller, useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import * as z from "zod"; import Swal from "sweetalert2"; import { getBlog, postBlog } from "@/service/blog/blog"; import { id } from "date-fns/locale"; import { getInfoProfile, saveUser, setupPassword } from "@/service/auth"; import withReactContent from "sweetalert2-react-content"; import { Textarea } from "@/components/ui/textarea"; import { Button } from "@/components/ui/button"; import { Link } from "@/components/navigation"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import { close, error, loading } from "@/lib/swal"; const profileSchema = z.object({ password: z.string().min(1, { message: "Judul diperlukan" }), retypePassword: z.string().min(1, { message: "Judul diperlukan" }), }); type Detail = { id: number; userId: any; password: string; retypePassword: string; }; const ChangePassword: React.FC = () => { const router = useRouter(); const MySwal = withReactContent(Swal); const [detail, setDetail] = useState(); const [refresh, setRefresh] = useState(false); const t = useTranslations("LandingPage"); type ProfileSchema = z.infer; const { control, handleSubmit, setValue, formState: { errors }, } = useForm({ resolver: zodResolver(profileSchema), }); useEffect(() => { async function initState() { const response = await getInfoProfile(); const details = response?.data?.data; setDetail(details); console.log("data", details); } initState(); }, []); const save = async (data: ProfileSchema) => { if (data.password != null && data.password == data.retypePassword) { loading(); const newData = { // userId: detail?.userKeycloakId, password: data.password, retypePassword: detail?.retypePassword, }; const response = await setupPassword(newData); close(); if (response?.error) { error(response.message); return false; } MySwal.fire({ title: "Sukses", text: "Data berhasil disimpan.", icon: "success", confirmButtonColor: "#3085d6", confirmButtonText: "OK", }).then(() => { router.push("/in/auth"); }); } // const requestData = { // ...data, // // userId: detail?.userKeycloakId, // password: data.password, // retypePassword: detail?.retypePassword, // }; // const response = await setupPassword(requestData); // console.log("Form Data Submitted:", requestData); // console.log("response", response); // MySwal.fire({ // title: "Sukses", // text: "Data berhasil disimpan.", // icon: "success", // confirmButtonColor: "#3085d6", // confirmButtonText: "OK", // }).then(() => { // router.push("/in/auth"); // }); }; const onSubmit = (data: ProfileSchema) => { MySwal.fire({ title: "Simpan Data", text: "Apakah Anda yakin ingin menyimpan data ini?", icon: "warning", showCancelButton: true, cancelButtonColor: "#d33", confirmButtonColor: "#3085d6", confirmButtonText: "Simpan", }).then((result) => { if (result.isConfirmed) { save(data); } }); }; return (
👤

{t("changePass", { defaultValue: "Change Pass" })}

{t("pleaseChange", { defaultValue: "Please Change" })}

( )} /> {errors.password?.message && (

{errors.password.message}

)}
( )} /> {errors.retypePassword?.message && (

{errors.retypePassword.message}

)}
); }; export default ChangePassword;