Files
dwatt/contexts/language-context.tsx
nabijonovdavronbek619@gmail.com 0e8b310558 language text full complated
2025-11-10 17:21:28 +05:00

33 lines
877 B
TypeScript

"use client"
import { createContext, useContext, useState, type ReactNode } from "react"
import { translations } from "@/lib/translations"
type Language = "en" | "uz" | "ru"
interface LanguageContextType {
language: Language
setLanguage: (lang: Language) => void
t: (typeof translations)[Language]
}
const LanguageContext = createContext<LanguageContextType | undefined>(undefined)
export function LanguageProvider({ children }: { children: ReactNode }) {
const [language, setLanguage] = useState<Language>("uz")
return (
<LanguageContext.Provider value={{ language, setLanguage, t: translations[language] }}>
{children}
</LanguageContext.Provider>
)
}
export function useLanguage() {
const context = useContext(LanguageContext)
if (!context) {
throw new Error("useLanguage must be used within LanguageProvider")
}
return context
}