'use client' import { useEffect, useState } from 'react' import { tenantService } from '../services/tenant.service' import type { Tenant } from '../types/tenant' export default function TenantList() { const [tenants, setTenants] = useState([]) const [loading, setLoading] = useState(true) const [error, setError] = useState(null) const loadTenants = async () => { try { setLoading(true) setError(null) const response = await tenantService.getTenants() setTenants(response.items) } catch (err) { setError('Failed to load tenants') console.error('Error loading tenants:', err) } finally { setLoading(false) } } useEffect(() => { loadTenants() }, []) if (loading) { return (
Loading...
) } if (error) { return (

{error}

) } if (tenants.length === 0) { return (

No tenants found

) } const getStatusBadgeClass = (status: string) => { switch (status) { case 'active': return 'bg-green-100 text-green-800' case 'trial': return 'bg-blue-100 text-blue-800' case 'suspended': return 'bg-yellow-100 text-yellow-800' case 'deleted': return 'bg-red-100 text-red-800' default: return 'bg-gray-100 text-gray-800' } } const getStatusLabel = (status: string) => { return status.charAt(0).toUpperCase() + status.slice(1) } return (
{tenants.map((tenant) => ( ))}
Code Name Status Initialization Actions
{tenant.code} {tenant.name} {getStatusLabel(tenant.status)} {tenant.is_initialized ? ( Initialized ) : ( Not Initialized )}
) }