"use client";

import {
  createContext,
  useContext,
  type ReactNode,
} from "react";
import type { DashboardData, ServiceData } from "../lib/types";
import rawData from "../data/dashboard-data.json";

const data = rawData as DashboardData;

const DataContext = createContext<DashboardData>(data);

export function DataProvider({ children }: { children: ReactNode }) {
  return <DataContext.Provider value={data}>{children}</DataContext.Provider>;
}

export function useDashboardData(): DashboardData {
  return useContext(DataContext);
}

export function useServiceData(serviceName: string): ServiceData | undefined {
  const dashboard = useContext(DataContext);
  return dashboard.services.find((s) => s.name === serviceName);
}
