Merge pull request #27567 from overleaf/mj-ensure-theme-exists

[web] Ensure editor theme exists before loading it

GitOrigin-RevId: 771aafeda2d7dd3aae9656cdfbad75996a523ac8
This commit is contained in:
Mathias Jakobsen
2025-08-04 09:29:01 +01:00
committed by Copybot
parent 0c76afff76
commit 8fd7d2f69e

View File

@@ -6,6 +6,7 @@ import classNames from 'classnames'
import { FontFamily, LineHeight, userStyles } from '@/shared/utils/styles'
import { ActiveOverallTheme } from '@/shared/hooks/use-active-overall-theme'
import { ThemeCache } from '../utils/theme-cache'
import getMeta from '@/utils/meta'
const optionsThemeConf = new Compartment()
const selectedThemeConf = new Compartment()
@@ -277,6 +278,14 @@ const loadSelectedTheme = async (editorTheme: string) => {
}
if (!themeCache.has(editorTheme)) {
const themes = getMeta('ol-editorThemes') || []
const legacyThemes = getMeta('ol-legacyEditorThemes') || []
const themeExists =
themes.includes(editorTheme) || legacyThemes.includes(editorTheme)
if (!themeExists) {
editorTheme = 'textmate' // fallback to default if the theme is not found
}
const { theme, highlightStyle, dark } = await import(
/* webpackChunkName: "cm6-theme" */ `../themes/cm6/${editorTheme}.json`
)