mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-25 19:30:17 +08:00
refactor: replace message with window.message
This commit is contained in:
parent
ff72c007c0
commit
f01b7075fb
@ -46,7 +46,7 @@ export function LocalBackupManager({ visible, onClose, localBackupDir, restoreMe
|
||||
total: files.length
|
||||
}))
|
||||
} catch (error: any) {
|
||||
message.error(`${t('settings.data.local.backup.manager.fetch.error')}: ${error.message}`)
|
||||
window.message.error(`${t('settings.data.local.backup.manager.fetch.error')}: ${error.message}`)
|
||||
} finally {
|
||||
setLoading(false)
|
||||
}
|
||||
@ -91,13 +91,13 @@ export function LocalBackupManager({ visible, onClose, localBackupDir, restoreMe
|
||||
for (const key of selectedRowKeys) {
|
||||
await window.api.backup.deleteLocalBackupFile(key.toString(), localBackupDir)
|
||||
}
|
||||
message.success(
|
||||
window.message.success(
|
||||
t('settings.data.local.backup.manager.delete.success.multiple', { count: selectedRowKeys.length })
|
||||
)
|
||||
setSelectedRowKeys([])
|
||||
await fetchBackupFiles()
|
||||
} catch (error: any) {
|
||||
message.error(`${t('settings.data.local.backup.manager.delete.error')}: ${error.message}`)
|
||||
window.message.error(`${t('settings.data.local.backup.manager.delete.error')}: ${error.message}`)
|
||||
} finally {
|
||||
setDeleting(false)
|
||||
}
|
||||
@ -124,7 +124,7 @@ export function LocalBackupManager({ visible, onClose, localBackupDir, restoreMe
|
||||
message.success(t('settings.data.local.backup.manager.delete.success.single'))
|
||||
await fetchBackupFiles()
|
||||
} catch (error: any) {
|
||||
message.error(`${t('settings.data.local.backup.manager.delete.error')}: ${error.message}`)
|
||||
window.message.error(`${t('settings.data.local.backup.manager.delete.error')}: ${error.message}`)
|
||||
} finally {
|
||||
setDeleting(false)
|
||||
}
|
||||
@ -151,7 +151,7 @@ export function LocalBackupManager({ visible, onClose, localBackupDir, restoreMe
|
||||
message.success(t('settings.data.local.backup.manager.restore.success'))
|
||||
onClose() // Close the modal
|
||||
} catch (error: any) {
|
||||
message.error(`${t('settings.data.local.backup.manager.restore.error')}: ${error.message}`)
|
||||
window.message.error(`${t('settings.data.local.backup.manager.restore.error')}: ${error.message}`)
|
||||
} finally {
|
||||
setRestoring(false)
|
||||
}
|
||||
|
||||
@ -49,7 +49,7 @@ export function WebdavBackupManager({ visible, onClose, webdavConfig, restoreMet
|
||||
|
||||
const fetchBackupFiles = useCallback(async () => {
|
||||
if (!webdavHost) {
|
||||
message.error(t('message.error.invalid.webdav'))
|
||||
window.message.error(t('message.error.invalid.webdav'))
|
||||
return
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ export function WebdavBackupManager({ visible, onClose, webdavConfig, restoreMet
|
||||
total: files.length
|
||||
}))
|
||||
} catch (error: any) {
|
||||
message.error(`${t('settings.data.webdav.backup.manager.fetch.error')}: ${error.message}`)
|
||||
window.message.error(`${t('settings.data.webdav.backup.manager.fetch.error')}: ${error.message}`)
|
||||
} finally {
|
||||
setLoading(false)
|
||||
}
|
||||
@ -95,7 +95,7 @@ export function WebdavBackupManager({ visible, onClose, webdavConfig, restoreMet
|
||||
}
|
||||
|
||||
if (!webdavHost) {
|
||||
message.error(t('message.error.invalid.webdav'))
|
||||
window.message.error(t('message.error.invalid.webdav'))
|
||||
return
|
||||
}
|
||||
|
||||
@ -118,13 +118,13 @@ export function WebdavBackupManager({ visible, onClose, webdavConfig, restoreMet
|
||||
webdavPath
|
||||
} as WebdavConfig)
|
||||
}
|
||||
message.success(
|
||||
window.message.success(
|
||||
t('settings.data.webdav.backup.manager.delete.success.multiple', { count: selectedRowKeys.length })
|
||||
)
|
||||
setSelectedRowKeys([])
|
||||
await fetchBackupFiles()
|
||||
} catch (error: any) {
|
||||
message.error(`${t('settings.data.webdav.backup.manager.delete.error')}: ${error.message}`)
|
||||
window.message.error(`${t('settings.data.webdav.backup.manager.delete.error')}: ${error.message}`)
|
||||
} finally {
|
||||
setDeleting(false)
|
||||
}
|
||||
@ -134,7 +134,7 @@ export function WebdavBackupManager({ visible, onClose, webdavConfig, restoreMet
|
||||
|
||||
const handleDeleteSingle = async (fileName: string) => {
|
||||
if (!webdavHost) {
|
||||
message.error(t('message.error.invalid.webdav'))
|
||||
window.message.error(t('message.error.invalid.webdav'))
|
||||
return
|
||||
}
|
||||
|
||||
@ -154,10 +154,10 @@ export function WebdavBackupManager({ visible, onClose, webdavConfig, restoreMet
|
||||
webdavPass,
|
||||
webdavPath
|
||||
} as WebdavConfig)
|
||||
message.success(t('settings.data.webdav.backup.manager.delete.success.single'))
|
||||
window.message.success(t('settings.data.webdav.backup.manager.delete.success.single'))
|
||||
await fetchBackupFiles()
|
||||
} catch (error: any) {
|
||||
message.error(`${t('settings.data.webdav.backup.manager.delete.error')}: ${error.message}`)
|
||||
window.message.error(`${t('settings.data.webdav.backup.manager.delete.error')}: ${error.message}`)
|
||||
} finally {
|
||||
setDeleting(false)
|
||||
}
|
||||
@ -167,7 +167,7 @@ export function WebdavBackupManager({ visible, onClose, webdavConfig, restoreMet
|
||||
|
||||
const handleRestore = async (fileName: string) => {
|
||||
if (!webdavHost) {
|
||||
message.error(t('message.error.invalid.webdav'))
|
||||
window.message.error(t('message.error.invalid.webdav'))
|
||||
return
|
||||
}
|
||||
|
||||
@ -182,10 +182,10 @@ export function WebdavBackupManager({ visible, onClose, webdavConfig, restoreMet
|
||||
setRestoring(true)
|
||||
try {
|
||||
await (restoreMethod || restoreFromWebdav)(fileName)
|
||||
message.success(t('settings.data.webdav.backup.manager.restore.success'))
|
||||
window.message.success(t('settings.data.webdav.backup.manager.restore.success'))
|
||||
onClose() // 关闭模态框
|
||||
} catch (error: any) {
|
||||
message.error(`${t('settings.data.webdav.backup.manager.restore.error')}: ${error.message}`)
|
||||
window.message.error(`${t('settings.data.webdav.backup.manager.restore.error')}: ${error.message}`)
|
||||
} finally {
|
||||
setRestoring(false)
|
||||
}
|
||||
|
||||
@ -4,7 +4,7 @@ import { useMinappPopup } from '@renderer/hooks/useMinappPopup'
|
||||
import { useMinapps } from '@renderer/hooks/useMinapps'
|
||||
import { MinAppType } from '@renderer/types'
|
||||
import type { MenuProps } from 'antd'
|
||||
import { Dropdown, message } from 'antd'
|
||||
import { Dropdown } from 'antd'
|
||||
import { FC } from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import styled from 'styled-components'
|
||||
@ -61,14 +61,14 @@ const App: FC<Props> = ({ app, onClick, size = 60, isLast }) => {
|
||||
const customApps = JSON.parse(content)
|
||||
const updatedApps = customApps.filter((customApp: MinAppType) => customApp.id !== app.id)
|
||||
await window.api.file.writeWithId('custom-minapps.json', JSON.stringify(updatedApps, null, 2))
|
||||
message.success(t('settings.miniapps.custom.remove_success'))
|
||||
window.message.success(t('settings.miniapps.custom.remove_success'))
|
||||
const reloadedApps = [...ORIGIN_DEFAULT_MIN_APPS, ...(await loadCustomMiniApp())]
|
||||
updateDefaultMinApps(reloadedApps)
|
||||
updateMinapps(minapps.filter((item) => item.id !== app.id))
|
||||
updatePinnedMinapps(pinned.filter((item) => item.id !== app.id))
|
||||
updateDisabledMinapps(disabled.filter((item) => item.id !== app.id))
|
||||
} catch (error) {
|
||||
message.error(t('settings.miniapps.custom.remove_error'))
|
||||
window.message.error(t('settings.miniapps.custom.remove_error'))
|
||||
console.error('Failed to remove custom mini app:', error)
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@ import { PlusOutlined, UploadOutlined } from '@ant-design/icons'
|
||||
import { loadCustomMiniApp, ORIGIN_DEFAULT_MIN_APPS, updateDefaultMinApps } from '@renderer/config/minapps'
|
||||
import { useMinapps } from '@renderer/hooks/useMinapps'
|
||||
import { MinAppType } from '@renderer/types'
|
||||
import { Button, Form, Input, message, Modal, Radio, Upload } from 'antd'
|
||||
import { Button, Form, Input, Modal, Radio, Upload } from 'antd'
|
||||
import type { UploadFile } from 'antd/es/upload/interface'
|
||||
import { FC, useState } from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
@ -33,11 +33,11 @@ const NewAppButton: FC<Props> = ({ size = 60 }) => {
|
||||
|
||||
// Check for duplicate ID
|
||||
if (customApps.some((app: MinAppType) => app.id === values.id)) {
|
||||
message.error(t('settings.miniapps.custom.duplicate_ids', { ids: values.id }))
|
||||
window.message.error(t('settings.miniapps.custom.duplicate_ids', { ids: values.id }))
|
||||
return
|
||||
}
|
||||
if (ORIGIN_DEFAULT_MIN_APPS.some((app: MinAppType) => app.id === values.id)) {
|
||||
message.error(t('settings.miniapps.custom.conflicting_ids', { ids: values.id }))
|
||||
window.message.error(t('settings.miniapps.custom.conflicting_ids', { ids: values.id }))
|
||||
return
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@ const NewAppButton: FC<Props> = ({ size = 60 }) => {
|
||||
}
|
||||
customApps.push(newApp)
|
||||
await window.api.file.writeWithId('custom-minapps.json', JSON.stringify(customApps, null, 2))
|
||||
message.success(t('settings.miniapps.custom.save_success'))
|
||||
window.message.success(t('settings.miniapps.custom.save_success'))
|
||||
setIsModalVisible(false)
|
||||
form.resetFields()
|
||||
setFileList([])
|
||||
@ -59,7 +59,7 @@ const NewAppButton: FC<Props> = ({ size = 60 }) => {
|
||||
updateDefaultMinApps(reloadedApps)
|
||||
updateMinapps([...minapps, newApp])
|
||||
} catch (error) {
|
||||
message.error(t('settings.miniapps.custom.save_error'))
|
||||
window.message.error(t('settings.miniapps.custom.save_error'))
|
||||
console.error('Failed to save custom mini app:', error)
|
||||
}
|
||||
}
|
||||
@ -74,14 +74,14 @@ const NewAppButton: FC<Props> = ({ size = 60 }) => {
|
||||
reader.onload = (event) => {
|
||||
const base64Data = event.target?.result
|
||||
if (typeof base64Data === 'string') {
|
||||
message.success(t('settings.miniapps.custom.logo_upload_success'))
|
||||
window.message.success(t('settings.miniapps.custom.logo_upload_success'))
|
||||
form.setFieldValue('logo', base64Data)
|
||||
}
|
||||
}
|
||||
reader.readAsDataURL(file)
|
||||
} catch (error) {
|
||||
console.error('Failed to read file:', error)
|
||||
message.error(t('settings.miniapps.custom.logo_upload_error'))
|
||||
window.message.error(t('settings.miniapps.custom.logo_upload_error'))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -125,7 +125,7 @@ const CopyButton: React.FC<{ content: string }> = ({ content }) => {
|
||||
.writeText(content)
|
||||
.then(() => {
|
||||
setCopied(true)
|
||||
message.success(t('common.copied'))
|
||||
window.message.success(t('common.copied'))
|
||||
setTimeout(() => setCopied(false), 2000)
|
||||
})
|
||||
.catch(() => {
|
||||
|
||||
@ -114,7 +114,7 @@ const MessageTools: FC<Props> = ({ block }) => {
|
||||
try {
|
||||
const success = await window.api.mcp.abortTool(toolResponse.id)
|
||||
if (success) {
|
||||
message.success({ content: t('message.tools.aborted'), key: 'abort-tool' })
|
||||
window.message.success({ content: t('message.tools.aborted'), key: 'abort-tool' })
|
||||
} else {
|
||||
message.error({ content: t('message.tools.abort_failed'), key: 'abort-tool' })
|
||||
}
|
||||
@ -152,7 +152,7 @@ const MessageTools: FC<Props> = ({ block }) => {
|
||||
// Also confirm the current tool
|
||||
confirmToolAction(id)
|
||||
|
||||
message.success({
|
||||
window.message.success({
|
||||
content: t('message.tools.autoApproveEnabled', 'Auto-approve enabled for this tool'),
|
||||
key: 'auto-approve'
|
||||
})
|
||||
|
||||
@ -80,7 +80,7 @@ const PopupContainer: React.FC<Props> = ({ base, resolve }) => {
|
||||
message.success(t('message.copied'))
|
||||
} catch (error) {
|
||||
console.error('Failed to copy text:', error)
|
||||
message.error(t('message.copyError') || 'Failed to copy text')
|
||||
window.message.error(t('message.copyError') || 'Failed to copy text')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user