Browse Source

* Fixes #18 "dark theme slider"

pull/29/head
Per-Arne Andersen 4 years ago
parent
commit
994d59a75e
  1. 28
      wg_dashboard_frontend/src/app/layout/layout.module.ts
  2. 7
      wg_dashboard_frontend/src/app/layout/layout/layout.component.html
  3. 14
      wg_dashboard_frontend/src/app/layout/layout/layout.component.ts

28
wg_dashboard_frontend/src/app/layout/layout.module.ts

@ -12,22 +12,24 @@ import { RouterModule } from '@angular/router';
import { MatMenuModule } from '@angular/material/menu'; import { MatMenuModule } from '@angular/material/menu';
import {MatSlideToggleModule} from "@angular/material/slide-toggle"; import {MatSlideToggleModule} from "@angular/material/slide-toggle";
import {NotifierModule} from "angular-notifier"; import {NotifierModule} from "angular-notifier";
import {FormsModule} from "@angular/forms";
@NgModule({ @NgModule({
declarations: [LayoutComponent], declarations: [LayoutComponent],
imports: [ imports: [
CommonModule, CommonModule,
MatSidenavModule, MatSidenavModule,
MatToolbarModule, MatToolbarModule,
MatListModule, MatListModule,
MatIconModule, MatIconModule,
MatButtonModule, MatButtonModule,
FlexLayoutModule, FlexLayoutModule,
RouterModule, RouterModule,
MatMenuModule, MatMenuModule,
MatSlideToggleModule, MatSlideToggleModule,
NotifierModule, NotifierModule,
], FormsModule,
],
exports: [ exports: [
], ],

7
wg_dashboard_frontend/src/app/layout/layout/layout.component.html

@ -36,10 +36,11 @@
<mat-menu #themeMenu="matMenu"> <mat-menu #themeMenu="matMenu">
<button mat-menu-item *ngFor="let theme of themes" (click)="setCurrentTheme(theme)">{{theme.name}}</button> <button mat-menu-item *ngFor="let theme of themes" (click)="setCurrentTheme(theme)">{{theme.name}}</button>
<mat-slide-toggle <mat-slide-toggle
style="margin-top: 10px;" style="margin-top: 10px; padding: 0 16px;"
color="primary" color="primary"
(click)="toggleDarkMode($event);" [(ngModel)]="darkMode"
[checked]="darkMode"> (change)="toggleDarkMode()"
(click)="$event.stopPropagation();">
Dark Dark
</mat-slide-toggle> </mat-slide-toggle>
</mat-menu> </mat-menu>

14
wg_dashboard_frontend/src/app/layout/layout/layout.component.ts

@ -40,22 +40,22 @@ export class LayoutComponent implements OnInit {
public auth: AuthService, public auth: AuthService,
private comm: DataService, private comm: DataService,
private cookieService: CookieService private cookieService: CookieService
) {} ) {
ngOnInit(): void { this.darkMode = (this.cookieService.get("darkMode") === 'true');
console.log('Layout');
if(this.cookieService.check("currentTheme")){ if(this.cookieService.check("currentTheme")){
this.currentTheme = JSON.parse(this.cookieService.get("currentTheme")); this.currentTheme = JSON.parse(this.cookieService.get("currentTheme"));
this.darkMode = (this.cookieService.get("darkMode") === 'true');
}else { }else {
this.currentTheme = { ... this.themes[0]} this.currentTheme = { ... this.themes[0]}
} }
this.sendData()
} }
ngOnInit(): void {
console.log('Layout');
}
toggleDarkMode($event){ toggleDarkMode(){
$event.stopPropagation();
this.darkMode = !this.darkMode;
this.cookieService.set("darkMode", String(this.darkMode)); this.cookieService.set("darkMode", String(this.darkMode));
this.sendData(); this.sendData();
} }

Loading…
Cancel
Save