From 0cf73b1234d692e180ccf9c45a9fc14feabf568c Mon Sep 17 00:00:00 2001 From: Smittix Date: Thu, 29 Jan 2026 10:40:15 +0000 Subject: [PATCH] fix: Show disclaimer FIRST before welcome page - Add inline script in that checks localStorage before page renders - If disclaimer not accepted, hide welcome page via injected CSS - Show disclaimer modal on DOMContentLoaded - After accepting, remove gate CSS and reveal welcome page - User must accept disclaimer before they can access the application Co-Authored-By: Claude Opus 4.5 --- templates/index.html | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/templates/index.html b/templates/index.html index 0c79d2a..4186c3d 100644 --- a/templates/index.html +++ b/templates/index.html @@ -6,6 +6,14 @@ iNTERCEPT // See the Invisible + + {% if offline_settings.fonts_source == 'local' %} @@ -1899,31 +1907,30 @@ const welcome = document.getElementById('welcomePage'); welcome.classList.add('fade-out'); - // After fade out, hide welcome and show disclaimer if needed + // After fade out, hide welcome and switch to mode setTimeout(() => { welcome.style.display = 'none'; - checkDisclaimer(); + switchMode(mode); }, 400); } - // Disclaimer handling - function checkDisclaimer() { - const accepted = localStorage.getItem('disclaimerAccepted'); - if (accepted === 'true') { - document.getElementById('disclaimerModal').style.display = 'none'; - // Switch to the selected mode - switchMode(selectedStartMode); - } else { - document.getElementById('disclaimerModal').style.display = 'flex'; - } + // Disclaimer handling - show on page load if not accepted + function showDisclaimer() { + document.getElementById('disclaimerModal').style.display = 'flex'; } function acceptDisclaimer() { localStorage.setItem('disclaimerAccepted', 'true'); document.getElementById('disclaimerModal').classList.add('disclaimer-hidden'); - // Switch to the selected mode after accepting + + // After fade out, hide disclaimer and show welcome page setTimeout(() => { - switchMode(selectedStartMode); + document.getElementById('disclaimerModal').style.display = 'none'; + // Remove the gate CSS that was hiding welcome page + const gateStyle = document.getElementById('disclaimer-gate'); + if (gateStyle) gateStyle.remove(); + // Ensure welcome page is visible + document.getElementById('welcomePage').style.display = ''; }, 300); } @@ -1932,7 +1939,12 @@ document.getElementById('rejectionPage').classList.remove('disclaimer-hidden'); } - // Don't auto-check disclaimer - wait for welcome page mode selection + // Show disclaimer on page load if not yet accepted + document.addEventListener('DOMContentLoaded', function() { + if (window._showDisclaimerOnLoad) { + showDisclaimer(); + } + }); let eventSource = null; let isRunning = false;