blob: a6078a070809e1b7c8856750652a0b997a1f7872 [file] [log] [blame]
PatrikBuhra2bc79c2019-10-29 13:39:00 +01001/*-
2 * ========================LICENSE_START=================================
3 * O-RAN-SC
4 * %%
5 * Copyright (C) 2019 AT&T Intellectual Property
6 * %%
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
PatrikBuhrdbb8eba2019-11-15 14:12:11 +010010 *
PatrikBuhra2bc79c2019-10-29 13:39:00 +010011 * http://www.apache.org/licenses/LICENSE-2.0
PatrikBuhrdbb8eba2019-11-15 14:12:11 +010012 *
PatrikBuhra2bc79c2019-10-29 13:39:00 +010013 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ========================LICENSE_END===================================
19 */
20import { Component, OnInit } from '@angular/core';
21import { UiService } from './services/ui/ui.service';
elinuxhenrikb033eaf2020-02-03 16:02:21 +010022import { CookieService } from 'ngx-cookie';
PatrikBuhra2bc79c2019-10-29 13:39:00 +010023
24@Component({
25 selector: 'rd-root',
26 templateUrl: './rd.component.html',
27 styleUrls: ['./rd.component.scss']
28})
29export class RdComponent implements OnInit {
elinuxhenrikb033eaf2020-02-03 16:02:21 +010030 private showMenu = false;
31 private darkMode: boolean;
32 private 'DARK_MODE_COOKIE' = 'darkMode';
PatrikBuhra2bc79c2019-10-29 13:39:00 +010033
elinuxhenrikb033eaf2020-02-03 16:02:21 +010034 constructor(private cookieService: CookieService, private ui: UiService) {
PatrikBuhra2bc79c2019-10-29 13:39:00 +010035 }
36
37 ngOnInit() {
elinuxhenrikb033eaf2020-02-03 16:02:21 +010038 const dark = this.cookieService.get(this.DARK_MODE_COOKIE);
39 if (dark) {
40 this.ui.darkModeState.next(dark === 'yes');
41 }
42
PatrikBuhra2bc79c2019-10-29 13:39:00 +010043 this.ui.darkModeState.subscribe((value) => {
PatrikBuhrdbb8eba2019-11-15 14:12:11 +010044 this.darkMode = value;
PatrikBuhra2bc79c2019-10-29 13:39:00 +010045 });
46 }
47
48 toggleMenu() {
49 this.showMenu = !this.showMenu;
50 }
51
52 modeToggleSwitch() {
PatrikBuhrdbb8eba2019-11-15 14:12:11 +010053 this.ui.darkModeState.next(!this.darkMode);
elinuxhenrikb033eaf2020-02-03 16:02:21 +010054 this.cookieService.put(this.DARK_MODE_COOKIE, this.darkMode ? 'yes' : 'no');
PatrikBuhra2bc79c2019-10-29 13:39:00 +010055 }
56
57}