fix: 界面缩放持久化被 onboarding/locale 整包写回覆盖,保存前用最新 uiScale 回填

This commit is contained in:
AxTps committed 2026-10-02 19:02:48 +08:00
1 parent ae9a762439
commit f238eeae0e
1 file changed
+3 -1
+3 -1
View File
@@ -143,7 +143,7 @@ import {
isNetworkMetered, isNetworkMetered,
setRestartAfterPendingUpdate, setRestartAfterPendingUpdate,
} from '@/helpers/utils.js' } from '@/helpers/utils.js'
import { installUiScale, setUiScale } from '@/helpers/ui-scale' import { installUiScale, setUiScale, uiScale } from '@/helpers/ui-scale'
import { start_join_server, start_join_singleplayer_world } from '@/helpers/worlds.ts' import { start_join_server, start_join_singleplayer_world } from '@/helpers/worlds.ts'
import i18n, { resolveInitialLocale } from '@/i18n.config' import i18n, { resolveInitialLocale } from '@/i18n.config'
import { import {
@@ -1106,6 +1106,7 @@ async function setupApp() {
const resolvedLocale = resolveInitialLocale(navigator.languages) const resolvedLocale = resolveInitialLocale(navigator.languages)
i18n.global.locale.value = resolvedLocale i18n.global.locale.value = resolvedLocale
initialSettings.locale = resolvedLocale initialSettings.locale = resolvedLocale
initialSettings.ui_scale = uiScale.value
await setSettings(initialSettings) await setSettings(initialSettings)
} }
@@ -1261,6 +1262,7 @@ async function replayOnboarding(mode) {
async function finishOnboarding() { async function finishOnboarding() {
const wasReplay = onboardingReplay.value const wasReplay = onboardingReplay.value
const settings = onboardingSettings.value ?? (await getSettings()) const settings = onboardingSettings.value ?? (await getSettings())
settings.ui_scale = uiScale.value
if (!onboardingReplay.value) { if (!onboardingReplay.value) {
if (onboardingMode.value === 'instance') { if (onboardingMode.value === 'instance') {
settings.onboarding_instance_tour_completed = true settings.onboarding_instance_tour_completed = true