diff --git a/src/app/src/components/AppLayout.vue b/src/app/src/components/AppLayout.vue
index 9350f6ed..97f36984 100644
--- a/src/app/src/components/AppLayout.vue
+++ b/src/app/src/components/AppLayout.vue
@@ -49,9 +49,14 @@ function onLeave(el: Element, done: () => void) {
>
+
+
+
diff --git a/src/app/src/composables/useMonaco.ts b/src/app/src/composables/useMonaco.ts
index 6c1bbfd7..313f1df9 100644
--- a/src/app/src/composables/useMonaco.ts
+++ b/src/app/src/composables/useMonaco.ts
@@ -35,12 +35,19 @@ export function useMonaco(target: Ref, options: UseMona
const colorMode = unref(options.colorMode) || 'dark'
+ const monacoPortal = (el.getRootNode() as Document)?.getElementById('monaco-portal') || undefined
+ if (monacoPortal) {
+ monacoPortal.style.position = 'absolute'
+ monacoPortal.style.top = el.getClientRects()[0].top + 'px'
+ }
+
// Create editor instance (use the custom createEditor wrapper from setupMonaco)
editor.value = monaco.createEditor(el, {
theme: getTheme(colorMode),
lineNumbers: 'off',
readOnly: options.readOnly ?? false,
wordWrap: 'on',
+ overflowWidgetsDomNode: monacoPortal,
scrollbar: options.readOnly
? {
vertical: 'hidden',