import React, { useState, useEffect } from 'react'; import { getDirectusClient, readItems } from '@/lib/directus/client'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Badge } from '@/components/ui/badge'; import { Pages as Page } from '@/lib/schemas'; export default function PageList() { const [pages, setPages] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { async function load() { try { const client = getDirectusClient(); // @ts-ignore const data = await client.request(readItems('pages', { fields: ['*', 'site.name'] })); setPages(data as unknown as Page[]); } catch (e) { console.error(e); } finally { setLoading(false); } } load(); }, []); if (loading) return
Loading...
; return (
{pages.map(page => (
{page.title}
/{page.slug}
{/* @ts-ignore */} {page.site?.name || 'Unknown Site'} {page.status}
))} {pages.length === 0 &&
No pages found.
}
); }