From e7129585b12500f1e504ce931b38a7f4d2c32ada Mon Sep 17 00:00:00 2001 From: Miika Alonen Date: Sat, 16 Dec 2023 15:32:10 +0200 Subject: [PATCH] Added nextTheme() method --- src/API.ts | 15 +++++++++++++++ src/main.ts | 2 ++ 2 files changed, 17 insertions(+) diff --git a/src/API.ts b/src/API.ts index e6c7fb7..dba0115 100644 --- a/src/API.ts +++ b/src/API.ts @@ -2278,10 +2278,25 @@ export class UserAPI { console.log("Changing color scheme for: ", color_scheme) } + public themeName = (): string => { + return this.app.currentThemeName; + } + public randomTheme = (): void => { let theme_names = this.getThemes(); let selected_theme = theme_names[Math.floor(Math.random() * theme_names.length)]; this.app.readTheme(selected_theme); + this.app.api.log(selected_theme); + } + + public nextTheme = (): void => { + let theme_names = this.getThemes(); + let current_theme = this.app.api.themeName(); + let current_theme_idx = theme_names.indexOf(current_theme); + let next_theme_idx = (current_theme_idx + 1) % theme_names.length; + let next_theme = theme_names[next_theme_idx]; + this.app.readTheme(next_theme); + this.app.api.log(next_theme); } public getThemes = (): string[] => { diff --git a/src/main.ts b/src/main.ts index 8d11967..c6d234f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -71,6 +71,7 @@ export class Editor { public _mouseX: number = 0; public _mouseY: number = 0; show_error: boolean = false; + currentThemeName: string = "Everblush"; buttonElements: Record = {}; interface: ElementMap = {}; blinkTimeouts: Record = {}; @@ -611,6 +612,7 @@ export class Editor { let themes: Record = colors; let selected_theme = themes[theme_name]; if (selected_theme) { + this.currentThemeName = theme_name; this.updateInterfaceTheme(selected_theme); let codeMirrorTheme = getCodeMirrorTheme(selected_theme); // Reconfigure the view with the new theme