"use client"; import { Table, TableBody, TableCell, TableHeader, TableRow, } from "../ui/table"; import Badge from "../ui/badge/Badge"; import Image from "next/image"; import { fullDataUser } from "@/interface/admin"; type SortColumn = "created_at" | "updated_at" | "display_name" | "email"; interface Role { id: string; name: string; } interface BasicTableOneProps { data: fullDataUser[]; onSort: (column: SortColumn) => void; onViewDetail: (user: fullDataUser) => void; sortBy?: SortColumn; sortOrder?: "asc" | "desc"; onFilterRole?: (role: string) => void; selectedRole?: string; roles?: Role[]; } export default function BasicTableOne({ data, onSort, onViewDetail, sortBy, sortOrder, onFilterRole, selectedRole, roles = [], }: BasicTableOneProps) { const formatDate = (dateString: string) => { if (!dateString) return "-"; const date = new Date(dateString); return date.toLocaleDateString("en-GB", { day: "2-digit", month: "short", year: "numeric", }); }; const SortIcon = ({ column }: { column: SortColumn }) => { const isActive = sortBy === column; return (