diff --git a/components/utility/home-redirector.tsx b/components/utility/home-redirector.tsx index 95ac672..6d8e660 100644 --- a/components/utility/home-redirector.tsx +++ b/components/utility/home-redirector.tsx @@ -4,6 +4,13 @@ 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() @@ -13,13 +20,13 @@ export default function HomeRedirector() { if ( preferred && - (i18nConfig.locales as string[]).includes(preferred) && + isValidLocale(preferred) && !currentPath.startsWith(`/${preferred}/`) ) { const newPath = `/${preferred}${currentPath}` router.replace(newPath) } - + }, []) return null