From 12d701cb84b3d9f8ca385ccc4df0f2dc10aac6ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Jasi=C5=84ski?= Date: Fri, 5 Jun 2026 20:00:31 +0200 Subject: [PATCH] fix(mobile-ux): guard ScrollToTopAsync JS interop to prevent prerendering runtime error --- .../Components/Organisms/ReaderCanvas.razor | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/NexusReader.UI.Shared/Components/Organisms/ReaderCanvas.razor b/src/NexusReader.UI.Shared/Components/Organisms/ReaderCanvas.razor index b13e133..9467195 100644 --- a/src/NexusReader.UI.Shared/Components/Organisms/ReaderCanvas.razor +++ b/src/NexusReader.UI.Shared/Components/Organisms/ReaderCanvas.razor @@ -432,8 +432,16 @@ { try { + // Ensure the JS module is loaded and the component is fully rendered before invoking interop. + if (!_isJsInitialized) + { + await InitViewportDetectionAsync(); + } var module = await EnsureViewportModuleAsync(); - await module.InvokeVoidAsync("scrollToTop", ".reader-canvas"); + if (module != null) + { + await module.InvokeVoidAsync("scrollToTop", ".reader-canvas"); + } } catch (Exception ex) {