diff --git a/Views/Menu.js b/Views/Menu.js index deb70e7..0804df6 100644 --- a/Views/Menu.js +++ b/Views/Menu.js @@ -1,6 +1,6 @@ import React from "react"; import { View, ImageBackground, ScrollView } from "react-native"; -import { Text, List, RadioButton } from "react-native-paper"; +import { Text, List, Menu, Button } from "react-native-paper"; import i18n from "../i18nMessages.js"; import Moment from 'moment'; import 'moment/min/locales'; @@ -9,12 +9,12 @@ import API from '../API.js'; import { useSnapshot } from 'valtio'; import GlobalState from '../contexts/GlobalState.js'; import ProfileCardHorizontal from "../components/ProfileCardHorizontal.js"; -import { reloadAppAsync } from "expo"; import * as Updates from 'expo-updates'; let MenuView = ({ navigation }) => { const [value, setValue] = React.useState(i18n.locale); + const [languageMenuVisible, setLanguageMenuVisible] = React.useState(false); const [myProfiles, setMyProfiles] = React.useState([]); const gState = useSnapshot(GlobalState); const viewer = gState.me; @@ -37,8 +37,15 @@ let MenuView = ({ navigation }) => { Moment.locale(locale); setValue(locale); //Change local on profile then reload - //reloadAppAsync(); } + const languageOptions = [ + { value: "es", label: i18n.t("message.languageSpanish") }, + { value: "en", label: i18n.t("message.languageEnglish") }, + { value: "da", label: i18n.t("message.languageDanish") }, + { value: "fr", label: i18n.t("message.languageFrench") }, + ]; + const currentLanguageLabel = languageOptions.find((opt) => opt.value === value)?.label || i18n.t("message.languageEnglish"); + const profileLists = myProfiles.map((profile) => { const profileInfo = profile?.profile || {}; const DefaultPhoto = "https://social.emmint.com/uploads/e6f9be6d665dc43417701bf16a90122c.png"; @@ -88,12 +95,26 @@ let MenuView = ({ navigation }) => { {i18n.t("message.appLanguage")}: - changeLang(newValue)} value={value}> - - - - - + setLanguageMenuVisible(false)} + anchor={ + + } + > + {languageOptions.map((option) => ( + { + changeLang(option.value); + setLanguageMenuVisible(false); + }} + /> + ))} + {i18n.t("message.version")}: {Updates.runtimeVersion}