import Link from 'next/link'; import { getSupabaseServerClient } from '@kit/supabase/server-client'; import { createModuleBuilderApi } from '@kit/module-builder/api'; import { CmsPageShell } from '~/components/cms-page-shell'; import { AccountNotFound } from '~/components/account-not-found'; import { ModuleToggles } from './_components/module-toggles'; interface ModulesPageProps { params: Promise<{ account: string }>; } export default async function ModulesPage({ params }: ModulesPageProps) { const { account } = await params; const client = getSupabaseServerClient(); const api = createModuleBuilderApi(client); // Get the account ID from slug const { data: accountData } = await client .from('accounts') .select('id') .eq('slug', account) .single(); if (!accountData) { return ; } // Load account features const { data: settings } = await client .from('account_settings') .select('features') .eq('account_id', accountData.id) .maybeSingle(); const features = (settings?.features as Record) ?? {}; const modules = await api.modules.listModules(accountData.id); return (
{modules.length === 0 ? (

Noch keine Module vorhanden. Erstellen Sie Ihr erstes Modul.

) : (
{modules.map((module: Record) => (

{String(module.display_name)}

{module.description ? (

{String(module.description)}

) : null}
Status: {String(module.status)}
))}
)}
); }