From 687661eef7328e80fc03d269cb7230ad8661b88a Mon Sep 17 00:00:00 2001 From: JzoNg Date: Fri, 23 Aug 2024 16:12:03 +0800 Subject: [PATCH] new style of feature panel --- .../new-feature-panel/dialog-wrapper.tsx | 57 +++++++++++++ .../base/features/new-feature-panel/index.tsx | 36 ++++++++ web/app/components/workflow/features.tsx | 82 +++++++++---------- web/i18n/en-US/workflow.ts | 1 + web/i18n/zh-Hans/workflow.ts | 1 + 5 files changed, 135 insertions(+), 42 deletions(-) create mode 100644 web/app/components/base/features/new-feature-panel/dialog-wrapper.tsx create mode 100644 web/app/components/base/features/new-feature-panel/index.tsx diff --git a/web/app/components/base/features/new-feature-panel/dialog-wrapper.tsx b/web/app/components/base/features/new-feature-panel/dialog-wrapper.tsx new file mode 100644 index 0000000000..f076c186c5 --- /dev/null +++ b/web/app/components/base/features/new-feature-panel/dialog-wrapper.tsx @@ -0,0 +1,57 @@ +import { Fragment, useCallback } from 'react' +import type { ReactNode } from 'react' +import { Dialog, Transition } from '@headlessui/react' +import cn from '@/utils/classnames' + +type DialogProps = { + className?: string + children: ReactNode + show: boolean + onClose?: () => void +} + +const DialogWrapper = ({ + className, + children, + show, + onClose, +}: DialogProps) => { + const close = useCallback(() => onClose?.(), [onClose]) + return ( + + + +
+ + +
+
+ + + {children} + + +
+
+
+
+ ) +} + +export default DialogWrapper diff --git a/web/app/components/base/features/new-feature-panel/index.tsx b/web/app/components/base/features/new-feature-panel/index.tsx new file mode 100644 index 0000000000..fb35a45c8b --- /dev/null +++ b/web/app/components/base/features/new-feature-panel/index.tsx @@ -0,0 +1,36 @@ +import { useTranslation } from 'react-i18next' +import { RiCloseLine } from '@remixicon/react' +import DialogWrapper from '@/app/components/base/features/new-feature-panel/dialog-wrapper' + +type Props = { + show: boolean + disabled: boolean + onChange: () => void + onClose: () => void +} + +const NewFeaturePanel = ({ show, onClose }: Props) => { + const { t } = useTranslation() + + return ( + +
+
+
+
{t('workflow.common.features')}
+
{t('workflow.common.featuresDescription')}
+
+
+
+
+
+
+
+ ) +} + +export default NewFeaturePanel diff --git a/web/app/components/workflow/features.tsx b/web/app/components/workflow/features.tsx index 60a47bf177..43bbfa3a35 100644 --- a/web/app/components/workflow/features.tsx +++ b/web/app/components/workflow/features.tsx @@ -2,22 +2,14 @@ import { memo, useCallback, } from 'react' -import { useTranslation } from 'react-i18next' -import { RiCloseLine } from '@remixicon/react' import { useStore } from './store' import { - useIsChatMode, useNodesReadOnly, useNodesSyncDraft, } from './hooks' -import { - FeaturesChoose, - FeaturesPanel, -} from '@/app/components/base/features' +import NewFeaturePanel from '@/app/components/base/features/new-feature-panel' const Features = () => { - const { t } = useTranslation() - const isChatMode = useIsChatMode() const setShowFeaturesPanel = useStore(s => s.setShowFeaturesPanel) const { nodesReadOnly } = useNodesReadOnly() const { handleSyncWorkflowDraft } = useNodesSyncDraft() @@ -27,39 +19,45 @@ const Features = () => { }, [handleSyncWorkflowDraft]) return ( -
-
- {t('workflow.common.features')} -
- { - isChatMode && ( - <> - -
- - ) - } -
setShowFeaturesPanel(false)} - > - -
-
-
-
- {}, - }} - /> -
-
+ setShowFeaturesPanel(false)} + /> + //
+ //
+ // {t('workflow.common.features')} + //
+ // { + // isChatMode && ( + // <> + // + //
+ // + // ) + // } + //
setShowFeaturesPanel(false)} + // > + // + //
+ //
+ //
+ //
+ // {}, + // }} + // /> + //
+ //
) } diff --git a/web/i18n/en-US/workflow.ts b/web/i18n/en-US/workflow.ts index 2c99e08228..4ff7bf452f 100644 --- a/web/i18n/en-US/workflow.ts +++ b/web/i18n/en-US/workflow.ts @@ -19,6 +19,7 @@ const translation = { goBackToEdit: 'Go back to editor', conversationLog: 'Conversation Log', features: 'Features', + featuresDescription: 'Enhance web app user experience', debugAndPreview: 'Preview', restart: 'Restart', currentDraft: 'Current Draft', diff --git a/web/i18n/zh-Hans/workflow.ts b/web/i18n/zh-Hans/workflow.ts index 1c12c2244b..03c43d0fda 100644 --- a/web/i18n/zh-Hans/workflow.ts +++ b/web/i18n/zh-Hans/workflow.ts @@ -19,6 +19,7 @@ const translation = { goBackToEdit: '返回编辑模式', conversationLog: '对话记录', features: '功能', + featuresDescription: '增强 web app 用户体验', debugAndPreview: '预览', restart: '重新开始', currentDraft: '当前草稿',