From 7d620ffd5e791dc4ddef68fdc11451e8c94006ee Mon Sep 17 00:00:00 2001 From: KVOJJJin Date: Tue, 18 Mar 2025 16:21:53 +0800 Subject: [PATCH] =?UTF-8?q?Feat=EF=BC=9Aapp=20list=20dark=20mode=20(#16110?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/app/(commonLayout)/apps/AppCard.tsx | 27 +++++++------- web/app/(commonLayout)/apps/style.module.css | 29 --------------- .../(commonLayout)/datasets/DatasetCard.tsx | 18 +++++----- .../(commonLayout)/datasets/DatasetFooter.tsx | 6 ++-- .../components/app/duplicate-modal/index.tsx | 16 +++++---- .../app/duplicate-modal/style.module.css | 36 ------------------- .../components/app/switch-app-modal/index.tsx | 19 +++++----- .../app/switch-app-modal/style.module.css | 3 -- .../components/base/tag-management/index.tsx | 6 ++-- .../base/tag-management/selector.tsx | 34 +++++++++--------- .../base/tag-management/style.module.css | 3 -- .../base/tag-management/tag-item-editor.tsx | 16 ++++----- .../base/tag-management/tag-remove-modal.tsx | 11 +++--- .../website/base/checkbox-with-label.tsx | 2 +- .../datasets/rename-modal/index.tsx | 10 +++--- .../explore/create-app-modal/index.tsx | 16 ++++----- 16 files changed, 90 insertions(+), 162 deletions(-) delete mode 100644 web/app/(commonLayout)/apps/style.module.css delete mode 100644 web/app/components/app/duplicate-modal/style.module.css delete mode 100644 web/app/components/app/switch-app-modal/style.module.css delete mode 100644 web/app/components/base/tag-management/style.module.css diff --git a/web/app/(commonLayout)/apps/AppCard.tsx b/web/app/(commonLayout)/apps/AppCard.tsx index e7e1251897..7de801c2c0 100644 --- a/web/app/(commonLayout)/apps/AppCard.tsx +++ b/web/app/(commonLayout)/apps/AppCard.tsx @@ -5,8 +5,6 @@ import { useRouter } from 'next/navigation' import { useCallback, useEffect, useState } from 'react' import { useTranslation } from 'react-i18next' import { RiMoreFill } from '@remixicon/react' -import s from './style.module.css' -import cn from '@/utils/classnames' import type { App } from '@/types/app' import Confirm from '@/app/components/base/confirm' import Toast, { ToastContext } from '@/app/components/base/toast' @@ -31,6 +29,7 @@ import DSLExportConfirmModal from '@/app/components/workflow/dsl-export-confirm- import { fetchWorkflowDraft } from '@/service/workflow' import { fetchInstalledAppList } from '@/service/explore' import { AppTypeIcon } from '@/app/components/app/type-selector' +import cn from '@/utils/classnames' export type AppCardProps = { app: App @@ -227,37 +226,37 @@ const AppCard = ({ app, onRefresh }: AppCardProps) => { } return (
- - - {(app.mode === 'completion' || app.mode === 'chat') && ( <>
- {t('app.switch')} + {t('app.switch')}
)} -
- + {t('common.operation.delete')}
diff --git a/web/app/(commonLayout)/apps/style.module.css b/web/app/(commonLayout)/apps/style.module.css deleted file mode 100644 index 880382ec39..0000000000 --- a/web/app/(commonLayout)/apps/style.module.css +++ /dev/null @@ -1,29 +0,0 @@ - -.commonIcon { - @apply w-4 h-4 inline-block align-middle; - background-repeat: no-repeat; - background-position: center center; - background-size: contain; -} -.actionIcon { - @apply bg-gray-500; - mask-image: url(~@/assets/action.svg); -} -.actionItem { - @apply h-8 py-[6px] px-3 mx-1 flex items-center gap-2 hover:bg-gray-100 rounded-lg cursor-pointer; - width: calc(100% - 0.5rem); -} -.deleteActionItem { - @apply hover:bg-red-50 !important; -} -.actionName { - @apply text-gray-700 text-sm; -} - -/* .completionPic { - background-image: url(~@/app/components/app-sidebar/completion.png) -} - -.expertPic { - background-image: url(~@/app/components/app-sidebar/expert.png) -} */ diff --git a/web/app/(commonLayout)/datasets/DatasetCard.tsx b/web/app/(commonLayout)/datasets/DatasetCard.tsx index ad83a41dff..016c9dcabb 100644 --- a/web/app/(commonLayout)/datasets/DatasetCard.tsx +++ b/web/app/(commonLayout)/datasets/DatasetCard.tsx @@ -84,17 +84,17 @@ const DatasetCard = ({ } return (
-
- {t('common.operation.settings')} +
+ {t('common.operation.settings')}
{props.showDelete && ( <>
- + {t('common.operation.delete')}
@@ -135,7 +135,7 @@ const DatasetCard = ({ - {t('dataset.unavailable')} + {t('dataset.unavailable')} )}
@@ -150,9 +150,9 @@ const DatasetCard = ({ : <> {dataset.document_count}{t('dataset.documentCount')} - · + · {Math.round(dataset.word_count / 1000)}{t('dataset.wordCount')} - · + · {dataset.app_count}{t('dataset.appCount')} } @@ -192,7 +192,7 @@ const DatasetCard = ({ />
-
+
} @@ -202,7 +202,7 @@ const DatasetCard = ({
- +
} btnClassName={open => diff --git a/web/app/(commonLayout)/datasets/DatasetFooter.tsx b/web/app/(commonLayout)/datasets/DatasetFooter.tsx index b87098000f..179948dabe 100644 --- a/web/app/(commonLayout)/datasets/DatasetFooter.tsx +++ b/web/app/(commonLayout)/datasets/DatasetFooter.tsx @@ -8,9 +8,9 @@ const DatasetFooter = () => { return (

{t('dataset.didYouKnow')}

-

- {t('dataset.intro1')}{t('dataset.intro2')}{t('dataset.intro3')}
- {t('dataset.intro4')}{t('dataset.intro5')}{t('dataset.intro6')} +

+ {t('dataset.intro1')}{t('dataset.intro2')}{t('dataset.intro3')}
+ {t('dataset.intro4')}{t('dataset.intro5')}{t('dataset.intro6')}

) diff --git a/web/app/components/app/duplicate-modal/index.tsx b/web/app/components/app/duplicate-modal/index.tsx index 25a5cbf6c1..6d071df369 100644 --- a/web/app/components/app/duplicate-modal/index.tsx +++ b/web/app/components/app/duplicate-modal/index.tsx @@ -1,8 +1,8 @@ 'use client' import React, { useState } from 'react' import { useTranslation } from 'react-i18next' +import { RiCloseLine } from '@remixicon/react' import AppIconPicker from '../../base/app-icon-picker' -import s from './style.module.css' import cn from '@/utils/classnames' import Modal from '@/app/components/base/modal' import Button from '@/app/components/base/button' @@ -13,7 +13,7 @@ import { useProviderContext } from '@/context/provider-context' import AppsFull from '@/app/components/billing/apps-full-in-dialog' import type { AppIconType } from '@/types/app' -export interface DuplicateAppModalProps { +export type DuplicateAppModalProps = { appName: string icon_type: AppIconType | null icon: string @@ -72,12 +72,14 @@ const DuplicateAppModal = ({ { }} - className={cn(s.modal, '!max-w-[480px]', 'px-8')} + className={cn('relative !max-w-[480px]', 'px-8')} > - -
{t('app.duplicateTitle')}
-
-
{t('explore.appCustomize.subTitle')}
+
+ +
+
{t('app.duplicateTitle')}
+
+
{t('explore.appCustomize.subTitle')}
void @@ -95,24 +94,24 @@ const SwitchAppModal = ({ show, appDetail, inAppDetail = false, onSuccess, onClo return ( <> { }} >
- +
-
+
-
{t('app.switch')}
-
+
{t('app.switch')}
+
{t('app.switchTipStart')} - {t('app.switchTip')} + {t('app.switchTip')} {t('app.switchTipEnd')}
-
{t('app.switchLabel')}
+
{t('app.switchLabel')}
setRemoveOriginal(!removeOriginal)} /> -
setRemoveOriginal(!removeOriginal)}>{t('app.removeOriginal')}
+
setRemoveOriginal(!removeOriginal)}>{t('app.removeOriginal')}
diff --git a/web/app/components/app/switch-app-modal/style.module.css b/web/app/components/app/switch-app-modal/style.module.css deleted file mode 100644 index 14367ec575..0000000000 --- a/web/app/components/app/switch-app-modal/style.module.css +++ /dev/null @@ -1,3 +0,0 @@ -.bg { - background: linear-gradient(180deg, rgba(247, 144, 9, 0.05) 0%, rgba(247, 144, 9, 0.00) 24.41%), #F9FAFB; -} diff --git a/web/app/components/base/tag-management/index.tsx b/web/app/components/base/tag-management/index.tsx index 26d18ffcf7..650e2acd43 100644 --- a/web/app/components/base/tag-management/index.tsx +++ b/web/app/components/base/tag-management/index.tsx @@ -64,13 +64,13 @@ const TagManagementModal = ({ show, type }: TagManagementModalProps) => { isShow={show} onClose={() => setShowTagManagementModal(false)} > -
{t('common.tag.manageTags')}
+
{t('common.tag.manageTags')}
setShowTagManagementModal(false)}> - +
{ }) return ( -
-
+
+
{
{keywords && notExisted && (
-
- -
+
+ +
{`${t('common.tag.create')} `} {`"${keywords}"`}
@@ -155,7 +155,7 @@ const Panel = (props: PanelProps) => { {filteredSelectedTagList.map(tag => (
selectTag(tag)} > { checked={selectedTagIDs.includes(tag.id)} onCheck={() => { }} /> -
{tag.name}
+
{tag.name}
))} {filteredTagList.map(tag => (
selectTag(tag)} > { checked={selectedTagIDs.includes(tag.id)} onCheck={() => { }} /> -
{tag.name}
+
{tag.name}
))}
@@ -185,16 +185,16 @@ const Panel = (props: PanelProps) => { {!keywords && !filteredTagList.length && !filteredSelectedTagList.length && (
- -
{t('common.tag.noTag')}
+ +
{t('common.tag.noTag')}
)}
-
setShowTagManagementModal(true)}> - -
+
setShowTagManagementModal(true)}> + +
{t('common.tag.manageTags')}
@@ -232,7 +232,7 @@ const TagSelector: FC = ({ const Trigger = () => { return (
@@ -261,8 +261,8 @@ const TagSelector: FC = ({ btnElement={} btnClassName={open => cn( - open ? '!bg-gray-100 !text-gray-700' : '!bg-transparent', - '!w-full !p-0 !border-0 !text-gray-500 hover:!bg-gray-100 hover:!text-gray-700', + open ? '!bg-state-base-hover !text-text-secondary' : '!bg-transparent', + '!w-full !p-0 !border-0 !text-text-tertiary hover:!bg-state-base-hover hover:!text-text-secondary', ) } popupClassName='!w-full !ring-0' diff --git a/web/app/components/base/tag-management/style.module.css b/web/app/components/base/tag-management/style.module.css deleted file mode 100644 index 14367ec575..0000000000 --- a/web/app/components/base/tag-management/style.module.css +++ /dev/null @@ -1,3 +0,0 @@ -.bg { - background: linear-gradient(180deg, rgba(247, 144, 9, 0.05) 0%, rgba(247, 144, 9, 0.00) 24.41%), #F9FAFB; -} diff --git a/web/app/components/base/tag-management/tag-item-editor.tsx b/web/app/components/base/tag-management/tag-item-editor.tsx index 0605f28cf6..a3a15df8dd 100644 --- a/web/app/components/base/tag-management/tag-item-editor.tsx +++ b/web/app/components/base/tag-management/tag-item-editor.tsx @@ -103,29 +103,29 @@ const TagItemEditor: FC = ({ return ( <> -
+
{!isEditing && ( <> -
+
{tag.name}
-
{tag.binding_count}
-
setIsEditing(true)}> - +
{tag.binding_count}
+
setIsEditing(true)}> +
-
{ +
{ if (tag.binding_count) setShowRemoveModal(true) else handleRemove() }}> - +
)} {isEditing && ( setName(e.target.value)} diff --git a/web/app/components/base/tag-management/tag-remove-modal.tsx b/web/app/components/base/tag-management/tag-remove-modal.tsx index 3e4d08fe3d..e86c2461d2 100644 --- a/web/app/components/base/tag-management/tag-remove-modal.tsx +++ b/web/app/components/base/tag-management/tag-remove-modal.tsx @@ -2,7 +2,6 @@ import { useTranslation } from 'react-i18next' import { RiCloseLine } from '@remixicon/react' -import s from './style.module.css' import cn from '@/utils/classnames' import Button from '@/app/components/base/button' import Modal from '@/app/components/base/modal' @@ -21,21 +20,21 @@ const TagRemoveModal = ({ show, tag, onConfirm, onClose }: TagRemoveModalProps) return ( { }} >
- +
-
+
-
+
{`${t('common.tag.delete')} `} {`"${tag.name}"`}
-
+
{t('common.tag.deleteTip')}
diff --git a/web/app/components/datasets/create/website/base/checkbox-with-label.tsx b/web/app/components/datasets/create/website/base/checkbox-with-label.tsx index 25d40fe076..d055a79490 100644 --- a/web/app/components/datasets/create/website/base/checkbox-with-label.tsx +++ b/web/app/components/datasets/create/website/base/checkbox-with-label.tsx @@ -25,7 +25,7 @@ const CheckboxWithLabel: FC = ({ return (