diff --git a/web/app/components/plugins/reference-setting-modal/auto-update-setting/config.ts b/web/app/components/plugins/reference-setting-modal/auto-update-setting/config.ts index a247061200..384a3db086 100644 --- a/web/app/components/plugins/reference-setting-modal/auto-update-setting/config.ts +++ b/web/app/components/plugins/reference-setting-modal/auto-update-setting/config.ts @@ -4,6 +4,6 @@ export const defaultValue: AutoUpdateConfig = { strategy_setting: AUTO_UPDATE_STRATEGY.fixOnly, // For test upgrade_time_of_day: 0, upgrade_mode: AUTO_UPDATE_MODE.exclude, // For test - exclude_plugins: ['a', 'c'], - include_plugins: ['b'], + exclude_plugins: ['langgenius/openai_api_compatible', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai', 'langgenius/openai'], + include_plugins: ['langgenius/openai'], } diff --git a/web/app/components/plugins/reference-setting-modal/auto-update-setting/plugins-picker.tsx b/web/app/components/plugins/reference-setting-modal/auto-update-setting/plugins-picker.tsx index d7c8c31043..77ffd66670 100644 --- a/web/app/components/plugins/reference-setting-modal/auto-update-setting/plugins-picker.tsx +++ b/web/app/components/plugins/reference-setting-modal/auto-update-setting/plugins-picker.tsx @@ -53,7 +53,7 @@ const PluginsPicker: FC = ({ + diff --git a/web/app/components/plugins/reference-setting-modal/auto-update-setting/plugins-selected.tsx b/web/app/components/plugins/reference-setting-modal/auto-update-setting/plugins-selected.tsx index 8bdf97c668..42c2a34ee8 100644 --- a/web/app/components/plugins/reference-setting-modal/auto-update-setting/plugins-selected.tsx +++ b/web/app/components/plugins/reference-setting-modal/auto-update-setting/plugins-selected.tsx @@ -2,6 +2,8 @@ import type { FC } from 'react' import React from 'react' import cn from '@/utils/classnames' +import { MARKETPLACE_API_PREFIX } from '@/config' +import Icon from '@/app/components/plugins/card/base/card-icon' const MAX_DISPLAY_COUNT = 14 type Props = { @@ -14,17 +16,13 @@ const PluginsSelected: FC = ({ plugins, }) => { const isShowAll = plugins.length < MAX_DISPLAY_COUNT - const displayPlugins = isShowAll ? plugins.slice(0, MAX_DISPLAY_COUNT) : plugins + const displayPlugins = plugins.slice(0, MAX_DISPLAY_COUNT) return ( -
- {displayPlugins.map((plugin, index) => ( -
-
+
+ {displayPlugins.map(plugin => ( + ))} - {!isShowAll &&
+{plugins.length - MAX_DISPLAY_COUNT}
} + {!isShowAll &&
+{plugins.length - MAX_DISPLAY_COUNT}
}
) } diff --git a/web/app/components/plugins/reference-setting-modal/auto-update-setting/tool-item.tsx b/web/app/components/plugins/reference-setting-modal/auto-update-setting/tool-item.tsx new file mode 100644 index 0000000000..f60faa734f --- /dev/null +++ b/web/app/components/plugins/reference-setting-modal/auto-update-setting/tool-item.tsx @@ -0,0 +1,44 @@ +'use client' +import type { FC } from 'react' +import React from 'react' +import type { Plugin } from '@/app/components/plugins/types' +import Icon from '@/app/components/plugins/card/base/card-icon' +import { renderI18nObject } from '@/i18n' +import { useGetLanguage } from '@/context/i18n' +import { MARKETPLACE_API_PREFIX } from '@/config' +import Checkbox from '@/app/components/base/checkbox' + +type Props = { + payload: Plugin + isChecked?: boolean + onCheckChange: () => void +} + +const ToolItem: FC = ({ + payload, + isChecked, + onCheckChange, +}) => { + const language = useGetLanguage() + + const { plugin_id, label, org } = payload + return ( +
+
+
+ +
{renderI18nObject(label, language)}
+
{org}
+
+ +
+
+ ) +} +export default React.memo(ToolItem) diff --git a/web/app/components/plugins/reference-setting-modal/auto-update-setting/tool-picker.tsx b/web/app/components/plugins/reference-setting-modal/auto-update-setting/tool-picker.tsx index 5108bb7b96..0c3fa83cf0 100644 --- a/web/app/components/plugins/reference-setting-modal/auto-update-setting/tool-picker.tsx +++ b/web/app/components/plugins/reference-setting-modal/auto-update-setting/tool-picker.tsx @@ -11,6 +11,7 @@ import { PLUGIN_TYPE_SEARCH_MAP } from '../../marketplace/plugin-type-switch' import SearchBox from '@/app/components/plugins/marketplace/search-box' import { useTranslation } from 'react-i18next' import cn from '@/utils/classnames' +import ToolItem from './tool-item' type Props = { trigger: React.ReactNode @@ -70,13 +71,19 @@ const ToolPicker: FC = ({ }) const isBundle = pluginType === PLUGIN_TYPE_SEARCH_MAP.bundle const list = (isBundle ? data?.data?.bundles : data?.data?.plugins) || [] - - console.log(list) + const handleCheckChange = useCallback((pluginId: string) => { + return () => { + const newValue = value.includes(pluginId) + ? value.filter(id => id !== pluginId) + : [...value, pluginId] + onChange(newValue) + } + }, [onChange, value]) return ( = ({ {trigger} -
+
= ({ }
+ {list.length > 0 && ( +
+ {list.map(item => ( + + ))} +
+ )}
diff --git a/web/app/components/plugins/reference-setting-modal/modal.tsx b/web/app/components/plugins/reference-setting-modal/modal.tsx index 3f2b645292..0bf12cb2b5 100644 --- a/web/app/components/plugins/reference-setting-modal/modal.tsx +++ b/web/app/components/plugins/reference-setting-modal/modal.tsx @@ -51,9 +51,9 @@ const PluginSettingModal: FC = ({ isShow onClose={onHide} closable - className='w-[420px] !p-0' + className='w-[480px] !p-0' > -
+
{t(`${i18nPrefix}.title`)}