import { CrudPage } from '../components/Crud'
import { Badge } from '../components/ui'
import { getTenants, createTenant, updateTenant, deleteTenant } from '../api/client'

// 테넌트 관리 — 멀티테넌트 격리 단위.
export default function TenantList() {
  return (
    <CrudPage
      title="테넌트 관리"
      subtitle="멀티테넌트 격리 단위 관리"
      addLabel="테넌트 추가"
      queryKey={['tenants']}
      fetcher={() => getTenants()}
      onCreate={createTenant} onUpdate={updateTenant} onDelete={deleteTenant}
      defaults={{ active: true }}
      columns={[
        { key: 'tenantCode', header: '테넌트코드', render: r => <span className="font-mono text-xs text-brand">{r.tenantCode}</span> },
        { key: 'tenantName', header: '테넌트명', render: r => <span className="text-white">{r.tenantName}</span> },
        { key: 'description', header: '설명' },
        { key: 'active', header: '상태', render: r => <Badge tone={r.active ? 'green' : 'gray'}>{r.active ? '사용' : '중지'}</Badge> },
      ]}
      form={[
        { key: 'tenantCode', label: '테넌트코드' },
        { key: 'tenantName', label: '테넌트명' },
        { key: 'description', label: '설명' },
        { key: 'active', label: '사용 여부', type: 'checkbox' },
      ]}
    />
  )
}
