introducing component

This commit is contained in:
Antoine M 2024-02-21 11:06:17 +01:00
parent 70d76b6671
commit 21f215aea1

View File

@ -0,0 +1,45 @@
import React, { useState } from "react";
import { useUser } from "../../hooks/useUser";
export default function LanguageSelect() {
const { language, setLanguage, screensTranslations } = useUser();
const [isSubmenuOpen, setIsSubmenuOpen] = useState(false);
if (!screensTranslations || !screensTranslations.ui) return <p>loading translations</p>;
const currentUiTranslations = screensTranslations.ui;
function handleShowHideSubmenu() {
setIsSubmenuOpen(!isSubmenuOpen);
}
function chooseLanguage(lang) {
setIsSubmenuOpen(false);
setLanguage(lang);
}
const supportedLanguages = ["FR", "EN", "ES", "PT", "DE", "DA", "FI", "PL", "CS", "SK", "MY"];
const languageOptions = supportedLanguages.map((lang) => (
<li key={lang} className='language-select__option' onClick={() => chooseLanguage(lang)}>
{/* <img className='flag' src={`/img/flags/32x32/${lang}.png`} alt={lang} /> */}
<img className='flag' src={`/img/flags/select/lhoist-${lang}.svg`} alt={lang} />
<span>{lang}</span>
</li>
));
return (
<>
<div className='language-select'>
<button className='language-select__toggle' onClick={handleShowHideSubmenu}>
<div className='flag'>
<img src={`/img/flags/select/lhoist-${language}.svg`} alt={language} />
</div>
<span className='language'>{language}</span>
</button>
<ul className='language-select__country-list' aria-hidden={!isSubmenuOpen}>
{languageOptions}
</ul>
</div>
</>
);
}