import formatPhone from "@/shared/lib/formatPhone"; import { Badge } from "@/shared/ui/badge"; import { Button } from "@/shared/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/shared/ui/card"; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "@/shared/ui/dialog"; import { Pencil, Phone, Shield, Trash2, User } from "lucide-react"; import { useTranslation } from "react-i18next"; interface AgencyUser { first_name: string; id: number; last_name: string; phone: string; role: string; } interface AgencyUsersProps { users: AgencyUser[]; onEdit: (userId: number) => void; onDelete: (userId: number) => void; isLoading?: boolean; } export function AgencyUsersSection({ users, onEdit, onDelete, isLoading = false, }: AgencyUsersProps) { const { t } = useTranslation(); const getRoleBadge = (role: string) => { const roleColors: Record = { admin: "bg-purple-500/20 text-purple-300 border-purple-500/40", manager: "bg-blue-500/20 text-blue-300 border-blue-500/40", user: "bg-gray-500/20 text-gray-300 border-gray-500/40", agent: "bg-green-500/20 text-green-300 border-green-500/40", }; return ( {role.toUpperCase()} ); }; if (isLoading) { return ( {t("Agentlik foydalanuvchilari")}
{t("Ma'lumotlar yuklanmoqda...")}
); } if (!users || users.length === 0) { return ( {t("Agentlik foydalanuvchilari")}
{t("Hozircha foydalanuvchilar yo'q")}
); } return ( {t("Agentlik foydalanuvchilari")}

{t("Agentlik bilan bog'langan foydalanuvchilar ro'yxati")}

{users.map((user) => (

{user.first_name} {user.last_name}

{getRoleBadge(user.role)}
{formatPhone(user.phone)}
ID: {user.id}
{/* Edit Button */} {/* Delete Alert Dialog */} {t("Foydalanuvchini o'chirish")} {t("Haqiqatan ham")}{" "} {user.first_name} {user.last_name} {" "} {t( "ni o'chirmoqchimisiz? Bu amalni qaytarib bo'lmaydi.", )}
))}
); }