github-docs-arabic-enhanced / src /frame /components /ClientSideLanguageRedirect.ts
AbdulElahGwaith's picture
Upload folder using huggingface_hub
88df9e4 verified
import { useEffect } from 'react'
import { useRouter } from 'next/router'
import { useLanguages } from '@/languages/components/LanguagesContext'
import Cookies from '@/frame/components/lib/cookies'
import { USER_LANGUAGE_COOKIE_NAME } from '@/frame/lib/constants'
export function ClientSideLanguageRedirect() {
const { locale, asPath, replace } = useRouter()
const { languages } = useLanguages()
const availableLanguageKeys = new Set(Object.keys(languages))
useEffect(() => {
const cookieValue = Cookies.get(USER_LANGUAGE_COOKIE_NAME)
if (cookieValue && cookieValue !== locale && availableLanguageKeys.has(cookieValue)) {
const newPath = `/${cookieValue}${asPath}`
replace(newPath, undefined, { locale: cookieValue })
}
}, [locale, availableLanguageKeys, asPath])
return null
}