Files
myeasycms-v2/packages/features/site-builder/src/context/site-data-context.tsx
Zaid Marzguioui ebd0fd4638
Some checks failed
Workflow / ʦ TypeScript (push) Failing after 6m26s
Workflow / ⚫️ Test (push) Has been skipped
feat: complete CMS v2 with Docker, Fischerei, Meetings, Verband modules + UX audit fixes
Major changes:
- Docker Compose: full Supabase stack (11 services) equivalent to supabase CLI
- Fischerei module: 16 DB tables, waters/species/stocking/catch books/competitions
- Sitzungsprotokolle module: meeting protocols, agenda items, task tracking
- Verbandsverwaltung module: federation management, member clubs, contacts, fees
- Per-account module activation via Modules page toggle
- Site Builder: live CMS data in Puck blocks (courses, events, membership registration)
- Public registration APIs: course signup, event registration, membership application
- Document generation: PDF member cards, Excel reports, HTML labels
- Landing page: real Com.BISS content (no filler text)
- UX audit fixes: AccountNotFound component, shared status badges, confirm dialog,
  pagination, duplicate heading removal, emoji→badge replacement, a11y fixes
- QA: healthcheck fix, API auth fix, enum mismatch fix, password required attribute
2026-03-31 16:35:46 +02:00

58 lines
1.0 KiB
TypeScript

'use client';
import { createContext, useContext } from 'react';
export interface SiteData {
accountId: string;
events: Array<{
id: string;
name: string;
event_date: string;
event_time?: string;
location?: string;
fee: number;
status: string;
}>;
courses: Array<{
id: string;
name: string;
start_date?: string;
end_date?: string;
fee: number;
capacity?: number;
enrolled_count: number;
status?: string;
}>;
posts: Array<{
id: string;
title: string;
excerpt?: string;
cover_image?: string;
published_at?: string;
slug: string;
}>;
}
const SiteDataContext = createContext<SiteData>({
accountId: '',
events: [],
courses: [],
posts: [],
});
export function SiteDataProvider({
data,
children,
}: {
data: SiteData;
children: React.ReactNode;
}) {
return (
<SiteDataContext.Provider value={data}>{children}</SiteDataContext.Provider>
);
}
export function useSiteData() {
return useContext(SiteDataContext);
}