diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Components/Pages/EnvelopeReceiverReportSignedPage.razor b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Components/Pages/EnvelopeReceiverReportSignedPage.razor index 7ab5aca2..fe426150 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Components/Pages/EnvelopeReceiverReportSignedPage.razor +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Components/Pages/EnvelopeReceiverReportSignedPage.razor @@ -9,6 +9,7 @@ @using System.Security.Claims @inject NavigationManager Navigation @inject IJSRuntime JSRuntime +@inject EnvelopeGenerator.Server.Client.Services.AuthService AuthService @inject EnvelopeGenerator.Server.Services.EnvelopeReceiverAuthorizationService ReceiverAuthorizationService @inject EnvelopeGenerator.Server.Services.EnvelopeReceiverPageDataService PageDataService @inject AppVersionService AppVersion @@ -42,6 +43,20 @@
Signiertes Dokument
} + + @* Right: Submit button *@ +
+ +
@@ -82,6 +97,53 @@ +@* Submit confirmation popup *@ + + +
+
+ + + +
+
+

+ Dokument erfolgreich unterschrieben +

+

+ Ihre Unterschrift wurde auf dem Dokument platziert. Möchten Sie den Vorgang abschließen und sich abmelden? +

+
+
+
+ +
+ + +
+
+
+ @code { [Parameter] public string? EnvelopeKey { get; set; } @@ -96,6 +158,24 @@ XtraReport? _report; SignatureCaptureDto? _sig; + // ----- Submit / logout state ----- + bool _isLoggingOut = false; + bool _submitConfirmVisible = false; + + void OpenSubmitConfirmPopup() => _submitConfirmVisible = true; + + async Task SubmitAndLogoutAsync() + { + if (_isLoggingOut) return; + _isLoggingOut = true; + _submitConfirmVisible = false; + await InvokeAsync(StateHasChanged); + await AuthService.LogoutEnvelopeReceiverAsync(EnvelopeKey!); + Navigation.NavigateTo( + $"/envelope/login/{Uri.EscapeDataString(EnvelopeKey!)}", + forceLoad: true); + } + protected override async Task OnInitializedAsync() { if (string.IsNullOrWhiteSpace(EnvelopeKey))