import { Language } from '@mui/icons-material'; import { IconButton, Popover } from '@mui/material'; import dayjs from 'dayjs'; import { useRouter } from 'next/router'; import { MouseEvent, useState } from 'react'; import { languages } from '@/config/languages'; import { setLanguage } from '@/store/build/buildSlice'; import { useAppDispatch } from '@/store/hooks'; import styles from './LanguageSwitcher.module.scss'; const LanguageSwitcher = () => { const router = useRouter(); const dispatch = useAppDispatch(); const [anchorEl, setAnchorEl] = useState(null); const handleClick = (event: MouseEvent) => setAnchorEl(event.currentTarget); const handleClose = () => setAnchorEl(null); const handleChangeLanguage = (locale: string) => { const { pathname, asPath, query } = router; dayjs.locale(locale); dispatch(setLanguage({ language: locale })); document.cookie = `NEXT_LOCALE=${locale}; path=/; expires=2147483647`; router.push({ pathname, query }, asPath, { locale }); }; return (
{languages.map(({ code, name, localName }) => (

handleChangeLanguage(code)}> {name} {localName && `(${localName})`}

))} Missing your language?
); }; export default LanguageSwitcher;