Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
Reference in New Issue
Block a user