From 0cddd0f59a819a211514825d1651cc5102a17968 Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Sat, 10 Oct 2026 03:17:26 +0330 Subject: [PATCH] Fix TOC open crash from infinite ayah reload loop. Load the surah list once on open, stop progress ticks from re-rendering the dock, and keep TOC row markup stable for Blazor diffs. Co-authored-by: Cursor --- .../Components/AudioPlayer.razor | 7 +- src/TafsirQuran.UI/Components/PlayerToc.razor | 89 +++++++++++++------ .../Services/PlayerSessionService.cs | 8 +- src/TafsirQuran.UI/wwwroot/css/app.css | 7 +- 4 files changed, 71 insertions(+), 40 deletions(-) diff --git a/src/TafsirQuran.UI/Components/AudioPlayer.razor b/src/TafsirQuran.UI/Components/AudioPlayer.razor index d1be68c..a0f0866 100644 --- a/src/TafsirQuran.UI/Components/AudioPlayer.razor +++ b/src/TafsirQuran.UI/Components/AudioPlayer.razor @@ -56,10 +56,9 @@
@SurahLabel — آیه @AyahNumber
- @if (SurahAyahCount > 0) - { -
@AyahNumber / @SurahAyahCount
- } +
+ @(SurahAyahCount > 0 ? $"{AyahNumber} / {SurahAyahCount}" : "\u00A0") +
diff --git a/src/TafsirQuran.UI/Components/PlayerToc.razor b/src/TafsirQuran.UI/Components/PlayerToc.razor index 5a3fd89..e85c67b 100644 --- a/src/TafsirQuran.UI/Components/PlayerToc.razor +++ b/src/TafsirQuran.UI/Components/PlayerToc.razor @@ -3,9 +3,9 @@ @if (Session.IsTocOpen && Session.HasTrack) { -
+
- +
سوره @Session.SurahNameFa @Session.TafsirTitle @@ -30,12 +30,14 @@ @foreach (var a in ayahs) { var active = a.AyahNumber == Session.AyahNumber; -
  • +