diff --git a/src/components/base/LanguageSelectButtonBase.ts b/src/components/base/LanguageSelectBase.ts similarity index 90% rename from src/components/base/LanguageSelectButtonBase.ts rename to src/components/base/LanguageSelectBase.ts index 0446d771..777ff7b2 100644 --- a/src/components/base/LanguageSelectButtonBase.ts +++ b/src/components/base/LanguageSelectBase.ts @@ -5,22 +5,23 @@ import { useI18n } from '@/locales/helpers.ts'; import { useSettingsStore } from '@/stores/setting.ts'; -export interface LanguageSelectButtonBaseProps { +export interface LanguageSelectBaseProps { disabled?: boolean; + includeSystemDefault?: boolean; useModelValue?: boolean; modelValue?: string; } -export interface LanguageSelectButtonBaseEmits { +export interface LanguageSelectBaseEmits { (e: 'update:modelValue', value: string): void; } -export function useLanguageSelectButtonBase(props: LanguageSelectButtonBaseProps, emit: LanguageSelectButtonBaseEmits) { +export function useLanguageSelectButtonBase(props: LanguageSelectBaseProps, emit: LanguageSelectBaseEmits) { const { getCurrentLanguageTag, getCurrentLanguageDisplayName, getAllLanguageOptions, getLanguageInfo, setLanguage } = useI18n(); const settingsStore = useSettingsStore(); - const allLanguages = computed(() => getAllLanguageOptions(false)); + const allLanguages = computed(() => getAllLanguageOptions(!!props.includeSystemDefault)); const currentLocale = computed({ get: () => getCurrentLanguageTag(), diff --git a/src/components/desktop/LanguageSelect.vue b/src/components/desktop/LanguageSelect.vue new file mode 100644 index 00000000..368dbb8d --- /dev/null +++ b/src/components/desktop/LanguageSelect.vue @@ -0,0 +1,67 @@ + + + diff --git a/src/components/desktop/LanguageSelectButton.vue b/src/components/desktop/LanguageSelectButton.vue index 13a489d9..ec4f64ee 100644 --- a/src/components/desktop/LanguageSelectButton.vue +++ b/src/components/desktop/LanguageSelectButton.vue @@ -19,14 +19,14 @@