fix: merge main branch error

This commit is contained in:
自由的世界人 2025-07-31 19:15:24 +08:00
parent 3cf8801572
commit 4512f65b2f
6 changed files with 47 additions and 14 deletions

View File

@ -2,6 +2,7 @@ import '@renderer/databases'
import { loggerService } from '@logger'
import store, { persistor } from '@renderer/store'
import React from 'react'
import { Provider } from 'react-redux'
import { PersistGate } from 'redux-persist/integration/react'

View File

@ -13,6 +13,7 @@ import HomePage from './pages/home/HomePage'
import KnowledgePage from './pages/knowledge/KnowledgePage'
import LaunchpadPage from './pages/launchpad/LaunchpadPage'
import MinAppsPage from './pages/minapps/MinAppsPage'
import NotesPage from './pages/notes/NotesPage'
import PaintingsRoutePage from './pages/paintings/PaintingsRoutePage'
import SettingsPage from './pages/settings/SettingsPage'
import TranslatePage from './pages/translate/TranslatePage'
@ -28,6 +29,7 @@ const Router: FC = () => {
<Route path="/paintings/*" element={<PaintingsRoutePage />} />
<Route path="/translate" element={<TranslatePage />} />
<Route path="/files" element={<FilesPage />} />
<Route path="/notes" element={<NotesPage />} />
<Route path="/knowledge" element={<KnowledgePage />} />
<Route path="/apps" element={<MinAppsPage />} />
<Route path="/settings/*" element={<SettingsPage />} />

View File

@ -553,6 +553,7 @@
"label": "导出为 Markdown",
"reason": "导出为 Markdown (包含思考)"
},
"notes": "导出到笔记",
"notion": "导出到 Notion",
"obsidian": "导出到 Obsidian",
"obsidian_atributes": "配置笔记属性",
@ -1192,6 +1193,9 @@
"specified": "导出 Markdown 文件失败"
}
},
"notes": {
"export": "导出笔记失败"
},
"notion": {
"export": "导出 Notion 错误,请检查连接状态并对照文档检查配置",
"no_api_key": "未配置 Notion API Key 或 Notion Database ID"
@ -1284,6 +1288,9 @@
"specified": "成功导出 Markdown 文件"
}
},
"notes": {
"export": "成功导出到笔记"
},
"notion": {
"export": "成功导出到 Notion"
},
@ -1463,6 +1470,25 @@
"hide_sidebar": "隐藏侧边栏",
"show_sidebar": "显示侧边栏"
},
"notes": {
"title": "笔记",
"empty": "暂无笔记",
"new_folder": "新建文件夹",
"new_note": "新建笔记",
"untitled_note": "无标题笔记",
"untitled_folder": "新文件夹",
"rename": "重命名",
"delete": "删除",
"star": "收藏",
"unstar": "取消收藏",
"expand": "展开",
"collapse": "收起",
"delete_confirm": "确定要删除这个{{type}}吗?",
"delete_folder_confirm": "确定要删除文件夹 \"{{name}}\" 及其所有内容吗?",
"delete_note_confirm": "确定要删除笔记 \"{{name}}\" 吗?",
"folder": "文件夹",
"content_placeholder": "请输入笔记内容..."
},
"notification": {
"assistant": "助手响应",
"knowledge": {
@ -2030,6 +2056,7 @@
"joplin": "导出到 Joplin",
"markdown": "导出为 Markdown",
"markdown_reason": "导出为 Markdown包含思考",
"notes": "导出到笔记",
"notion": "导出到 Notion",
"obsidian": "导出到 Obsidian",
"plain_text": "复制为纯文本",
@ -3539,4 +3566,4 @@
"show_window": "显示窗口",
"visualization": "可视化"
}
}
}

View File

