next-gen-gui: Add button to restore default theme (#7433)

This adds a button in the top right that changes the config back to the
default theme.

Code wise, it takes the header that was previously a part of the
dashboard component and moves it to the app component, and then adds the
button there. Possibly the header should be a component of it's own, but
that's more of refactor that can happen separately I think.

The config change uses the new config API to just patch the relevant
setting.

I'm not doing an automatic reload because 1) I don't want to figure out
how to do it correctly and 2) this doesn't work reliably anyway, as
for example the current gen GUI does a reload and ends up with
connection refused as the API service is still reloading...
This commit is contained in:
Jakob Borg
2021-03-08 12:54:08 +01:00
committed by GitHub
parent c00520281b
commit 22e44642a0
6 changed files with 34 additions and 14 deletions
@@ -20,6 +20,7 @@ export class SystemConfigService {
private devicesSubject: ReplaySubject<Device[]> = new ReplaySubject(1);
private systemConfigUrl = environment.production ? apiURL + 'rest/system/config' : 'api/config';
private guiConfigUrl = environment.production ? apiURL + 'rest/config/gui' : 'api/config/gui';
constructor(
private http: HttpClient,
@@ -52,4 +53,8 @@ export class SystemConfigService {
getDevices(): Observable<Device[]> {
return this.devicesSubject.asObservable();
}
setGUITheme(theme: String): Observable<any> {
return this.http.patch(this.guiConfigUrl, { theme: theme })
}
}