From 61eb655823c71079660900b7246afc805b51460d Mon Sep 17 00:00:00 2001 From: twwu Date: Wed, 13 Nov 2024 18:30:38 +0800 Subject: [PATCH 1/2] feat: update plugin category labels and improve internationalization support --- web/app/components/plugins/card/index.tsx | 4 +++- web/app/components/plugins/hooks.ts | 8 ++++---- web/app/components/plugins/plugin-item/index.tsx | 4 +++- .../filter-management/category-filter.tsx | 4 ++-- web/i18n/de-DE/plugin-categories.ts | 4 ---- web/i18n/en-US/plugin-categories.ts | 12 ------------ web/i18n/en-US/plugin.ts | 10 ++++++---- web/i18n/es-ES/plugin-categories.ts | 4 ---- web/i18n/fa-IR/plugin-categories.ts | 4 ---- web/i18n/fr-FR/plugin-categories.ts | 4 ---- web/i18n/hi-IN/plugin-categories.ts | 4 ---- web/i18n/i18next-config.ts | 1 - web/i18n/it-IT/plugin-categories.ts | 4 ---- web/i18n/ja-JP/plugin-categories.ts | 4 ---- web/i18n/ko-KR/plugin-categories.ts | 4 ---- web/i18n/pl-PL/plugin-categories.ts | 4 ---- web/i18n/pt-BR/plugin-categories.ts | 4 ---- web/i18n/ro-RO/plugin-categories.ts | 4 ---- web/i18n/ru-RU/plugin-categories.ts | 4 ---- web/i18n/tr-TR/plugin-categories.ts | 4 ---- web/i18n/uk-UA/plugin-categories.ts | 4 ---- web/i18n/vi-VN/plugin-categories.ts | 4 ---- web/i18n/zh-Hans/plugin-categories.ts | 12 ------------ web/i18n/zh-Hans/plugin.ts | 2 ++ web/i18n/zh-Hant/plugin-categories.ts | 4 ---- 25 files changed, 20 insertions(+), 101 deletions(-) delete mode 100644 web/i18n/de-DE/plugin-categories.ts delete mode 100644 web/i18n/en-US/plugin-categories.ts delete mode 100644 web/i18n/es-ES/plugin-categories.ts delete mode 100644 web/i18n/fa-IR/plugin-categories.ts delete mode 100644 web/i18n/fr-FR/plugin-categories.ts delete mode 100644 web/i18n/hi-IN/plugin-categories.ts delete mode 100644 web/i18n/it-IT/plugin-categories.ts delete mode 100644 web/i18n/ja-JP/plugin-categories.ts delete mode 100644 web/i18n/ko-KR/plugin-categories.ts delete mode 100644 web/i18n/pl-PL/plugin-categories.ts delete mode 100644 web/i18n/pt-BR/plugin-categories.ts delete mode 100644 web/i18n/ro-RO/plugin-categories.ts delete mode 100644 web/i18n/ru-RU/plugin-categories.ts delete mode 100644 web/i18n/tr-TR/plugin-categories.ts delete mode 100644 web/i18n/uk-UA/plugin-categories.ts delete mode 100644 web/i18n/vi-VN/plugin-categories.ts delete mode 100644 web/i18n/zh-Hans/plugin-categories.ts delete mode 100644 web/i18n/zh-Hant/plugin-categories.ts diff --git a/web/app/components/plugins/card/index.tsx b/web/app/components/plugins/card/index.tsx index b262727506..1e4cc5e28b 100644 --- a/web/app/components/plugins/card/index.tsx +++ b/web/app/components/plugins/card/index.tsx @@ -11,6 +11,7 @@ import Placeholder from './base/placeholder' import cn from '@/utils/classnames' import { useGetLanguage } from '@/context/i18n' import { getLanguage } from '@/i18n/language' +import { useCategories } from '../hooks' export type Props = { className?: string @@ -41,6 +42,7 @@ const Card = ({ }: Props) => { const defaultLocale = useGetLanguage() const locale = localeFromProps ? getLanguage(localeFromProps) : defaultLocale + const { categoriesMap } = useCategories() const { type, name, org, label, brief, icon, verified } = payload @@ -59,7 +61,7 @@ const Card = ({ return (
- {!hideCornerMark && } + {!hideCornerMark && } {/* Header */}
diff --git a/web/app/components/plugins/hooks.ts b/web/app/components/plugins/hooks.ts index 9d259c738a..81488fed30 100644 --- a/web/app/components/plugins/hooks.ts +++ b/web/app/components/plugins/hooks.ts @@ -100,19 +100,19 @@ export const useCategories = (translateFromOut?: TFunction) => { const categories = [ { name: 'model', - label: t('pluginCategories.categories.model'), + label: t('plugin.category.models'), }, { name: 'tool', - label: t('pluginCategories.categories.tool'), + label: t('plugin.category.tools'), }, { name: 'extension', - label: t('pluginCategories.categories.extension'), + label: t('plugin.category.extensions'), }, { name: 'bundle', - label: t('pluginCategories.categories.bundle'), + label: t('plugin.category.bundles'), }, ] diff --git a/web/app/components/plugins/plugin-item/index.tsx b/web/app/components/plugins/plugin-item/index.tsx index 563a6bc685..aaa64b87a5 100644 --- a/web/app/components/plugins/plugin-item/index.tsx +++ b/web/app/components/plugins/plugin-item/index.tsx @@ -22,6 +22,7 @@ import cn from '@/utils/classnames' import { API_PREFIX, MARKETPLACE_URL_PREFIX } from '@/config' import { useLanguage } from '../../header/account-setting/model-provider-page/hooks' import { useInvalidateInstalledPluginList } from '@/service/use-plugins' +import { useCategories } from '../hooks' type Props = { className?: string @@ -34,6 +35,7 @@ const PluginItem: FC = ({ }) => { const locale = useLanguage() const { t } = useTranslation() + const { categoriesMap } = useCategories() const currentPluginDetail = usePluginPageContext(v => v.currentPluginDetail) const setCurrentPluginDetail = usePluginPageContext(v => v.setCurrentPluginDetail) const invalidateInstalledPluginList = useInvalidateInstalledPluginList() @@ -67,7 +69,7 @@ const PluginItem: FC = ({ }} >
- + {/* Header */}
diff --git a/web/app/components/plugins/plugin-page/filter-management/category-filter.tsx b/web/app/components/plugins/plugin-page/filter-management/category-filter.tsx index fa6540c4bf..7c3417eec3 100644 --- a/web/app/components/plugins/plugin-page/filter-management/category-filter.tsx +++ b/web/app/components/plugins/plugin-page/filter-management/category-filter.tsx @@ -56,7 +56,7 @@ const CategoriesFilter = ({ 'flex items-center p-1 system-sm-medium', )}> { - !selectedTagsLength && t('pluginCategories.allCategories') + !selectedTagsLength && t('plugin.allCategories') } { !!selectedTagsLength && value.map(val => categoriesMap[val].label).slice(0, 2).join(',') @@ -96,7 +96,7 @@ const CategoriesFilter = ({ showLeftIcon value={searchText} onChange={e => setSearchText(e.target.value)} - placeholder={t('pluginCategories.searchCategories')} + placeholder={t('plugin.searchCategories')} />
diff --git a/web/i18n/de-DE/plugin-categories.ts b/web/i18n/de-DE/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/de-DE/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/en-US/plugin-categories.ts b/web/i18n/en-US/plugin-categories.ts deleted file mode 100644 index 6ee5b76c25..0000000000 --- a/web/i18n/en-US/plugin-categories.ts +++ /dev/null @@ -1,12 +0,0 @@ -const translation = { - allCategories: 'All Categories', - searchCategories: 'Search categories', - categories: { - model: 'Model', - tool: 'Tool', - extension: 'Extension', - bundle: 'Bundle', - }, -} - -export default translation diff --git a/web/i18n/en-US/plugin.ts b/web/i18n/en-US/plugin.ts index 3784309c09..91f17e07f3 100644 --- a/web/i18n/en-US/plugin.ts +++ b/web/i18n/en-US/plugin.ts @@ -1,12 +1,14 @@ const translation = { category: { all: 'All', - models: 'models', - tools: 'tools', - extensions: 'extensions', - bundles: 'bundles', + models: 'Models', + tools: 'Tools', + extensions: 'Extensions', + bundles: 'Bundles', }, search: 'Search', + allCategories: 'All Categories', + searchCategories: 'Search Categories', searchPlugins: 'Search plugins', from: 'From', findMoreInMarketplace: 'Find more in Marketplace', diff --git a/web/i18n/es-ES/plugin-categories.ts b/web/i18n/es-ES/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/es-ES/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/fa-IR/plugin-categories.ts b/web/i18n/fa-IR/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/fa-IR/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/fr-FR/plugin-categories.ts b/web/i18n/fr-FR/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/fr-FR/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/hi-IN/plugin-categories.ts b/web/i18n/hi-IN/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/hi-IN/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/i18next-config.ts b/web/i18n/i18next-config.ts index 9b35cd5432..bbba4c7c35 100644 --- a/web/i18n/i18next-config.ts +++ b/web/i18n/i18next-config.ts @@ -30,7 +30,6 @@ const loadLangResources = (lang: string) => ({ runLog: require(`./${lang}/run-log`).default, plugin: require(`./${lang}/plugin`).default, pluginTags: require(`./${lang}/plugin-tags`).default, - pluginCategories: require(`./${lang}/plugin-categories`).default, }, }) diff --git a/web/i18n/it-IT/plugin-categories.ts b/web/i18n/it-IT/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/it-IT/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/ja-JP/plugin-categories.ts b/web/i18n/ja-JP/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/ja-JP/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/ko-KR/plugin-categories.ts b/web/i18n/ko-KR/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/ko-KR/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/pl-PL/plugin-categories.ts b/web/i18n/pl-PL/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/pl-PL/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/pt-BR/plugin-categories.ts b/web/i18n/pt-BR/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/pt-BR/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/ro-RO/plugin-categories.ts b/web/i18n/ro-RO/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/ro-RO/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/ru-RU/plugin-categories.ts b/web/i18n/ru-RU/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/ru-RU/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/tr-TR/plugin-categories.ts b/web/i18n/tr-TR/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/tr-TR/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/uk-UA/plugin-categories.ts b/web/i18n/uk-UA/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/uk-UA/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/vi-VN/plugin-categories.ts b/web/i18n/vi-VN/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/vi-VN/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation diff --git a/web/i18n/zh-Hans/plugin-categories.ts b/web/i18n/zh-Hans/plugin-categories.ts deleted file mode 100644 index fb08e8ad87..0000000000 --- a/web/i18n/zh-Hans/plugin-categories.ts +++ /dev/null @@ -1,12 +0,0 @@ -const translation = { - allCategories: '所有类型', - searchCategories: '搜索类型', - categories: { - model: '模型', - tool: '工具', - extension: '扩展', - bundle: '捆绑包', - }, -} - -export default translation diff --git a/web/i18n/zh-Hans/plugin.ts b/web/i18n/zh-Hans/plugin.ts index 2e835bbfab..30de7acced 100644 --- a/web/i18n/zh-Hans/plugin.ts +++ b/web/i18n/zh-Hans/plugin.ts @@ -7,6 +7,8 @@ const translation = { bundles: '捆绑包', }, search: '搜索', + allCategories: '所有类别', + searchCategories: '搜索类别', searchPlugins: '搜索插件', from: '来自', findMoreInMarketplace: '在 Marketplace 中查找更多', diff --git a/web/i18n/zh-Hant/plugin-categories.ts b/web/i18n/zh-Hant/plugin-categories.ts deleted file mode 100644 index 928649474b..0000000000 --- a/web/i18n/zh-Hant/plugin-categories.ts +++ /dev/null @@ -1,4 +0,0 @@ -const translation = { -} - -export default translation From fa6858090bf704a023edf5be3a11f7971f5fece0 Mon Sep 17 00:00:00 2001 From: twwu Date: Wed, 13 Nov 2024 18:34:04 +0800 Subject: [PATCH 2/2] refactor: remove version prop from plugin item components and update version comparison logic --- web/app/components/plugins/plugin-item/action.tsx | 4 +--- web/app/components/plugins/plugin-item/index.tsx | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/web/app/components/plugins/plugin-item/action.tsx b/web/app/components/plugins/plugin-item/action.tsx index 80c5c5e78a..52c8c10309 100644 --- a/web/app/components/plugins/plugin-item/action.tsx +++ b/web/app/components/plugins/plugin-item/action.tsx @@ -23,7 +23,6 @@ type Props = { installationId: string pluginUniqueIdentifier: string pluginName: string - version: string usedInApps: number isShowFetchNewVersion: boolean isShowInfo: boolean @@ -36,7 +35,6 @@ const Action: FC = ({ installationId, pluginUniqueIdentifier, pluginName, - version, isShowFetchNewVersion, isShowInfo, isShowDelete, @@ -63,7 +61,7 @@ const Action: FC = ({ return const versions = fetchedReleases.map(release => release.tag_name) const latestVersion = getLatestVersion(versions) - if (compareVersion(latestVersion, version) === 1) { + if (compareVersion(latestVersion, meta!.version) === 1) { setShowUpdatePluginModal({ onSaveCallback: () => { invalidateInstalledPluginList() diff --git a/web/app/components/plugins/plugin-item/index.tsx b/web/app/components/plugins/plugin-item/index.tsx index aaa64b87a5..4ac2c80d7d 100644 --- a/web/app/components/plugins/plugin-item/index.tsx +++ b/web/app/components/plugins/plugin-item/index.tsx @@ -48,7 +48,6 @@ const PluginItem: FC = ({ endpoints_active, meta, plugin_id, - version, } = plugin const { category, author, name, label, description, icon, verified } = plugin.declaration @@ -93,7 +92,6 @@ const PluginItem: FC = ({ installationId={installation_id} author={author} pluginName={name} - version={version} usedInApps={5} isShowFetchNewVersion={source === PluginSource.github} isShowInfo={source === PluginSource.github}