import React, { useState, useRef } from 'react'; import Head from 'next/head'; import Menu from './Menu'; import Button from './Button'; import { menuOptions } from 'lib/lang'; import { setItem } from 'lib/web'; import useLocale from 'hooks/useLocale'; import useDocumentClick from 'hooks/useDocumentClick'; import Globe from 'assets/globe.svg'; import styles from './LanguageButton.module.css'; export default function LanguageButton({ menuPosition = 'bottom', menuAlign = 'left' }) { const [showMenu, setShowMenu] = useState(false); const [locale, setLocale] = useLocale(); const ref = useRef(); const selectedLocale = menuOptions.find(e => e.value === locale)?.display; function handleSelect(value) { setLocale(value); setItem('umami.locale', value); setShowMenu(false); } function toggleMenu() { setShowMenu(state => !state); } useDocumentClick(e => { if (!ref.current.contains(e.target)) { setShowMenu(false); } }); return ( <> {locale === 'zh-CN' && ( )} {locale === 'ja-JP' && ( )}
{showMenu && ( )}
); }