From 4800672b3c6f96e3b16f8ea19e03eab8a93d9b69 Mon Sep 17 00:00:00 2001 From: Grzegorz Kucmierz Date: Sun, 8 Feb 2026 19:19:08 +0100 Subject: [PATCH] Sort language list alphabetically --- src/App.vue | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/App.vue b/src/App.vue index 53a0cf7..ef01d11 100644 --- a/src/App.vue +++ b/src/App.vue @@ -40,19 +40,22 @@ const languageFlags = { pl: '' }; -const languages = computed(() => [ - { code: 'en', label: t('language.en') }, - { code: 'zh', label: t('language.zh') }, - { code: 'hi', label: t('language.hi') }, - { code: 'es', label: t('language.es') }, - { code: 'fr', label: t('language.fr') }, - { code: 'ar', label: t('language.ar') }, - { code: 'bn', label: t('language.bn') }, - { code: 'ru', label: t('language.ru') }, - { code: 'pt', label: t('language.pt') }, - { code: 'ur', label: t('language.ur') }, - { code: 'pl', label: t('language.pl') } -]); +const languages = computed(() => { + const items = [ + { code: 'en', label: t('language.en') }, + { code: 'zh', label: t('language.zh') }, + { code: 'hi', label: t('language.hi') }, + { code: 'es', label: t('language.es') }, + { code: 'fr', label: t('language.fr') }, + { code: 'ar', label: t('language.ar') }, + { code: 'bn', label: t('language.bn') }, + { code: 'ru', label: t('language.ru') }, + { code: 'pt', label: t('language.pt') }, + { code: 'ur', label: t('language.ur') }, + { code: 'pl', label: t('language.pl') } + ]; + return items.sort((a, b) => a.label.localeCompare(b.label, locale.value)); +}); const installLabel = computed(() => { return isCoarsePointer.value ? t('pwa.installMobile') : t('pwa.installDesktop');