'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);
}
