diff --git a/docSite/content/zh-cn/docs/development/upgrading/4820.md b/docSite/content/zh-cn/docs/development/upgrading/4820.md index cd7c7458e..124ddc654 100644 --- a/docSite/content/zh-cn/docs/development/upgrading/4820.md +++ b/docSite/content/zh-cn/docs/development/upgrading/4820.md @@ -26,4 +26,6 @@ curl --location --request POST 'https://{{host}}/api/admin/initv4820' \ ## 完整更新内容 -1. 新增 - 可视化模型配置。预设超过 100 个模型,方便进行模型配置。 \ No newline at end of file +1. 新增 - 可视化模型配置。预设超过 100 个模型,方便进行模型配置。 +2. 新增 - 使用记录导出和仪表盘。 +3. 优化 - 页面组件抽离,减少页面组件路由。 \ No newline at end of file diff --git a/packages/global/common/error/code/user.ts b/packages/global/common/error/code/user.ts index 98d8e9a0f..337cc1ead 100644 --- a/packages/global/common/error/code/user.ts +++ b/packages/global/common/error/code/user.ts @@ -2,12 +2,22 @@ import { ErrType } from '../errorCode'; import { i18nT } from '../../../../web/i18n/utils'; /* team: 503000 */ export enum UserErrEnum { + notUser = 'notUser', + userExist = 'userExist', unAuthRole = 'unAuthRole', account_psw_error = 'account_psw_error', balanceNotEnough = 'balanceNotEnough', unAuthSso = 'unAuthSso' } const errList = [ + { + statusText: UserErrEnum.notUser, + message: i18nT('common:code_error.account_not_found') + }, + { + statusText: UserErrEnum.userExist, + message: i18nT('common:code_error.account_exist') + }, { statusText: UserErrEnum.account_psw_error, message: i18nT('common:code_error.account_error') diff --git a/packages/global/support/wallet/usage/api.d.ts b/packages/global/support/wallet/usage/api.d.ts index ee7002417..785eb257d 100644 --- a/packages/global/support/wallet/usage/api.d.ts +++ b/packages/global/support/wallet/usage/api.d.ts @@ -6,21 +6,20 @@ export type CreateTrainingUsageProps = { datasetId: string; }; -export type GetTotalPointsProps = { - dateStart: Date; - dateEnd: Date; - teamMemberIds: string[]; - sources: UsageSourceEnum[]; - unit: 'day' | 'week' | 'month'; -}; - export type GetUsageProps = { dateStart: Date; dateEnd: Date; sources?: UsageSourceEnum[]; teamMemberIds?: string[]; projectName?: string; - isSelectAllTmb?: boolean; +}; + +export type GetUsageDashboardProps = GetUsageProps & { + unit: 'day' | 'month'; +}; +export type GetUsageDashboardResponseItem = { + date: Date; + totalPoints: number; }; export type ConcatUsageProps = UsageListItemCountType & { diff --git a/packages/service/common/middle/reqFrequencyLimit.ts b/packages/service/common/middle/reqFrequencyLimit.ts index de7249483..1084f2b7c 100644 --- a/packages/service/common/middle/reqFrequencyLimit.ts +++ b/packages/service/common/middle/reqFrequencyLimit.ts @@ -9,7 +9,7 @@ import { jsonRes } from '../response'; // unit: times/s // how to use? // export default NextAPI(useQPSLimit(10), handler); // limit 10 times per second for a ip -export function useReqFrequencyLimit(seconds: number, limit: number, force = false) { +export function useIPFrequencyLimit(seconds: number, limit: number, force = false) { return async (req: ApiRequestProps, res: NextApiResponse) => { const ip = requestIp.getClientIp(req); if (!ip || (process.env.USE_IP_LIMIT !== 'true' && !force)) { diff --git a/packages/service/core/dataset/search/controller.ts b/packages/service/core/dataset/search/controller.ts index 42a0db0ab..555d1a992 100644 --- a/packages/service/core/dataset/search/controller.ts +++ b/packages/service/core/dataset/search/controller.ts @@ -348,119 +348,6 @@ export async function searchDatasetData(props: SearchDatasetDataProps) { }; } - const searchResults = ( - await Promise.all( - datasetIds.map(async (id) => { - return MongoDatasetData.aggregate( - [ - { - $match: { - teamId: new Types.ObjectId(teamId), - datasetId: new Types.ObjectId(id), - $text: { $search: jiebaSplit({ text: query }) }, - ...(filterCollectionIdList - ? { - collectionId: { - $in: filterCollectionIdList.map((id) => new Types.ObjectId(id)) - } - } - : {}), - ...(forbidCollectionIdList && forbidCollectionIdList.length > 0 - ? { - collectionId: { - $nin: forbidCollectionIdList.map((id) => new Types.ObjectId(id)) - } - } - : {}) - } - }, - { - $sort: { - score: { $meta: 'textScore' } - } - }, - { - $limit: limit - }, - { - $project: { - _id: 1, - datasetId: 1, - collectionId: 1, - updateTime: 1, - q: 1, - a: 1, - chunkIndex: 1, - score: { $meta: 'textScore' } - } - } - ], - { - ...readFromSecondary - } - ); - }) - ) - ).flat() as (DatasetDataSchemaType & { score: number })[]; - - // Get data and collections - const collections = await MongoDatasetCollection.find( - { - _id: { $in: searchResults.map((item) => item.collectionId) } - }, - '_id name fileId rawLink externalFileId externalFileUrl', - { ...readFromSecondary } - ).lean(); - - return { - fullTextRecallResults: searchResults - .map((data, index) => { - const collection = collections.find( - (col) => String(col._id) === String(data.collectionId) - ); - if (!collection) { - console.log('Collection is not found', data); - return; - } - - return { - id: String(data._id), - datasetId: String(data.datasetId), - collectionId: String(data.collectionId), - updateTime: data.updateTime, - q: data.q, - a: data.a, - chunkIndex: data.chunkIndex, - indexes: data.indexes, - ...getCollectionSourceData(collection), - score: [{ type: SearchScoreTypeEnum.fullText, value: data.score ?? 0, index }] - }; - }) - .filter(Boolean) as SearchDataResponseItemType[], - tokenLen: 0 - }; - }; - const fullTextRecall2 = async ({ - query, - limit, - filterCollectionIdList, - forbidCollectionIdList - }: { - query: string; - limit: number; - filterCollectionIdList?: string[]; - forbidCollectionIdList: string[]; - }): Promise<{ - fullTextRecallResults: SearchDataResponseItemType[]; - tokenLen: number; - }> => { - if (limit === 0) { - return { - fullTextRecallResults: [], - tokenLen: 0 - }; - } - const searchResults = ( await Promise.all( datasetIds.map(async (id) => { @@ -637,7 +524,7 @@ export async function searchDatasetData(props: SearchDatasetDataProps) { filterCollectionIdList }), // FullText tmp - fullTextRecall2({ + fullTextRecall({ query, limit: fullTextLimit, filterCollectionIdList, diff --git a/packages/service/support/wallet/usage/schema.ts b/packages/service/support/wallet/usage/schema.ts index 7416d6b45..b462b9af9 100644 --- a/packages/service/support/wallet/usage/schema.ts +++ b/packages/service/support/wallet/usage/schema.ts @@ -61,7 +61,8 @@ const UsageSchema = new Schema({ }); try { - UsageSchema.index({ teamId: 1, tmbId: 1, source: 1, time: -1 }); + UsageSchema.index({ teamId: 1, time: 1, tmbId: 1, source: 1 }); + UsageSchema.index({ teamId: 1, time: 1, appName: 1 }); // timer task. clear dead team // UsageSchema.index({ teamId: 1, time: -1 }); diff --git a/packages/web/components/common/DateRangePicker/index.tsx b/packages/web/components/common/DateRangePicker/index.tsx index fe57e8408..b033cfab8 100644 --- a/packages/web/components/common/DateRangePicker/index.tsx +++ b/packages/web/components/common/DateRangePicker/index.tsx @@ -101,7 +101,7 @@ const DateRangePicker = ({ date.to = date.from; } setRange(date); - onChange && onChange(date); + onChange?.(date); }} footer={ @@ -116,7 +116,7 @@ const DateRangePicker = ({ + {t('common:Export')}} + showCancel + content={t('account_usage:export_confirm_tip', { total })} + onConfirm={exportUsage} + /> @@ -172,17 +152,8 @@ const UsageTableList = ({ {!!usageDetail && ( setUsageDetail(undefined)} /> )} - - {!!currentParams && ( - setCurrentParams(null)} - params={currentParams} - memberTotal={isSelectAllTmb ? memberTotal - selectTmbIds.length : selectTmbIds.length} - total={total} - /> - )} ); }; -export default UsageTableList; +export default React.memo(UsageTableList); diff --git a/projects/app/src/pageComponents/account/usage/type.d.ts b/projects/app/src/pageComponents/account/usage/type.d.ts new file mode 100644 index 000000000..21b3a8c0d --- /dev/null +++ b/projects/app/src/pageComponents/account/usage/type.d.ts @@ -0,0 +1,13 @@ +import { DateRangeType } from '@fastgpt/web/components/common/DateRangePicker'; + +export type UnitType = 'day' | 'month'; + +export type UsageFilterParams = { + dateRange: DateRangeType; + selectTmbIds: string[]; + isSelectAllTmb: boolean; + usageSources: UsageSourceEnum[]; + isSelectAllSource: boolean; + projectName: string; + unit: UnitType; +}; diff --git a/projects/app/src/pageComponents/app/detail/ExportConfigPopover.tsx b/projects/app/src/pageComponents/app/detail/ExportConfigPopover.tsx index 776b97d11..7e141b172 100644 --- a/projects/app/src/pageComponents/app/detail/ExportConfigPopover.tsx +++ b/projects/app/src/pageComponents/app/detail/ExportConfigPopover.tsx @@ -3,7 +3,7 @@ import { Box, Flex } from '@chakra-ui/react'; import { useTranslation } from 'next-i18next'; import MyIcon from '@fastgpt/web/components/common/Icon'; import { filterSensitiveNodesData } from '@/web/core/workflow/utils'; -import { useCopyData } from '@/web/common/hooks/useCopyData'; +import { useCopyData } from '@fastgpt/web/hooks/useCopyData'; import MyPopover from '@fastgpt/web/components/common/MyPopover'; import { fileDownload } from '@/web/common/file/utils'; import { AppChatConfigType, AppSimpleEditFormType } from '@fastgpt/global/core/app/type'; diff --git a/projects/app/src/pages/app/detail/components/InfoModal.tsx b/projects/app/src/pageComponents/app/detail/InfoModal.tsx similarity index 99% rename from projects/app/src/pages/app/detail/components/InfoModal.tsx rename to projects/app/src/pageComponents/app/detail/InfoModal.tsx index f82b1e931..3d0c1beb4 100644 --- a/projects/app/src/pages/app/detail/components/InfoModal.tsx +++ b/projects/app/src/pageComponents/app/detail/InfoModal.tsx @@ -1,6 +1,6 @@ import CollaboratorContextProvider from '@/components/support/permission/MemberManager/context'; import ResumeInherit from '@/components/support/permission/ResumeInheritText'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from './context'; import { useSelectFile } from '@/web/common/file/hooks/useSelectFile'; import { useI18n } from '@/web/context/I18n'; import { resumeInheritPer } from '@/web/core/app/api'; diff --git a/projects/app/src/pages/app/detail/components/Logs/DetailLogsModal.tsx b/projects/app/src/pageComponents/app/detail/Logs/DetailLogsModal.tsx similarity index 99% rename from projects/app/src/pages/app/detail/components/Logs/DetailLogsModal.tsx rename to projects/app/src/pageComponents/app/detail/Logs/DetailLogsModal.tsx index 0098e8cec..4a20b9d87 100644 --- a/projects/app/src/pages/app/detail/components/Logs/DetailLogsModal.tsx +++ b/projects/app/src/pageComponents/app/detail/Logs/DetailLogsModal.tsx @@ -11,7 +11,7 @@ import LightRowTabs from '@fastgpt/web/components/common/Tabs/LightRowTabs'; import { PluginRunBoxTabEnum } from '@/components/core/chat/ChatContainer/PluginRunBox/constants'; import CloseIcon from '@fastgpt/web/components/common/Icon/close'; import { useSystem } from '@fastgpt/web/hooks/useSystem'; -import { PcHeader } from '@/pages/chat/components/ChatHeader'; +import { PcHeader } from '@/pageComponents/chat/ChatHeader'; import { GetChatTypeEnum } from '@/global/core/chat/constants'; import ChatItemContextProvider, { ChatItemContext } from '@/web/core/chat/context/chatItemContext'; import ChatRecordContextProvider, { diff --git a/projects/app/src/pages/app/detail/components/Logs/index.tsx b/projects/app/src/pageComponents/app/detail/Logs/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Logs/index.tsx rename to projects/app/src/pageComponents/app/detail/Logs/index.tsx diff --git a/projects/app/src/pages/app/detail/components/Plugin/Header.tsx b/projects/app/src/pageComponents/app/detail/Plugin/Header.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Plugin/Header.tsx rename to projects/app/src/pageComponents/app/detail/Plugin/Header.tsx diff --git a/projects/app/src/pages/app/detail/components/Plugin/index.tsx b/projects/app/src/pageComponents/app/detail/Plugin/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Plugin/index.tsx rename to projects/app/src/pageComponents/app/detail/Plugin/index.tsx diff --git a/projects/app/src/pages/app/detail/components/Publish/API/index.tsx b/projects/app/src/pageComponents/app/detail/Publish/API/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Publish/API/index.tsx rename to projects/app/src/pageComponents/app/detail/Publish/API/index.tsx diff --git a/projects/app/src/pages/app/detail/components/Publish/DingTalk/DingTalkEditModal.tsx b/projects/app/src/pageComponents/app/detail/Publish/DingTalk/DingTalkEditModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Publish/DingTalk/DingTalkEditModal.tsx rename to projects/app/src/pageComponents/app/detail/Publish/DingTalk/DingTalkEditModal.tsx diff --git a/projects/app/src/pages/app/detail/components/Publish/DingTalk/index.tsx b/projects/app/src/pageComponents/app/detail/Publish/DingTalk/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Publish/DingTalk/index.tsx rename to projects/app/src/pageComponents/app/detail/Publish/DingTalk/index.tsx diff --git a/projects/app/src/pages/app/detail/components/Publish/FeiShu/FeiShuEditModal.tsx b/projects/app/src/pageComponents/app/detail/Publish/FeiShu/FeiShuEditModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Publish/FeiShu/FeiShuEditModal.tsx rename to projects/app/src/pageComponents/app/detail/Publish/FeiShu/FeiShuEditModal.tsx diff --git a/projects/app/src/pages/app/detail/components/Publish/FeiShu/index.tsx b/projects/app/src/pageComponents/app/detail/Publish/FeiShu/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Publish/FeiShu/index.tsx rename to projects/app/src/pageComponents/app/detail/Publish/FeiShu/index.tsx diff --git a/projects/app/src/pages/app/detail/components/Publish/Link/SelectUsingWayModal.tsx b/projects/app/src/pageComponents/app/detail/Publish/Link/SelectUsingWayModal.tsx similarity index 99% rename from projects/app/src/pages/app/detail/components/Publish/Link/SelectUsingWayModal.tsx rename to projects/app/src/pageComponents/app/detail/Publish/Link/SelectUsingWayModal.tsx index 1fad9055f..2844f43c8 100644 --- a/projects/app/src/pages/app/detail/components/Publish/Link/SelectUsingWayModal.tsx +++ b/projects/app/src/pageComponents/app/detail/Publish/Link/SelectUsingWayModal.tsx @@ -6,7 +6,7 @@ import { Box, Flex, FlexProps, Grid, ModalBody, Switch, useTheme } from '@chakra import MyRadio from '@/components/common/MyRadio'; import { useForm } from 'react-hook-form'; import MyIcon from '@fastgpt/web/components/common/Icon'; -import { useCopyData } from '@/web/common/hooks/useCopyData'; +import { useCopyData } from '@fastgpt/web/hooks/useCopyData'; import { useSelectFile } from '@/web/common/file/hooks/useSelectFile'; import { fileToBase64 } from '@/web/common/file/utils'; import { useSystemStore } from '@/web/common/system/useSystemStore'; diff --git a/projects/app/src/pages/app/detail/components/Publish/Link/index.tsx b/projects/app/src/pageComponents/app/detail/Publish/Link/index.tsx similarity index 99% rename from projects/app/src/pages/app/detail/components/Publish/Link/index.tsx rename to projects/app/src/pageComponents/app/detail/Publish/Link/index.tsx index 27cd28135..eb53eea04 100644 --- a/projects/app/src/pages/app/detail/components/Publish/Link/index.tsx +++ b/projects/app/src/pageComponents/app/detail/Publish/Link/index.tsx @@ -28,7 +28,7 @@ import { putShareChat } from '@/web/support/outLink/api'; import { formatTimeToChatTime } from '@fastgpt/global/common/string/time'; -import { useCopyData } from '@/web/common/hooks/useCopyData'; +import { useCopyData } from '@fastgpt/web/hooks/useCopyData'; import { useForm } from 'react-hook-form'; import { defaultOutLinkForm } from '@/web/core/app/constants'; import type { OutLinkEditType, OutLinkSchema } from '@fastgpt/global/support/outLink/type.d'; diff --git a/projects/app/src/pages/app/detail/components/Publish/OffiAccount/OffiAccountEditModal.tsx b/projects/app/src/pageComponents/app/detail/Publish/OffiAccount/OffiAccountEditModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Publish/OffiAccount/OffiAccountEditModal.tsx rename to projects/app/src/pageComponents/app/detail/Publish/OffiAccount/OffiAccountEditModal.tsx diff --git a/projects/app/src/pages/app/detail/components/Publish/OffiAccount/index.tsx b/projects/app/src/pageComponents/app/detail/Publish/OffiAccount/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Publish/OffiAccount/index.tsx rename to projects/app/src/pageComponents/app/detail/Publish/OffiAccount/index.tsx diff --git a/projects/app/src/pages/app/detail/components/Publish/Wecom/WecomEditModal.tsx b/projects/app/src/pageComponents/app/detail/Publish/Wecom/WecomEditModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Publish/Wecom/WecomEditModal.tsx rename to projects/app/src/pageComponents/app/detail/Publish/Wecom/WecomEditModal.tsx diff --git a/projects/app/src/pages/app/detail/components/Publish/Wecom/index.tsx b/projects/app/src/pageComponents/app/detail/Publish/Wecom/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Publish/Wecom/index.tsx rename to projects/app/src/pageComponents/app/detail/Publish/Wecom/index.tsx diff --git a/projects/app/src/pages/app/detail/components/Publish/components/BasicInfo.tsx b/projects/app/src/pageComponents/app/detail/Publish/components/BasicInfo.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Publish/components/BasicInfo.tsx rename to projects/app/src/pageComponents/app/detail/Publish/components/BasicInfo.tsx diff --git a/projects/app/src/pages/app/detail/components/Publish/components/showShareLinkModal.tsx b/projects/app/src/pageComponents/app/detail/Publish/components/showShareLinkModal.tsx similarity index 96% rename from projects/app/src/pages/app/detail/components/Publish/components/showShareLinkModal.tsx rename to projects/app/src/pageComponents/app/detail/Publish/components/showShareLinkModal.tsx index 0b0dfbd36..5826cb12d 100644 --- a/projects/app/src/pages/app/detail/components/Publish/components/showShareLinkModal.tsx +++ b/projects/app/src/pageComponents/app/detail/Publish/components/showShareLinkModal.tsx @@ -1,4 +1,4 @@ -import { useCopyData } from '@/web/common/hooks/useCopyData'; +import { useCopyData } from '@fastgpt/web/hooks/useCopyData'; import { Box, Image, Flex, ModalBody } from '@chakra-ui/react'; import MyModal from '@fastgpt/web/components/common/MyModal'; import MyIcon from '@fastgpt/web/components/common/Icon'; diff --git a/projects/app/src/pages/app/detail/components/Publish/index.tsx b/projects/app/src/pageComponents/app/detail/Publish/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Publish/index.tsx rename to projects/app/src/pageComponents/app/detail/Publish/index.tsx diff --git a/projects/app/src/pages/app/detail/components/PublishHistoriesSlider.tsx b/projects/app/src/pageComponents/app/detail/PublishHistoriesSlider.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/PublishHistoriesSlider.tsx rename to projects/app/src/pageComponents/app/detail/PublishHistoriesSlider.tsx diff --git a/projects/app/src/pages/app/detail/components/RouteTab.tsx b/projects/app/src/pageComponents/app/detail/RouteTab.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/RouteTab.tsx rename to projects/app/src/pageComponents/app/detail/RouteTab.tsx diff --git a/projects/app/src/pages/app/detail/components/SimpleApp/AppCard.tsx b/projects/app/src/pageComponents/app/detail/SimpleApp/AppCard.tsx similarity index 99% rename from projects/app/src/pages/app/detail/components/SimpleApp/AppCard.tsx rename to projects/app/src/pageComponents/app/detail/SimpleApp/AppCard.tsx index 59c454322..cef63d3dc 100644 --- a/projects/app/src/pages/app/detail/components/SimpleApp/AppCard.tsx +++ b/projects/app/src/pageComponents/app/detail/SimpleApp/AppCard.tsx @@ -16,7 +16,7 @@ import Avatar from '@fastgpt/web/components/common/Avatar'; import MyIcon from '@fastgpt/web/components/common/Icon'; import TagsEditModal from '../TagsEditModal'; import { useSystemStore } from '@/web/common/system/useSystemStore'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from '@/pageComponents/app/detail/context'; import { useContextSelector } from 'use-context-selector'; import MyMenu from '@fastgpt/web/components/common/MyMenu'; import MyModal from '@fastgpt/web/components/common/MyModal'; diff --git a/projects/app/src/pages/app/detail/components/SimpleApp/ChatTest.tsx b/projects/app/src/pageComponents/app/detail/SimpleApp/ChatTest.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/SimpleApp/ChatTest.tsx rename to projects/app/src/pageComponents/app/detail/SimpleApp/ChatTest.tsx diff --git a/projects/app/src/pages/app/detail/components/SimpleApp/Edit.tsx b/projects/app/src/pageComponents/app/detail/SimpleApp/Edit.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/SimpleApp/Edit.tsx rename to projects/app/src/pageComponents/app/detail/SimpleApp/Edit.tsx diff --git a/projects/app/src/pages/app/detail/components/SimpleApp/EditForm.tsx b/projects/app/src/pageComponents/app/detail/SimpleApp/EditForm.tsx similarity index 99% rename from projects/app/src/pages/app/detail/components/SimpleApp/EditForm.tsx rename to projects/app/src/pageComponents/app/detail/SimpleApp/EditForm.tsx index eb083263c..44d407692 100644 --- a/projects/app/src/pages/app/detail/components/SimpleApp/EditForm.tsx +++ b/projects/app/src/pageComponents/app/detail/SimpleApp/EditForm.tsx @@ -27,7 +27,7 @@ import type { SettingAIDataType } from '@fastgpt/global/core/app/type.d'; import { TTSTypeEnum } from '@/web/core/app/constants'; import { workflowSystemVariables } from '@/web/core/app/utils'; import { useContextSelector } from 'use-context-selector'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from '@/pageComponents/app/detail/context'; import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip'; import FormLabel from '@fastgpt/web/components/common/MyBox/FormLabel'; import VariableTip from '@/components/common/Textarea/MyTextarea/VariableTip'; diff --git a/projects/app/src/pages/app/detail/components/SimpleApp/Header.tsx b/projects/app/src/pageComponents/app/detail/SimpleApp/Header.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/SimpleApp/Header.tsx rename to projects/app/src/pageComponents/app/detail/SimpleApp/Header.tsx diff --git a/projects/app/src/pages/app/detail/components/SimpleApp/components/ConfigToolModal.tsx b/projects/app/src/pageComponents/app/detail/SimpleApp/components/ConfigToolModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/SimpleApp/components/ConfigToolModal.tsx rename to projects/app/src/pageComponents/app/detail/SimpleApp/components/ConfigToolModal.tsx diff --git a/projects/app/src/pages/app/detail/components/SimpleApp/components/ToolSelect.tsx b/projects/app/src/pageComponents/app/detail/SimpleApp/components/ToolSelect.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/SimpleApp/components/ToolSelect.tsx rename to projects/app/src/pageComponents/app/detail/SimpleApp/components/ToolSelect.tsx diff --git a/projects/app/src/pages/app/detail/components/SimpleApp/components/ToolSelectModal.tsx b/projects/app/src/pageComponents/app/detail/SimpleApp/components/ToolSelectModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/SimpleApp/components/ToolSelectModal.tsx rename to projects/app/src/pageComponents/app/detail/SimpleApp/components/ToolSelectModal.tsx diff --git a/projects/app/src/pages/app/detail/components/SimpleApp/index.tsx b/projects/app/src/pageComponents/app/detail/SimpleApp/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/SimpleApp/index.tsx rename to projects/app/src/pageComponents/app/detail/SimpleApp/index.tsx diff --git a/projects/app/src/pages/app/detail/components/SimpleApp/styles.module.scss b/projects/app/src/pageComponents/app/detail/SimpleApp/styles.module.scss similarity index 100% rename from projects/app/src/pages/app/detail/components/SimpleApp/styles.module.scss rename to projects/app/src/pageComponents/app/detail/SimpleApp/styles.module.scss diff --git a/projects/app/src/pages/app/detail/components/SimpleApp/useSnapshots.tsx b/projects/app/src/pageComponents/app/detail/SimpleApp/useSnapshots.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/SimpleApp/useSnapshots.tsx rename to projects/app/src/pageComponents/app/detail/SimpleApp/useSnapshots.tsx diff --git a/projects/app/src/pages/app/detail/components/TagsEditModal.tsx b/projects/app/src/pageComponents/app/detail/TagsEditModal.tsx similarity index 98% rename from projects/app/src/pages/app/detail/components/TagsEditModal.tsx rename to projects/app/src/pageComponents/app/detail/TagsEditModal.tsx index 20a322864..db33023de 100644 --- a/projects/app/src/pages/app/detail/components/TagsEditModal.tsx +++ b/projects/app/src/pageComponents/app/detail/TagsEditModal.tsx @@ -23,7 +23,7 @@ import { useRequest } from '@fastgpt/web/hooks/useRequest'; import { getTeamsTags } from '@/web/support/user/team/api'; import { useQuery } from '@tanstack/react-query'; import { useContextSelector } from 'use-context-selector'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from './context'; const TagsEditModal = ({ onClose }: { onClose: () => void }) => { const { t } = useTranslation(); diff --git a/projects/app/src/pages/app/detail/components/Workflow/Header.tsx b/projects/app/src/pageComponents/app/detail/Workflow/Header.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Workflow/Header.tsx rename to projects/app/src/pageComponents/app/detail/Workflow/Header.tsx diff --git a/projects/app/src/pages/app/detail/components/Workflow/components/SaveButton.tsx b/projects/app/src/pageComponents/app/detail/Workflow/components/SaveButton.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Workflow/components/SaveButton.tsx rename to projects/app/src/pageComponents/app/detail/Workflow/components/SaveButton.tsx diff --git a/projects/app/src/pages/app/detail/components/Workflow/index.tsx b/projects/app/src/pageComponents/app/detail/Workflow/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/Workflow/index.tsx rename to projects/app/src/pageComponents/app/detail/Workflow/index.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/AppCard.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/AppCard.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/AppCard.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/AppCard.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/ChatTest.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/ChatTest.tsx similarity index 97% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/ChatTest.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/ChatTest.tsx index 4834f0970..94c6057a0 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/ChatTest.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/ChatTest.tsx @@ -8,8 +8,8 @@ import { useTranslation } from 'next-i18next'; import { StoreEdgeItemType } from '@fastgpt/global/core/workflow/type/edge'; import { useContextSelector } from 'use-context-selector'; -import { AppContext } from '@/pages/app/detail/components/context'; -import { useChatTest } from '@/pages/app/detail/components/useChatTest'; +import { AppContext } from '@/pageComponents/app/detail/context'; +import { useChatTest } from '../../useChatTest'; import { AppTypeEnum } from '@fastgpt/global/core/app/constants'; import LightRowTabs from '@fastgpt/web/components/common/Tabs/LightRowTabs'; import { PluginRunBoxTabEnum } from '@/components/core/chat/ChatContainer/PluginRunBox/constants'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/ImportSettings.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/ImportSettings.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/ImportSettings.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/ImportSettings.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/NodeTemplatesModal.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/NodeTemplatesModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/NodeTemplatesModal.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/NodeTemplatesModal.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/SelectAppModal.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/SelectAppModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/SelectAppModal.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/SelectAppModal.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/ButtonEdge.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/ButtonEdge.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/ButtonEdge.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/ButtonEdge.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/Container.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/Container.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/Container.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/Container.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/ContextMenu.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/ContextMenu.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/ContextMenu.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/ContextMenu.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/Divider.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/Divider.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/Divider.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/Divider.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/FlowController.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/FlowController.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/FlowController.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/FlowController.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/HelperLines.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/HelperLines.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/HelperLines.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/HelperLines.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/IOTitle.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/IOTitle.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/IOTitle.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/IOTitle.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/SaveAndPublish.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/SaveAndPublish.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/SaveAndPublish.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/SaveAndPublish.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/index.module.scss b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/index.module.scss similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/index.module.scss rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/components/index.module.scss diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/hooks/useDebug.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/hooks/useDebug.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/hooks/useDebug.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/hooks/useDebug.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/hooks/useKeyboard.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/hooks/useKeyboard.tsx similarity index 98% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/hooks/useKeyboard.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/hooks/useKeyboard.tsx index 8400c4274..92df705ff 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/hooks/useKeyboard.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/hooks/useKeyboard.tsx @@ -1,6 +1,6 @@ import { useCallback } from 'react'; import { getNanoid } from '@fastgpt/global/common/string/tools'; -import { useCopyData } from '@/web/common/hooks/useCopyData'; +import { useCopyData } from '@fastgpt/web/hooks/useCopyData'; import { useTranslation } from 'next-i18next'; import { Node, useKeyPress } from 'reactflow'; import { FlowNodeItemType } from '@fastgpt/global/core/workflow/type/node'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/hooks/useUtils.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/hooks/useUtils.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/hooks/useUtils.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/hooks/useUtils.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/hooks/useWorkflow.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/hooks/useWorkflow.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/hooks/useWorkflow.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/hooks/useWorkflow.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/index.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/index.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/index.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/Loop/NodeLoop.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/Loop/NodeLoop.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/Loop/NodeLoop.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/Loop/NodeLoop.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/Loop/NodeLoopEnd.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/Loop/NodeLoopEnd.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/Loop/NodeLoopEnd.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/Loop/NodeLoopEnd.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/Loop/NodeLoopStart.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/Loop/NodeLoopStart.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/Loop/NodeLoopStart.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/Loop/NodeLoopStart.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeAnswer.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeAnswer.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeAnswer.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeAnswer.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeCQNode.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeCQNode.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeCQNode.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeCQNode.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeCode.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeCode.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeCode.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeCode.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeComment.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeComment.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeComment.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeComment.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeDatasetConcat.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeDatasetConcat.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeDatasetConcat.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeDatasetConcat.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeEmpty.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeEmpty.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeEmpty.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeEmpty.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeExtract/ExtractFieldModal.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeExtract/ExtractFieldModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeExtract/ExtractFieldModal.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeExtract/ExtractFieldModal.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeExtract/index.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeExtract/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeExtract/index.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeExtract/index.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeFormInput/InputFormEditModal.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeFormInput/InputFormEditModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeFormInput/InputFormEditModal.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeFormInput/InputFormEditModal.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeFormInput/index.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeFormInput/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeFormInput/index.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeFormInput/index.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeHttp/CurlImportModal.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeHttp/CurlImportModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeHttp/CurlImportModal.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeHttp/CurlImportModal.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeHttp/index.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeHttp/index.tsx similarity index 99% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeHttp/index.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeHttp/index.tsx index e19f2af13..9a0a5bcc0 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeHttp/index.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeHttp/index.tsx @@ -44,7 +44,7 @@ import IOTitle from '../../components/IOTitle'; import { useContextSelector } from 'use-context-selector'; import { WorkflowContext } from '../../../context'; import { useCreation, useMemoizedFn } from 'ahooks'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from '@/pageComponents/app/detail/context'; import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip'; import { FlowNodeInputTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; import { getEditorVariables } from '../../../utils'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeIfElse/ListItem.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeIfElse/ListItem.tsx similarity index 99% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeIfElse/ListItem.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeIfElse/ListItem.tsx index e1017d740..0a0de9788 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeIfElse/ListItem.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeIfElse/ListItem.tsx @@ -30,7 +30,7 @@ import { SourceHandle } from '../render/Handle'; import { Position, useReactFlow } from 'reactflow'; import { getRefData } from '@/web/core/workflow/utils'; import DragIcon from '@fastgpt/web/components/common/DndDrag/DragIcon'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from '@/pageComponents/app/detail/context'; import { useI18n } from '@/web/context/I18n'; const ListItem = ({ diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeIfElse/index.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeIfElse/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeIfElse/index.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeIfElse/index.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeLaf.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeLaf.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeLaf.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeLaf.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/InputEditModal.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/InputEditModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/InputEditModal.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/InputEditModal.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/InputTypeConfig.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/InputTypeConfig.tsx similarity index 98% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/InputTypeConfig.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/InputTypeConfig.tsx index 0098f7b05..b969230e3 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/InputTypeConfig.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/InputTypeConfig.tsx @@ -18,7 +18,9 @@ import { FlowValueTypeMap } from '@fastgpt/global/core/workflow/node/constant'; import MySelect from '@fastgpt/web/components/common/MySelect'; -import MultipleSelect from '@fastgpt/web/components/common/MySelect/MultipleSelect'; +import MultipleSelect, { + useMultipleSelect +} from '@fastgpt/web/components/common/MySelect/MultipleSelect'; import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip'; import JsonEditor from '@fastgpt/web/components/common/Textarea/JsonEditor'; import React, { useMemo } from 'react'; @@ -79,10 +81,13 @@ const InputTypeConfig = ({ const maxLength = watch('maxLength'); const max = watch('max'); const min = watch('min'); - const selectValueTypeList = watch('customInputConfig.selectValueTypeList'); const defaultValue = watch('defaultValue'); const valueType = watch('valueType'); + const selectValueTypeList = watch('customInputConfig.selectValueTypeList'); + const { isSelectAll: isSelectAllValueType, setIsSelectAll: setIsSelectAllValueType } = + useMultipleSelect(selectValueTypeList, false); + const toolDescription = watch('toolDescription'); const isToolInput = !!toolDescription; @@ -365,6 +370,8 @@ const InputTypeConfig = ({ onSelect={(e) => { setValue('customInputConfig.selectValueTypeList', e); }} + isSelectAll={isSelectAllValueType} + setIsSelectAll={setIsSelectAllValueType} /> diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/NodePluginConfig.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/NodePluginConfig.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/NodePluginConfig.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/NodePluginConfig.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/PluginInput.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/PluginInput.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/PluginInput.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/PluginInput.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/PluginOutput.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/PluginOutput.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/PluginOutput.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/PluginOutput.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/PluginOutputEditModal.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/PluginOutputEditModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/PluginOutputEditModal.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/PluginOutputEditModal.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/VariableTable.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/VariableTable.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodePluginIO/VariableTable.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/VariableTable.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeSimple.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeSimple.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeSimple.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeSimple.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeSystemConfig.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeSystemConfig.tsx similarity index 99% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeSystemConfig.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeSystemConfig.tsx index d7c20432e..8f9660224 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeSystemConfig.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeSystemConfig.tsx @@ -21,7 +21,7 @@ import { } from '@fastgpt/global/core/app/type'; import { useMemoizedFn } from 'ahooks'; import VariableEdit from '@/components/core/app/VariableEdit'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from '@/pageComponents/app/detail/context'; import WelcomeTextConfig from '@/components/core/app/WelcomeTextConfig'; import FileSelect from '@/components/core/app/FileSelect'; import { FlowNodeTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeToolParams/ToolParamsEditModal.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeToolParams/ToolParamsEditModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeToolParams/ToolParamsEditModal.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeToolParams/ToolParamsEditModal.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeToolParams/index.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeToolParams/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeToolParams/index.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeToolParams/index.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeTools.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeTools.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeTools.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeTools.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeUserSelect.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeUserSelect.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeUserSelect.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeUserSelect.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeVariableUpdate.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeVariableUpdate.tsx similarity index 99% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeVariableUpdate.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeVariableUpdate.tsx index 4be1f4dc4..0e5689678 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeVariableUpdate.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeVariableUpdate.tsx @@ -29,7 +29,7 @@ import MyTooltip from '@fastgpt/web/components/common/MyTooltip'; import { ReferenceItemValueType, ReferenceValueType } from '@fastgpt/global/core/workflow/type/io'; import { ReferSelector, useReference } from './render/RenderInput/templates/Reference'; import { getRefData } from '@/web/core/workflow/utils'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from '@/pageComponents/app/detail/context'; import PromptEditor from '@fastgpt/web/components/common/Textarea/PromptEditor'; import { useCreation, useMemoizedFn } from 'ahooks'; import { getEditorVariables } from '../../utils'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeWorkflowStart.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeWorkflowStart.tsx similarity index 97% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeWorkflowStart.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeWorkflowStart.tsx index 41ee01117..d61d90a39 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/NodeWorkflowStart.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeWorkflowStart.tsx @@ -12,7 +12,7 @@ import { useCreation } from 'ahooks'; import { FlowNodeOutputItemType } from '@fastgpt/global/core/workflow/type/io'; import { FlowNodeOutputTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; import { WorkflowIOValueTypeEnum } from '@fastgpt/global/core/workflow/constants'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from '@/pageComponents/app/detail/context'; import { workflowSystemVariables } from '@/web/core/app/utils'; import { formatEditorVariablePickerIcon, diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/Handle/ConnectionHandle.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/Handle/ConnectionHandle.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/Handle/ConnectionHandle.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/Handle/ConnectionHandle.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/Handle/ToolHandle.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/Handle/ToolHandle.tsx similarity index 97% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/Handle/ToolHandle.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/Handle/ToolHandle.tsx index 428dea606..e7bc2f7d9 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/Handle/ToolHandle.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/Handle/ToolHandle.tsx @@ -5,7 +5,7 @@ import { useTranslation } from 'next-i18next'; import { Connection, Handle, Position } from 'reactflow'; import { useCallback, useMemo } from 'react'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import { WorkflowNodeEdgeContext } from '../../../../context/workflowInitContext'; const handleSize = '16px'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/Handle/index.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/Handle/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/Handle/index.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/Handle/index.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/Handle/style.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/Handle/style.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/Handle/style.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/Handle/style.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/NodeCard.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/NodeCard.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/NodeCard.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/NodeCard.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/FieldEditModal.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/FieldEditModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/FieldEditModal.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/FieldEditModal.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/Label.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/Label.tsx similarity index 96% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/Label.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/Label.tsx index b372f2655..9a53ce94d 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/Label.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/Label.tsx @@ -7,7 +7,7 @@ import NodeInputSelect from '@fastgpt/web/components/core/workflow/NodeInputSele import { FlowNodeInputTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; import ValueTypeLabel from '../ValueTypeLabel'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip'; import FormLabel from '@fastgpt/web/components/common/MyBox/FormLabel'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/index.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/index.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/index.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/index.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/DynamicInputs/index.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/DynamicInputs/index.tsx similarity index 98% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/DynamicInputs/index.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/DynamicInputs/index.tsx index 36ab6454d..30799758e 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/DynamicInputs/index.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/DynamicInputs/index.tsx @@ -7,7 +7,7 @@ import dynamic from 'next/dynamic'; import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip'; import { FlowNodeInputItemType, ReferenceValueType } from '@fastgpt/global/core/workflow/type/io'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import { defaultInput } from '../../FieldEditModal'; import { getInputComponentProps } from '@fastgpt/global/core/workflow/node/io/utils'; import { ReferSelector, useReference } from '../Reference'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/JsonEditor.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/JsonEditor.tsx similarity index 92% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/JsonEditor.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/JsonEditor.tsx index 4636e74b6..786d6504c 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/JsonEditor.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/JsonEditor.tsx @@ -3,11 +3,11 @@ import type { RenderInputProps } from '../type'; import JSONEditor from '@fastgpt/web/components/common/Textarea/JsonEditor'; import { formatEditorVariablePickerIcon } from '@fastgpt/global/core/workflow/utils'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import { getWorkflowGlobalVariables } from '@/web/core/workflow/utils'; import { useCreation } from 'ahooks'; import { useTranslation } from 'next-i18next'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from '@/pageComponents/app/detail/context'; const JsonEditor = ({ inputs = [], item, nodeId }: RenderInputProps) => { const { t } = useTranslation(); diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/NumberInput.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/NumberInput.tsx similarity index 90% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/NumberInput.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/NumberInput.tsx index 2a7b8416c..35db09e7b 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/NumberInput.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/NumberInput.tsx @@ -1,7 +1,7 @@ import React, { useMemo } from 'react'; import type { RenderInputProps } from '../type'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import MyNumberInput from '@fastgpt/web/components/common/Input/NumberInput'; const NumberInputRender = ({ item, nodeId }: RenderInputProps) => { diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Reference.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Reference.tsx similarity index 98% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Reference.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Reference.tsx index 6df07b6f1..9c5775da5 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Reference.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Reference.tsx @@ -18,9 +18,9 @@ import type { } from '@fastgpt/global/core/workflow/type/io'; import dynamic from 'next/dynamic'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import { FlowNodeTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from '@/pageComponents/app/detail/context'; import { WorkflowNodeEdgeContext } from '../../../../../context/workflowInitContext'; const MultipleRowSelect = dynamic(() => diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Select.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Select.tsx similarity index 90% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Select.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Select.tsx index 7a4aa5093..10be85625 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Select.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Select.tsx @@ -1,7 +1,7 @@ import React, { useMemo } from 'react'; import type { RenderInputProps } from '../type'; import MySelect from '@fastgpt/web/components/common/MySelect'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import { useContextSelector } from 'use-context-selector'; const SelectRender = ({ item, nodeId }: RenderInputProps) => { diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectApp.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectApp.tsx similarity index 96% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectApp.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectApp.tsx index a7a914599..6bcf640d6 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectApp.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectApp.tsx @@ -6,7 +6,7 @@ import Avatar from '@fastgpt/web/components/common/Avatar'; import SelectAppModal from '../../../../SelectAppModal'; import { useTranslation } from 'next-i18next'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import { useRequest2 } from '@fastgpt/web/hooks/useRequest'; import { getAppDetailById } from '@/web/core/app/api'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectDataset.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectDataset.tsx similarity index 98% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectDataset.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectDataset.tsx index b4bdb70e8..89d2aa677 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectDataset.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectDataset.tsx @@ -11,7 +11,7 @@ import { DatasetSearchModeEnum } from '@fastgpt/global/core/dataset/constants'; import dynamic from 'next/dynamic'; import MyIcon from '@fastgpt/web/components/common/Icon'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip'; import { NodeInputKeyEnum } from '@fastgpt/global/core/workflow/constants'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectDatasetParams.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectDatasetParams.tsx similarity index 97% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectDatasetParams.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectDatasetParams.tsx index e3834f6df..cd5ebeba7 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectDatasetParams.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectDatasetParams.tsx @@ -10,7 +10,7 @@ import DatasetParamsModal, { DatasetParamsProps } from '@/components/core/app/Da import { useSystemStore } from '@/web/common/system/useSystemStore'; import SearchParamsTip from '@/components/core/dataset/SearchParamsTip'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import { getWebLLMModel } from '@/web/common/system/utils'; import { defaultDatasetMaxTokens } from '@fastgpt/global/core/app/constants'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectLLMModel.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectLLMModel.tsx similarity index 94% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectLLMModel.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectLLMModel.tsx index b4c3dfca9..870e57e5c 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectLLMModel.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SelectLLMModel.tsx @@ -4,7 +4,7 @@ import { useSystemStore } from '@/web/common/system/useSystemStore'; import { llmModelTypeFilterMap } from '@fastgpt/global/core/ai/constants'; import AIModelSelector from '@/components/Select/AIModelSelector'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; const SelectAiModelRender = ({ item, nodeId }: RenderInputProps) => { const { llmModelList } = useSystemStore(); diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SettingLLMModel.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SettingLLMModel.tsx similarity index 95% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SettingLLMModel.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SettingLLMModel.tsx index 13038c26d..5fbb8601e 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SettingLLMModel.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SettingLLMModel.tsx @@ -4,7 +4,7 @@ import type { SettingAIDataType } from '@fastgpt/global/core/app/type.d'; import SettingLLMModel from '@/components/core/ai/SettingLLMModel'; import { NodeInputKeyEnum } from '@fastgpt/global/core/workflow/constants'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; const SelectAiModelRender = ({ item, inputs = [], nodeId }: RenderInputProps) => { const onChangeNode = useContextSelector(WorkflowContext, (v) => v.onChangeNode); diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SettingQuotePrompt.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SettingQuotePrompt.tsx similarity index 98% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SettingQuotePrompt.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SettingQuotePrompt.tsx index 29a847603..846ed3105 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SettingQuotePrompt.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/SettingQuotePrompt.tsx @@ -19,10 +19,10 @@ import MyIcon from '@fastgpt/web/components/common/Icon'; import Reference from './Reference'; import ValueTypeLabel from '../../ValueTypeLabel'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import { getWorkflowGlobalVariables } from '@/web/core/workflow/utils'; import { useCreation } from 'ahooks'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from '@/pageComponents/app/detail/context'; import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip'; import FormLabel from '@fastgpt/web/components/common/MyBox/FormLabel'; import { datasetQuoteValueDesc } from '@fastgpt/global/core/workflow/node/constant'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Slider.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Slider.tsx similarity index 92% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Slider.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Slider.tsx index bcbbcd620..451c61239 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Slider.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Slider.tsx @@ -4,7 +4,7 @@ import { useTranslation } from 'next-i18next'; import { Box } from '@chakra-ui/react'; import MySlider from '@/components/Slider'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; const SliderRender = ({ item, nodeId }: RenderInputProps) => { const { t } = useTranslation(); diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Switch.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Switch.tsx similarity index 89% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Switch.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Switch.tsx index 5520d91af..e5ddc8002 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Switch.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Switch.tsx @@ -2,7 +2,7 @@ import React, { useMemo } from 'react'; import type { RenderInputProps } from '../type'; import { Switch } from '@chakra-ui/react'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; const SwitchRender = ({ item, nodeId }: RenderInputProps) => { const onChangeNode = useContextSelector(WorkflowContext, (v) => v.onChangeNode); diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/TextInput.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/TextInput.tsx similarity index 92% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/TextInput.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/TextInput.tsx index a7c82f363..d2895497f 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/TextInput.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/TextInput.tsx @@ -3,9 +3,9 @@ import type { RenderInputProps } from '../type'; import { useTranslation } from 'next-i18next'; import PromptEditor from '@fastgpt/web/components/common/Textarea/PromptEditor'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import { useCreation } from 'ahooks'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from '@/pageComponents/app/detail/context'; import { getEditorVariables } from '../../../../../utils'; import { WorkflowNodeEdgeContext } from '../../../../../context/workflowInitContext'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Textarea.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Textarea.tsx similarity index 94% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Textarea.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Textarea.tsx index d190e6fb2..3c18d23f2 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Textarea.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/Textarea.tsx @@ -3,9 +3,9 @@ import type { RenderInputProps } from '../type'; import { useTranslation } from 'next-i18next'; import PromptEditor from '@fastgpt/web/components/common/Textarea/PromptEditor'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import { useCreation } from 'ahooks'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from '@/pageComponents/app/detail/context'; import { getEditorVariables } from '../../../../../utils'; import { WorkflowNodeEdgeContext } from '../../../../../context/workflowInitContext'; import { useSystemStore } from '@/web/common/system/useSystemStore'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/type.d.ts b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/type.d.ts similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderInput/type.d.ts rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/type.d.ts diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderOutput/FieldEditModal.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderOutput/FieldEditModal.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderOutput/FieldEditModal.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderOutput/FieldEditModal.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderOutput/Label.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderOutput/Label.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderOutput/Label.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderOutput/Label.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderOutput/index.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderOutput/index.tsx similarity index 98% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderOutput/index.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderOutput/index.tsx index 35ef4609c..22f040f85 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderOutput/index.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderOutput/index.tsx @@ -9,7 +9,7 @@ import { SmallAddIcon } from '@chakra-ui/icons'; import VariableTable from '../../NodePluginIO/VariableTable'; import { FlowValueTypeMap } from '@fastgpt/global/core/workflow/node/constant'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip'; import FormLabel from '@fastgpt/web/components/common/MyBox/FormLabel'; import dynamic from 'next/dynamic'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderOutput/type.d.ts b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderOutput/type.d.ts similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderOutput/type.d.ts rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderOutput/type.d.ts diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderToolInput/EditFieldModal.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderToolInput/EditFieldModal.tsx similarity index 98% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderToolInput/EditFieldModal.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderToolInput/EditFieldModal.tsx index dfadba769..a1a87f630 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderToolInput/EditFieldModal.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderToolInput/EditFieldModal.tsx @@ -18,7 +18,7 @@ import { useRequest } from '@fastgpt/web/hooks/useRequest'; import { useToast } from '@fastgpt/web/hooks/useToast'; import { FlowNodeInputItemType } from '@fastgpt/global/core/workflow/type/io.d'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import { toolValueTypeList } from '@fastgpt/global/core/workflow/constants'; import { WorkflowIOValueTypeEnum } from '@fastgpt/global/core/workflow/constants'; import { FlowNodeInputTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderToolInput/index.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderToolInput/index.tsx similarity index 97% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderToolInput/index.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderToolInput/index.tsx index cf6513739..fb7e478ca 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderToolInput/index.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderToolInput/index.tsx @@ -18,7 +18,7 @@ import MyIcon from '@fastgpt/web/components/common/Icon'; import dynamic from 'next/dynamic'; import { defaultEditFormData } from './EditFieldModal'; import { useContextSelector } from 'use-context-selector'; -import { WorkflowContext } from '@/pages/app/detail/components/WorkflowComponents/context'; +import { WorkflowContext } from '@/pageComponents/app/detail/WorkflowComponents/context'; import IOTitle from '../../../components/IOTitle'; import { SmallAddIcon } from '@chakra-ui/icons'; import { FlowNodeInputTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderToolInput/type.d.ts b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderToolInput/type.d.ts similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/RenderToolInput/type.d.ts rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderToolInput/type.d.ts diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/ValueTypeLabel.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/ValueTypeLabel.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/nodes/render/ValueTypeLabel.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/ValueTypeLabel.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/constants.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/constants.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/constants.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/constants.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/context/index.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/context/index.tsx similarity index 99% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/context/index.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/context/index.tsx index f2fe96350..5b8ff1f50 100644 --- a/projects/app/src/pages/app/detail/components/WorkflowComponents/context/index.tsx +++ b/projects/app/src/pageComponents/app/detail/WorkflowComponents/context/index.tsx @@ -23,7 +23,7 @@ import { defaultRunningStatus } from '../constants'; import { checkNodeRunStatus } from '@fastgpt/global/core/workflow/runtime/utils'; import { getHandleId } from '@fastgpt/global/core/workflow/utils'; import { AppChatConfigType } from '@fastgpt/global/core/app/type'; -import { AppContext } from '@/pages/app/detail/components/context'; +import { AppContext } from '@/pageComponents/app/detail/context'; import ChatTest from '../Flow/ChatTest'; import { useDisclosure } from '@chakra-ui/react'; import { uiWorkflow2StoreWorkflow } from '../utils'; diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/context/workflowEventContext.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/context/workflowEventContext.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/context/workflowEventContext.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/context/workflowEventContext.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/context/workflowInitContext.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/context/workflowInitContext.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/context/workflowInitContext.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/context/workflowInitContext.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/context/workflowStatusContext.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/context/workflowStatusContext.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/context/workflowStatusContext.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/context/workflowStatusContext.tsx diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/utils.tsx b/projects/app/src/pageComponents/app/detail/WorkflowComponents/utils.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/WorkflowComponents/utils.tsx rename to projects/app/src/pageComponents/app/detail/WorkflowComponents/utils.tsx diff --git a/projects/app/src/pages/app/detail/components/constants.tsx b/projects/app/src/pageComponents/app/detail/constants.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/constants.tsx rename to projects/app/src/pageComponents/app/detail/constants.tsx diff --git a/projects/app/src/pages/app/detail/components/context.tsx b/projects/app/src/pageComponents/app/detail/context.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/context.tsx rename to projects/app/src/pageComponents/app/detail/context.tsx diff --git a/projects/app/src/pages/app/detail/components/useChatTest.tsx b/projects/app/src/pageComponents/app/detail/useChatTest.tsx similarity index 100% rename from projects/app/src/pages/app/detail/components/useChatTest.tsx rename to projects/app/src/pageComponents/app/detail/useChatTest.tsx diff --git a/projects/app/src/pages/app/list/components/CreateModal.tsx b/projects/app/src/pageComponents/app/list/CreateModal.tsx similarity index 100% rename from projects/app/src/pages/app/list/components/CreateModal.tsx rename to projects/app/src/pageComponents/app/list/CreateModal.tsx diff --git a/projects/app/src/pages/app/list/components/HttpPluginEditModal.tsx b/projects/app/src/pageComponents/app/list/HttpPluginEditModal.tsx similarity index 100% rename from projects/app/src/pages/app/list/components/HttpPluginEditModal.tsx rename to projects/app/src/pageComponents/app/list/HttpPluginEditModal.tsx diff --git a/projects/app/src/pages/app/list/components/JsonImportModal.tsx b/projects/app/src/pageComponents/app/list/JsonImportModal.tsx similarity index 100% rename from projects/app/src/pages/app/list/components/JsonImportModal.tsx rename to projects/app/src/pageComponents/app/list/JsonImportModal.tsx diff --git a/projects/app/src/pages/app/list/components/List.tsx b/projects/app/src/pageComponents/app/list/List.tsx similarity index 99% rename from projects/app/src/pages/app/list/components/List.tsx rename to projects/app/src/pageComponents/app/list/List.tsx index 66af89fbe..234ba48b2 100644 --- a/projects/app/src/pages/app/list/components/List.tsx +++ b/projects/app/src/pageComponents/app/list/List.tsx @@ -24,7 +24,7 @@ import { postUpdateAppCollaborators } from '@/web/core/app/api/collaborator'; import MyTooltip from '@fastgpt/web/components/common/MyTooltip'; -import AppTypeTag from '@/pages/app/list/components/TypeTag'; +import AppTypeTag from './TypeTag'; const EditResourceModal = dynamic(() => import('@/components/common/Modal/EditResourceModal')); const ConfigPerModal = dynamic(() => import('@/components/support/permission/ConfigPerModal')); diff --git a/projects/app/src/pages/app/list/components/TemplateMarketModal.tsx b/projects/app/src/pageComponents/app/list/TemplateMarketModal.tsx similarity index 100% rename from projects/app/src/pages/app/list/components/TemplateMarketModal.tsx rename to projects/app/src/pageComponents/app/list/TemplateMarketModal.tsx diff --git a/projects/app/src/pages/app/list/components/TypeTag.tsx b/projects/app/src/pageComponents/app/list/TypeTag.tsx similarity index 95% rename from projects/app/src/pages/app/list/components/TypeTag.tsx rename to projects/app/src/pageComponents/app/list/TypeTag.tsx index 63111dfff..9fa4d3e6e 100644 --- a/projects/app/src/pages/app/list/components/TypeTag.tsx +++ b/projects/app/src/pageComponents/app/list/TypeTag.tsx @@ -1,6 +1,5 @@ import React, { useRef } from 'react'; import { AppTypeEnum } from '@fastgpt/global/core/app/constants'; -import MyTag from '@fastgpt/web/components/common/Tag/index'; import { useI18n } from '@/web/context/I18n'; import MyIcon from '@fastgpt/web/components/common/Icon'; import { Box, Flex } from '@chakra-ui/react'; diff --git a/projects/app/src/pages/app/list/components/context.tsx b/projects/app/src/pageComponents/app/list/context.tsx similarity index 100% rename from projects/app/src/pages/app/list/components/context.tsx rename to projects/app/src/pageComponents/app/list/context.tsx diff --git a/projects/app/src/pages/chat/components/ChatHeader.tsx b/projects/app/src/pageComponents/chat/ChatHeader.tsx similarity index 100% rename from projects/app/src/pages/chat/components/ChatHeader.tsx rename to projects/app/src/pageComponents/chat/ChatHeader.tsx diff --git a/projects/app/src/pages/chat/components/ChatHistorySlider.tsx b/projects/app/src/pageComponents/chat/ChatHistorySlider.tsx similarity index 100% rename from projects/app/src/pages/chat/components/ChatHistorySlider.tsx rename to projects/app/src/pageComponents/chat/ChatHistorySlider.tsx diff --git a/projects/app/src/pages/chat/components/CustomPluginRunBox.tsx b/projects/app/src/pageComponents/chat/CustomPluginRunBox.tsx similarity index 100% rename from projects/app/src/pages/chat/components/CustomPluginRunBox.tsx rename to projects/app/src/pageComponents/chat/CustomPluginRunBox.tsx diff --git a/projects/app/src/pages/chat/components/Empty.tsx b/projects/app/src/pageComponents/chat/Empty.tsx similarity index 100% rename from projects/app/src/pages/chat/components/Empty.tsx rename to projects/app/src/pageComponents/chat/Empty.tsx diff --git a/projects/app/src/pages/chat/components/SliderApps.tsx b/projects/app/src/pageComponents/chat/SliderApps.tsx similarity index 100% rename from projects/app/src/pages/chat/components/SliderApps.tsx rename to projects/app/src/pageComponents/chat/SliderApps.tsx diff --git a/projects/app/src/pages/chat/components/ToolMenu.tsx b/projects/app/src/pageComponents/chat/ToolMenu.tsx similarity index 100% rename from projects/app/src/pages/chat/components/ToolMenu.tsx rename to projects/app/src/pageComponents/chat/ToolMenu.tsx diff --git a/projects/app/src/pages/dataset/component/ApiDatasetForm.tsx b/projects/app/src/pageComponents/dataset/ApiDatasetForm.tsx similarity index 100% rename from projects/app/src/pages/dataset/component/ApiDatasetForm.tsx rename to projects/app/src/pageComponents/dataset/ApiDatasetForm.tsx diff --git a/projects/app/src/pages/dataset/component/EditFolderModal.tsx b/projects/app/src/pageComponents/dataset/EditFolderModal.tsx similarity index 100% rename from projects/app/src/pages/dataset/component/EditFolderModal.tsx rename to projects/app/src/pageComponents/dataset/EditFolderModal.tsx diff --git a/projects/app/src/pages/dataset/component/MemberManager.tsx b/projects/app/src/pageComponents/dataset/MemberManager.tsx similarity index 100% rename from projects/app/src/pages/dataset/component/MemberManager.tsx rename to projects/app/src/pageComponents/dataset/MemberManager.tsx diff --git a/projects/app/src/pages/dataset/detail/components/CollectionCard/Context.tsx b/projects/app/src/pageComponents/dataset/detail/CollectionCard/Context.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/CollectionCard/Context.tsx rename to projects/app/src/pageComponents/dataset/detail/CollectionCard/Context.tsx diff --git a/projects/app/src/pages/dataset/detail/components/CollectionCard/EmptyCollectionTip.tsx b/projects/app/src/pageComponents/dataset/detail/CollectionCard/EmptyCollectionTip.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/CollectionCard/EmptyCollectionTip.tsx rename to projects/app/src/pageComponents/dataset/detail/CollectionCard/EmptyCollectionTip.tsx diff --git a/projects/app/src/pages/dataset/detail/components/CollectionCard/Header.tsx b/projects/app/src/pageComponents/dataset/detail/CollectionCard/Header.tsx similarity index 99% rename from projects/app/src/pages/dataset/detail/components/CollectionCard/Header.tsx rename to projects/app/src/pageComponents/dataset/detail/CollectionCard/Header.tsx index 45ecf4ed6..1462ab563 100644 --- a/projects/app/src/pages/dataset/detail/components/CollectionCard/Header.tsx +++ b/projects/app/src/pageComponents/dataset/detail/CollectionCard/Header.tsx @@ -30,8 +30,8 @@ import { DatasetTypeMap, DatasetStatusEnum } from '@fastgpt/global/core/dataset/constants'; -import EditFolderModal, { useEditFolder } from '../../../component/EditFolderModal'; -import { TabEnum } from '../../index'; +import EditFolderModal, { useEditFolder } from '../../EditFolderModal'; +import { TabEnum } from '../../../../pages/dataset/detail/index'; import ParentPath from '@/components/common/ParentPaths'; import dynamic from 'next/dynamic'; diff --git a/projects/app/src/pages/dataset/detail/components/CollectionCard/HeaderTagPopOver.tsx b/projects/app/src/pageComponents/dataset/detail/CollectionCard/HeaderTagPopOver.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/CollectionCard/HeaderTagPopOver.tsx rename to projects/app/src/pageComponents/dataset/detail/CollectionCard/HeaderTagPopOver.tsx diff --git a/projects/app/src/pages/dataset/detail/components/CollectionCard/TagManageModal.tsx b/projects/app/src/pageComponents/dataset/detail/CollectionCard/TagManageModal.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/CollectionCard/TagManageModal.tsx rename to projects/app/src/pageComponents/dataset/detail/CollectionCard/TagManageModal.tsx diff --git a/projects/app/src/pages/dataset/detail/components/CollectionCard/TagsPopOver.tsx b/projects/app/src/pageComponents/dataset/detail/CollectionCard/TagsPopOver.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/CollectionCard/TagsPopOver.tsx rename to projects/app/src/pageComponents/dataset/detail/CollectionCard/TagsPopOver.tsx diff --git a/projects/app/src/pages/dataset/detail/components/CollectionCard/WebsiteConfig.tsx b/projects/app/src/pageComponents/dataset/detail/CollectionCard/WebsiteConfig.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/CollectionCard/WebsiteConfig.tsx rename to projects/app/src/pageComponents/dataset/detail/CollectionCard/WebsiteConfig.tsx diff --git a/projects/app/src/pages/dataset/detail/components/CollectionCard/index.tsx b/projects/app/src/pageComponents/dataset/detail/CollectionCard/index.tsx similarity index 99% rename from projects/app/src/pages/dataset/detail/components/CollectionCard/index.tsx rename to projects/app/src/pageComponents/dataset/detail/CollectionCard/index.tsx index 26cb17243..d298da150 100644 --- a/projects/app/src/pages/dataset/detail/components/CollectionCard/index.tsx +++ b/projects/app/src/pageComponents/dataset/detail/CollectionCard/index.tsx @@ -32,7 +32,7 @@ import { DatasetTypeEnum } from '@fastgpt/global/core/dataset/constants'; import { getCollectionIcon } from '@fastgpt/global/core/dataset/utils'; -import { TabEnum } from '../../index'; +import { TabEnum } from '../../../../pages/dataset/detail/index'; import dynamic from 'next/dynamic'; import SelectCollections from '@/web/core/dataset/components/SelectCollections'; import { useToast } from '@fastgpt/web/hooks/useToast'; diff --git a/projects/app/src/pages/dataset/detail/components/DataCard.tsx b/projects/app/src/pageComponents/dataset/detail/DataCard.tsx similarity index 99% rename from projects/app/src/pages/dataset/detail/components/DataCard.tsx rename to projects/app/src/pageComponents/dataset/detail/DataCard.tsx index 4b2f5f4fc..99b3ff701 100644 --- a/projects/app/src/pages/dataset/detail/components/DataCard.tsx +++ b/projects/app/src/pageComponents/dataset/detail/DataCard.tsx @@ -13,7 +13,7 @@ import { useTranslation } from 'next-i18next'; import { useRouter } from 'next/router'; import MyIcon from '@fastgpt/web/components/common/Icon'; import MyInput from '@/components/MyInput'; -import InputDataModal from '../components/InputDataModal'; +import InputDataModal from './InputDataModal'; import RawSourceBox from '@/components/core/dataset/RawSourceBox'; import { getCollectionSourceData } from '@fastgpt/global/core/dataset/collection/utils'; import EmptyTip from '@fastgpt/web/components/common/EmptyTip'; diff --git a/projects/app/src/pages/dataset/detail/components/Import/Context.tsx b/projects/app/src/pageComponents/dataset/detail/Import/Context.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/Context.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/Context.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/commonProgress/DataProcess.tsx b/projects/app/src/pageComponents/dataset/detail/Import/commonProgress/DataProcess.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/commonProgress/DataProcess.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/commonProgress/DataProcess.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/commonProgress/PreviewData.tsx b/projects/app/src/pageComponents/dataset/detail/Import/commonProgress/PreviewData.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/commonProgress/PreviewData.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/commonProgress/PreviewData.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/commonProgress/Upload.tsx b/projects/app/src/pageComponents/dataset/detail/Import/commonProgress/Upload.tsx similarity index 99% rename from projects/app/src/pages/dataset/detail/components/Import/commonProgress/Upload.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/commonProgress/Upload.tsx index b51c53dad..e811a5254 100644 --- a/projects/app/src/pages/dataset/detail/components/Import/commonProgress/Upload.tsx +++ b/projects/app/src/pageComponents/dataset/detail/Import/commonProgress/Upload.tsx @@ -20,7 +20,7 @@ import MyIcon from '@fastgpt/web/components/common/Icon'; import { useRequest2 } from '@fastgpt/web/hooks/useRequest'; import { useToast } from '@fastgpt/web/hooks/useToast'; import { useRouter } from 'next/router'; -import { TabEnum } from '../../../index'; +import { TabEnum } from '../../../../../pages/dataset/detail/index'; import { postCreateDatasetApiDatasetCollection, postCreateDatasetCsvTableCollection, diff --git a/projects/app/src/pages/dataset/detail/components/Import/components/FileSelector.tsx b/projects/app/src/pageComponents/dataset/detail/Import/components/FileSelector.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/components/FileSelector.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/components/FileSelector.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/components/FileSourceSelector.tsx b/projects/app/src/pageComponents/dataset/detail/Import/components/FileSourceSelector.tsx similarity index 96% rename from projects/app/src/pages/dataset/detail/components/Import/components/FileSourceSelector.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/components/FileSourceSelector.tsx index 604f2a9de..293bf2437 100644 --- a/projects/app/src/pages/dataset/detail/components/Import/components/FileSourceSelector.tsx +++ b/projects/app/src/pageComponents/dataset/detail/Import/components/FileSourceSelector.tsx @@ -4,7 +4,7 @@ import { ModalBody, ModalFooter, Button } from '@chakra-ui/react'; import { useTranslation } from 'next-i18next'; import LeftRadio from '@fastgpt/web/components/common/Radio/LeftRadio'; import { useRouter } from 'next/router'; -import { TabEnum } from '../../..'; +import { TabEnum } from '../../../../../pages/dataset/detail'; import { ImportDataSourceEnum } from '@fastgpt/global/core/dataset/constants'; const FileModeSelector = ({ onClose }: { onClose: () => void }) => { diff --git a/projects/app/src/pages/dataset/detail/components/Import/components/Preview.tsx b/projects/app/src/pageComponents/dataset/detail/Import/components/Preview.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/components/Preview.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/components/Preview.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/components/PreviewChunks.tsx b/projects/app/src/pageComponents/dataset/detail/Import/components/PreviewChunks.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/components/PreviewChunks.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/components/PreviewChunks.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/components/PreviewRawText.tsx b/projects/app/src/pageComponents/dataset/detail/Import/components/PreviewRawText.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/components/PreviewRawText.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/components/PreviewRawText.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/components/RenderFiles.tsx b/projects/app/src/pageComponents/dataset/detail/Import/components/RenderFiles.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/components/RenderFiles.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/components/RenderFiles.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/diffSource/APIDataset.tsx b/projects/app/src/pageComponents/dataset/detail/Import/diffSource/APIDataset.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/diffSource/APIDataset.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/diffSource/APIDataset.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/diffSource/ExternalFile.tsx b/projects/app/src/pageComponents/dataset/detail/Import/diffSource/ExternalFile.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/diffSource/ExternalFile.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/diffSource/ExternalFile.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/diffSource/FileCustomText.tsx b/projects/app/src/pageComponents/dataset/detail/Import/diffSource/FileCustomText.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/diffSource/FileCustomText.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/diffSource/FileCustomText.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/diffSource/FileLink.tsx b/projects/app/src/pageComponents/dataset/detail/Import/diffSource/FileLink.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/diffSource/FileLink.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/diffSource/FileLink.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/diffSource/FileLocal.tsx b/projects/app/src/pageComponents/dataset/detail/Import/diffSource/FileLocal.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/diffSource/FileLocal.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/diffSource/FileLocal.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/diffSource/ReTraining.tsx b/projects/app/src/pageComponents/dataset/detail/Import/diffSource/ReTraining.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/diffSource/ReTraining.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/diffSource/ReTraining.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/diffSource/TableLocal.tsx b/projects/app/src/pageComponents/dataset/detail/Import/diffSource/TableLocal.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/diffSource/TableLocal.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/diffSource/TableLocal.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/index.tsx b/projects/app/src/pageComponents/dataset/detail/Import/index.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/index.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/index.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Import/type.d.ts b/projects/app/src/pageComponents/dataset/detail/Import/type.d.ts similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/type.d.ts rename to projects/app/src/pageComponents/dataset/detail/Import/type.d.ts diff --git a/projects/app/src/pages/dataset/detail/components/Import/utils.tsx b/projects/app/src/pageComponents/dataset/detail/Import/utils.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/Import/utils.tsx rename to projects/app/src/pageComponents/dataset/detail/Import/utils.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Info/components/EditApiServiceModal.tsx b/projects/app/src/pageComponents/dataset/detail/Info/components/EditApiServiceModal.tsx similarity index 97% rename from projects/app/src/pages/dataset/detail/components/Info/components/EditApiServiceModal.tsx rename to projects/app/src/pageComponents/dataset/detail/Info/components/EditApiServiceModal.tsx index d46a6ee81..57fee7f59 100644 --- a/projects/app/src/pages/dataset/detail/components/Info/components/EditApiServiceModal.tsx +++ b/projects/app/src/pageComponents/dataset/detail/Info/components/EditApiServiceModal.tsx @@ -6,7 +6,7 @@ import { useRequest2 } from '@fastgpt/web/hooks/useRequest'; import { useForm } from 'react-hook-form'; import { useToast } from '@fastgpt/web/hooks/useToast'; import { APIFileServer, FeishuServer, YuqueServer } from '@fastgpt/global/core/dataset/apiDataset'; -import ApiDatasetForm from '@/pages/dataset/component/ApiDatasetForm'; +import ApiDatasetForm from '@/pageComponents/dataset/ApiDatasetForm'; import { useContextSelector } from 'use-context-selector'; import { DatasetPageContext } from '@/web/core/dataset/context/datasetPageContext'; import { datasetTypeCourseMap } from '@/web/core/dataset/constants'; diff --git a/projects/app/src/pages/dataset/detail/components/Info/index.tsx b/projects/app/src/pageComponents/dataset/detail/Info/index.tsx similarity index 99% rename from projects/app/src/pages/dataset/detail/components/Info/index.tsx rename to projects/app/src/pageComponents/dataset/detail/Info/index.tsx index a91bd38c5..c35a0515b 100644 --- a/projects/app/src/pages/dataset/detail/components/Info/index.tsx +++ b/projects/app/src/pageComponents/dataset/detail/Info/index.tsx @@ -18,7 +18,7 @@ import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip'; import FormLabel from '@fastgpt/web/components/common/MyBox/FormLabel'; import MyIcon from '@fastgpt/web/components/common/Icon'; import { DatasetPermissionList } from '@fastgpt/global/support/permission/dataset/constant'; -import MemberManager from '../../../component/MemberManager'; +import MemberManager from '../../MemberManager'; import { getCollaboratorList, postUpdateDatasetCollaborators, diff --git a/projects/app/src/pages/dataset/detail/components/InputDataModal.tsx b/projects/app/src/pageComponents/dataset/detail/InputDataModal.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/InputDataModal.tsx rename to projects/app/src/pageComponents/dataset/detail/InputDataModal.tsx diff --git a/projects/app/src/pages/dataset/detail/components/MetaDataCard.tsx b/projects/app/src/pageComponents/dataset/detail/MetaDataCard.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/MetaDataCard.tsx rename to projects/app/src/pageComponents/dataset/detail/MetaDataCard.tsx diff --git a/projects/app/src/pages/dataset/detail/components/NavBar.tsx b/projects/app/src/pageComponents/dataset/detail/NavBar.tsx similarity index 100% rename from projects/app/src/pages/dataset/detail/components/NavBar.tsx rename to projects/app/src/pageComponents/dataset/detail/NavBar.tsx diff --git a/projects/app/src/pages/dataset/detail/components/Test.tsx b/projects/app/src/pageComponents/dataset/detail/Test.tsx similarity index 99% rename from projects/app/src/pages/dataset/detail/components/Test.tsx rename to projects/app/src/pageComponents/dataset/detail/Test.tsx index 1e65f5d78..14c217d54 100644 --- a/projects/app/src/pages/dataset/detail/components/Test.tsx +++ b/projects/app/src/pageComponents/dataset/detail/Test.tsx @@ -1,6 +1,5 @@ import React, { useEffect, useMemo, useState } from 'react'; import { Box, Textarea, Button, Flex, useTheme, useDisclosure } from '@chakra-ui/react'; -import { useDatasetStore } from '@/web/core/dataset/store/dataset'; import { useSearchTestStore, SearchTestStoreItemType } from '@/web/core/dataset/store/searchTest'; import { postSearchText } from '@/web/core/dataset/api'; import MyIcon from '@fastgpt/web/components/common/Icon'; diff --git a/projects/app/src/pages/dataset/detail/components/styles.module.scss b/projects/app/src/pageComponents/dataset/detail/styles.module.scss similarity index 100% rename from projects/app/src/pages/dataset/detail/components/styles.module.scss rename to projects/app/src/pageComponents/dataset/detail/styles.module.scss diff --git a/projects/app/src/pages/dataset/list/component/CreateModal.tsx b/projects/app/src/pageComponents/dataset/list/CreateModal.tsx similarity index 99% rename from projects/app/src/pages/dataset/list/component/CreateModal.tsx rename to projects/app/src/pageComponents/dataset/list/CreateModal.tsx index b4b739859..5aff9f861 100644 --- a/projects/app/src/pages/dataset/list/component/CreateModal.tsx +++ b/projects/app/src/pageComponents/dataset/list/CreateModal.tsx @@ -20,7 +20,7 @@ import ComplianceTip from '@/components/common/ComplianceTip/index'; import MyIcon from '@fastgpt/web/components/common/Icon'; import { getDocPath } from '@/web/common/system/doc'; import { datasetTypeCourseMap } from '@/web/core/dataset/constants'; -import ApiDatasetForm from '../../component/ApiDatasetForm'; +import ApiDatasetForm from '../ApiDatasetForm'; export type CreateDatasetType = | DatasetTypeEnum.dataset diff --git a/projects/app/src/pages/dataset/list/component/List.tsx b/projects/app/src/pageComponents/dataset/list/List.tsx similarity index 99% rename from projects/app/src/pages/dataset/list/component/List.tsx rename to projects/app/src/pageComponents/dataset/list/List.tsx index db711e176..19c5c77a2 100644 --- a/projects/app/src/pages/dataset/list/component/List.tsx +++ b/projects/app/src/pageComponents/dataset/list/List.tsx @@ -16,7 +16,7 @@ import { downloadFetch } from '@/web/common/system/utils'; import MyTooltip from '@fastgpt/web/components/common/MyTooltip'; import dynamic from 'next/dynamic'; import { useContextSelector } from 'use-context-selector'; -import { DatasetsContext } from '../context'; +import { DatasetsContext } from '../../../pages/dataset/list/context'; import { DatasetPermissionList } from '@fastgpt/global/support/permission/dataset/constant'; import ConfigPerModal from '@/components/support/permission/ConfigPerModal'; import { diff --git a/projects/app/src/pages/dataset/list/component/SideTag.tsx b/projects/app/src/pageComponents/dataset/list/SideTag.tsx similarity index 100% rename from projects/app/src/pages/dataset/list/component/SideTag.tsx rename to projects/app/src/pageComponents/dataset/list/SideTag.tsx diff --git a/projects/app/src/pages/login/components/ForgetPasswordForm.tsx b/projects/app/src/pageComponents/login/ForgetPasswordForm.tsx similarity index 100% rename from projects/app/src/pages/login/components/ForgetPasswordForm.tsx rename to projects/app/src/pageComponents/login/ForgetPasswordForm.tsx diff --git a/projects/app/src/pages/login/components/LoginForm/components/FormLayout.tsx b/projects/app/src/pageComponents/login/LoginForm/FormLayout.tsx similarity index 100% rename from projects/app/src/pages/login/components/LoginForm/components/FormLayout.tsx rename to projects/app/src/pageComponents/login/LoginForm/FormLayout.tsx diff --git a/projects/app/src/pages/login/components/LoginForm/LoginForm.tsx b/projects/app/src/pageComponents/login/LoginForm/LoginForm.tsx similarity index 99% rename from projects/app/src/pages/login/components/LoginForm/LoginForm.tsx rename to projects/app/src/pageComponents/login/LoginForm/LoginForm.tsx index ad365e4b2..4fad6e61c 100644 --- a/projects/app/src/pages/login/components/LoginForm/LoginForm.tsx +++ b/projects/app/src/pageComponents/login/LoginForm/LoginForm.tsx @@ -8,7 +8,7 @@ import { useToast } from '@fastgpt/web/hooks/useToast'; import { useSystemStore } from '@/web/common/system/useSystemStore'; import { getDocPath } from '@/web/common/system/doc'; import { useTranslation } from 'next-i18next'; -import FormLayout from './components/FormLayout'; +import FormLayout from './FormLayout'; import { useRequest2 } from '@fastgpt/web/hooks/useRequest'; interface Props { diff --git a/projects/app/src/pages/login/components/LoginForm/WechatForm.tsx b/projects/app/src/pageComponents/login/LoginForm/WechatForm.tsx similarity index 97% rename from projects/app/src/pages/login/components/LoginForm/WechatForm.tsx rename to projects/app/src/pageComponents/login/LoginForm/WechatForm.tsx index 4d08509f9..d1d8c2c2c 100644 --- a/projects/app/src/pages/login/components/LoginForm/WechatForm.tsx +++ b/projects/app/src/pageComponents/login/LoginForm/WechatForm.tsx @@ -6,7 +6,7 @@ import { useQuery } from '@tanstack/react-query'; import { getWXLoginQR, getWXLoginResult } from '@/web/support/user/api'; import { getErrText } from '@fastgpt/global/common/error/utils'; import { useToast } from '@fastgpt/web/hooks/useToast'; -import FormLayout from './components/FormLayout'; +import FormLayout from './FormLayout'; import { useTranslation } from 'next-i18next'; import Loading from '@fastgpt/web/components/common/MyLoading'; import MyImage from '@fastgpt/web/components/common/Image/MyImage'; diff --git a/projects/app/src/pages/login/components/RegisterForm.tsx b/projects/app/src/pageComponents/login/RegisterForm.tsx similarity index 100% rename from projects/app/src/pages/login/components/RegisterForm.tsx rename to projects/app/src/pageComponents/login/RegisterForm.tsx diff --git a/projects/app/src/pages/price/components/ExtraPlan.tsx b/projects/app/src/pageComponents/price/ExtraPlan.tsx similarity index 100% rename from projects/app/src/pages/price/components/ExtraPlan.tsx rename to projects/app/src/pageComponents/price/ExtraPlan.tsx diff --git a/projects/app/src/pages/price/components/FAQ.tsx b/projects/app/src/pageComponents/price/FAQ.tsx similarity index 100% rename from projects/app/src/pages/price/components/FAQ.tsx rename to projects/app/src/pageComponents/price/FAQ.tsx diff --git a/projects/app/src/pages/price/components/Points.tsx b/projects/app/src/pageComponents/price/Points.tsx similarity index 100% rename from projects/app/src/pages/price/components/Points.tsx rename to projects/app/src/pageComponents/price/Points.tsx diff --git a/projects/app/src/pages/price/components/Standard.tsx b/projects/app/src/pageComponents/price/Standard.tsx similarity index 100% rename from projects/app/src/pages/price/components/Standard.tsx rename to projects/app/src/pageComponents/price/Standard.tsx diff --git a/projects/app/src/pages/toolkit/components/PluginCard.tsx b/projects/app/src/pageComponents/toolkit/PluginCard.tsx similarity index 100% rename from projects/app/src/pages/toolkit/components/PluginCard.tsx rename to projects/app/src/pageComponents/toolkit/PluginCard.tsx diff --git a/projects/app/src/pages/account/apikey.tsx b/projects/app/src/pages/account/apikey.tsx index eef200b51..0294a0094 100644 --- a/projects/app/src/pages/account/apikey.tsx +++ b/projects/app/src/pages/account/apikey.tsx @@ -2,7 +2,7 @@ import React from 'react'; import ApiKeyTable from '@/components/support/apikey/Table'; import { useTranslation } from 'next-i18next'; import { Box } from '@chakra-ui/react'; -import AccountContainer, { TabEnum } from './components/AccountContainer'; +import AccountContainer, { TabEnum } from '@/pageComponents/account/AccountContainer'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; const ApiKey = () => { diff --git a/projects/app/src/pages/account/bill/index.tsx b/projects/app/src/pages/account/bill/index.tsx index 477baa082..5bda548de 100644 --- a/projects/app/src/pages/account/bill/index.tsx +++ b/projects/app/src/pages/account/bill/index.tsx @@ -3,9 +3,9 @@ import FillRowTabs from '@fastgpt/web/components/common/Tabs/FillRowTabs'; import dynamic from 'next/dynamic'; import { useState } from 'react'; import { useTranslation } from 'next-i18next'; -import ApplyInvoiceModal from './components/ApplyInvoiceModal'; +import ApplyInvoiceModal from '@/pageComponents/account/bill/ApplyInvoiceModal'; import { useRouter } from 'next/router'; -import AccountContainer, { TabEnum } from '../components/AccountContainer'; +import AccountContainer from '@/pageComponents/account/AccountContainer'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; export enum InvoiceTabEnum { @@ -14,9 +14,9 @@ export enum InvoiceTabEnum { invoiceHeader = 'invoiceHeader' } -const BillTable = dynamic(() => import('./components/BillTable')); -const InvoiceHeaderForm = dynamic(() => import('./components/InvoiceHeaderForm')); -const InvoiceTable = dynamic(() => import('./components/InvoiceTable')); +const BillTable = dynamic(() => import('@/pageComponents/account/bill/BillTable')); +const InvoiceHeaderForm = dynamic(() => import('@/pageComponents/account/bill/InvoiceHeaderForm')); +const InvoiceTable = dynamic(() => import('@/pageComponents/account/bill/InvoiceTable')); const BillAndInvoice = () => { const { t } = useTranslation(); const router = useRouter(); diff --git a/projects/app/src/pages/account/info/index.tsx b/projects/app/src/pages/account/info/index.tsx index 1adbff216..8d516f971 100644 --- a/projects/app/src/pages/account/info/index.tsx +++ b/projects/app/src/pages/account/info/index.tsx @@ -38,14 +38,17 @@ import StandardPlanContentList from '@/components/support/wallet/StandardPlanCon import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip'; import { useSystem } from '@fastgpt/web/hooks/useSystem'; import { getWebReqUrl } from '@fastgpt/web/common/system/utils'; -import AccountContainer from '../components/AccountContainer'; +import AccountContainer from '@/pageComponents/account/AccountContainer'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; import { useRouter } from 'next/router'; -import TeamSelector from '../components/TeamSelector'; +import TeamSelector from '@/pageComponents/account/TeamSelector'; -const StandDetailModal = dynamic(() => import('./components/standardDetailModal'), { ssr: false }); -const ConversionModal = dynamic(() => import('./components/ConversionModal')); -const UpdatePswModal = dynamic(() => import('./components/UpdatePswModal')); +const StandDetailModal = dynamic( + () => import('@/pageComponents/account/info/standardDetailModal'), + { ssr: false } +); +const ConversionModal = dynamic(() => import('@/pageComponents/account/info/ConversionModal')); +const UpdatePswModal = dynamic(() => import('@/pageComponents/account/info/UpdatePswModal')); const UpdateNotification = dynamic( () => import('@/components/support/user/inform/UpdateNotificationModal') ); diff --git a/projects/app/src/pages/account/inform.tsx b/projects/app/src/pages/account/inform.tsx index d0612c338..e2fa08c1b 100644 --- a/projects/app/src/pages/account/inform.tsx +++ b/projects/app/src/pages/account/inform.tsx @@ -6,7 +6,7 @@ import { usePagination } from '@fastgpt/web/hooks/usePagination'; import { useLoading } from '@fastgpt/web/hooks/useLoading'; import { useTranslation } from 'next-i18next'; import EmptyTip from '@fastgpt/web/components/common/EmptyTip'; -import AccountContainer from './components/AccountContainer'; +import AccountContainer from '@/pageComponents/account/AccountContainer'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; const InformTable = () => { diff --git a/projects/app/src/pages/account/model/components/DefaultModal.tsx b/projects/app/src/pages/account/model/components/DefaultModal.tsx deleted file mode 100644 index ab1481463..000000000 --- a/projects/app/src/pages/account/model/components/DefaultModal.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import React, { useMemo, useState } from 'react'; -import MyModal from '@fastgpt/web/components/common/MyModal'; -import { useTranslation } from 'next-i18next'; -import { ModalBody } from '@chakra-ui/react'; -import { useSystemStore } from '@/web/common/system/useSystemStore'; -import { getSystemModelList } from '@/web/core/ai/config'; -import MultipleSelect from '@fastgpt/web/components/common/MySelect/MultipleSelect'; -import { useRequest2 } from '@fastgpt/web/hooks/useRequest'; - -const DefaultModal = ({ onClose }: { onClose: () => void }) => { - const { t } = useTranslation(); - - const { data: systemModelList = [] } = useRequest2(getSystemModelList, { - manual: false - }); - const selectorList = useMemo(() => { - return systemModelList.map((item) => ({ - icon: item.avatar, - label: item.name, - value: item.model - })); - }, [systemModelList]); - - const { llmModelList, embeddingModelList, sttModelList, ttsModelList, reRankModelList } = - useSystemStore(); - const [value, setValue] = useState([]); - - const modelList = useMemo(() => { - return [ - ...llmModelList, - ...embeddingModelList, - ...ttsModelList, - ...reRankModelList, - ...sttModelList - ].map((item) => ({ - provider: item.provider, - name: item.name, - model: item.model - })); - }, [llmModelList, embeddingModelList, sttModelList, ttsModelList, reRankModelList]); - - return ( - - - - list={selectorList} - value={value} - onSelect={(e) => { - setValue(e); - }} - /> - - - ); -}; - -export default DefaultModal; diff --git a/projects/app/src/pages/account/model/index.tsx b/projects/app/src/pages/account/model/index.tsx index b912b9305..4c796bb00 100644 --- a/projects/app/src/pages/account/model/index.tsx +++ b/projects/app/src/pages/account/model/index.tsx @@ -1,6 +1,6 @@ import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; import React, { useMemo, useState } from 'react'; -import AccountContainer from '../components/AccountContainer'; +import AccountContainer from '@/pageComponents/account/AccountContainer'; import { Box, Flex } from '@chakra-ui/react'; import ModelTable from '@/components/core/ai/ModelTable'; import { useUserStore } from '@/web/support/user/useUserStore'; @@ -8,7 +8,7 @@ import FillRowTabs from '@fastgpt/web/components/common/Tabs/FillRowTabs'; import { useTranslation } from 'next-i18next'; import dynamic from 'next/dynamic'; -const ModelConfigTable = dynamic(() => import('./components/ModelConfigTable')); +const ModelConfigTable = dynamic(() => import('@/pageComponents/account/model/ModelConfigTable')); type TabType = 'model' | 'config' | 'channel'; diff --git a/projects/app/src/pages/account/promotion.tsx b/projects/app/src/pages/account/promotion.tsx index 5da3e0b48..5933737d7 100644 --- a/projects/app/src/pages/account/promotion.tsx +++ b/projects/app/src/pages/account/promotion.tsx @@ -19,13 +19,13 @@ import { useQuery } from '@tanstack/react-query'; import { getPromotionInitData, getPromotionRecords } from '@/web/support/activity/promotion/api'; import { useUserStore } from '@/web/support/user/useUserStore'; -import { useCopyData } from '@/web/common/hooks/useCopyData'; +import { useCopyData } from '@fastgpt/web/hooks/useCopyData'; import dayjs from 'dayjs'; import { usePagination } from '@fastgpt/web/hooks/usePagination'; import { useLoading } from '@fastgpt/web/hooks/useLoading'; import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip'; import EmptyTip from '@fastgpt/web/components/common/EmptyTip'; -import AccountContainer from './components/AccountContainer'; +import AccountContainer from '@/pageComponents/account/AccountContainer'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; const Promotion = () => { diff --git a/projects/app/src/pages/account/setting.tsx b/projects/app/src/pages/account/setting.tsx index b276ada5a..2660fd5c3 100644 --- a/projects/app/src/pages/account/setting.tsx +++ b/projects/app/src/pages/account/setting.tsx @@ -9,7 +9,7 @@ import { useForm } from 'react-hook-form'; import { UserUpdateParams } from '@/types/user'; import TimezoneSelect from '@fastgpt/web/components/common/MySelect/TimezoneSelect'; import I18nLngSelector from '@/components/Select/I18nLngSelector'; -import AccountContainer from './components/AccountContainer'; +import AccountContainer from '@/pageComponents/account/AccountContainer'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; const Individuation = () => { diff --git a/projects/app/src/pages/account/team/index.tsx b/projects/app/src/pages/account/team/index.tsx index f8e41ef21..9d70cea81 100644 --- a/projects/app/src/pages/account/team/index.tsx +++ b/projects/app/src/pages/account/team/index.tsx @@ -1,9 +1,9 @@ import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; -import AccountContainer from '../components/AccountContainer'; +import AccountContainer from '@/pageComponents/account/AccountContainer'; import { Box, Flex } from '@chakra-ui/react'; import Icon from '@fastgpt/web/components/common/Icon'; import { useTranslation } from 'next-i18next'; -import TeamSelector from '../components/TeamSelector'; +import TeamSelector from '@/pageComponents/account/TeamSelector'; import { useUserStore } from '@/web/support/user/useUserStore'; import React, { useMemo } from 'react'; import { useContextSelector } from 'use-context-selector'; diff --git a/projects/app/src/pages/account/thirdParty/index.tsx b/projects/app/src/pages/account/thirdParty/index.tsx index eb73ce2d5..392af56c1 100644 --- a/projects/app/src/pages/account/thirdParty/index.tsx +++ b/projects/app/src/pages/account/thirdParty/index.tsx @@ -1,4 +1,4 @@ -import AccountContainer from '../components/AccountContainer'; +import AccountContainer from '@/pageComponents/account/AccountContainer'; import { Box, Flex, Grid, Progress, useDisclosure } from '@chakra-ui/react'; import MyIcon from '@fastgpt/web/components/common/Icon'; import { useTranslation } from 'next-i18next'; @@ -7,7 +7,7 @@ import { useUserStore } from '@/web/support/user/useUserStore'; import { TeamMemberRoleEnum } from '@fastgpt/global/support/user/team/constant'; import dynamic from 'next/dynamic'; import { useState, useMemo } from 'react'; -import WorkflowVariableModal from './components/WorkflowVariableModal'; +import WorkflowVariableModal from '@/pageComponents/account/thirdParty/WorkflowVariableModal'; import { useToast } from '@fastgpt/web/hooks/useToast'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; import { useRequest2 } from '@fastgpt/web/hooks/useRequest'; @@ -16,7 +16,9 @@ import type { checkUsageResponse } from '@/pages/api/support/user/team/thirtdPar import MyBox from '@fastgpt/web/components/common/MyBox'; const LafAccountModal = dynamic(() => import('@/components/support/laf/LafAccountModal')); -const OpenAIAccountModal = dynamic(() => import('./components/OpenAIAccountModal')); +const OpenAIAccountModal = dynamic( + () => import('@/pageComponents/account/thirdParty/OpenAIAccountModal') +); export type ThirdPartyAccountType = { name: string; diff --git a/projects/app/src/pages/account/usage/components/ExportModal.tsx b/projects/app/src/pages/account/usage/components/ExportModal.tsx deleted file mode 100644 index 9aa64d4a6..000000000 --- a/projects/app/src/pages/account/usage/components/ExportModal.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import { downloadFetch } from '@/web/common/system/utils'; -import { Button, Flex, ModalBody, ModalFooter } from '@chakra-ui/react'; -import { formatTime2YMD } from '@fastgpt/global/common/string/time'; -import { UsageSourceEnum, UsageSourceMap } from '@fastgpt/global/support/wallet/usage/constants'; -import MyModal from '@fastgpt/web/components/common/MyModal'; -import { useRequest2 } from '@fastgpt/web/hooks/useRequest'; -import { useTranslation } from 'next-i18next'; - -export type ExportModalParams = { - dateStart: Date; - dateEnd: Date; - sources: UsageSourceEnum[]; - teamMemberIds: string[]; - teamMemberNames: string[]; - isSelectAllTmb: boolean; - projectName: string; -}; - -const ExportModal = ({ - onClose, - params, - memberTotal, - total -}: { - onClose: () => void; - params: ExportModalParams; - memberTotal: number; - total: number; -}) => { - const { t } = useTranslation(); - - const { - teamMemberIds, - teamMemberNames, - isSelectAllTmb, - sources, - dateStart, - dateEnd, - projectName - } = params; - - const { runAsync: exportUsage, loading } = useRequest2( - async () => { - const searchParams = new URLSearchParams(); - searchParams.set('dateStart', dateStart.toISOString()); - searchParams.set('dateEnd', dateEnd.toISOString()); - sources.forEach((source) => searchParams.append('sources', source.toString())); - teamMemberIds.forEach((tmbId) => searchParams.append('teamMemberIds', tmbId)); - searchParams.set('isSelectAllTmb', isSelectAllTmb.toString()); - searchParams.set('projectName', projectName); - - await downloadFetch({ - url: `/api/proApi/support/wallet/usage/exportUsage?${searchParams}`, - filename: `usage.csv` - }); - }, - { - successToast: t('account_usage:start_export') - } - ); - - return ( - - - {t('account_usage:current_filter_conditions')} - - {`${t('common:user.Time')}: ${formatTime2YMD(dateStart)} ~ ${formatTime2YMD(dateEnd)}`} - - {`${t('common:user.team.Member')}(${memberTotal}): ${teamMemberNames.join(', ')}`} - - {`${t('common:user.type')}: ${sources.map((item) => t(UsageSourceMap[item].label as any)).join(', ')}`} - - {`${t('common:user.Application Name')}: ${projectName}`} - {t('account_usage:confirm_export', { total })} - - - - - - - ); -}; - -export default ExportModal; diff --git a/projects/app/src/pages/account/usage/index.tsx b/projects/app/src/pages/account/usage/index.tsx index 17f4b5c55..c09c32fa3 100644 --- a/projects/app/src/pages/account/usage/index.tsx +++ b/projects/app/src/pages/account/usage/index.tsx @@ -1,5 +1,5 @@ import React, { useEffect, useMemo, useState } from 'react'; -import { Flex, Box } from '@chakra-ui/react'; +import { Flex, Box, HStack } from '@chakra-ui/react'; import { UsageSourceEnum, UsageSourceMap } from '@fastgpt/global/support/wallet/usage/constants'; import DateRangePicker, { type DateRangeType @@ -8,67 +8,81 @@ import { addDays, startOfMonth, startOfWeek } from 'date-fns'; import { useTranslation } from 'next-i18next'; import { useUserStore } from '@/web/support/user/useUserStore'; import Avatar from '@fastgpt/web/components/common/Avatar'; -import AccountContainer from '../components/AccountContainer'; +import AccountContainer from '@/pageComponents/account/AccountContainer'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; import { useScrollPagination } from '@fastgpt/web/hooks/useScrollPagination'; import { getTeamMembers } from '@/web/support/user/team/api'; import FillRowTabs from '@fastgpt/web/components/common/Tabs/FillRowTabs'; -import MultipleSelect from '@fastgpt/web/components/common/MySelect/MultipleSelect'; +import MultipleSelect, { + useMultipleSelect +} from '@fastgpt/web/components/common/MySelect/MultipleSelect'; import SearchInput from '@fastgpt/web/components/common/Input/SearchInput'; -import UsageForm from './components/UsageForm'; -import UsageTableList from './components/UsageTable'; import MySelect from '@fastgpt/web/components/common/MySelect'; import { useRouter } from 'next/router'; +import dynamic from 'next/dynamic'; + +import UsageTableList from '@/pageComponents/account/usage/UsageTable'; +import { UnitType } from '@/pageComponents/account/usage/type'; +import { useSystem } from '@fastgpt/web/hooks/useSystem'; +const UsageDashboard = dynamic(() => import('@/pageComponents/account/usage/Dashboard')); export enum UsageTabEnum { detail = 'detail', dashboard = 'dashboard' } -export type UnitType = 'day' | 'week' | 'month'; - const UsageTable = () => { const { t } = useTranslation(); const { userInfo } = useUserStore(); + const { isPc } = useSystem(); const router = useRouter(); const { usageTab = UsageTabEnum.detail } = router.query as { usageTab: `${UsageTabEnum}` }; - const { data: members, ScrollData, total: memberTotal } = useScrollPagination(getTeamMembers, {}); + + const [unit, setUnit] = useState('day'); const [dateRange, setDateRange] = useState({ from: addDays(new Date(), -7), to: new Date() }); - const [selectTmbIds, setSelectTmbIds] = useState([]); - const [usageSources, setUsageSources] = useState( - Object.values(UsageSourceEnum) - ); - const [isSelectAllTmb, setIsSelectAllTmb] = useState(true); - const [unit, setUnit] = useState('day'); - const [projectName, setProjectName] = useState(''); - const [inputValue, setInputValue] = useState(''); - - const sourceList = useMemo( - () => - Object.entries(UsageSourceMap).map(([key, value]) => ({ - label: t(value.label as any), - value: key - })), - [t] - ); + const { data: members, ScrollData, total: memberTotal } = useScrollPagination(getTeamMembers, {}); + const { + value: selectTmbIds, + setValue: setSelectTmbIds, + isSelectAll: isSelectAllTmb, + setIsSelectAll: setIsSelectAllTmb + } = useMultipleSelect([], true); const tmbList = useMemo( () => members.map((item) => ({ label: ( - - - {item.memberName} - + + + {item.memberName} + ), value: item.tmbId })), [members] ); + const { + value: usageSources, + setValue: setUsageSources, + isSelectAll: isSelectAllSource, + setIsSelectAll: setIsSelectAllSource + } = useMultipleSelect(Object.values(UsageSourceEnum), true); + const sourceList = useMemo( + () => + Object.entries(UsageSourceMap).map(([key, value]) => ({ + label: t(value.label as any), + value: key as UsageSourceEnum + })), + [t] + ); + + const [projectName, setProjectName] = useState(''); + const [inputValue, setInputValue] = useState(''); + const Tabs = useMemo( () => ( { { label: t('account_usage:usage_detail'), value: 'detail' }, { label: t('account_usage:dashboard'), value: 'dashboard' } ]} - px={'1rem'} + py={1} value={usageTab} onChange={(e) => { router.replace({ @@ -93,19 +107,19 @@ const UsageTable = () => { const Selectors = useMemo( () => ( - - - + + + {t('common:user.Time')} - {usageTab === UsageTabEnum.dashboard && ( - bg={'myGray.50'} minH={'32px'} height={'32px'} @@ -113,38 +127,16 @@ const UsageTable = () => { ml={1} list={[ { label: t('account_usage:every_day'), value: 'day' }, - { label: t('account_usage:every_week'), value: 'week' }, { label: t('account_usage:every_month'), value: 'month' } ]} value={unit} - onchange={(val) => { - if (!dateRange.from) return dateRange; - - switch (val) { - case 'week': - setDateRange({ - from: startOfWeek(dateRange.from, { weekStartsOn: 1 }), - to: dateRange.to - }); - break; - case 'month': - setDateRange({ - from: startOfMonth(dateRange.from), - to: dateRange.to - }); - break; - default: - break; - } - - setUnit(val as 'day' | 'week' | 'month'); - }} + onchange={setUnit} /> - )} + )} */} - {tmbList.length > 1 && userInfo?.team?.permission.hasManagePer && ( - - + {userInfo?.team?.permission.hasManagePer && ( + + {t('account_usage:member')} @@ -158,7 +150,6 @@ const UsageTable = () => { height={'32px'} bg={'myGray.50'} w={'160px'} - showCheckedIcon={false} ScrollData={ScrollData} isSelectAll={isSelectAllTmb} setIsSelectAll={setIsSelectAllTmb} @@ -166,25 +157,26 @@ const UsageTable = () => { )} - - - {t('common:user.type')} + + + {t('account_usage:source')} - + list={sourceList} value={usageSources} - onSelect={(val) => setUsageSources(val as UsageSourceEnum[])} + onSelect={setUsageSources} + isSelectAll={isSelectAllSource} + setIsSelectAll={setIsSelectAllSource} itemWrap={false} height={'32px'} bg={'myGray.50'} w={'160px'} - showCheckedIcon={false} /> - {usageTab === UsageTabEnum.detail && ( - + {/* {usageTab === UsageTabEnum.detail && ( + { onChange={(e) => setInputValue(e.target.value)} /> - )} + )} */} ), [ - dateRange, - selectTmbIds, - sourceList, t, - tmbList, - unit, - usageSources, + dateRange, usageTab, - inputValue, - isSelectAllTmb + unit, + userInfo?.team?.permission.hasManagePer, + tmbList, + selectTmbIds, + ScrollData, + isSelectAllTmb, + setIsSelectAllTmb, + sourceList, + usageSources, + setUsageSources, + isSelectAllSource, + setIsSelectAllSource, + setSelectTmbIds ] ); @@ -226,11 +224,24 @@ const UsageTable = () => { return () => clearTimeout(timer); }, [inputValue]); + const filterParams = useMemo( + () => ({ + dateRange, + selectTmbIds, + projectName, + isSelectAllTmb, + usageSources, + isSelectAllSource, + unit + }), + [dateRange, isSelectAllSource, unit, isSelectAllTmb, projectName, selectTmbIds, usageSources] + ); + return ( { flexDirection={'column'} > {usageTab === UsageTabEnum.detail && ( - + )} {usageTab === UsageTabEnum.dashboard && ( - + )} diff --git a/projects/app/src/pages/api/common/tracks/push.ts b/projects/app/src/pages/api/common/tracks/push.ts index 8298c2f1f..daf63ea51 100644 --- a/projects/app/src/pages/api/common/tracks/push.ts +++ b/projects/app/src/pages/api/common/tracks/push.ts @@ -4,7 +4,7 @@ import { addLog } from '@fastgpt/service/common/system/log'; import { TrackEnum } from '@fastgpt/global/common/middle/tracks/constants'; import { TrackModel } from '@fastgpt/service/common/middle/tracks/schema'; import { authCert } from '@fastgpt/service/support/permission/auth/common'; -import { useReqFrequencyLimit } from '@fastgpt/service/common/middle/reqFrequencyLimit'; +import { useIPFrequencyLimit } from '@fastgpt/service/common/middle/reqFrequencyLimit'; export type pushQuery = {}; @@ -38,7 +38,7 @@ async function handler( return TrackModel.create(data); } -export default NextAPI(useReqFrequencyLimit(1, 5), handler); +export default NextAPI(useIPFrequencyLimit(1, 5), handler); export const config = { api: { diff --git a/projects/app/src/pages/api/core/dataset/searchTest.ts b/projects/app/src/pages/api/core/dataset/searchTest.ts index dff352f78..0bb4260f9 100644 --- a/projects/app/src/pages/api/core/dataset/searchTest.ts +++ b/projects/app/src/pages/api/core/dataset/searchTest.ts @@ -14,7 +14,7 @@ import { import { NextAPI } from '@/service/middleware/entry'; import { ReadPermissionVal } from '@fastgpt/global/support/permission/constant'; import { CommonErrEnum } from '@fastgpt/global/common/error/code/common'; -import { useReqFrequencyLimit } from '@fastgpt/service/common/middle/reqFrequencyLimit'; +import { useIPFrequencyLimit } from '@fastgpt/service/common/middle/reqFrequencyLimit'; async function handler(req: NextApiRequest) { const { @@ -100,4 +100,4 @@ async function handler(req: NextApiRequest) { }; } -export default NextAPI(useReqFrequencyLimit(1, 15), handler); +export default NextAPI(useIPFrequencyLimit(1, 15), handler); diff --git a/projects/app/src/pages/api/support/user/account/loginByPassword.ts b/projects/app/src/pages/api/support/user/account/loginByPassword.ts index 6da09119b..ffb5a1417 100644 --- a/projects/app/src/pages/api/support/user/account/loginByPassword.ts +++ b/projects/app/src/pages/api/support/user/account/loginByPassword.ts @@ -5,7 +5,7 @@ import { getUserDetail } from '@fastgpt/service/support/user/controller'; import type { PostLoginProps } from '@fastgpt/global/support/user/api.d'; import { UserStatusEnum } from '@fastgpt/global/support/user/constant'; import { NextAPI } from '@/service/middleware/entry'; -import { useReqFrequencyLimit } from '@fastgpt/service/common/middle/reqFrequencyLimit'; +import { useIPFrequencyLimit } from '@fastgpt/service/common/middle/reqFrequencyLimit'; import { pushTrack } from '@fastgpt/service/common/middle/tracks/utils'; import { CommonErrEnum } from '@fastgpt/global/common/error/code/common'; import { UserErrEnum } from '@fastgpt/global/common/error/code/user'; @@ -70,4 +70,4 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { }; } -export default NextAPI(useReqFrequencyLimit(120, 10, true), handler); +export default NextAPI(useIPFrequencyLimit(120, 10, true), handler); diff --git a/projects/app/src/pages/api/support/user/team/plan/getTeamPlanStatus.ts b/projects/app/src/pages/api/support/user/team/plan/getTeamPlanStatus.ts index 0d0dd7e10..41a2d7605 100644 --- a/projects/app/src/pages/api/support/user/team/plan/getTeamPlanStatus.ts +++ b/projects/app/src/pages/api/support/user/team/plan/getTeamPlanStatus.ts @@ -4,14 +4,16 @@ import { getTeamPlanStatus } from '@fastgpt/service/support/wallet/sub/utils'; import { NextAPI } from '@/service/middleware/entry'; async function handler(req: NextApiRequest, res: NextApiResponse) { - const { teamId } = await authCert({ - req, - authToken: true - }); + try { + const { teamId } = await authCert({ + req, + authToken: true + }); - return getTeamPlanStatus({ - teamId - }); + return getTeamPlanStatus({ + teamId + }); + } catch (error) {} } export default NextAPI(handler); diff --git a/projects/app/src/pages/api/v1/audio/transcriptions.ts b/projects/app/src/pages/api/v1/audio/transcriptions.ts index 04c2be95b..b6c642cfd 100644 --- a/projects/app/src/pages/api/v1/audio/transcriptions.ts +++ b/projects/app/src/pages/api/v1/audio/transcriptions.ts @@ -8,7 +8,7 @@ import { authChatCrud } from '@/service/support/permission/auth/chat'; import { OutLinkChatAuthProps } from '@fastgpt/global/support/permission/chat'; import { NextAPI } from '@/service/middleware/entry'; import { aiTranscriptions } from '@fastgpt/service/core/ai/audio/transcriptions'; -import { useReqFrequencyLimit } from '@fastgpt/service/common/middle/reqFrequencyLimit'; +import { useIPFrequencyLimit } from '@fastgpt/service/common/middle/reqFrequencyLimit'; import { getFirstSTTModel } from '@fastgpt/service/core/ai/model'; const upload = getUploadModel({ @@ -90,7 +90,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { removeFilesByPaths(filePaths); } -export default NextAPI(useReqFrequencyLimit(1, 1), handler); +export default NextAPI(useIPFrequencyLimit(1, 1), handler); export const config = { api: { diff --git a/projects/app/src/pages/app/detail/index.tsx b/projects/app/src/pages/app/detail/index.tsx index 54da870e5..9fad08f51 100644 --- a/projects/app/src/pages/app/detail/index.tsx +++ b/projects/app/src/pages/app/detail/index.tsx @@ -5,19 +5,19 @@ import Loading from '@fastgpt/web/components/common/MyLoading'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; import NextHead from '@/components/common/NextHead'; import { useContextSelector } from 'use-context-selector'; -import AppContextProvider, { AppContext } from './components/context'; +import AppContextProvider, { AppContext } from '@/pageComponents/app/detail/context'; import { AppTypeEnum } from '@fastgpt/global/core/app/constants'; import { useChatStore } from '@/web/core/chat/context/useChatStore'; -const SimpleEdit = dynamic(() => import('./components/SimpleApp'), { +const SimpleEdit = dynamic(() => import('@/pageComponents/app/detail/SimpleApp'), { ssr: false, loading: () => }); -const Workflow = dynamic(() => import('./components/Workflow'), { +const Workflow = dynamic(() => import('@/pageComponents/app/detail/Workflow'), { ssr: false, loading: () => }); -const Plugin = dynamic(() => import('./components/Plugin'), { +const Plugin = dynamic(() => import('@/pageComponents/app/detail/Plugin'), { ssr: false, loading: () => }); diff --git a/projects/app/src/pages/app/list/index.tsx b/projects/app/src/pages/app/list/index.tsx index 118674d88..86d7da1ee 100644 --- a/projects/app/src/pages/app/list/index.tsx +++ b/projects/app/src/pages/app/list/index.tsx @@ -11,7 +11,7 @@ import { useRequest2 } from '@fastgpt/web/hooks/useRequest'; import { postCreateAppFolder } from '@/web/core/app/api/app'; import type { EditFolderFormType } from '@fastgpt/web/components/common/MyModal/EditFolderModal'; import { useContextSelector } from 'use-context-selector'; -import AppListContextProvider, { AppListContext } from './components/context'; +import AppListContextProvider, { AppListContext } from '@/pageComponents/app/list/context'; import FolderPath from '@/components/common/folder/Path'; import { useRouter } from 'next/router'; import FolderSlideCard from '@/components/common/folder/SlideCard'; @@ -22,22 +22,22 @@ import { getCollaboratorList, postUpdateAppCollaborators } from '@/web/core/app/api/collaborator'; -import type { CreateAppType } from './components/CreateModal'; +import type { CreateAppType } from '@/pageComponents/app/list/CreateModal'; import { AppTypeEnum } from '@fastgpt/global/core/app/constants'; import MyBox from '@fastgpt/web/components/common/MyBox'; import LightRowTabs from '@fastgpt/web/components/common/Tabs/LightRowTabs'; import { useSystem } from '@fastgpt/web/hooks/useSystem'; import MyIcon from '@fastgpt/web/components/common/Icon'; -import TemplateMarketModal from './components/TemplateMarketModal'; +import TemplateMarketModal from '@/pageComponents/app/list/TemplateMarketModal'; import MyImage from '@fastgpt/web/components/common/Image/MyImage'; -import JsonImportModal from './components/JsonImportModal'; +import JsonImportModal from '@/pageComponents/app/list/JsonImportModal'; -const CreateModal = dynamic(() => import('./components/CreateModal')); +const CreateModal = dynamic(() => import('@/pageComponents/app/list/CreateModal')); const EditFolderModal = dynamic( () => import('@fastgpt/web/components/common/MyModal/EditFolderModal') ); -const HttpEditModal = dynamic(() => import('./components/HttpPluginEditModal')); -const List = dynamic(() => import('./components/List')); +const HttpEditModal = dynamic(() => import('@/pageComponents/app/list/HttpPluginEditModal')); +const List = dynamic(() => import('@/pageComponents/app/list/List')); const MyApps = () => { const { t } = useTranslation(); diff --git a/projects/app/src/pages/chat/index.module.scss b/projects/app/src/pages/chat/index.module.scss deleted file mode 100644 index aea66fef6..000000000 --- a/projects/app/src/pages/chat/index.module.scss +++ /dev/null @@ -1,18 +0,0 @@ -.newChat { - .modelListContainer { - height: 0; - overflow: hidden; - } - .modelList { - border-radius: 6px; - } - &:hover { - .modelListContainer { - height: 60vh; - } - .modelList { - box-shadow: 0 0 5px rgba($color: #000000, $alpha: 0.05); - border: 1px solid #dee0e2; - } - } -} diff --git a/projects/app/src/pages/chat/index.tsx b/projects/app/src/pages/chat/index.tsx index e574d0ff0..f9339b1d2 100644 --- a/projects/app/src/pages/chat/index.tsx +++ b/projects/app/src/pages/chat/index.tsx @@ -11,9 +11,9 @@ import { useTranslation } from 'next-i18next'; import type { StartChatFnProps } from '@/components/core/chat/ChatContainer/type'; import PageContainer from '@/components/PageContainer'; import SideBar from '@/components/SideBar'; -import ChatHistorySlider from './components/ChatHistorySlider'; -import SliderApps from './components/SliderApps'; -import ChatHeader from './components/ChatHeader'; +import ChatHistorySlider from '@/pageComponents/chat/ChatHistorySlider'; +import SliderApps from '@/pageComponents/chat/SliderApps'; +import ChatHeader from '@/pageComponents/chat/ChatHeader'; import { useUserStore } from '@/web/support/user/useUserStore'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; import { getChatTitleFromChatMessage } from '@fastgpt/global/core/chat/utils'; @@ -37,7 +37,7 @@ import ChatRecordContextProvider, { ChatRecordContext } from '@/web/core/chat/context/chatRecordContext'; -const CustomPluginRunBox = dynamic(() => import('./components/CustomPluginRunBox')); +const CustomPluginRunBox = dynamic(() => import('@/pageComponents/chat/CustomPluginRunBox')); const Chat = ({ myApps }: { myApps: AppListItemType[] }) => { const router = useRouter(); diff --git a/projects/app/src/pages/chat/share.tsx b/projects/app/src/pages/chat/share.tsx index 2dd85c879..7f010f3e6 100644 --- a/projects/app/src/pages/chat/share.tsx +++ b/projects/app/src/pages/chat/share.tsx @@ -9,8 +9,8 @@ import ChatBox from '@/components/core/chat/ChatContainer/ChatBox'; import type { StartChatFnProps } from '@/components/core/chat/ChatContainer/type'; import PageContainer from '@/components/PageContainer'; -import ChatHeader from './components/ChatHeader'; -import ChatHistorySlider from './components/ChatHistorySlider'; +import ChatHeader from '@/pageComponents/chat/ChatHeader'; +import ChatHistorySlider from '@/pageComponents/chat/ChatHistorySlider'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; import { useTranslation } from 'next-i18next'; import { getInitOutLinkChatInfo } from '@/web/core/chat/api'; @@ -38,7 +38,7 @@ import { ChatSourceEnum } from '@fastgpt/global/core/chat/constants'; import { useI18nLng } from '@fastgpt/web/hooks/useI18n'; import { AppSchema } from '@fastgpt/global/core/app/type'; -const CustomPluginRunBox = dynamic(() => import('./components/CustomPluginRunBox')); +const CustomPluginRunBox = dynamic(() => import('@/pageComponents/chat/CustomPluginRunBox')); type Props = { appId: string; diff --git a/projects/app/src/pages/chat/team.tsx b/projects/app/src/pages/chat/team.tsx index db0c5af31..cc0b94097 100644 --- a/projects/app/src/pages/chat/team.tsx +++ b/projects/app/src/pages/chat/team.tsx @@ -6,15 +6,15 @@ import { Box, Flex, Drawer, DrawerOverlay, DrawerContent, useTheme } from '@chak import SideBar from '@/components/SideBar'; import PageContainer from '@/components/PageContainer'; import { getMyTokensApps } from '@/web/core/chat/api'; -import ChatHistorySlider from './components/ChatHistorySlider'; -import ChatHeader from './components/ChatHeader'; +import ChatHistorySlider from '@/pageComponents/chat/ChatHistorySlider'; +import ChatHeader from '@/pageComponents/chat/ChatHeader'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; import { useTranslation } from 'next-i18next'; import ChatBox from '@/components/core/chat/ChatContainer/ChatBox'; import type { StartChatFnProps } from '@/components/core/chat/ChatContainer/type'; import { streamFetch } from '@/web/common/api/fetch'; import { getChatTitleFromChatMessage } from '@fastgpt/global/core/chat/utils'; -import SliderApps from './components/SliderApps'; +import SliderApps from '@/pageComponents/chat/SliderApps'; import { GPTMessages2Chats } from '@fastgpt/global/core/chat/adapt'; import { useRequest2 } from '@fastgpt/web/hooks/useRequest'; import ChatContextProvider, { ChatContext } from '@/web/core/chat/context/chatContext'; @@ -33,7 +33,7 @@ import ChatRecordContextProvider, { import { useChatStore } from '@/web/core/chat/context/useChatStore'; import { useMount } from 'ahooks'; import { ChatSourceEnum } from '@fastgpt/global/core/chat/constants'; -const CustomPluginRunBox = dynamic(() => import('./components/CustomPluginRunBox')); +const CustomPluginRunBox = dynamic(() => import('@/pageComponents/chat/CustomPluginRunBox')); type Props = { appId: string; chatId: string; teamId: string; teamToken: string }; diff --git a/projects/app/src/pages/dataset/detail/index.tsx b/projects/app/src/pages/dataset/detail/index.tsx index 809ac15dd..50bf043a7 100644 --- a/projects/app/src/pages/dataset/detail/index.tsx +++ b/projects/app/src/pages/dataset/detail/index.tsx @@ -7,24 +7,26 @@ import dynamic from 'next/dynamic'; import PageContainer from '@/components/PageContainer'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; import { useTranslation } from 'next-i18next'; -import MetaDataCard from './components/MetaDataCard'; -import NavBar from './components/NavBar'; +import MetaDataCard from '@/pageComponents/dataset/detail/MetaDataCard'; +import NavBar from '@/pageComponents/dataset/detail/NavBar'; import MyBox from '@fastgpt/web/components/common/MyBox'; import { DatasetPageContext, DatasetPageContextProvider } from '@/web/core/dataset/context/datasetPageContext'; -import CollectionPageContextProvider from './components/CollectionCard/Context'; +import CollectionPageContextProvider from '@/pageComponents/dataset/detail/CollectionCard/Context'; import { useContextSelector } from 'use-context-selector'; import NextHead from '@/components/common/NextHead'; import { useRequest2 } from '@fastgpt/web/hooks/useRequest'; import { useSystem } from '@fastgpt/web/hooks/useSystem'; -const CollectionCard = dynamic(() => import('./components/CollectionCard/index')); -const DataCard = dynamic(() => import('./components/DataCard')); -const Test = dynamic(() => import('./components/Test')); -const Info = dynamic(() => import('./components/Info/index')); -const Import = dynamic(() => import('./components/Import')); +const CollectionCard = dynamic( + () => import('@/pageComponents/dataset/detail/CollectionCard/index') +); +const DataCard = dynamic(() => import('@/pageComponents/dataset/detail/DataCard')); +const Test = dynamic(() => import('@/pageComponents/dataset/detail/Test')); +const Info = dynamic(() => import('@/pageComponents/dataset/detail/Info/index')); +const Import = dynamic(() => import('@/pageComponents/dataset/detail/Import')); export enum TabEnum { dataCard = 'dataCard', diff --git a/projects/app/src/pages/dataset/list/index.tsx b/projects/app/src/pages/dataset/list/index.tsx index a1f96c350..f50cd52ba 100644 --- a/projects/app/src/pages/dataset/list/index.tsx +++ b/projects/app/src/pages/dataset/list/index.tsx @@ -4,7 +4,7 @@ import { useRouter } from 'next/router'; import { useTranslation } from 'next-i18next'; import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; import ParentPaths from '@/components/common/folder/Path'; -import List from './component/List'; +import List from '@/pageComponents/dataset/list/List'; import { DatasetsContext } from './context'; import DatasetContextProvider from './context'; import { useContextSelector } from 'use-context-selector'; @@ -24,7 +24,7 @@ import { getCollaboratorList } from '@/web/core/dataset/api/collaborator'; import { useSystem } from '@fastgpt/web/hooks/useSystem'; -import { CreateDatasetType } from './component/CreateModal'; +import { CreateDatasetType } from '@/pageComponents/dataset/list/CreateModal'; import { DatasetTypeEnum } from '@fastgpt/global/core/dataset/constants'; import { useToast } from '@fastgpt/web/hooks/useToast'; import MyBox from '@fastgpt/web/components/common/MyBox'; @@ -34,7 +34,7 @@ const EditFolderModal = dynamic( () => import('@fastgpt/web/components/common/MyModal/EditFolderModal') ); -const CreateModal = dynamic(() => import('./component/CreateModal')); +const CreateModal = dynamic(() => import('@/pageComponents/dataset/list/CreateModal')); const Dataset = () => { const { isPc } = useSystem(); diff --git a/projects/app/src/pages/login/index.tsx b/projects/app/src/pages/login/index.tsx index fd12521db..44cd6c73c 100644 --- a/projects/app/src/pages/login/index.tsx +++ b/projects/app/src/pages/login/index.tsx @@ -28,11 +28,11 @@ import { useSystem } from '@fastgpt/web/hooks/useSystem'; import { GET } from '@/web/common/api/request'; import { getDocPath } from '@/web/common/system/doc'; import { getWebReqUrl } from '@fastgpt/web/common/system/utils'; -import LoginForm from './components/LoginForm/LoginForm'; +import LoginForm from '@/pageComponents/login/LoginForm/LoginForm'; -const RegisterForm = dynamic(() => import('./components/RegisterForm')); -const ForgetPasswordForm = dynamic(() => import('./components/ForgetPasswordForm')); -const WechatForm = dynamic(() => import('./components/LoginForm/WechatForm')); +const RegisterForm = dynamic(() => import('@/pageComponents/login/RegisterForm')); +const ForgetPasswordForm = dynamic(() => import('@/pageComponents/login/ForgetPasswordForm')); +const WechatForm = dynamic(() => import('@/pageComponents/login/LoginForm/WechatForm')); const CommunityModal = dynamic(() => import('@/components/CommunityModal')); const ipDetectURL = 'https://qifu-api.baidubce.com/ip/local/geo/v1/district'; diff --git a/projects/app/src/pages/price/index.tsx b/projects/app/src/pages/price/index.tsx index 33d6fd987..53f9965b5 100644 --- a/projects/app/src/pages/price/index.tsx +++ b/projects/app/src/pages/price/index.tsx @@ -3,16 +3,16 @@ import { serviceSideProps } from '@fastgpt/web/common/system/nextjs'; import { Box, Flex, HStack, VStack } from '@chakra-ui/react'; import { useUserStore } from '@/web/support/user/useUserStore'; import { getTeamPlanStatus } from '@/web/support/user/team/api'; -import { useQuery } from '@tanstack/react-query'; -import StandardPlan from './components/Standard'; -import ExtraPlan from './components/ExtraPlan'; -import PointsCard from './components/Points'; -import FAQ from './components/FAQ'; +import StandardPlan from '@/pageComponents/price/Standard'; +import ExtraPlan from '@/pageComponents/price/ExtraPlan'; +import PointsCard from '@/pageComponents/price/Points'; +import FAQ from '@/pageComponents/price/FAQ'; import { useTranslation } from 'next-i18next'; import MyIcon from '@fastgpt/web/components/common/Icon'; import { useSystemStore } from '@/web/common/system/useSystemStore'; import { useRouter } from 'next/router'; +import { useRequest2 } from '@fastgpt/web/hooks/useRequest'; const PriceBox = () => { const { userInfo } = useUserStore(); @@ -20,8 +20,9 @@ const PriceBox = () => { const { feConfigs } = useSystemStore(); const router = useRouter(); - const { data: teamSubPlan } = useQuery(['getTeamPlanStatus'], getTeamPlanStatus, { - enabled: !!userInfo + const { data: teamSubPlan } = useRequest2(getTeamPlanStatus, { + manual: false, + refreshDeps: [userInfo] }); const onPaySuccess = () => { diff --git a/projects/app/src/pages/toolkit/index.tsx b/projects/app/src/pages/toolkit/index.tsx index 3b15815f7..9dcea82a3 100644 --- a/projects/app/src/pages/toolkit/index.tsx +++ b/projects/app/src/pages/toolkit/index.tsx @@ -4,7 +4,7 @@ import { Box, Flex, Grid, useDisclosure } from '@chakra-ui/react'; import Avatar from '@fastgpt/web/components/common/Avatar'; import { useRequest2 } from '@fastgpt/web/hooks/useRequest'; import { useMemo, useState } from 'react'; -import PluginCard from './components/PluginCard'; +import PluginCard from '@/pageComponents/toolkit/PluginCard'; import { i18nT } from '@fastgpt/web/i18n/utils'; import { useTranslation } from 'next-i18next'; import { useRouter } from 'next/router'; diff --git a/projects/app/src/web/common/system/utils.ts b/projects/app/src/web/common/system/utils.ts index 3d5ea1ef8..8f6e4484f 100644 --- a/projects/app/src/web/common/system/utils.ts +++ b/projects/app/src/web/common/system/utils.ts @@ -1,12 +1,44 @@ import { useSystemStore } from './useSystemStore'; -export const downloadFetch = async ({ url, filename }: { url: string; filename: string }) => { - const a = document.createElement('a'); - a.href = url; - a.download = filename; - document.body.appendChild(a); - a.click(); - document.body.removeChild(a); +export const downloadFetch = async ({ + url, + filename, + body +}: { + url: string; + filename: string; + body?: Record; +}) => { + if (body) { + // fetch data with POST method if body exists + const response = await fetch(url, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(body) + }); + + const blob = await response.blob(); + const downloadUrl = window.URL.createObjectURL(blob); + + const a = document.createElement('a'); + a.href = downloadUrl; + a.download = filename; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + + // clean up the blob URL + window.URL.revokeObjectURL(downloadUrl); + } else { + const a = document.createElement('a'); + a.href = url; + a.download = filename; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + } }; export const getWebLLMModel = (model?: string) => { diff --git a/projects/app/src/web/support/wallet/usage/api.ts b/projects/app/src/web/support/wallet/usage/api.ts index 6fccc9bdb..f979898ab 100644 --- a/projects/app/src/web/support/wallet/usage/api.ts +++ b/projects/app/src/web/support/wallet/usage/api.ts @@ -1,7 +1,8 @@ import { POST } from '@/web/common/api/request'; import { CreateTrainingUsageProps, - GetTotalPointsProps, + GetUsageDashboardProps, + GetUsageDashboardResponseItem, GetUsageProps } from '@fastgpt/global/support/wallet/usage/api.d'; import type { UsageItemType } from '@fastgpt/global/support/wallet/usage/type'; @@ -10,11 +11,8 @@ import { PaginationProps, PaginationResponse } from '@fastgpt/web/common/fetch/t export const getUserUsages = (data: PaginationProps) => POST>(`/proApi/support/wallet/usage/getUsage`, data); -export const getTotalPoints = (data: GetTotalPointsProps) => - POST<{ totalPoints: number; date: string }[]>( - `/proApi/support/wallet/usage/getTotalPoints`, - data - ); +export const getDashboardData = (data: GetUsageDashboardProps) => + POST(`/proApi/support/wallet/usage/getDashboardData`, data); export const postCreateTrainingUsage = (data: CreateTrainingUsageProps) => POST(`/support/wallet/usage/createTrainingUsage`, data); diff --git a/projects/app/tsconfig.json b/projects/app/tsconfig.json index 975513eb1..7d58a40e2 100644 --- a/projects/app/tsconfig.json +++ b/projects/app/tsconfig.json @@ -1,10 +1,10 @@ { - "extends":"../../tsconfig.json", + "extends": "../../tsconfig.json", "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["./src/*"] } }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "**/*.d.ts","../../packages/**/*.d.ts"] + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "**/*.d.ts", "../../packages/**/*.d.ts"] }