'use client'; import { useEffect, useState } from 'react'; import { TLocales } from '@/models/layout'; import images from '@/assets/images/images'; import Image from 'next/image'; import { useTranslations } from 'next-intl'; const languages = [ { title: 'EN', image: images.en, locale: 'en', }, { title: 'FA', image: images.fa, locale: 'fa', }, ]; export default function ModalLanguageSelector() { const [show, setShow] = useState(false); const t = useTranslations(); useEffect(() => { const selected = localStorage.getItem('selectedLocale'); const cookieLocale = document.cookie .split('; ') .find((item) => item.startsWith('locale=')) ?.split('=')[1]; if (!selected && !cookieLocale) setShow(true); }, []); const changeLocale = (locale: TLocales) => { localStorage.setItem('selectedLocale', locale); document.cookie = `locale=${locale}; path=/; max-age=31536000; samesite=lax`; const path = window.location.pathname.replace(/^\/(en|fa)/, ''); window.location.pathname = `/${locale}${path}`; }; const closeModal = () => setShow(false); if (!show) return null; return (