From e6722803bb18aac79c21f443581a8e806b74c5c1 Mon Sep 17 00:00:00 2001 From: TekH Date: Wed, 1 Jul 2026 12:36:50 +0200 Subject: [PATCH] Add submit confirmation popup and logout functionality Added dependency injection for `AuthService`, `ReceiverAuthorizationService`, `PageDataService`, and `Logger` to enable their usage in the component. Introduced a "Submit" button in the UI to confirm the signing process and complete the workflow. Implemented a `DxPopup` component to display a confirmation dialog when the "Submit" button is clicked. The popup includes a message about the successful signing of the document and asks the user to confirm whether to complete the process and log out. Added state variables `_isLoggingOut` and `_submitConfirmVisible` to manage the popup visibility and logout process. Created `OpenSubmitConfirmPopup` to toggle the popup and `SubmitAndLogoutAsync` to handle the submission process, including logging out via `AuthService` and navigating to the login page. Updated the `@code` block with the new state variables and methods for managing the submit and logout functionality. --- .../EnvelopeReceiverReportSignedPage.razor | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) 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))