SF-74: Server — CustomImagesController (GET /api/CustomImages), DI registration, appsettings logo config, App.razor

This commit is contained in:
2026-09-04 01:07:04 +02:00
parent 119ee3ec16
commit 5b7157f422
4 changed files with 79 additions and 3 deletions

View File

@@ -10,15 +10,58 @@
<link rel="stylesheet" href="css/envelope-viewer.css" />
<link rel="stylesheet" href="EnvelopeGenerator.Server.styles.css" />
<HeadOutlet />
<!-- Apply saved theme immediately on page load — before WASM boots.
Reads localStorage["signflow.theme"] to avoid flash of default theme. -->
<script>
(function () {
var allowed = { 'blazing-dark': true, 'blazing-berry': true, 'purple': true };
var theme = localStorage.getItem('signflow.theme');
if (!theme || !allowed[theme]) theme = 'blazing-berry';
var bsTheme = theme === 'blazing-dark' ? 'dark' : 'light';
document.documentElement.setAttribute('data-sf-theme', theme);
document.documentElement.setAttribute('data-bs-theme', bsTheme);
var link = document.createElement('link');
link.id = 'dx-theme-link';
link.rel = 'stylesheet';
link.href = '_content/DevExpress.Blazor.Themes/' + theme + '.bs5.min.css';
document.head.appendChild(link);
})();
</script>
</head>
<body>
<!-- WASM boot loading overlay — hidden once Blazor circuit connects -->
<div id="sf-boot-overlay">
<div class="sf-boot-spinner">
<div class="sf-boot-ring"></div>
</div>
</div>
<Routes />
<script src="_content/DevExpress.Blazor.Resources/js/preload-script.js"></script>
<script src="js/typed.umd.js"></script>
<script src="js/receiver-signature.js?v=9"></script>
<script src="js/signflow-theme.js"></script>
<script src="_framework/blazor.web.js"></script>
<script>
// Remove the boot overlay once Blazor has started and enhanced navigation is active.
Blazor.addEventListener('enhancedload', function onFirstLoad() {
var overlay = document.getElementById('sf-boot-overlay');
if (overlay) overlay.style.opacity = '0';
setTimeout(function () { if (overlay) overlay.remove(); }, 250);
Blazor.removeEventListener('enhancedload', onFirstLoad);
});
// Also remove when WASM circuit is ready (for non-enhanced pages like /sender)
document.addEventListener('blazor-circuit-connected', function () {
var overlay = document.getElementById('sf-boot-overlay');
if (overlay) { overlay.style.opacity = '0'; setTimeout(function () { if (overlay) overlay.remove(); }, 250); }
}, { once: true });
// Fallback: remove after 4s regardless
setTimeout(function () {
var overlay = document.getElementById('sf-boot-overlay');
if (overlay) overlay.remove();
}, 4000);
</script>
</body>
</html>