diff --git a/src/app/services/settings-store.service.ts b/src/app/services/settings-store.service.ts index 6117eb1f7..4cd7dda5c 100644 --- a/src/app/services/settings-store.service.ts +++ b/src/app/services/settings-store.service.ts @@ -1,8 +1,8 @@ -import { computed, inject } from '@angular/core'; +import { inject } from '@angular/core'; import { patchState, signalStore, - withComputed, + withHooks, withMethods, withState, } from '@ngrx/signals'; @@ -28,11 +28,6 @@ const DEFAULT_SETTINGS: Settings = { export const SettingsStore = signalStore( { providedIn: 'root' }, withState(DEFAULT_SETTINGS), - withComputed((store) => ({ - player: computed(() => store.player()), - showCaptions: computed(() => store.showCaptions()), - theme: computed(() => store.theme()), - })), withMethods((store, storage = inject(StorageMap)) => ({ async loadSettings() { const stored = await firstValueFrom( @@ -64,5 +59,10 @@ export const SettingsStore = signalStore( epgUrl: store.epgUrl(), }; }, - })) + })), + withHooks({ + onInit(store) { + store.loadSettings(); + }, + }) ); diff --git a/src/app/settings/settings.component.ts b/src/app/settings/settings.component.ts index 6f780332a..7e140628c 100644 --- a/src/app/settings/settings.component.ts +++ b/src/app/settings/settings.component.ts @@ -178,8 +178,7 @@ export class SettingsComponent implements OnInit { /** * Sets saved settings from the indexed db store */ - async setSettings() { - await this.settingsStore.loadSettings(); + setSettings() { const currentSettings = this.settingsStore.getSettings(); this.settingsForm.patchValue(currentSettings); diff --git a/src/app/xtream/navigation-bar/navigation-bar.component.ts b/src/app/xtream/navigation-bar/navigation-bar.component.ts index 329128d42..1b0597d9f 100644 --- a/src/app/xtream/navigation-bar/navigation-bar.component.ts +++ b/src/app/xtream/navigation-bar/navigation-bar.component.ts @@ -167,15 +167,10 @@ export class NavigationBarComponent implements OnChanges { } openSettings(): void { - this.dialog - .open(SettingsComponent, { - width: '1000px', - height: '90%', - data: { isDialog: true }, - }) - .afterClosed() - .subscribe(() => { - this.settingsStore.loadSettings(); - }); + this.dialog.open(SettingsComponent, { + width: '1000px', + height: '90%', + data: { isDialog: true }, + }); } }