diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Components/Pages/EnvelopeReceiverReportPage.razor b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Components/Pages/EnvelopeReceiverReportPage.razor
index 839ecfa6..e53a1e67 100644
--- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Components/Pages/EnvelopeReceiverReportPage.razor
+++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Components/Pages/EnvelopeReceiverReportPage.razor
@@ -112,17 +112,17 @@
}
- @* Unterschrift ändern button (when signature captured) *@
- @if (_capturedSignature is not null)
+ @* Unterschreiben button — visible only when signature fields exist *@
+ @if (_signatures.Count > 0)
{
}
@@ -444,16 +444,16 @@
}
else
{
- _activeSignatureTab = SignatureTabDraw;
- _signaturePopupVisible = _signatures.Count > 0;
+ _activeSignatureTab = SignatureTabDraw;
+ _signaturePopupVisible = false;
_popupValidationMessage = null;
}
}
catch (Exception ex)
{
Logger.LogWarning(ex, "Failed to load cached signature for {EnvelopeKey}", EnvelopeKey);
- _activeSignatureTab = SignatureTabDraw;
- _signaturePopupVisible = _signatures.Count > 0;
+ _activeSignatureTab = SignatureTabDraw;
+ _signaturePopupVisible = false;
_popupValidationMessage = null;
}
}
@@ -690,9 +690,15 @@
Logger.LogInformation(
"Signature cached with sid={Sid} for envelope {EnvelopeKey}", sid, EnvelopeKey);
- // Navigate to signed page
+ // Null the report → DxReportViewer removed from DOM → no crash on dispose
+ _report = null;
+ await InvokeAsync(StateHasChanged);
+ await Task.Delay(50);
+
+ // Navigate — forceLoad:true for clean circuit teardown
Navigation.NavigateTo(
- $"/envelope/{Uri.EscapeDataString(EnvelopeKey!)}/signed?sid={sid}");
+ $"/envelope/{Uri.EscapeDataString(EnvelopeKey!)}/signed?sid={sid}",
+ forceLoad: true);
}
async Task GetActiveSignatureDataUrlAsync()