Merge remote-tracking branch 'origin/main'

This commit is contained in:
T. Zehetbauer
2026-04-01 13:48:10 +02:00
3 changed files with 23 additions and 7 deletions

View File

@@ -5,7 +5,7 @@ WORKDIR /app
# --- Install + Build in one stage --- # --- Install + Build in one stage ---
FROM base AS builder FROM base AS builder
# CACHE_BUST: change this value to force a full rebuild (busts Docker layer cache) # CACHE_BUST: change this value to force a full rebuild (busts Docker layer cache)
ARG CACHE_BUST=12 ARG CACHE_BUST=13
RUN echo "Cache bust: ${CACHE_BUST}" RUN echo "Cache bust: ${CACHE_BUST}"
COPY . . COPY . .
RUN pnpm install --no-frozen-lockfile RUN pnpm install --no-frozen-lockfile

View File

@@ -26,11 +26,20 @@ export default async function MeetingsPage({ params }: PageProps) {
const api = createMeetingsApi(client); const api = createMeetingsApi(client);
const [stats, recentProtocols, overdueTasks] = await Promise.all([ let stats = { totalProtocols: 0, thisYearProtocols: 0, openTasks: 0, overdueTasks: 0 };
api.getDashboardStats(acct.id), let recentProtocols: Awaited<ReturnType<typeof api.getRecentProtocols>> = [];
api.getRecentProtocols(acct.id), let overdueTasks: Awaited<ReturnType<typeof api.getOverdueTasks>> = [];
api.getOverdueTasks(acct.id),
]); try {
[stats, recentProtocols, overdueTasks] = await Promise.all([
api.getDashboardStats(acct.id),
api.getRecentProtocols(acct.id),
api.getOverdueTasks(acct.id),
]);
} catch (e) {
// Supabase query failed — render with empty data instead of crashing
console.error('Failed to load meetings dashboard:', e);
}
return ( return (
<CmsPageShell account={account} title="Sitzungsprotokolle"> <CmsPageShell account={account} title="Sitzungsprotokolle">

View File

@@ -25,7 +25,14 @@ export default async function VerbandPage({ params }: PageProps) {
if (!acct) return <AccountNotFound />; if (!acct) return <AccountNotFound />;
const api = createVerbandApi(client); const api = createVerbandApi(client);
const stats = await api.getDashboardStats(acct.id);
let stats = { totalClubs: 0, totalMembers: 0, totalRoles: 0, totalFeeTypes: 0 };
try {
stats = await api.getDashboardStats(acct.id);
} catch (e) {
console.error('Failed to load verband dashboard:', e);
}
return ( return (
<CmsPageShell account={account} title="Verbandsverwaltung"> <CmsPageShell account={account} title="Verbandsverwaltung">