Files
myeasycms-v2/apps/web/app/[locale]/home/[account]/verband/page.tsx
Zaid Marzguioui 49fd6b65b9
Some checks failed
Workflow / ʦ TypeScript (push) Failing after 5m38s
Workflow / ⚫️ Test (push) Has been skipped
fix(supabase): use internal URL for all server-side clients with cookie name matching
ROOT CAUSE FIX: All server-side Supabase clients (server-client, middleware-client,
server-admin-client) now use SUPABASE_INTERNAL_URL (http://supabase-kong:8000)
when available, with cookieOptions.name set to match the external URL's cookie key
(e.g. sb-myeasycms-auth-token). This gives us:
- Reliable Docker-internal networking (no hairpin NAT through Traefik)
- Correct session cookie matching between browser and server
- No more 500 errors on SSR pages that query Supabase

Reverted per-page try/catch workarounds since root cause is now fixed.
2026-04-01 13:53:59 +02:00

34 lines
1.0 KiB
TypeScript

import { getSupabaseServerClient } from '@kit/supabase/server-client';
import { createVerbandApi } from '@kit/verbandsverwaltung/api';
import { VerbandTabNavigation, VerbandDashboard } from '@kit/verbandsverwaltung/components';
import { CmsPageShell } from '~/components/cms-page-shell';
import { AccountNotFound } from '~/components/account-not-found';
interface PageProps {
params: Promise<{ account: string }>;
}
export default async function VerbandPage({ params }: PageProps) {
const { account } = await params;
const client = getSupabaseServerClient();
const { data: acct } = await client
.from('accounts')
.select('id')
.eq('slug', account)
.single();
if (!acct) return <AccountNotFound />;
const api = createVerbandApi(client);
const stats = await api.getDashboardStats(acct.id);
return (
<CmsPageShell account={account} title="Verbandsverwaltung">
<VerbandTabNavigation account={account} activeTab="overview" />
<VerbandDashboard stats={stats} account={account} />
</CmsPageShell>
);
}