"use client"; import { useRouter } from "@/i18n/routing"; import { useParams } from "next/navigation"; import { Card } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { getUserDetail } from "@/service/management-user/management-user"; import { useEffect, useState } from "react"; import { formatDateToIndonesian } from "@/utils/globals"; export default function UserDetailPage() { const router = useRouter(); const params = useParams(); const userId = params?.id ? Number(params.id) : undefined; const [user, setUser] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { async function loadUserDetail() { if (!userId) return; try { setLoading(true); const response = await getUserDetail(userId); if (response && !response.error && response.data.data) { setUser(response.data.data); } else { console.error("Gagal mengambil detail user:", response?.message || "Unknown error"); } } catch (error) { console.error("Error loading user detail:", error); } finally { setLoading(false); } } loadUserDetail(); }, [userId]); if (loading) { return (

Loading user detail...

); } if (!user) { return (

User tidak ditemukan

); } return (

Detail User

{/* Basic Information */}

Informasi Dasar

{user.id}

{user.fullname}

{user.username}

{user.email}

{user.phoneNumber}

{user.address || "-"}

{user.dateOfBirth ? formatDateToIndonesian(user.dateOfBirth) : "-"}

{/* System Information */}

Informasi Sistem

{user.userRoleId}

{user.userLevelId}

{user.userLevelGroup || "-"}

{user.statusId}

{/*

{user.keycloakId}

*/}

{user.createdById ? `User ID: ${user.createdById}` : "System"}

{/* Status & Timeline */}

Status & Timeline

{user.isActive ? 'Aktif' : 'Tidak Aktif'}

{formatDateToIndonesian(user.createdAt)}

{formatDateToIndonesian(user.updatedAt)}

{/*

{user.profilePicturePath ? "Tersedia" : "Tidak ada"}

*/}
{/* Additional Information (only show if data exists) */} {(user.genderType || user.identityType || user.identityNumber || user.lastEducation || user.workType) && (

Informasi Tambahan

{user.genderType && (

{user.genderType}

)} {user.identityType && (

{user.identityType}

)} {user.identityNumber && (

{user.identityNumber}

)} {user.lastEducation && (

{user.lastEducation}

)} {user.workType && (

{user.workType}

)}
)}
); }