diff --git a/src/components/dialog/content/setting/SettingItem.spec.ts b/src/components/dialog/content/setting/SettingItem.spec.ts index 9020c5417..7db092d85 100644 --- a/src/components/dialog/content/setting/SettingItem.spec.ts +++ b/src/components/dialog/content/setting/SettingItem.spec.ts @@ -54,4 +54,21 @@ describe('SettingItem', () => { { text: 'Correctly Translated', value: 'Correctly Translated' } ]) }) + + it('handles tooltips with @ symbols without errors', () => { + const wrapper = mountComponent({ + setting: { + id: 'TestSetting', + name: 'Test Setting', + type: 'boolean', + tooltip: + 'This will load a larger version of @mtb/markdown-parser that bundles shiki' + } + }) + + // Should not throw an error and tooltip should be preserved as-is + expect(wrapper.vm.formItem.tooltip).toBe( + 'This will load a larger version of @mtb/markdown-parser that bundles shiki' + ) + }) }) diff --git a/src/components/dialog/content/setting/SettingItem.vue b/src/components/dialog/content/setting/SettingItem.vue index 330f6cf63..0e3f8394d 100644 --- a/src/components/dialog/content/setting/SettingItem.vue +++ b/src/components/dialog/content/setting/SettingItem.vue @@ -28,6 +28,7 @@ import { computed } from 'vue' import { useI18n } from 'vue-i18n' import FormItem from '@/components/common/FormItem.vue' +import { st } from '@/i18n' import { useSettingStore } from '@/stores/settingStore' import type { SettingOption, SettingParams } from '@/types/settingTypes' import { normalizeI18nKey } from '@/utils/formatUtil' @@ -64,7 +65,7 @@ const formItem = computed(() => { ...props.setting, name: t(`settings.${normalizedId}.name`, props.setting.name), tooltip: props.setting.tooltip - ? t(`settings.${normalizedId}.tooltip`, props.setting.tooltip) + ? st(`settings.${normalizedId}.tooltip`, props.setting.tooltip) : undefined, options: props.setting.options ? translateOptions(props.setting.options)