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',