import { useQuery } from "@tanstack/react-query"; import { Building2, Plus } from "lucide-react"; import { Link, useNavigate, useParams } from "react-router-dom"; import { commonStickyTableHeaderClass, commonTableShellClass, commonTableViewportClass, } from "../../../../../common/ui/table"; import { Badge } from "../../../components/ui/badge"; import { Button } from "../../../components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "../../../components/ui/card"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "../../../components/ui/table"; import { fetchAllTenants } from "../../../lib/adminApi"; import { t } from "../../../lib/i18n"; function TenantSubTenantsPage() { const { tenantId } = useParams<{ tenantId: string }>(); const navigate = useNavigate(); const { data } = useQuery({ queryKey: ["sub-tenants", tenantId], queryFn: () => fetchAllTenants({ parentId: tenantId ?? undefined }), enabled: !!tenantId, }); const subTenants = data?.items ?? []; return (
{t("ui.admin.tenants.sub.title", "Sub-tenants ({{count}})", { count: subTenants.length, })} {t( "msg.admin.tenants.sub.subtitle", "현재 테넌트 하위에 생성된 조직입니다.", )}
{t("ui.admin.tenants.sub.table.name", "NAME")} {t("ui.admin.tenants.sub.table.slug", "SLUG")} {t("ui.admin.tenants.sub.table.status", "STATUS")} {subTenants.length === 0 && ( {t( "msg.admin.tenants.sub.empty", "하위 테넌트가 없습니다.", )} )} {subTenants.map((tenant) => ( navigate(`/tenants/${tenant.id}`)} > {tenant.name} {tenant.slug} {t(`ui.common.status.${tenant.status}`, tenant.status)} ))}
); } export default TenantSubTenantsPage;