From 77d83a2fdc6e30311527cba8d72db60b98ca6ccf Mon Sep 17 00:00:00 2001 From: catloversg <152669316+catloversg@users.noreply.github.com> Date: Mon, 16 Feb 2026 01:56:01 +0700 Subject: [PATCH] UI: Add option to disable minimap in script editor (#2504) --- src/ScriptEditor/ui/Options.ts | 2 ++ src/ScriptEditor/ui/OptionsModal.tsx | 8 ++++++++ src/ScriptEditor/ui/ScriptEditorContext.tsx | 2 ++ src/Settings/Settings.ts | 4 +++- 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/ScriptEditor/ui/Options.ts b/src/ScriptEditor/ui/Options.ts index f2a430776..59a2e8351 100644 --- a/src/ScriptEditor/ui/Options.ts +++ b/src/ScriptEditor/ui/Options.ts @@ -5,6 +5,7 @@ export type WordWrapOptions = "on" | "off" | "bounded" | "wordWrapColumn"; export type CursorStyle = editor.IEditorOptions["cursorStyle"]; export type CursorBlinking = editor.IEditorOptions["cursorBlinking"]; export type StickyScroll = editor.IEditorOptions["stickyScroll"]; +export type Minimap = editor.IEditorOptions["minimap"]; export interface Options { theme: string; @@ -19,4 +20,5 @@ export interface Options { cursorBlinking: CursorBlinking; beautifyOnSave: boolean; stickyScroll: StickyScroll; + minimap: Minimap; } diff --git a/src/ScriptEditor/ui/OptionsModal.tsx b/src/ScriptEditor/ui/OptionsModal.tsx index 0851fd5c5..f0eb8aecb 100644 --- a/src/ScriptEditor/ui/OptionsModal.tsx +++ b/src/ScriptEditor/ui/OptionsModal.tsx @@ -158,6 +158,14 @@ export function OptionsModal(props: OptionsModalProps): ReactElement { checked={props.options.stickyScroll?.enabled} /> + +
+ Enable Minimap: + props.onOptionChange("minimap", { enabled: e.target.checked })} + checked={props.options.minimap?.enabled} + /> +
); } diff --git a/src/ScriptEditor/ui/ScriptEditorContext.tsx b/src/ScriptEditor/ui/ScriptEditorContext.tsx index aa915eb01..4b2a538f6 100644 --- a/src/ScriptEditor/ui/ScriptEditorContext.tsx +++ b/src/ScriptEditor/ui/ScriptEditorContext.tsx @@ -93,6 +93,7 @@ export function ScriptEditorContextProvider({ children }: { children: React.Reac cursorBlinking: Settings.MonacoCursorBlinking, beautifyOnSave: Settings.MonacoBeautifyOnSave, stickyScroll: Settings.MonacoStickyScroll, + minimap: Settings.MonacoMinimap, }); function saveOptions(options: Options) { @@ -109,6 +110,7 @@ export function ScriptEditorContextProvider({ children }: { children: React.Reac Settings.MonacoWordWrap = options.wordWrap; Settings.MonacoBeautifyOnSave = options.beautifyOnSave; Settings.MonacoStickyScroll = options.stickyScroll; + Settings.MonacoMinimap = options.minimap; } return ( diff --git a/src/Settings/Settings.ts b/src/Settings/Settings.ts index 8f4673e34..8b7cd621d 100644 --- a/src/Settings/Settings.ts +++ b/src/Settings/Settings.ts @@ -1,7 +1,7 @@ import { OwnedAugmentationsOrderSetting, PurchaseAugmentationsOrderSetting } from "./SettingEnums"; import { defaultTheme } from "../Themes/Themes"; import { defaultStyles } from "../Themes/Styles"; -import { CursorStyle, CursorBlinking, WordWrapOptions, StickyScroll } from "../ScriptEditor/ui/Options"; +import type { CursorStyle, CursorBlinking, WordWrapOptions, StickyScroll, Minimap } from "../ScriptEditor/ui/Options"; import { defaultMonacoTheme } from "../ScriptEditor/ui/themes"; import { assertObject } from "../utils/TypeAssertion"; import type { Result } from "@nsdefs"; @@ -186,6 +186,8 @@ export const Settings = { MonacoCursorBlinking: "blink" as CursorBlinking, /** Toggle use of Sticky Scroll in the Script Editor */ MonacoStickyScroll: { enabled: false } as StickyScroll, + /** Whether to show minimap in the script editor */ + MonacoMinimap: { enabled: true } as Minimap, /** Whether to hide trailing zeroes on fractional part of decimal */ hideTrailingDecimalZeros: false, /** Whether to hide thousands separators. */