diff --git a/src/components/UserPanel.vue b/src/components/UserPanel.vue index aee12d105..f512ac4c4 100644 --- a/src/components/UserPanel.vue +++ b/src/components/UserPanel.vue @@ -1,17 +1,18 @@ <script setup> import { onMounted, computed } from 'vue'; -import { Dark, Quasar } from 'quasar'; +import { Dark, Quasar, useQuasar } from 'quasar'; import { useI18n } from 'vue-i18n'; import { useRouter } from 'vue-router'; import axios from 'axios'; - import { useState } from 'src/composables/useState'; import { useSession } from 'src/composables/useSession'; +import { localeEquivalence } from "src/i18n/index"; const state = useState(); const session = useSession(); const router = useRouter(); const { t, locale } = useI18n(); +const quasar = useQuasar(); const userLocale = computed({ get() { @@ -20,16 +21,14 @@ const userLocale = computed({ set(value) { locale.value = value; - if (value === 'en') value = 'en-GB'; + value = localeEquivalence[value] ?? value - // FIXME: Dynamic imports from absolute paths are not compatible with vite: - // https://github.com/rollup/plugins/tree/master/packages/dynamic-import-vars#limitations try { - const langList = import.meta.glob('../../node_modules/quasar/lang/*.mjs'); - langList[`../../node_modules/quasar/lang/${value}.mjs`]().then((lang) => { + /* @vite-ignore */ + import(`../../node_modules/quasar/lang/${value}.mjs`).then((lang) => { Quasar.lang.set(lang.default); }); - } catch (error) { + } catch (error) { // } }, @@ -84,6 +83,10 @@ function logout() { function copyUserToken(){ navigator.clipboard.writeText(session.getToken()); + quasar.notify({ + type: 'positive', + message: t('components.userPanel.copyToken'), + }); } </script> diff --git a/src/i18n/en/index.js b/src/i18n/en/index.js index 5e7e116c5..4e69f05b7 100644 --- a/src/i18n/en/index.js +++ b/src/i18n/en/index.js @@ -741,6 +741,7 @@ export default { components: { topbar: {}, userPanel: { + copyToken: 'Token copied to clipboard', settings: 'Settings', logOut: 'Log Out', }, diff --git a/src/i18n/es/index.js b/src/i18n/es/index.js index 0289b7e78..4b74bc685 100644 --- a/src/i18n/es/index.js +++ b/src/i18n/es/index.js @@ -740,6 +740,7 @@ export default { components: { topbar: {}, userPanel: { + copyToken: 'Token copiado al portapapeles', settings: 'ConfiguraciĆ³n', logOut: 'Cerrar sesiĆ³n', }, diff --git a/src/i18n/index.js b/src/i18n/index.js index 7344be49a..a375812df 100644 --- a/src/i18n/index.js +++ b/src/i18n/index.js @@ -1,6 +1,8 @@ import en from './en'; import es from './es'; - +export const localeEquivalence = { + 'en':'en-GB' +} export default { en: en, es: es,