From 8f6db435bbaf9069d2ac239c3f681833de4bda64 Mon Sep 17 00:00:00 2001 From: TekH Date: Fri, 4 Sep 2026 01:07:34 +0200 Subject: [PATCH] =?UTF-8?q?SF-74:=20Client=20UI=20=E2=80=94=20IndexPage=20?= =?UTF-8?q?+=20EnvelopeSenderPage=20logo=20integration=20(signFLOW=20+=20c?= =?UTF-8?q?ompany=20logo,=20branding=20layout)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Pages/EnvelopeSenderPage.razor | 25 ++++++++++++-- .../Pages/IndexPage.razor | 33 +++++++++++++++---- 2 files changed, 48 insertions(+), 10 deletions(-) diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/EnvelopeSenderPage.razor b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/EnvelopeSenderPage.razor index c8111cbf..89dd8d71 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/EnvelopeSenderPage.razor +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/EnvelopeSenderPage.razor @@ -10,6 +10,7 @@ @inject EnvelopeGenerator.Server.Client.Services.AuthService AuthService @inject EnvelopeGenerator.Server.Client.Services.ThemeService ThemeService @inject EnvelopeGenerator.Server.Client.Services.UserPreferencesService UserPreferencesService +@inject EnvelopeGenerator.Server.Client.Services.CustomImagesService CustomImagesService @inject NavigationManager Navigation @inject IJSRuntime JSRuntime @inject AppVersionService AppVersion @@ -22,9 +23,20 @@
Umschlag-Übersicht
@@ -341,6 +353,9 @@ private DxGrid? _gridActive; private DxGrid? _gridCompleted; + // Logo config loaded from /api/CustomImages after auth + private EnvelopeGenerator.Server.Client.Services.CustomImageDto? _appLogo; + // Stable keys used to store/restore each grid's layout in UserPreferences.GridLayouts private const string GridKeyActive = "sender.active-envelopes"; private const string GridKeyCompleted = "sender.completed-envelopes"; @@ -360,6 +375,10 @@ try { await ThemeService.LoadFromServerAsync(); } catch { /* swallow — default theme remains active */ } + // Load logo config — authenticated, so this should succeed + var logos = await CustomImagesService.GetAsync(); + _appLogo = logos.App; + await LoadEnvelopesAsync(); } diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/IndexPage.razor b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/IndexPage.razor index 710474f7..0c1ea17a 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/IndexPage.razor +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/IndexPage.razor @@ -1,15 +1,27 @@ @page "/" @inject IJSRuntime JS @inject NavigationManager Navigation +@inject EnvelopeGenerator.Server.Client.Services.CustomImagesService CustomImagesService @rendermode InteractiveWebAssembly
- - - + @* signFLOW logo from appsettings.json CustomImages.App — fallback to SVG if not loaded *@ + @if (_appLogo is not null && !string.IsNullOrEmpty(_appLogo.Src)) + { + signFLOW + } + else + { + + + + }

SignFlow

Willkommen im eSign-Portal

@@ -73,11 +85,18 @@ "Mit seiner benutzerfreundlichen Oberfläche können Sie Ihre Dokumente schnell hochladen, die Unterschriftsprozesse verfolgen und Ihre digitalen Unterschriftenanwendungen einfach durchführen. " + "Dieses Portal beschleunigt Ihren Arbeitsablauf mit rechtlich gültigen Unterschriften und erhöht gleichzeitig die Sicherheit Ihrer Dokumente."; + private EnvelopeGenerator.Server.Client.Services.CustomImageDto? _appLogo; + + protected override async Task OnInitializedAsync() + { + // Load logo config early — 401 here is normal (not yet logged in), service returns defaults silently + var logos = await CustomImagesService.GetAsync(); + _appLogo = logos.App; + } + protected override async Task OnAfterRenderAsync(bool firstRender) { - if (firstRender) - { - await JS.InvokeVoidAsync("receiverSignature.startTyped", "home-description", HomePageDescription, 15); - } + if (!firstRender) return; + await JS.InvokeVoidAsync("receiverSignature.startTyped", "home-description", HomePageDescription, 15); } }