"use client";

import React, { createContext, useContext } from "react";
import type { ElmapiSettings } from "@/lib/elmapi";

// Create context with null default so we can detect misuse
const SiteSettingsContext = createContext<ElmapiSettings | null>(null);

interface ProviderProps {
	settings: ElmapiSettings;
	children: React.ReactNode;
}

export function SiteSettingsProvider({ settings, children }: ProviderProps) {
	return (
		<SiteSettingsContext.Provider value={settings}>
			{children}
		</SiteSettingsContext.Provider>
	);
}

export function useSiteSettings(): ElmapiSettings {
	const ctx = useContext(SiteSettingsContext);
	if (!ctx) {
		throw new Error("useSiteSettings must be used within a SiteSettingsProvider");
	}
	return ctx;
} 