@ -1,5 +1,6 @@
import 'vditor/dist/index.css'
import { loggerService } from '@logger'
import Scrollbar from '@renderer/components/Scrollbar'
import { useTheme } from '@renderer/context/ThemeProvider'
import { useSettings } from '@renderer/hooks/useSettings'
@ -16,6 +17,8 @@ import Vditor from 'vditor'
import NotesSidebar from './NotesSidebar'
import { NotesService } from './utils/NotesService'
const logger = loggerService.withContext('NotesPage')
const NotesPage: FC = () => {
const editorRef = useRef<HTMLDivElement>(null)
const [vditor, setVditor] = useState<Vditor | null>(null)
@ -51,7 +54,7 @@ const NotesPage: FC = () => {
await NotesService.updateNote(activeNode, content)
}
} catch (error) {
console.error('Failed to save note:', error)
logger.error('Failed to save note:', error as Error)
}
},
[activeNodeId, findNodeById, notesTree]
@ -63,7 +66,7 @@ const NotesPage: FC = () => {
const tree = await NotesService.getNotesTree()
setNotesTree(tree)
} catch (error) {
console.error('Failed to load notes tree:', error)
logger.error('Failed to load notes tree:', error as Error)
}
}
@ -120,7 +123,7 @@ const NotesPage: FC = () => {
editor.setValue(content)
}
} catch (error) {
console.error('Failed to load note content after editor init:', error)
logger.error('Failed to load note content after editor init:', error as Error)
}
}
},
@ -163,7 +166,7 @@ const NotesPage: FC = () => {
const updatedTree = await NotesService.getNotesTree()
setNotesTree(updatedTree)
} catch (error) {
console.error('Failed to create folder:', error)
logger.error('Failed to create folder:', error as Error)
} finally {
setIsLoading(false)
}
@ -186,7 +189,7 @@ const NotesPage: FC = () => {
// 自动选择新创建的笔记
setActiveNodeId(newNote.id)
} catch (error) {
console.error('Failed to create note:', error)
logger.error('Failed to create note:', error as Error)
} finally {
setIsLoading(false)
}
@ -217,7 +220,7 @@ const NotesPage: FC = () => {
vditor.setValue(content)
}
} catch (error) {
console.error('Failed to load note:', error)
logger.error('Failed to load note:', error as Error)
} finally {
setIsLoading(false)
}
@ -244,7 +247,7 @@ const NotesPage: FC = () => {
}
}
} catch (error) {
console.error('Failed to delete node:', error)
logger.error('Failed to delete node:', error as Error)
} finally {
setIsLoading(false)
}
@ -258,7 +261,7 @@ const NotesPage: FC = () => {
const updatedTree = await NotesService.getNotesTree()
setNotesTree(updatedTree)
} catch (error) {
console.error('Failed to rename node:', error)
logger.error('Failed to rename node:', error as Error)
} finally {
setIsLoading(false)
}
@ -271,7 +274,7 @@ const NotesPage: FC = () => {
const updatedTree = await NotesService.getNotesTree()
setNotesTree(updatedTree)
} catch (error) {
console.error('Failed to toggle starred:', error)
logger.error('Failed to toggle starred:', error as Error)
}
}
@ -282,7 +285,7 @@ const NotesPage: FC = () => {
const updatedTree = await NotesService.getNotesTree()
setNotesTree(updatedTree)
} catch (error) {
console.error('Failed to toggle expanded:', error)
logger.error('Failed to toggle expanded:', error as Error)
}
}
@ -294,7 +297,7 @@ const NotesPage: FC = () => {
const updatedTree = await NotesService.getNotesTree()
setNotesTree(updatedTree)
} catch (error) {
console.error('Failed to move node:', error)
logger.error('Failed to move node:', error as Error)
} finally {
setIsLoading(false)
}

View File

@ -60,7 +60,7 @@ const persistedReducer = persistReducer(
{
key: 'cherry-studio',
storage,
version: 125,
version: 126,
blacklist: ['runtime', 'messages', 'messageBlocks', 'tabs'],
migrate
},

View File

@ -1937,7 +1937,7 @@ const migrateConfig = {
return state
}
},
'122': (state: RootState) => {
'126': (state: RootState) => {
if (state.settings && state.settings.sidebarIcons) {
// Check if 'notes' is not already in visible icons
if (!state.settings.sidebarIcons.visible.includes('notes' as any)) {