diff --git a/frontend/src/components/QueryEditor.external-sql-save.test.tsx b/frontend/src/components/QueryEditor.external-sql-save.test.tsx index 99513273..0ce2a610 100644 --- a/frontend/src/components/QueryEditor.external-sql-save.test.tsx +++ b/frontend/src/components/QueryEditor.external-sql-save.test.tsx @@ -4566,7 +4566,7 @@ describe('QueryEditor external SQL save', () => { expect(initialOptions).toMatchObject({ fixedOverflowWidgets: true, find: { - addExtraSpaceOnTop: true, + addExtraSpaceOnTop: false, }, hover: { enabled: true, @@ -11272,14 +11272,13 @@ describe('QueryEditor external SQL save', () => { expect(css).toContain('body[data-ui-version="v2"] .gn-v2-query-results .query-result-tab-text {'); }); - it('keeps Monaco find widget spacing scoped to the v2 query editor shell', () => { + it('does not reserve vertical space for the Monaco find widget in the v2 query editor', () => { const source = readFileSync(new URL('./QueryEditor.tsx', import.meta.url), 'utf8'); const css = readV2ThemeCss(); - expect(source).toContain('addExtraSpaceOnTop: true'); - expect(css).toContain('body[data-ui-version="v2"] .gn-v2-query-monaco-stage:has(.monaco-editor .find-widget.visible:not(.hiddenEditor)) {'); - expect(css).toContain('padding-top: 24px;'); - expect(css).toContain('overflow: visible;'); + expect(source).not.toContain('addExtraSpaceOnTop: true'); + expect(css).not.toContain('body[data-ui-version="v2"] .gn-v2-query-monaco-stage:has(.monaco-editor .find-widget.visible:not(.hiddenEditor)) {'); + expect(css).not.toContain('padding-top: 24px;'); expect(css).not.toContain('body[data-ui-version="v2"] .gn-v2-query-monaco-stage .monaco-editor .find-widget {'); }); diff --git a/frontend/src/components/QueryEditor.i18n.test.ts b/frontend/src/components/QueryEditor.i18n.test.ts index 6637688e..87840be9 100644 --- a/frontend/src/components/QueryEditor.i18n.test.ts +++ b/frontend/src/components/QueryEditor.i18n.test.ts @@ -39,7 +39,7 @@ describe('QueryEditor i18n source guards', () => { expect(queryEditorSource).toContain('query_editor.action.find_in_editor'); expect(queryEditorSource).toContain('gonavi:find-active-query'); expect(queryEditorSource).toContain("editor.getAction?.('actions.find')"); - expect(queryEditorSource).toContain('addExtraSpaceOnTop: true'); + expect(queryEditorSource).toContain('addExtraSpaceOnTop: false'); }); it('uses a localized wrapper for save query failures', () => { diff --git a/frontend/src/components/QueryEditor.tsx b/frontend/src/components/QueryEditor.tsx index 69b2ac25..75e139fb 100644 --- a/frontend/src/components/QueryEditor.tsx +++ b/frontend/src/components/QueryEditor.tsx @@ -213,9 +213,6 @@ export { const buildQueryEditorMonacoActionLabel = (key: string): string => `GoNavi: ${translate(key)}`; -const QUERY_EDITOR_MONACO_FIND_OPTIONS = { - addExtraSpaceOnTop: true, -} as const; const QUERY_EDITOR_NATIVE_SELECT_CURRENT_LINE_EVENT = 'gonavi:native-select-current-line'; const QUERY_EDITOR_MAC_FIND_WITH_SELECTION_COMBO = 'Meta+E'; const QUERY_EDITOR_MAC_FIND_WITH_SELECTION_GUARD_ACTION_ID = 'gonavi.suppressMacFindWithSelection'; @@ -320,7 +317,10 @@ const buildQueryEditorMonacoOptions = (isObjectEditQueryTab: boolean, wordWrapEn automaticLayout: true, fixedOverflowWidgets: true, wordWrap: wordWrapEnabled ? ('on' as const) : ('off' as const), - find: QUERY_EDITOR_MONACO_FIND_OPTIONS, + // Keep the find widget as an overlay; Monaco's default top spacer creates a blank band. + find: { + addExtraSpaceOnTop: false, + }, hover: { enabled: true, delay: QUERY_EDITOR_HOVER_DELAY_MS, diff --git a/frontend/src/styles/v2-theme-workbench.css b/frontend/src/styles/v2-theme-workbench.css index 1a478cdc..08e6f04c 100644 --- a/frontend/src/styles/v2-theme-workbench.css +++ b/frontend/src/styles/v2-theme-workbench.css @@ -314,11 +314,6 @@ body[data-ui-version="v2"] .gn-v2-query-monaco-stage { background: var(--gn-bg-panel); } -body[data-ui-version="v2"] .gn-v2-query-monaco-stage:has(.monaco-editor .find-widget.visible:not(.hiddenEditor)) { - padding-top: 24px; - overflow: visible; -} - body[data-ui-version="v2"] .gn-v2-query-monaco-shell { min-height: 0; overflow: visible;