'use client';

import { createContext, useContext } from 'react';
import { DEFAULT_LOCALE, type Locale } from './config';
import { getMessagesFor } from './messages';

const LocaleContext = createContext<Locale>(DEFAULT_LOCALE);

export function LocaleProvider({ locale, children }: { locale: Locale; children: React.ReactNode }) {
  return <LocaleContext.Provider value={locale}>{children}</LocaleContext.Provider>;
}

export const useLocale = () => useContext(LocaleContext);

/** The current language's dictionary (the dictionaries hold functions, so they are imported, not passed from the server). */
export const useMessages = () => getMessagesFor(useLocale());
