From d57a68bc2af2c432ae61067b46c38c43d3b16a93 Mon Sep 17 00:00:00 2001 From: balibabu Date: Fri, 5 Jul 2024 16:59:04 +0800 Subject: [PATCH] feat: add duckduckgo icon #918 (#1391) ### What problem does this PR solve? feat: add duckduckgo icon #918 ### Type of change - [x] New Feature (non-breaking change which adds functionality) --- web/src/assets/svg/baidu.svg | 6 +++ web/src/assets/svg/duck.svg | 20 +++++++++ web/src/assets/svg/keyword.svg | 9 +++++ web/src/pages/flow/constant.tsx | 45 ++++++++++++++++++--- web/src/pages/flow/flow-sider/index.tsx | 39 +++++++++++------- web/src/pages/flow/operator-icon/index.less | 2 + 6 files changed, 101 insertions(+), 20 deletions(-) create mode 100644 web/src/assets/svg/baidu.svg create mode 100644 web/src/assets/svg/duck.svg create mode 100644 web/src/assets/svg/keyword.svg diff --git a/web/src/assets/svg/baidu.svg b/web/src/assets/svg/baidu.svg new file mode 100644 index 000000000..9e18c5284 --- /dev/null +++ b/web/src/assets/svg/baidu.svg @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/web/src/assets/svg/duck.svg b/web/src/assets/svg/duck.svg new file mode 100644 index 000000000..3e4a07677 --- /dev/null +++ b/web/src/assets/svg/duck.svg @@ -0,0 +1,20 @@ + + + + + + + + + + \ No newline at end of file diff --git a/web/src/assets/svg/keyword.svg b/web/src/assets/svg/keyword.svg new file mode 100644 index 000000000..0ab63a101 --- /dev/null +++ b/web/src/assets/svg/keyword.svg @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/web/src/pages/flow/constant.tsx b/web/src/pages/flow/constant.tsx index 68629d4d8..4da80de48 100644 --- a/web/src/pages/flow/constant.tsx +++ b/web/src/pages/flow/constant.tsx @@ -1,3 +1,6 @@ +import { ReactComponent as BaiduIcon } from '@/assets/svg/baidu.svg'; +import { ReactComponent as DuckIcon } from '@/assets/svg/duck.svg'; +import { ReactComponent as KeywordIcon } from '@/assets/svg/keyword.svg'; import { variableEnabledFieldMap } from '@/constants/chat'; import { BranchesOutlined, @@ -19,6 +22,9 @@ export enum Operator { Message = 'Message', Relevant = 'Relevant', RewriteQuestion = 'RewriteQuestion', + KeywordExtract = 'KeywordExtract', + Baidu = 'Baidu', + DuckDuckGo = 'DuckDuckGo', } export const operatorIconMap = { @@ -30,6 +36,9 @@ export const operatorIconMap = { [Operator.Message]: MessageOutlined, [Operator.Relevant]: BranchesOutlined, [Operator.RewriteQuestion]: FormOutlined, + [Operator.KeywordExtract]: KeywordIcon, + [Operator.DuckDuckGo]: DuckIcon, + [Operator.Baidu]: BaiduIcon, }; export const operatorMap = { @@ -116,6 +125,18 @@ export const componentMenuList = [ name: Operator.RewriteQuestion, description: operatorMap[Operator.RewriteQuestion].description, }, + // { + // name: Operator.KeywordExtract, + // description: operatorMap[Operator.Message].description, + // }, + // { + // name: Operator.DuckDuckGo, + // description: operatorMap[Operator.Relevant].description, + // }, + // { + // name: Operator.Baidu, + // description: operatorMap[Operator.RewriteQuestion].description, + // }, ]; export const initialRetrievalValues = { @@ -200,11 +221,21 @@ export const CategorizeAnchorPointPositions = [ // key is the source of the edge, value is the target of the edge // no connection lines are allowed between key and value export const RestrictedUpstreamMap = { - [Operator.Begin]: [], - [Operator.Categorize]: [Operator.Begin, Operator.Categorize, Operator.Answer], - [Operator.Answer]: [Operator.Begin, Operator.Answer, Operator.Message], - [Operator.Retrieval]: [Operator.Begin, Operator.Relevant], - [Operator.Generate]: [Operator.Begin], + [Operator.Begin]: [Operator.Relevant], + [Operator.Categorize]: [ + Operator.Begin, + Operator.Categorize, + Operator.Answer, + Operator.Relevant, + ], + [Operator.Answer]: [ + Operator.Begin, + Operator.Answer, + Operator.Message, + Operator.Relevant, + ], + [Operator.Retrieval]: [Operator.Begin, Operator.Retrieval], + [Operator.Generate]: [Operator.Begin, Operator.Relevant], [Operator.Message]: [ Operator.Begin, Operator.Message, @@ -212,14 +243,16 @@ export const RestrictedUpstreamMap = { Operator.Retrieval, Operator.RewriteQuestion, Operator.Categorize, + Operator.Relevant, ], - [Operator.Relevant]: [Operator.Begin, Operator.Answer], + [Operator.Relevant]: [Operator.Begin, Operator.Answer, Operator.Relevant], [Operator.RewriteQuestion]: [ Operator.Begin, Operator.Message, Operator.Generate, Operator.RewriteQuestion, Operator.Categorize, + Operator.Relevant, ], }; diff --git a/web/src/pages/flow/flow-sider/index.tsx b/web/src/pages/flow/flow-sider/index.tsx index 80731f8d3..d417c9832 100644 --- a/web/src/pages/flow/flow-sider/index.tsx +++ b/web/src/pages/flow/flow-sider/index.tsx @@ -1,8 +1,8 @@ import { useTranslate } from '@/hooks/commonHooks'; -import { Card, Flex, Layout, Space, Tooltip } from 'antd'; +import { Card, Divider, Flex, Layout, Tooltip } from 'antd'; import classNames from 'classnames'; import lowerFirst from 'lodash/lowerFirst'; -import { componentMenuList } from '../constant'; +import { Operator, componentMenuList } from '../constant'; import { useHandleDrag } from '../hooks'; import OperatorIcon from '../operator-icon'; import styles from './index.less'; @@ -29,24 +29,35 @@ const FlowSide = ({ setCollapsed, collapsed }: IProps) => { {componentMenuList.map((x) => { return ( - - - + <> + {x.name === Operator.DuckDuckGo && ( + + )} + +
{x.name}
-
-
-
+
+ + ); })} diff --git a/web/src/pages/flow/operator-icon/index.less b/web/src/pages/flow/operator-icon/index.less index b6a992b05..a8746c13b 100644 --- a/web/src/pages/flow/operator-icon/index.less +++ b/web/src/pages/flow/operator-icon/index.less @@ -1,4 +1,6 @@ .icon { color: rgb(59, 118, 244); font-size: 24px; + max-width: 24px; + max-height: 24px; }