mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-28 21:42:27 +08:00
fix: merge main branch error
This commit is contained in:
parent
3cf8801572
commit
4512f65b2f
@ -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'
|
||||
|
||||
|
||||
@ -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 />} />
|
||||
|
||||
@ -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": "可视化"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ const persistedReducer = persistReducer(
|
||||
{
|
||||
key: 'cherry-studio',
|
||||
storage,
|
||||
version: 125,
|
||||
version: 126,
|
||||
blacklist: ['runtime', 'messages', 'messageBlocks', 'tabs'],
|
||||
migrate
|
||||
},
|
||||
|
||||
@ -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)) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user