From be7e2c6505ed814e48b313b88081d06e7f822f57 Mon Sep 17 00:00:00 2001 From: Yuki Shindo Date: Tue, 31 Dec 2024 01:23:02 +0900 Subject: [PATCH] Add category-based filtering in settings search (#2086) Co-authored-by: huchenlei --- .../dialog/content/SettingDialogContent.vue | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/components/dialog/content/SettingDialogContent.vue b/src/components/dialog/content/SettingDialogContent.vue index 98a9f3a6e..90a46ce7b 100644 --- a/src/components/dialog/content/SettingDialogContent.vue +++ b/src/components/dialog/content/SettingDialogContent.vue @@ -90,6 +90,7 @@ import { flattenTree } from '@/utils/treeUtil' import { isElectron } from '@/utils/envUtil' import { normalizeI18nKey } from '@/utils/formatUtil' import { useI18n } from 'vue-i18n' +import { st } from '@/i18n' const props = defineProps<{ defaultPanel?: 'about' | 'keybinding' | 'extension' | 'server-config' @@ -232,14 +233,26 @@ const handleSearch = (query: string) => { const filteredSettings = allSettings.filter((setting) => { const idLower = setting.id.toLowerCase() const nameLower = setting.name.toLowerCase() - const translatedName = t( - `settings.${normalizeI18nKey(setting.id)}.name` + const translatedName = st( + `settings.${normalizeI18nKey(setting.id)}.name`, + setting.name + ).toLocaleLowerCase() + const info = getSettingInfo(setting) + const translatedCategory = st( + `settingsCategories.${normalizeI18nKey(info.category)}`, + info.category + ).toLocaleLowerCase() + const translatedSubCategory = st( + `settingsCategories.${normalizeI18nKey(info.subCategory)}`, + info.subCategory ).toLocaleLowerCase() return ( idLower.includes(queryLower) || nameLower.includes(queryLower) || - translatedName.includes(queryLower) + translatedName.includes(queryLower) || + translatedCategory.includes(queryLower) || + translatedSubCategory.includes(queryLower) ) })