import { createModuleBuilderApi } from '@kit/module-builder/api'; import { getSupabaseServerClient } from '@kit/supabase/server-client'; interface ModuleDetailPageProps { params: Promise<{ account: string; moduleId: string }>; searchParams: Promise>; } export default async function ModuleDetailPage({ params, searchParams, }: ModuleDetailPageProps) { const { account, moduleId } = await params; const search = await searchParams; const client = getSupabaseServerClient(); const api = createModuleBuilderApi(client); const moduleWithFields = await api.modules.getModuleWithFields(moduleId); if (!moduleWithFields) { return
Modul nicht gefunden
; } const page = Number(search.page) || 1; const pageSize = Number(search.pageSize) || moduleWithFields.default_page_size || 25; const result = await api.query.query({ moduleId, page, pageSize, sortField: (search.sort as string) ?? moduleWithFields.default_sort_field ?? undefined, sortDirection: (search.dir as 'asc' | 'desc') ?? (moduleWithFields.default_sort_direction as 'asc' | 'desc') ?? 'asc', search: (search.q as string) ?? undefined, filters: [], }); return (

{moduleWithFields.display_name}

{moduleWithFields.description && (

{moduleWithFields.description}

)}
{result.pagination.total} Datensätze — Seite {result.pagination.page}{' '} von {result.pagination.totalPages}
{/* Phase 3 will replace this with module-table component */}
          {JSON.stringify(result.data, null, 2)}
        
); }