diff --git a/frontend/src/app/admin/leadership/page.tsx b/frontend/src/app/admin/leadership/page.tsx index 705c052..1392f20 100644 --- a/frontend/src/app/admin/leadership/page.tsx +++ b/frontend/src/app/admin/leadership/page.tsx @@ -116,6 +116,19 @@ export default function AdminLeadershipPage() { } }; + // Mirrors the backend's `_current_session`: the public leadership page + // defaults to the highest session_number present in the table. + const currentSession = + data.length > 0 + ? Math.max(...data.map((leader) => leader.session_number)) + : null; + const hasActiveCurrentSession = + currentSession === null || + data.some( + (leader) => + leader.session_number === currentSession && leader.is_current, + ); + const columns: ColumnDef[] = [ { accessorKey: "title", @@ -220,6 +233,19 @@ export default function AdminLeadershipPage() { } /> + {!isLoading && !hasActiveCurrentSession ? ( + +

+ No active leadership entries for session {currentSession}. +

+

+ The public Leadership page will show "Leadership + information unavailable" until at least one entry for this + session is marked Active. +

+
+ ) : null} + {isLoading ? (