import { createContext, useContext, type ReactNode } from 'react'
import type { MenuClient } from './client.js'

const MenuContext = createContext<MenuClient | null>(null)

export function MenuProvider({ client, children }: { client: MenuClient; children: ReactNode }) {
  return <MenuContext.Provider value={client}>{children}</MenuContext.Provider>
}

export function useMenuClient(): MenuClient {
  const ctx = useContext(MenuContext)
  if (!ctx) throw new Error('useMenuClient must be used within <MenuProvider>')
  return ctx
}
