chatbot-ui/components/utility/home-redirector.tsx

34 lines
737 B
TypeScript

'use client'
import { useEffect } from 'react'
import { useRouter } from 'next/navigation'
import i18nConfig from '@/i18nConfig'
const isValidLocale = (locale: string): locale is (typeof i18nConfig.locales)[number] => {
return (i18nConfig.locales as readonly string[]).includes(locale)
}
export default function HomeRedirector() {
const router = useRouter()
useEffect(() => {
const preferred = localStorage.getItem('preferred-language')
const currentPath = window.location.pathname
if (
preferred &&
isValidLocale(preferred) &&
!currentPath.startsWith(`/${preferred}/`)
) {
const newPath = `/${preferred}${currentPath}`
router.replace(newPath)
}
}, [])
return null
}