From 55d44ef880ac11d9af758e0e9b80609a56809d7c Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 31 Oct 2025 18:11:08 -0400 Subject: [PATCH] release(1.7.4): login hint replaced toast + fix unauth boot --- CHANGELOG.md | 12 ++++++++++++ public/js/main.js | 38 +++++++++++++++++++++++++++++++++++--- 2 files changed, 47 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fa3d0c6..9e91d92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## Changes 10/31/2025 (v1.7.4) + +release(1.7.4): login hint replace toast + fix unauth boot + +main.js + +- Added isDemoHost() and showLoginTip(message). +- In the unauth branch, call showLoginTip('Please log in to continue'). +- Removed ensureToastReady() + showToast('please_log_in_to_continue') in the unauth path to avoid loading toast/DOM utils before auth. + +--- + ## Changes 10/31/2025 (v1.7.3) release(v1.7.3): lightweight boot pipeline, dramatically faster first paint, deduped /api writes, sturdier uploads/auth diff --git a/public/js/main.js b/public/js/main.js index dff7ab6..23ed92f 100644 --- a/public/js/main.js +++ b/public/js/main.js @@ -61,6 +61,40 @@ async function ensureToastReady() { } } +function isDemoHost() { + // Handles optional "www." just in case + return location.hostname.replace(/^www\./, '') === 'demo.filerise.net'; +} + +function showLoginTip(message) { + const form = document.getElementById('loginForm'); + if (!form) return; + + let tip = document.getElementById('fr-login-tip'); + if (!tip) { + tip = document.createElement('div'); + tip.id = 'fr-login-tip'; + tip.className = 'alert alert-info'; // fine even without Bootstrap + tip.style.marginTop = '8px'; + form.prepend(tip); + } + + // Clear & rebuild so we can add the demo hint cleanly + tip.textContent = ''; + tip.append(document.createTextNode(message || '')); + + if (isDemoHost()) { + const line = document.createElement('div'); + line.style.marginTop = '6px'; + const mk = (txt) => { const k = document.createElement('code'); k.textContent = txt; return k; }; + line.append( + document.createTextNode('Demo login — user: '), mk('demo'), + document.createTextNode(' · pass: '), mk('demo') + ); + tip.append(line); + } +} + function wireModalEnterDefault() { if (window.__FR_FLAGS.wired.enterDefault) return; window.__FR_FLAGS.wired.enterDefault = true; @@ -908,9 +942,7 @@ function bindDarkMode() { wireCreateDropdown(); keepCreateDropdownWired(); wireModalEnterDefault(); - - await ensureToastReady(); - window.showToast('please_log_in_to_continue', 6000); + showLoginTip('Please log in to continue'); }, { once: true }); // <— important })(); \ No newline at end of file