From 1c9a3d21cc3479d299181d98fb895614e0aaf649 Mon Sep 17 00:00:00 2001 From: rohan09-raj Date: Tue, 16 Aug 2022 12:15:55 +0530 Subject: random bullshit --- .../components/LanguageSelect/LanguageSelect.js | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 client/src/components/LanguageSelect/LanguageSelect.js (limited to 'client/src/components/LanguageSelect/LanguageSelect.js') diff --git a/client/src/components/LanguageSelect/LanguageSelect.js b/client/src/components/LanguageSelect/LanguageSelect.js new file mode 100644 index 0000000..ac455b8 --- /dev/null +++ b/client/src/components/LanguageSelect/LanguageSelect.js @@ -0,0 +1,67 @@ +import React from 'react' +import { useTranslation } from 'react-i18next' +import i18next from 'i18next' + +import ArrowDropDown from '@mui/icons-material/ArrowDropDown' +import Button from '@mui/material/Button' +import Popover from '@mui/material/Popover' +import List from '@mui/material/List' +import ListItem from '@mui/material/ListItem' +import ListSubheader from '@mui/material/ListSubheader' + +const languageMap = { + en: { label: 'English', dir: 'ltr', active: true }, + hi: { label: 'Hindi', dir: 'ltr', active: false } +} + +const LanguageSelect = () => { + const selected = localStorage.getItem('i18nextLng') || 'en' + const { t } = useTranslation() + + const [menuAnchor, setMenuAnchor] = React.useState(null) + React.useEffect(() => { + document.body.dir = languageMap[selected]?.dir + }, [menuAnchor, selected]) + + return ( +
+ + setMenuAnchor(null)} + anchorOrigin={{ + vertical: 'bottom', + horizontal: 'right' + }} + transformOrigin={{ + vertical: 'top', + horizontal: 'right' + }} + > +
+ + {t('select_language')} + {Object.keys(languageMap)?.map((item) => ( + { + i18next.changeLanguage(item) + setMenuAnchor(null) + }} + > + {languageMap[item].label} + + ))} + +
+
+
+ ) +} + +export default LanguageSelect -- cgit