From ffb47558500842515e783c7dcbbb6952c409cc07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Fedor?= Date: Tue, 19 Nov 2024 17:55:04 +0100 Subject: [PATCH] Remove unnecessary MutationObserver when creating BlockingWaitDialog --- src/js/Core/Modals/BlockingWaitDialog.ts | 29 +++++++-------------- src/js/Core/Modals/BlockingWaitModal.svelte | 5 +++- 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/src/js/Core/Modals/BlockingWaitDialog.ts b/src/js/Core/Modals/BlockingWaitDialog.ts index 23a6e8414..aae0b2ffa 100644 --- a/src/js/Core/Modals/BlockingWaitDialog.ts +++ b/src/js/Core/Modals/BlockingWaitDialog.ts @@ -17,30 +17,21 @@ export default class BlockingWaitDialog { } async update(): Promise { - if (this.modalComponent) { - this.modalComponent.status = this.statusFn(); - } else { - const observer = new MutationObserver(() => { - const target = document.querySelector("#" + this.modalId); - if (target) { - this.modalComponent = new BlockingWaitModal({ - target, - props: { - status: this.statusFn() - } - }); - observer.disconnect(); - } - }); - observer.observe(document.body, { - childList: true - }); - + if (!this.modalComponent) { await SteamFacade.showBlockingWaitDialog( this.title, `
` ); + + const target = document.querySelector("#" + this.modalId); + if (target) { + this.modalComponent = new BlockingWaitModal({target}); + } else { + throw new Error("Failed to create blocking wait dialog"); + } } + + this.modalComponent.status = this.statusFn(); } dismiss(): void { diff --git a/src/js/Core/Modals/BlockingWaitModal.svelte b/src/js/Core/Modals/BlockingWaitModal.svelte index ce7d1a484..f8ceb3506 100644 --- a/src/js/Core/Modals/BlockingWaitModal.svelte +++ b/src/js/Core/Modals/BlockingWaitModal.svelte @@ -1,7 +1,10 @@