From c77ba63074e2fb4e56eae3b535ca124357ecad87 Mon Sep 17 00:00:00 2001 From: Acbox Date: Tue, 31 Mar 2026 17:20:42 +0800 Subject: [PATCH] fix(web): resolve Monaco editor theme conflicts with markstream-vue Use stream-monaco's useMonaco composable instead of raw monaco-editor to share the same theme registration system with markstream-vue. Pass isDark prop to MarkdownRender to follow app dark mode. --- .../src/components/monaco-editor/index.vue | 74 +++++++++---------- .../pages/home/components/message-item.vue | 5 ++ 2 files changed, 40 insertions(+), 39 deletions(-) diff --git a/apps/web/src/components/monaco-editor/index.vue b/apps/web/src/components/monaco-editor/index.vue index cf5531d5..5200aace 100644 --- a/apps/web/src/components/monaco-editor/index.vue +++ b/apps/web/src/components/monaco-editor/index.vue @@ -1,18 +1,9 @@ diff --git a/apps/web/src/pages/home/components/message-item.vue b/apps/web/src/pages/home/components/message-item.vue index 9de38c0b..93ba8fce 100644 --- a/apps/web/src/pages/home/components/message-item.vue +++ b/apps/web/src/pages/home/components/message-item.vue @@ -131,6 +131,7 @@ > @@ -170,6 +171,7 @@ import { LoaderCircle } from 'lucide-vue-next' import { formatRelativeTime, formatDateTime } from '@/utils/date-time' import { Avatar, AvatarImage, AvatarFallback } from '@memohai/ui' import MarkdownRender, { enableKatex, enableMermaid } from 'markstream-vue' +import { useSettingsStore } from '@/store/settings' import ThinkingBlock from './thinking-block.vue' import ToolCallBlock from './tool-call-block.vue' import AttachmentBlock from './attachment-block.vue' @@ -188,6 +190,9 @@ import type { enableKatex() enableMermaid() +const settingsStore = useSettingsStore() +const isDark = computed(() => settingsStore.theme === 'dark') + const props = defineProps<{ message: ChatMessage onOpenMedia?: (src: string) => void