feat: update ESLint config with @typescript-eslint/consistent-type-imports (#4746)

* update: Add type

* fix: update import statement for NextApiRequest type

* fix: update imports to use type for LexicalEditor and EditorState

* Refactor imports to use 'import type' for type-only imports across multiple files

- Updated imports in various components and API files to use 'import type' for better clarity and to optimize TypeScript's type checking.
- Ensured consistent usage of type imports in files related to chat, dataset, workflow, and user management.
- Improved code readability and maintainability by distinguishing between value and type imports.

* refactor: remove old ESLint configuration and add new rules

- Deleted the old ESLint configuration file from the app project.
- Added a new ESLint configuration file with updated rules and settings.
- Changed imports to use type-only imports in various files for better clarity and performance.
- Updated TypeScript configuration to remove unnecessary options.
- Added an ESLint ignore file to exclude build and dependency directories from linting.

* fix: update imports to use 'import type' for type-only imports in schema files
This commit is contained in:
Theresa
2025-05-06 17:33:09 +08:00
committed by GitHub
parent 5361674a2c
commit 2d3117c5da
806 changed files with 2223 additions and 1881 deletions

View File

@@ -1,4 +1,4 @@
import { RequireOnlyOne } from '@fastgpt/global/common/type/utils';
import type { RequireOnlyOne } from '@fastgpt/global/common/type/utils';
type PaginationProps<T = {}> = T & {
pageSize: number | string;

View File

@@ -1,7 +1,7 @@
import { DragHandleIcon } from '@chakra-ui/icons';
import { Box, BoxProps } from '@chakra-ui/react';
import { Box, type BoxProps } from '@chakra-ui/react';
import React from 'react';
import { DraggableProvided } from 'react-beautiful-dnd';
import { type DraggableProvided } from 'react-beautiful-dnd';
const DragIcon = ({ provided, ...props }: { provided: DraggableProvided } & BoxProps) => {
return (

View File

@@ -1,13 +1,13 @@
import { Box, Tbody } from '@chakra-ui/react';
import React, { ReactElement, ReactNode, useState } from 'react';
import React, { type ReactElement, type ReactNode, useState } from 'react';
import {
DragDropContext,
Droppable,
DraggableChildrenFn,
DragStart,
DropResult,
DroppableProvided,
DroppableStateSnapshot
type DraggableChildrenFn,
type DragStart,
type DropResult,
type DroppableProvided,
type DroppableStateSnapshot
} from 'react-beautiful-dnd';
export * from 'react-beautiful-dnd';

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { Flex, Box, FlexProps } from '@chakra-ui/react';
import { Flex, Box, type FlexProps } from '@chakra-ui/react';
import MyIcon from '../Icon';
import { useTranslation } from 'next-i18next';

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { Flex, FlexProps } from '@chakra-ui/react';
import { Flex, type FlexProps } from '@chakra-ui/react';
import MyIcon from './index';
import MyTooltip from '../MyTooltip';

View File

@@ -1,6 +1,6 @@
import React from 'react';
import MyIcon from './index';
import { IconProps } from '@chakra-ui/react';
import { type IconProps } from '@chakra-ui/react';
const DeleteIcon = (props: IconProps) => {
return (

View File

@@ -1,3 +1,3 @@
import { iconPaths } from './constants';
import type { iconPaths } from './constants';
export type IconNameType = keyof typeof iconPaths;

View File

@@ -1,5 +1,5 @@
import React, { ForwardedRef, forwardRef } from 'react';
import { Image, ImageProps } from '@chakra-ui/react';
import React, { type ForwardedRef, forwardRef } from 'react';
import { Image, type ImageProps } from '@chakra-ui/react';
import { getWebReqUrl } from '../../../common/system/utils';
const MyImage = (props: ImageProps, ref?: ForwardedRef<any>) => {
return <Image {...props} src={getWebReqUrl(props.src)} alt={props.alt || ''} />;

View File

@@ -1,7 +1,7 @@
import React from 'react';
import { PhotoProvider, PhotoView } from 'react-photo-view';
import 'react-photo-view/dist/react-photo-view.css';
import { ImageProps } from '@chakra-ui/react';
import { type ImageProps } from '@chakra-ui/react';
import { useSystem } from '../../../hooks/useSystem';
import Loading from '../MyLoading';
import MyImage from './MyImage';

View File

@@ -15,11 +15,11 @@ import { OnChangePlugin } from '@lexical/react/LexicalOnChangePlugin';
import LexicalErrorBoundary from '@lexical/react/LexicalErrorBoundary';
import { Box, Flex } from '@chakra-ui/react';
import styles from './index.module.scss';
import { EditorState, LexicalEditor } from 'lexical';
import type { EditorState, LexicalEditor } from 'lexical';
import { getNanoid } from '@fastgpt/global/common/string/tools';
import {
EditorVariableLabelPickerType,
EditorVariablePickerType
type EditorVariableLabelPickerType,
type EditorVariablePickerType
} from '../../Textarea/PromptEditor/type';
import { VariableNode } from '../../Textarea/PromptEditor/plugins/VariablePlugin/node';
import { textToEditorState } from '../../Textarea/PromptEditor/utils';

View File

@@ -1,10 +1,10 @@
import React from 'react';
import { EditorState, type LexicalEditor } from 'lexical';
import type { EditorState, LexicalEditor } from 'lexical';
import { useCallback } from 'react';
import { editorStateToText } from '../../Textarea/PromptEditor/utils';
import {
EditorVariableLabelPickerType,
EditorVariablePickerType
type EditorVariableLabelPickerType,
type EditorVariablePickerType
} from '../../Textarea/PromptEditor/type';
import Editor from './Editor';

View File

@@ -4,11 +4,11 @@ import {
NumberInputField,
NumberInputStepper,
NumberDecrementStepper,
NumberInputProps
type NumberInputProps
} from '@chakra-ui/react';
import React from 'react';
import MyIcon from '../../Icon';
import { UseFormRegister } from 'react-hook-form';
import { type UseFormRegister } from 'react-hook-form';
type Props = Omit<NumberInputProps, 'onChange' | 'onBlur'> & {
onChange?: (e?: number) => any;

View File

@@ -1,5 +1,5 @@
import React, { useState } from 'react';
import { Input, InputProps, InputGroup, InputLeftElement } from '@chakra-ui/react';
import { Input, type InputProps, InputGroup, InputLeftElement } from '@chakra-ui/react';
import MyIcon from '../../Icon';
const SearchInput = (props: InputProps) => {

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { Box, HStack, Icon, StackProps } from '@chakra-ui/react';
import { Box, HStack, Icon, type StackProps } from '@chakra-ui/react';
const LightTip = ({
text,

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { Box, BoxProps } from '@chakra-ui/react';
import { Box, type BoxProps } from '@chakra-ui/react';
const FormLabel = ({
children,

View File

@@ -1,5 +1,5 @@
import React, { forwardRef } from 'react';
import { Box, BoxProps, SpinnerProps } from '@chakra-ui/react';
import { Box, type BoxProps, type SpinnerProps } from '@chakra-ui/react';
import Loading from '../MyLoading';
type Props = BoxProps & {

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { Flex, Box, CloseButton, FlexProps } from '@chakra-ui/react';
import { Flex, Box, CloseButton, type FlexProps } from '@chakra-ui/react';
import { useLoading } from '../../../hooks/useLoading';
import Avatar from '../Avatar';

View File

@@ -7,7 +7,7 @@ import {
DrawerOverlay,
DrawerContent,
DrawerCloseButton,
DrawerContentProps,
type DrawerContentProps,
Flex,
Image,
Box

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { Spinner, Flex, Box, SpinnerProps } from '@chakra-ui/react';
import { Spinner, Flex, Box, type SpinnerProps } from '@chakra-ui/react';
const Loading = ({
fixed = true,

View File

@@ -6,11 +6,11 @@ import {
Box,
useOutsideClick,
MenuButton,
MenuItemProps,
PlacementWithLogical,
AvatarProps,
BoxProps,
DividerProps
type MenuItemProps,
type PlacementWithLogical,
type AvatarProps,
type BoxProps,
type DividerProps
} from '@chakra-ui/react';
import MyDivider from '../MyDivider';
import type { IconNameType } from '../Icon/type';

View File

@@ -5,9 +5,9 @@ import {
ModalContent,
ModalHeader,
ModalCloseButton,
ModalContentProps,
type ModalContentProps,
Box,
ImageProps
type ImageProps
} from '@chakra-ui/react';
import MyBox from '../MyBox';
import { useSystem } from '../../../hooks/useSystem';

View File

@@ -7,7 +7,7 @@ import {
PopoverTrigger,
PopoverContent,
useDisclosure,
PlacementWithLogical,
type PlacementWithLogical,
HStack,
Box,
Button,

View File

@@ -4,9 +4,9 @@ import {
PopoverTrigger,
PopoverContent,
useDisclosure,
PlacementWithLogical,
type PlacementWithLogical,
PopoverArrow,
PopoverContentProps
type PopoverContentProps
} from '@chakra-ui/react';
interface Props extends PopoverContentProps {

View File

@@ -1,7 +1,7 @@
import React, { useCallback, useRef } from 'react';
import MultipleRowSelect from './MultipleRowSelect';
import { useTranslation } from 'next-i18next';
import { MultipleSelectProps } from './type';
import { type MultipleSelectProps } from './type';
import { cronParser2Fields } from '@fastgpt/global/common/string/time';
type CronType = 'month' | 'week' | 'day' | 'interval';

View File

@@ -11,7 +11,7 @@ import {
MenuButton,
MenuList
} from '@chakra-ui/react';
import { ListItemType, MultipleArraySelectProps, MultipleSelectProps } from './type';
import { type ListItemType, type MultipleArraySelectProps, type MultipleSelectProps } from './type';
import EmptyTip from '../EmptyTip';
import { useTranslation } from 'next-i18next';
import MyIcon from '../../common/Icon';

View File

@@ -1,13 +1,13 @@
import {
Box,
Button,
ButtonProps,
type ButtonProps,
Checkbox,
Flex,
Menu,
MenuButton,
MenuItem,
MenuItemProps,
type MenuItemProps,
MenuList,
useDisclosure
} from '@chakra-ui/react';
@@ -16,7 +16,7 @@ import MyTag from '../Tag/index';
import MyIcon from '../Icon';
import MyAvatar from '../Avatar';
import { useTranslation } from 'next-i18next';
import { useScrollPagination } from '../../../hooks/useScrollPagination';
import type { useScrollPagination } from '../../../hooks/useScrollPagination';
import MyDivider from '../MyDivider';
export type SelectProps<T = any> = {

View File

@@ -4,7 +4,7 @@ import React, {
useMemo,
useEffect,
useImperativeHandle,
ForwardedRef,
type ForwardedRef,
useState
} from 'react';
import {
@@ -23,7 +23,7 @@ import type { ButtonProps, MenuItemProps } from '@chakra-ui/react';
import MyIcon from '../Icon';
import { useRequest2 } from '../../../hooks/useRequest';
import MyDivider from '../MyDivider';
import { useScrollPagination } from '../../../hooks/useScrollPagination';
import type { useScrollPagination } from '../../../hooks/useScrollPagination';
import Avatar from '../Avatar';
/** 选择组件 Props 类型

View File

@@ -1,4 +1,4 @@
import { ButtonProps } from '@chakra-ui/react';
import type { ButtonProps } from '@chakra-ui/react';
type ListItemType = {
alias?: string;

View File

@@ -1,6 +1,6 @@
import React from 'react';
import MyTooltip from '.';
import { IconProps } from '@chakra-ui/icons';
import { type IconProps } from '@chakra-ui/icons';
import MyIcon from '../Icon';
type Props = IconProps & {

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { Tooltip, TooltipProps } from '@chakra-ui/react';
import { Tooltip, type TooltipProps } from '@chakra-ui/react';
interface Props extends TooltipProps {}

View File

@@ -2,7 +2,7 @@ import { useCopyData } from '../../../hooks/useCopyData';
import React from 'react';
import MyTooltip from '../MyTooltip';
import { useTranslation } from 'next-i18next';
import { Box, BoxProps } from '@chakra-ui/react';
import { Box, type BoxProps } from '@chakra-ui/react';
const CopyBox = ({
value,

View File

@@ -1,5 +1,5 @@
import React, { forwardRef } from 'react';
import { Flex, Box, BoxProps } from '@chakra-ui/react';
import { Flex, Box, type BoxProps } from '@chakra-ui/react';
import MyIcon from '../Icon';
type Props<T = string> = Omit<BoxProps, 'onChange'> & {

View File

@@ -1,5 +1,5 @@
import React, { useMemo } from 'react';
import { Box, BoxProps, Flex, type FlexProps } from '@chakra-ui/react';
import { Box, type BoxProps, Flex, type FlexProps } from '@chakra-ui/react';
type ColorSchemaType = 'white' | 'blue' | 'green' | 'red' | 'yellow' | 'gray' | 'purple' | 'adora';

View File

@@ -1,6 +1,6 @@
import React, { useCallback, useRef, useState, useEffect } from 'react';
import Editor, { Monaco, loader } from '@monaco-editor/react';
import { Box, BoxProps } from '@chakra-ui/react';
import Editor, { type Monaco, loader } from '@monaco-editor/react';
import { Box, type BoxProps } from '@chakra-ui/react';
import MyIcon from '../../Icon';
import { getWebReqUrl } from '../../../../common/system/utils';
import usePythonCompletion from './usePythonCompletion';

View File

@@ -1,4 +1,4 @@
import { Monaco } from '@monaco-editor/react';
import { type Monaco } from '@monaco-editor/react';
import { useCallback } from 'react';
let monacoInstance: Monaco | null = null;
const usePythonCompletion = () => {

View File

@@ -1,6 +1,6 @@
import React, { useEffect, useCallback, useRef, useState } from 'react';
import Editor, { Monaco, loader, useMonaco } from '@monaco-editor/react';
import { Box, BoxProps } from '@chakra-ui/react';
import Editor, { type Monaco, loader, useMonaco } from '@monaco-editor/react';
import { Box, type BoxProps } from '@chakra-ui/react';
import MyIcon from '../../Icon';
import { useToast } from '../../../../hooks/useToast';
import { useTranslation } from 'next-i18next';

View File

@@ -18,10 +18,10 @@ import { Box } from '@chakra-ui/react';
import styles from './index.module.scss';
import VariablePlugin from './plugins/VariablePlugin';
import { VariableNode } from './plugins/VariablePlugin/node';
import { EditorState, LexicalEditor } from 'lexical';
import type { EditorState, LexicalEditor } from 'lexical';
import OnBlurPlugin from './plugins/OnBlurPlugin';
import MyIcon from '../../Icon';
import { EditorVariableLabelPickerType, EditorVariablePickerType } from './type.d';
import { type EditorVariableLabelPickerType, type EditorVariablePickerType } from './type.d';
import { getNanoid } from '@fastgpt/global/common/string/tools';
import FocusPlugin from './plugins/FocusPlugin';
import { textToEditorState } from './utils';

View File

@@ -4,8 +4,8 @@ import { editorStateToText } from './utils';
import Editor from './Editor';
import MyModal from '../../MyModal';
import { useTranslation } from 'next-i18next';
import { EditorState, type LexicalEditor } from 'lexical';
import { EditorVariableLabelPickerType, EditorVariablePickerType } from './type.d';
import type { EditorState, LexicalEditor } from 'lexical';
import { type EditorVariableLabelPickerType, type EditorVariablePickerType } from './type.d';
import { useCallback } from 'react';
const PromptEditor = ({

View File

@@ -1,5 +1,5 @@
import { Box, Flex } from '@chakra-ui/react';
import { EditorVariablePickerType } from '../../type';
import { type EditorVariablePickerType } from '../../type';
import MyIcon from '../../../../Icon';
import React, { useCallback, useEffect } from 'react';

View File

@@ -1,7 +1,7 @@
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
import { trimTextContentFromAnchor } from '@lexical/selection';
import { $restoreEditorState } from '@lexical/utils';
import { $getSelection, $isRangeSelection, EditorState, RootNode } from 'lexical';
import { $getSelection, $isRangeSelection, type EditorState, RootNode } from 'lexical';
import { useEffect } from 'react';
export function MaxLengthPlugin({ maxLength }: { maxLength: number }): null {

View File

@@ -1,5 +1,5 @@
import { useEffect } from 'react';
import { BLUR_COMMAND, COMMAND_PRIORITY_EDITOR, LexicalEditor } from 'lexical';
import { BLUR_COMMAND, COMMAND_PRIORITY_EDITOR, type LexicalEditor } from 'lexical';
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
export default function OnBlurPlugin({ onBlur }: { onBlur?: (editor: LexicalEditor) => void }) {

View File

@@ -1,13 +1,14 @@
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
import { LexicalTypeaheadMenuPlugin } from '@lexical/react/LexicalTypeaheadMenuPlugin';
import { $createTextNode, $getSelection, $isRangeSelection, TextNode } from 'lexical';
import type { TextNode } from 'lexical';
import { $createTextNode, $getSelection, $isRangeSelection } from 'lexical';
import * as React from 'react';
import { useCallback, useState, useEffect, useRef } from 'react';
import * as ReactDOM from 'react-dom';
import { Box, Flex } from '@chakra-ui/react';
import { useBasicTypeaheadTriggerMatch } from '../../utils';
import { EditorVariableLabelPickerType } from '../../type';
import { WorkflowIOValueTypeEnum } from '@fastgpt/global/core/workflow/constants';
import { type EditorVariableLabelPickerType } from '../../type';
import type { WorkflowIOValueTypeEnum } from '@fastgpt/global/core/workflow/constants';
import { useTranslation } from 'next-i18next';
import Avatar from '../../../../Avatar';

View File

@@ -1,8 +1,8 @@
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
import { EditorVariableLabelPickerType } from '../../type';
import { type EditorVariableLabelPickerType } from '../../type';
import { useCallback, useEffect } from 'react';
import { $createVariableLabelNode, VariableLabelNode } from './node';
import { TextNode } from 'lexical';
import type { TextNode } from 'lexical';
import { getHashtagRegexString } from './utils';
import { mergeRegister } from '@lexical/utils';
import { registerLexicalTextEntity } from '../../utils';

View File

@@ -1,14 +1,14 @@
import {
DecoratorNode,
DOMConversionMap,
DOMExportOutput,
EditorConfig,
LexicalEditor,
LexicalNode,
NodeKey,
SerializedLexicalNode,
Spread,
TextFormatType
type DOMConversionMap,
type DOMExportOutput,
type EditorConfig,
type LexicalEditor,
type LexicalNode,
type NodeKey,
type SerializedLexicalNode,
type Spread,
type TextFormatType
} from 'lexical';
import VariableLabel from './components/VariableLabel';

View File

@@ -1,6 +1,7 @@
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
import { LexicalTypeaheadMenuPlugin } from '@lexical/react/LexicalTypeaheadMenuPlugin';
import { $createTextNode, $getSelection, $isRangeSelection, TextNode } from 'lexical';
import type { TextNode } from 'lexical';
import { $createTextNode, $getSelection, $isRangeSelection } from 'lexical';
import * as React from 'react';
import { useCallback, useState } from 'react';
import * as ReactDOM from 'react-dom';
@@ -8,7 +9,7 @@ import { useTranslation } from 'next-i18next';
import MyIcon from '../../../../Icon';
import { Box, Flex } from '@chakra-ui/react';
import { useBasicTypeaheadTriggerMatch } from '../../utils';
import { EditorVariablePickerType } from '../../type.d';
import { type EditorVariablePickerType } from '../../type.d';
export default function VariablePickerPlugin({
variables

View File

@@ -1,11 +1,11 @@
import { TextNode } from 'lexical';
import type { TextNode } from 'lexical';
import { mergeRegister } from '@lexical/utils';
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
import { useCallback, useEffect, useMemo } from 'react';
import { getHashtagRegexString } from './utils';
import { registerLexicalTextEntity } from '../../utils';
import { EditorVariablePickerType } from '../../type';
import { type EditorVariablePickerType } from '../../type';
import { $createVariableNode, VariableNode } from './node';
const REGEX = new RegExp(getHashtagRegexString(), 'i');

View File

@@ -1,14 +1,14 @@
import {
DecoratorNode,
DOMConversionMap,
DOMExportOutput,
EditorConfig,
LexicalEditor,
LexicalNode,
NodeKey,
SerializedLexicalNode,
Spread,
TextFormatType
type DOMConversionMap,
type DOMExportOutput,
type EditorConfig,
type LexicalEditor,
type LexicalNode,
type NodeKey,
type SerializedLexicalNode,
type Spread,
type TextFormatType
} from 'lexical';
import Variable from './components/Variable';

View File

@@ -1,4 +1,4 @@
import { WorkflowIOValueTypeEnum } from '@fastgpt/global/core/workflow/constants';
import type { WorkflowIOValueTypeEnum } from '@fastgpt/global/core/workflow/constants';
export type EditorVariablePickerType = {
key: string;

View File

@@ -10,8 +10,8 @@ import type { DecoratorNode, Klass, LexicalEditor, LexicalNode } from 'lexical';
import type { EntityMatch } from '@lexical/text';
import { $createTextNode, $getRoot, $isTextNode, TextNode } from 'lexical';
import { useCallback } from 'react';
import { VariableLabelNode } from './plugins/VariableLabelPlugin/node';
import { VariableNode } from './plugins/VariablePlugin/node';
import type { VariableLabelNode } from './plugins/VariableLabelPlugin/node';
import type { VariableNode } from './plugins/VariablePlugin/node';
export function registerLexicalTextEntity<T extends TextNode | VariableLabelNode | VariableNode>(
editor: LexicalEditor,

View File

@@ -1,5 +1,5 @@
import { Box, HStack, type StackProps } from '@chakra-ui/react';
import { SourceMemberType } from '@fastgpt/global/support/user/type';
import { type SourceMemberType } from '@fastgpt/global/support/user/type';
import React from 'react';
import Avatar from '../Avatar';
import { useTranslation } from 'next-i18next';

View File

@@ -1,5 +1,5 @@
import React, { useMemo, useRef } from 'react';
import MyMenu, { MenuItemType } from '../../common/MyMenu';
import MyMenu, { type MenuItemType } from '../../common/MyMenu';
import {
FlowNodeInputMap,
FlowNodeInputTypeEnum

View File

@@ -1,4 +1,4 @@
import React, { ReactNode, useMemo } from 'react';
import React, { type ReactNode, useMemo } from 'react';
import { createContext } from 'use-context-selector';
import { useMediaQuery } from '@chakra-ui/react';
import Cookies from 'js-cookie';

View File

@@ -2,7 +2,7 @@ import { FlowNodeTemplateTypeEnum } from '@fastgpt/global/core/workflow/constant
import { i18nT } from '../../i18n/utils';
import type { PluginGroupSchemaType, TGroupType } from '../../../service/core/app/plugin/type';
import { AppTemplateTypeEnum } from '@fastgpt/global/core/app/constants';
import { TemplateTypeSchemaType } from '@fastgpt/global/core/app/type';
import { type TemplateTypeSchemaType } from '@fastgpt/global/core/app/type';
export const workflowNodeTemplateList = [
{

View File

@@ -1,6 +1,6 @@
import { useEffect, useRef, useState, ReactNode } from 'react';
import { LinkedListResponse, LinkedPaginationProps } from '../common/fetch/type';
import { Box, BoxProps } from '@chakra-ui/react';
import { useEffect, useRef, useState, type ReactNode } from 'react';
import { type LinkedListResponse, type LinkedPaginationProps } from '../common/fetch/type';
import { Box, type BoxProps } from '@chakra-ui/react';
import { useTranslation } from 'next-i18next';
import { useScroll, useMemoizedFn, useDebounceEffect } from 'ahooks';
import MyBox from '../components/common/MyBox';

View File

@@ -1,5 +1,5 @@
import { useRef, useState, useCallback, RefObject, ReactNode, useMemo } from 'react';
import { IconButton, Flex, Box, Input, BoxProps } from '@chakra-ui/react';
import { useRef, useState, useCallback, type RefObject, type ReactNode, useMemo } from 'react';
import { IconButton, Flex, Box, Input, type BoxProps } from '@chakra-ui/react';
import { ArrowBackIcon, ArrowForwardIcon } from '@chakra-ui/icons';
import { useTranslation } from 'next-i18next';
import { useToast } from './useToast';
@@ -13,7 +13,7 @@ import {
useThrottleEffect
} from 'ahooks';
import { PaginationProps, PaginationResponse } from '../common/fetch/type';
import { type PaginationProps, type PaginationResponse } from '../common/fetch/type';
const thresholdVal = 200;

View File

@@ -1,8 +1,8 @@
import React, { ReactNode, RefObject, useMemo, useRef, useState } from 'react';
import { Box, BoxProps } from '@chakra-ui/react';
import React, { type ReactNode, type RefObject, useMemo, useRef, useState } from 'react';
import { Box, type BoxProps } from '@chakra-ui/react';
import { useToast } from './useToast';
import { getErrText } from '@fastgpt/global/common/error/utils';
import { PaginationProps, PaginationResponse } from '../common/fetch/type';
import { type PaginationProps, type PaginationResponse } from '../common/fetch/type';
import {
useBoolean,
useLockFn,

View File

@@ -1,5 +1,5 @@
import { useToast as uToast, UseToastOptions } from '@chakra-ui/react';
import { CSSProperties, useCallback } from 'react';
import { useToast as uToast, type UseToastOptions } from '@chakra-ui/react';
import { type CSSProperties, useCallback } from 'react';
import { useTranslation } from 'next-i18next';
export const useToast = (props?: UseToastOptions & { containerStyle?: CSSProperties }) => {

View File

@@ -1,3 +1,3 @@
import { I18nKeyFunction } from '../types/i18next';
import { type I18nKeyFunction } from '../types/i18next';
export const i18nT: I18nKeyFunction = (key) => key;

View File

@@ -1,4 +1,4 @@
import { extendTheme, defineStyleConfig, ComponentStyleConfig } from '@chakra-ui/react';
import { extendTheme, defineStyleConfig, type ComponentStyleConfig } from '@chakra-ui/react';
import {
modalAnatomy,
switchAnatomy,

View File

@@ -1,25 +1,25 @@
import 'i18next';
import account_team from '../i18n/zh-CN/account_team.json';
import account from '../i18n/zh-CN/account.json';
import account_thirdParty from '../i18n/zh-CN/account_thirdParty.json';
import account_promotion from '../i18n/zh-CN/account_promotion.json';
import account_inform from '../i18n/zh-CN/account_inform.json';
import account_setting from '../i18n/zh-CN/account_setting.json';
import account_apikey from '../i18n/zh-CN/account_apikey.json';
import account_bill from '../i18n/zh-CN/account_bill.json';
import account_usage from '../i18n/zh-CN/account_usage.json';
import account_info from '../i18n/zh-CN/account_info.json';
import common from '../i18n/zh-CN/common.json';
import dataset from '../i18n/zh-CN/dataset.json';
import app from '../i18n/zh-CN/app.json';
import file from '../i18n/zh-CN/file.json';
import publish from '../i18n/zh-CN/publish.json';
import workflow from '../i18n/zh-CN/workflow.json';
import user from '../i18n/zh-CN/user.json';
import chat from '../i18n/zh-CN/chat.json';
import login from '../i18n/zh-CN/login.json';
import account_model from '../i18n/zh-CN/account_model.json';
import dashboard_mcp from '../i18n/zh-CN/dashboard_mcp.json';
import type account_team from '../i18n/zh-CN/account_team.json';
import type account from '../i18n/zh-CN/account.json';
import type account_thirdParty from '../i18n/zh-CN/account_thirdParty.json';
import type account_promotion from '../i18n/zh-CN/account_promotion.json';
import type account_inform from '../i18n/zh-CN/account_inform.json';
import type account_setting from '../i18n/zh-CN/account_setting.json';
import type account_apikey from '../i18n/zh-CN/account_apikey.json';
import type account_bill from '../i18n/zh-CN/account_bill.json';
import type account_usage from '../i18n/zh-CN/account_usage.json';
import type account_info from '../i18n/zh-CN/account_info.json';
import type common from '../i18n/zh-CN/common.json';
import type dataset from '../i18n/zh-CN/dataset.json';
import type app from '../i18n/zh-CN/app.json';
import type file from '../i18n/zh-CN/file.json';
import type publish from '../i18n/zh-CN/publish.json';
import type workflow from '../i18n/zh-CN/workflow.json';
import type user from '../i18n/zh-CN/user.json';
import type chat from '../i18n/zh-CN/chat.json';
import type login from '../i18n/zh-CN/login.json';
import type account_model from '../i18n/zh-CN/account_model.json';
import type dashboard_mcp from '../i18n/zh-CN/dashboard_mcp.json';
export interface I18nNamespaces {
common: typeof common;