import React from 'react'; import { Table, Group, Text, Box, LoadingOverlay, Alert } from '@mantine/core'; import { IconAlertCircle } from '@tabler/icons-react'; import { useAdminData } from '../../../hooks/useAdminData'; import { formatBytes } from '../../../utils/formatBytes'; import type { FileCountStats, WorkspaceStats } from '@/types/models'; const AdminWorkspacesTab: React.FC = () => { const { data: workspaces, loading, error, } = useAdminData<'workspaces'>('workspaces'); const renderWorkspaceRow = (workspace: WorkspaceStats) => { const fileStats: FileCountStats = workspace.fileCountStats || { totalFiles: 0, totalSize: 0, }; return ( {workspace.userEmail} {workspace.workspaceName} {new Date(workspace.workspaceCreatedAt).toLocaleDateString()} {fileStats.totalFiles} {formatBytes(fileStats.totalSize)} ); }; return ( {error && ( } title="Error" color="red" mb="md" > {error} )} Workspace Management Owner Name Created At Total Files Total Size {!loading && !error && workspaces.map(renderWorkspaceRow)}
); }; export default AdminWorkspacesTab;