diff --git a/web/app/components/app/overview/customize/index.tsx b/web/app/components/app/overview/customize/index.tsx index d53aa00a6f..2925ba41ee 100644 --- a/web/app/components/app/overview/customize/index.tsx +++ b/web/app/components/app/overview/customize/index.tsx @@ -21,7 +21,7 @@ type IShareLinkProps = { } const StepNum: FC<{ children: React.ReactNode }> = ({ children }) => -
+
{children}
@@ -54,27 +54,27 @@ const CustomizeModal: FC = ({ className='!max-w-2xl w-[640px]' closable={true} > -
- {t(`${prefixCustomize}.way`)} 1 -

{t(`${prefixCustomize}.way1.name`)}

+
+ {t(`${prefixCustomize}.way`)} 1 +

{t(`${prefixCustomize}.way1.name`)}

1
-
{t(`${prefixCustomize}.way1.step1`)}
-
{t(`${prefixCustomize}.way1.step1Tip`)}
+
{t(`${prefixCustomize}.way1.step1`)}
+
{t(`${prefixCustomize}.way1.step1Tip`)}
- +
2
-
{t(`${prefixCustomize}.way1.step3`)}
-
{t(`${prefixCustomize}.way1.step2Tip`)}
+
{t(`${prefixCustomize}.way1.step3`)}
+
{t(`${prefixCustomize}.way1.step2Tip`)}
@@ -83,9 +83,9 @@ const CustomizeModal: FC = ({
3
-
{t(`${prefixCustomize}.way1.step3`)}
-
{t(`${prefixCustomize}.way1.step3Tip`)}
-
+          
{t(`${prefixCustomize}.way1.step3`)}
+
{t(`${prefixCustomize}.way1.step3Tip`)}
+
             NEXT_PUBLIC_APP_ID={`'${appId}'`} 
NEXT_PUBLIC_APP_KEY={'\'\''}
NEXT_PUBLIC_API_URL={`'${api_base_url}'`} @@ -94,9 +94,9 @@ const CustomizeModal: FC = ({
-
- {t(`${prefixCustomize}.way`)} 2 -

{t(`${prefixCustomize}.way2.name`)}

+
+ {t(`${prefixCustomize}.way`)} 2 +

{t(`${prefixCustomize}.way2.name`)}

diff --git a/web/app/components/app/overview/embedded/index.tsx b/web/app/components/app/overview/embedded/index.tsx index 1e8fb68e49..06b06e28a8 100644 --- a/web/app/components/app/overview/embedded/index.tsx +++ b/web/app/components/app/overview/embedded/index.tsx @@ -1,15 +1,19 @@ import React, { useEffect, useState } from 'react' import { useTranslation } from 'react-i18next' +import { + RiClipboardFill, + RiClipboardLine, +} from '@remixicon/react' import copy from 'copy-to-clipboard' import style from './style.module.css' -import cn from '@/utils/classnames' import Modal from '@/app/components/base/modal' -import copyStyle from '@/app/components/base/copy-btn/style.module.css' import Tooltip from '@/app/components/base/tooltip' import { useAppContext } from '@/context/app-context' import { IS_CE_EDITION } from '@/config' import type { SiteInfo } from '@/models/share' import { useThemeContext } from '@/app/components/base/chat/embedded-chatbot/theme/theme-context' +import ActionButton from '@/app/components/base/action-button' +import cn from '@/utils/classnames' type Props = { siteInfo?: SiteInfo @@ -119,7 +123,7 @@ const Embedded = ({ siteInfo, isShow, onClose, appBaseUrl, accessToken, classNam wrapperClassName={className} closable={true} > -
+
{t(`${prefixEmbedded}.explanation`)}
@@ -143,30 +147,37 @@ const Embedded = ({ siteInfo, isShow, onClose, appBaseUrl, accessToken, classNam {option === 'chromePlugin' && (
+ 'bg-primary-600 hover:bg-primary-600/75 cursor-pointer text-white hover:shadow-sm flex-shrink-0')}>
{t(`${prefixEmbedded}.chromePlugin`)}
)} -
-
-
+
+
{t(`${prefixEmbedded}.${option}`)}
-
- -
-
+ + +
+ {isCopied[option] && } + {!isCopied[option] && }
-
-
+ +
-
+
{OPTION_MAP[option].getContent(appBaseUrl, accessToken, themeBuilder.theme?.primaryColor ?? '#1C64F2', isTestEnv)}
diff --git a/web/app/components/app/overview/settings/index.tsx b/web/app/components/app/overview/settings/index.tsx index f23100a796..7e80c83312 100644 --- a/web/app/components/app/overview/settings/index.tsx +++ b/web/app/components/app/overview/settings/index.tsx @@ -5,7 +5,6 @@ import { ChevronRightIcon } from '@heroicons/react/20/solid' import Link from 'next/link' import { Trans, useTranslation } from 'react-i18next' import { useContextSelector } from 'use-context-selector' -import s from './style.module.css' import Modal from '@/app/components/base/modal' import Button from '@/app/components/base/button' import Input from '@/app/components/base/input' @@ -21,6 +20,8 @@ import Tooltip from '@/app/components/base/tooltip' import AppContext, { useAppContext } from '@/context/app-context' import type { AppIconSelection } from '@/app/components/base/app-icon-picker' import AppIconPicker from '@/app/components/base/app-icon-picker' +import Divider from '@/app/components/base/divider' +import cn from '@/utils/classnames' export type ISettingsModalProps = { isChat: boolean @@ -195,9 +196,9 @@ const SettingsModal: FC = ({ title={t(`${prefixSettings}.title`)} isShow={isShow} onClose={onHide} - className={`${s.settingsModal}`} + className='max-w-[520px]' > -
{t(`${prefixSettings}.webName`)}
+
{t(`${prefixSettings}.webName`)}
{ setShowAppIconPicker(true) }} @@ -214,8 +215,8 @@ const SettingsModal: FC = ({ placeholder={t('app.appNamePlaceholder') || ''} />
-
{t(`${prefixSettings}.webDesc`)}
-

{t(`${prefixSettings}.webDescTip`)}

+
{t(`${prefixSettings}.webDesc`)}
+

{t(`${prefixSettings}.webDescTip`)}