@page "/" @using EnvelopeGenerator.Application.Resources @using Microsoft.Extensions.Localization @inject IJSRuntime JS @inject NavigationManager Navigation @inject EnvelopeGenerator.Server.Client.Services.CustomImagesService CustomImagesService @inject IStringLocalizer UiLocalizer @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

@L("Index_Subtitle", "Willkommen im eSign-Portal")

@L("Index_SecureAccess", "Sicherer Zugang")
@L("Index_DigitalSignature", "Digitale Unterschrift")
@L("Index_PdfExport", "PDF-Export")
@code { private string HomePageDescription => L( "HomePageDescription", "Das digitale Unterschriftenportal ist eine Plattform, die entwickelt wurde, um Ihre Dokumente sicher zu unterschreiben und zu verwalten. 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) return; await JS.InvokeVoidAsync("receiverSignature.startTyped", "home-description", HomePageDescription, 15); } string L(string key, string fallback) { var value = UiLocalizer[key]; return value.ResourceNotFound ? fallback : value.Value; } }