From 3bf77d7c3144b16d55f35998dddc0d67bb8c17b2 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Tue, 7 Jun 2022 21:38:00 +0200 Subject: ... --- .../spm/frontend/src/app/color-scheme.service.ts | 62 ---------------------- 1 file changed, 62 deletions(-) delete mode 100644 overlays/spm/frontend/src/app/color-scheme.service.ts (limited to 'overlays/spm/frontend/src/app/color-scheme.service.ts') diff --git a/overlays/spm/frontend/src/app/color-scheme.service.ts b/overlays/spm/frontend/src/app/color-scheme.service.ts deleted file mode 100644 index c56e9c23..00000000 --- a/overlays/spm/frontend/src/app/color-scheme.service.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { Injectable, Renderer2, RendererFactory2 } from '@angular/core'; -import { MediaMatcher } from '@angular/cdk/layout'; -import { LocalStorage } from 'ngx-webstorage'; - -type ColorScheme = "dark" | "light"; - -@Injectable({ - providedIn: 'root' -}) -export class ColorSchemeService { - private renderer: Renderer2; - matcher!: MediaQueryList; - - @LocalStorage('prefers-color-scheme') - public colorSchemeOverride: ColorScheme; - - public activeColorScheme: BehaviorSubject = new BehaviorSubject("light"); - - constructor(rendererFactory: RendererFactory2, - mediaMatcher: MediaMatcher - ) { - // Create new renderer from renderFactory, to make it possible to use renderer2 in a service - this.renderer = rendererFactory.createRenderer(null, null); - this.matcher = mediaMatcher.matchMedia('(prefers-color-scheme: dark)'); - - this._listener = this._listener.bind(this); - } - - init() { - this.matcher.addEventListener('change', this._listener); - this.load(); - } - - _listener(event: { matches: any; }) { - this.activeColorScheme.next(event.matches ? 'dark' : 'light'); - } - - destroy() { - this.matcher.removeEventListener('change', this._listener); - } - - _getColorScheme() { - if (this.colorSchemeOverride) { - this.colorSchemeOverride - } else { - this.matcher.matches ? 'dark' : 'light' - } - } - - load() { - this.activeColorScheme.next(this._getColorScheme()); - } - - update(scheme: ColorScheme) { - this.colorSchemeOverride = scheme; - this.activeColorScheme.next(scheme); - } - - currentActive() { - return this.colorScheme; - } -} -- cgit v1.2.3