"use client"; import { useQuery } from "@tanstack/react-query"; import { Link } from "@tanstack/react-router"; import { Button } from "@workspace/ui/components/button"; import { HoverCard, HoverCardContent, HoverCardTrigger, } from "@workspace/ui/components/hover-card"; import { getUserDetail, getUserSubscribeById, } from "@workspace/ui/services/admin/user"; import { formatBytes } from "@workspace/ui/utils/formatting"; import { useTranslation } from "react-i18next"; import { Display } from "@/components/display"; import { formatDate } from "@/utils/common"; // import EditUserGroupDialog from "./edit-user-group-dialog"; // import { getUserGroupList } from "@workspace/ui/services/admin/group"; export function UserSubscribeDetail({ id, enabled, hoverCard = false, }: { id: number; enabled: boolean; hoverCard?: boolean; }) { const { t } = useTranslation("user"); const { data } = useQuery({ enabled: id !== 0 && enabled, queryKey: ["getUserSubscribeById", id], queryFn: async () => { const { data } = await getUserSubscribeById({ id }); return data.data; }, }); // Fetch user groups for display // const { data: groupsData } = useQuery({ // enabled: id !== 0 && enabled, // queryKey: ["getUserGroupList"], // queryFn: async () => { // const { data } = await getUserGroupList({ // page: 1, // size: 100, // }); // return data.data?.list || []; // }, // }); if (!id) return "--"; const usedTraffic = data ? data.upload + data.download : 0; const totalTraffic = data?.traffic || 0; const remainingTraffic = totalTraffic > 0 ? totalTraffic - usedTraffic : 0; // Get user group info from data.user // const userGroupId = typeof data?.user?.user_group_id === 'number' ? data?.user?.user_group_id : 0; // const groupLocked = data?.user?.group_locked || false; // const groupIds = userGroupId > 0 ? [userGroupId] : []; // const groupNames = userGroupId > 0 // ? groupsData?.find((g: API.UserGroup) => g.id === userGroupId)?.name || "--" // : "--"; const subscribeContent = (