import { useNavigate } from 'react-router'; import { Badge, Card, DataTable, Spinner, } from '@cameleer/design-system'; import type { Column } from '@cameleer/design-system'; import { useAllTenants } from '../api/hooks'; import { useOrgStore } from '../auth/useOrganization'; import type { TenantResponse } from '../types/api'; import styles from '../styles/platform.module.css'; const columns: Column[] = [ { key: 'name', header: 'Name' }, { key: 'slug', header: 'Slug' }, { key: 'tier', header: 'Tier', render: (_v: unknown, row: TenantResponse) => , }, { key: 'status', header: 'Status', render: (_v: unknown, row: TenantResponse) => ( ), }, { key: 'createdAt', header: 'Created' }, ]; export function AdminTenantsPage() { const navigate = useNavigate(); const { data: tenants, isLoading } = useAllTenants(); const { setCurrentOrg } = useOrgStore(); if (isLoading) { return (
); } const handleRowClick = (tenant: TenantResponse) => { // Find the matching org from the store and switch context const orgs = useOrgStore.getState().organizations; const match = orgs.find( (o) => o.name === tenant.name || o.slug === tenant.slug, ); if (match) { setCurrentOrg(match.id); navigate('/'); } }; return (

All Tenants

); }