* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*/
import { Component, OnInit } from '@angular/core';
import { UiService } from './services/ui/ui.service';
+import { CookieService } from 'ngx-cookie';
@Component({
selector: 'rd-root',
styleUrls: ['./rd.component.scss']
})
export class RdComponent implements OnInit {
- showMenu = false;
- darkModeActive: boolean;
+ private showMenu = false;
+ private darkMode: boolean;
+ private 'DARK_MODE_COOKIE' = 'darkMode';
- constructor(public ui: UiService) {
+ constructor(private cookieService: CookieService, private ui: UiService) {
}
ngOnInit() {
+ const dark = this.cookieService.get(this.DARK_MODE_COOKIE);
+ if (dark) {
+ this.ui.darkModeState.next(dark === 'yes');
+ }
+
this.ui.darkModeState.subscribe((value) => {
- this.darkModeActive = value;
+ this.darkMode = value;
});
}
}
modeToggleSwitch() {
- this.ui.darkModeState.next(!this.darkModeActive);
+ this.ui.darkModeState.next(!this.darkMode);
+ this.cookieService.put(this.DARK_MODE_COOKIE, this.darkMode ? 'yes' : 'no');
}
}