diff --git a/eslint.config.mjs b/eslint.config.mjs index 544f79ba3..7a443ed68 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -142,19 +142,19 @@ export default defineConfig([ files: ['**/*.{ts,tsx,js,jsx}'], ignores: ['src/renderer/src/windows/dataRefactorTest/**/*.{ts,tsx}'], rules: { - 'no-restricted-imports': [ - 'error', - { - paths: [ - { - name: 'antd', - importNames: ['Flex', 'Switch', 'message', 'Button', 'Tooltip'], - message: - '❌ Do not import this component from antd. Use our custom components instead: import { ... } from "@cherrystudio/ui"' - } - ] - } - ] + // 'no-restricted-imports': [ + // 'error', + // { + // paths: [ + // { + // name: 'antd', + // importNames: ['Flex', 'Switch', 'message', 'Button', 'Tooltip'], + // message: + // '❌ Do not import this component from antd. Use our custom components instead: import { ... } from "@cherrystudio/ui"' + // } + // ] + // } + // ] } }, ]) diff --git a/src/renderer/src/pages/home/Inputbar/AgentSessionInputbar.tsx b/src/renderer/src/pages/home/Inputbar/AgentSessionInputbar.tsx index 415735930..7d650919c 100644 --- a/src/renderer/src/pages/home/Inputbar/AgentSessionInputbar.tsx +++ b/src/renderer/src/pages/home/Inputbar/AgentSessionInputbar.tsx @@ -318,18 +318,19 @@ const AgentSessionInputbar: FC = ({ agentId, sessionId }) => { - - + icon={} + /> {canAbort && ( - - - + } + /> )} diff --git a/src/renderer/src/pages/home/Tabs/AssistantsTab.tsx b/src/renderer/src/pages/home/Tabs/AssistantsTab.tsx index e39fab891..1a369f477 100644 --- a/src/renderer/src/pages/home/Tabs/AssistantsTab.tsx +++ b/src/renderer/src/pages/home/Tabs/AssistantsTab.tsx @@ -7,7 +7,7 @@ import { useRuntime } from '@renderer/hooks/useRuntime' import { useAssistantsTabSortType } from '@renderer/hooks/useStore' import { useTags } from '@renderer/hooks/useTags' import type { Assistant, Topic } from '@renderer/types' -import { AssistantTabSortType } from '@shared/data/preference/preferenceTypes' +import type { AssistantTabSortType } from '@shared/data/preference/preferenceTypes' import type { FC } from 'react' import { useCallback, useRef, useState } from 'react' import styled from 'styled-components' diff --git a/src/renderer/src/pages/home/Tabs/components/SessionItem.tsx b/src/renderer/src/pages/home/Tabs/components/SessionItem.tsx index c7e2e8994..f18a4aad3 100644 --- a/src/renderer/src/pages/home/Tabs/components/SessionItem.tsx +++ b/src/renderer/src/pages/home/Tabs/components/SessionItem.tsx @@ -1,3 +1,4 @@ +import { Tooltip } from '@cherrystudio/ui' import { usePreference } from '@data/hooks/usePreference' import { DeleteIcon, EditIcon } from '@renderer/components/Icons' import { isMac } from '@renderer/config/constant' @@ -14,7 +15,7 @@ import type { AgentSessionEntity, Assistant } from '@renderer/types' import { classNames } from '@renderer/utils' import { buildAgentSessionTopicId } from '@renderer/utils/agentSession' import type { MenuProps } from 'antd' -import { Dropdown, Tooltip } from 'antd' +import { Dropdown } from 'antd' import { MenuIcon, Sparkles, XIcon } from 'lucide-react' import type { FC } from 'react' import React, { memo, startTransition, useDeferredValue, useEffect, useMemo, useState } from 'react' diff --git a/src/renderer/src/pages/home/Tabs/components/Topics.tsx b/src/renderer/src/pages/home/Tabs/components/Topics.tsx index 7796ef352..5420788ff 100644 --- a/src/renderer/src/pages/home/Tabs/components/Topics.tsx +++ b/src/renderer/src/pages/home/Tabs/components/Topics.tsx @@ -504,7 +504,7 @@ export const Topics: React.FC = ({ assistant: _assistant, activeTopic, se itemContainerStyle={{ paddingBottom: '8px' }} header={ <> - EventEmitter.emit(EVENT_NAMES.ADD_NEW_TOPIC)}> + EventEmitter.emit(EVENT_NAMES.ADD_NEW_TOPIC)} className=""> {t('chat.add.topic.title')}
diff --git a/src/renderer/src/pages/home/Tabs/components/UnifiedAddButton.tsx b/src/renderer/src/pages/home/Tabs/components/UnifiedAddButton.tsx index 967d62f83..dad657094 100644 --- a/src/renderer/src/pages/home/Tabs/components/UnifiedAddButton.tsx +++ b/src/renderer/src/pages/home/Tabs/components/UnifiedAddButton.tsx @@ -63,7 +63,9 @@ const UnifiedAddButton: FC = ({ onCreateAssistant, setAct return (
- {t('chat.add.assistant.title')} + + {t('chat.add.assistant.title')} +
) } diff --git a/src/renderer/src/pages/home/components/UpdateAppButton.tsx b/src/renderer/src/pages/home/components/UpdateAppButton.tsx index 72c46c9fa..ea7574e37 100644 --- a/src/renderer/src/pages/home/components/UpdateAppButton.tsx +++ b/src/renderer/src/pages/home/components/UpdateAppButton.tsx @@ -1,6 +1,6 @@ import { SyncOutlined } from '@ant-design/icons' import UpdateDialogPopup from '@renderer/components/Popups/UpdateDialogPopup' -import { useRuntime } from '@renderer/hooks/useRuntime' +import { useAppUpdateState } from '@renderer/hooks/useAppUpdate' import { useSettings } from '@renderer/hooks/useSettings' import { Button } from 'antd' import type { FC } from 'react' @@ -8,20 +8,20 @@ import { useTranslation } from 'react-i18next' import styled from 'styled-components' const UpdateAppButton: FC = () => { - const { update } = useRuntime() + const { appUpdateState } = useAppUpdateState() const { autoCheckUpdate } = useSettings() const { t } = useTranslation() - if (!update) { + if (!appUpdateState) { return null } - if (!update.downloaded || !autoCheckUpdate) { + if (!appUpdateState.downloaded || !autoCheckUpdate) { return null } const handleOpenUpdateDialog = () => { - UpdateDialogPopup.show({ releaseInfo: update.info || null }) + UpdateDialogPopup.show({ releaseInfo: appUpdateState.info || null }) } return ( diff --git a/src/renderer/src/pages/minapps/components/__tests__/WebviewSearch.test.tsx b/src/renderer/src/pages/minapps/components/__tests__/WebviewSearch.test.tsx index bb074199c..4deee62ad 100644 --- a/src/renderer/src/pages/minapps/components/__tests__/WebviewSearch.test.tsx +++ b/src/renderer/src/pages/minapps/components/__tests__/WebviewSearch.test.tsx @@ -19,15 +19,6 @@ vi.mock('react-i18next', () => ({ }) })) -// mock @cherrystudio/ui Button component to handle onClick -vi.mock('@cherrystudio/ui', () => ({ - Button: ({ children, onClick, disabled, ...props }: any) => ( - - ) -})) - const createWebviewMock = () => { const listeners = new Map void>>() const findInPageMock = vi.fn() @@ -264,7 +255,7 @@ describe('WebviewSearch', () => { await user.type(input, 'Cherry') await waitFor(() => { - expect(findInPageMock).toHaveBeenCalledWith('Cherry', {}) + expect(findInPageMock).toHaveBeenCalledWith('Cherry', undefined) }) await act(async () => { @@ -316,7 +307,7 @@ describe('WebviewSearch', () => { await user.type(input, 'Cherry') await waitFor(() => { - expect(findInPageMock).toHaveBeenCalledWith('Cherry', {}) + expect(findInPageMock).toHaveBeenCalledWith('Cherry', undefined) }) findInPageMock.mockClear() diff --git a/src/renderer/src/pages/settings/AboutSettings.tsx b/src/renderer/src/pages/settings/AboutSettings.tsx index 12101a6c4..68be4fab3 100644 --- a/src/renderer/src/pages/settings/AboutSettings.tsx +++ b/src/renderer/src/pages/settings/AboutSettings.tsx @@ -12,7 +12,7 @@ import i18n from '@renderer/i18n' // import { handleSaveData } from '@renderer/store' // import { setUpdateState as setAppUpdateState } from '@renderer/store/runtime' import { runAsyncFunction } from '@renderer/utils' -import { UpgradeChannel } from '@shared/data/preference/preferenceTypes' +import { ThemeMode, UpgradeChannel } from '@shared/data/preference/preferenceTypes' import { Avatar, Progress, Radio, Row, Tag } from 'antd' import { debounce } from 'lodash' import { Bug, Building2, Github, Globe, Mail, Rss } from 'lucide-react' @@ -49,7 +49,7 @@ const AboutSettings: FC = () => { if (appUpdateState.downloaded) { // Open update dialog directly in renderer - UpdateDialogPopup.show({ releaseInfo: update.info || null }) + UpdateDialogPopup.show({ releaseInfo: appUpdateState.info || null }) return } @@ -243,7 +243,6 @@ const AboutSettings: FC = () => { {t('settings.general.test_plan.version_options')} handleTestChannelChange(value as UpgradeChannel)}> diff --git a/src/renderer/src/pages/settings/DataSettings/DataSettings.tsx b/src/renderer/src/pages/settings/DataSettings/DataSettings.tsx index 407b1c720..33b5ca69f 100644 --- a/src/renderer/src/pages/settings/DataSettings/DataSettings.tsx +++ b/src/renderer/src/pages/settings/DataSettings/DataSettings.tsx @@ -6,7 +6,7 @@ import { WifiOutlined, YuqueOutlined } from '@ant-design/icons' -import { Button, RowFlex, Switch } from '@cherrystudio/ui' +import { Button, RowFlex } from '@cherrystudio/ui' import { usePreference } from '@data/hooks/usePreference' import DividerWithText from '@renderer/components/DividerWithText' import { NutstoreIcon } from '@renderer/components/Icons/NutstoreIcons' @@ -21,7 +21,7 @@ import { reset } from '@renderer/services/BackupService' import type { AppInfo } from '@renderer/types' import { formatFileSize } from '@renderer/utils' import { occupiedDirs } from '@shared/config/constant' -import { Progress, Typography } from 'antd' +import { Progress, Switch, Typography } from 'antd' import { FileText, FolderCog, FolderInput, FolderOpen, SaveIcon, Sparkle } from 'lucide-react' import type { FC } from 'react' import { useEffect, useState } from 'react'