diff --git a/apps/web/package.json b/apps/web/package.json index 700e4dc0..b9975f8f 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -6,6 +6,7 @@ "dependencies": { "@antv/x6": "3.1.8", "@codemirror/lang-markdown": "^6.5.2", + "@lezer/highlight": "^1.2.3", "@edgeever/client": "workspace:*", "@floating-ui/react-dom": "^2.1.8", "@fontsource-variable/noto-sans-sc": "^5.2.8", diff --git a/apps/web/src/components/EditorToolbar.tsx b/apps/web/src/components/EditorToolbar.tsx index 697919cb..82b2038d 100644 --- a/apps/web/src/components/EditorToolbar.tsx +++ b/apps/web/src/components/EditorToolbar.tsx @@ -35,6 +35,7 @@ import { import { CODE_BLOCK_LANGUAGES, getCodeBlockLanguageValue } from "@/lib/code-block"; import { EditorTableMenu } from "@/components/EditorTableMenu"; import { wrapIndentedParagraphInList } from "@/lib/editor-shortcuts"; +import { MARKDOWN_THEME_PREFERENCES, useMarkdownTheme } from "@/components/ThemeProvider"; const EditorToolbarButton = ({ active = false, @@ -159,6 +160,7 @@ export const EditorToolbar = ({ externalLinkActive?: boolean; }) => { const { t } = useTranslation(); + const { markdownThemePreference, setMarkdownTheme } = useMarkdownTheme(); const controlsRef = useRef(null); const [expanded, setExpanded] = useState(readEditorToolbarExpandedPreference); const [hasOverflow, setHasOverflow] = useState(false); @@ -366,7 +368,24 @@ export const EditorToolbar = ({ )} {markdownMode ? ( - {t("editorToolbar.markdownSource")} + ) : ( <>