"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 router from "next/router"; import { getInfoProfile, saveUser } 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"; const profileSchema = z.object({ username: z.string().min(1, { message: "Judul diperlukan" }), fullname: z.string().min(1, { message: "Judul diperlukan" }), memberIdentity: z.string().min(1, { message: "Judul diperlukan" }), email: z.string().min(1, { message: "Judul diperlukan" }), address: z.string().min(2, { message: "Narasi Penugasan harus lebih dari 2 karakter." }), phoneNumber: z.string().min(1, { message: "Kategori diperlukan" }), }); type Detail = { id: number; userId: any; firstName: string; username: string; fullname: string; memberIdentity: any; email: string; address: string; phoneNumber: any; message: string; }; const UbahProfile: React.FC = () => { 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) => { const requestData = { ...data, // userId: detail?.userKeycloakId, firstName: detail?.fullname, username: detail?.username, memberIdentity: detail?.memberIdentity, email: detail?.email, address: detail?.address, phoneNumber: detail?.phoneNumber, // message: data.title, }; const response = await saveUser(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("/en/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("changeProfile", { defaultValue: "Change Profile" })}

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

{detail !== undefined ? (
} /> {errors.username?.message &&

{errors.username.message}

}
} /> {errors.fullname?.message &&

{errors.fullname.message}

}
} /> {errors.memberIdentity?.message &&

{errors.memberIdentity.message}

}
} /> {errors.email?.message &&

{errors.email.message}

}
} /> {errors.phoneNumber?.message &&

{errors.phoneNumber.message}

}