From a5fc436e588f44ed73e9d6c3808d1e1a319e4ae6 Mon Sep 17 00:00:00 2001 From: Maxim Givanyan Date: Wed, 7 Feb 2024 12:23:09 +0300 Subject: [PATCH] chore: refactored api of system-theme-extractor --- .../theme/system-theme-extractor/engines/web/engine.ts | 4 ++-- .../modules/theme/system-theme-extractor/interface.ts | 6 +++--- .../super/i-static-page/modules/theme/theme-manager.ts | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/components/super/i-static-page/modules/theme/system-theme-extractor/engines/web/engine.ts b/src/components/super/i-static-page/modules/theme/system-theme-extractor/engines/web/engine.ts index a89bfb3dda..d76ffccdb6 100644 --- a/src/components/super/i-static-page/modules/theme/system-theme-extractor/engines/web/engine.ts +++ b/src/components/super/i-static-page/modules/theme/system-theme-extractor/engines/web/engine.ts @@ -33,7 +33,7 @@ export default class WebEngine extends Friend implements SystemThemeExtractor { } /** @inheritDoc */ - subscribe(cb: (value: string) => void): void { + onChange(cb: (value: string) => void): void { if (this.darkThemeMq != null) { return; } @@ -47,7 +47,7 @@ export default class WebEngine extends Friend implements SystemThemeExtractor { } /** @inheritDoc */ - unsubscribe(): void { + destroy(): void { if (this.darkThemeMq == null) { return; } diff --git a/src/components/super/i-static-page/modules/theme/system-theme-extractor/interface.ts b/src/components/super/i-static-page/modules/theme/system-theme-extractor/interface.ts index 5ef93334f6..ea1df74cbf 100644 --- a/src/components/super/i-static-page/modules/theme/system-theme-extractor/interface.ts +++ b/src/components/super/i-static-page/modules/theme/system-theme-extractor/interface.ts @@ -13,7 +13,7 @@ export interface SystemThemeExtractor { /** * Retrieves the current system visual appearance theme */ - getSystemTheme(): PromiseLike; + getSystemTheme(): Promise; /** * Initializes an event listener for changes in the system's visual appearance theme @@ -21,10 +21,10 @@ export interface SystemThemeExtractor { * @param cb - A callback function to be invoked when the theme changes. * It receives the color scheme identifier as a string parameter by which project theme can be selected. */ - subscribe(cb: (value: string) => void): void; + onChange(cb: (value: string) => void): void; /** * Terminates the event listener for changes in the system's visual appearance theme */ - unsubscribe(): void; + destroy(): void; } diff --git a/src/components/super/i-static-page/modules/theme/theme-manager.ts b/src/components/super/i-static-page/modules/theme/theme-manager.ts index 90a1d33dff..21adcf10a4 100644 --- a/src/components/super/i-static-page/modules/theme/theme-manager.ts +++ b/src/components/super/i-static-page/modules/theme/theme-manager.ts @@ -130,10 +130,10 @@ export default class ThemeManager extends Friend { /** * Sets the actual system theme and activates the system theme change listener */ - useSystem(): PromiseLike { + useSystem(): Promise { return this.systemThemeExtractor.getSystemTheme().then((value) => { - this.systemThemeExtractor.unsubscribe(); - this.systemThemeExtractor.subscribe( + this.systemThemeExtractor.destroy(); + this.systemThemeExtractor.onChange( (value: string) => { value = this.getThemeAlias(value); void this.changeTheme({value, isSystem: true}); @@ -173,7 +173,7 @@ export default class ThemeManager extends Friend { } if (!isSystem) { - this.systemThemeExtractor.unsubscribe(); + this.systemThemeExtractor.destroy(); } const oldValue = this.current;