import { useEffect, useState } from 'react' import { catalog } from '@/api/client' import type { Item } from '@/types/api' import { PageHeader } from '@/components/PageHeader' import { Loading } from '@/components/Loading' import { ErrorBox } from '@/components/ErrorBox' import { DataTable, type Column } from '@/components/DataTable' export function ItemsPage() { const [rows, setRows] = useState([]) const [error, setError] = useState(null) const [loading, setLoading] = useState(true) useEffect(() => { catalog .listItems() .then(setRows) .catch((e: unknown) => setError(e instanceof Error ? e : new Error(String(e)))) .finally(() => setLoading(false)) }, []) const columns: Column[] = [ { header: 'Code', key: 'code', render: (r) => {r.code} }, { header: 'Name', key: 'name' }, { header: 'Type', key: 'itemType' }, { header: 'UoM', key: 'baseUomCode', render: (r) => {r.baseUomCode} }, { header: 'Active', key: 'active', render: (r) => (r.active ? : ), }, ] return (
{loading && } {error && } {!loading && !error && }
) }