[FIX] Pannello ARIA: chiusura (X+Esc) robusta + niente sovrapposizione ai pallini (stile TRPG)

Aprendo il pannello ARIA ora si nascondono nx-bar (campana/supporto) + ai-chat-fab -> niente overlap;
la X e Esc chiudono e ripristinano i pallini. Prima la X era fragile e il pannello copriva i bottoni.
Bump common.js?v=20260613d. (TRPG usa ai-assistant.js con stesso pattern toggle/hide.)
This commit is contained in:
DevEnv nis2-agile
2026-06-14 08:56:08 +02:00
parent 4341d86c4c
commit ad3532a90a
55 changed files with 70 additions and 60 deletions
+1 -1
View File
@@ -58,7 +58,7 @@
<!-- Stessa logica della app: api.js + common.js (helper) + common-bi.js (override BI) --> <!-- Stessa logica della app: api.js + common.js (helper) + common-bi.js (override BI) -->
<script src="js/api.js?v=20260613"></script> <script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613c"></script> <script src="js/common.js?v=20260613d"></script>
<script src="js/common-bi.js?v=20260613"></script> <script src="js/common-bi.js?v=20260613"></script>
<script> <script>
// Renderizza la sidebar BI (loadSidebar è stato ridefinito da common-bi.js) // Renderizza la sidebar BI (loadSidebar è stato ridefinito da common-bi.js)
+1 -1
View File
@@ -140,7 +140,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -140,7 +140,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -305,7 +305,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -305,7 +305,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -135,7 +135,7 @@
</div> </div>
<script src="../js/api.js?v=20260613"></script> <script src="../js/api.js?v=20260613"></script>
<script src="../js/common.js?v=20260613c"></script> <script src="../js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -135,7 +135,7 @@
</div> </div>
<script src="../js/api.js?v=20260613"></script> <script src="../js/api.js?v=20260613"></script>
<script src="../js/common.js?v=20260613c"></script> <script src="../js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -157,7 +157,7 @@
</div> </div>
<script src="../js/api.js?v=20260613"></script> <script src="../js/api.js?v=20260613"></script>
<script src="../js/common.js?v=20260613c"></script> <script src="../js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -157,7 +157,7 @@
</div> </div>
<script src="../js/api.js?v=20260613"></script> <script src="../js/api.js?v=20260613"></script>
<script src="../js/common.js?v=20260613c"></script> <script src="../js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -1076,7 +1076,7 @@
</div> </div>
<script src="js/api.js?v=20260613"></script> <script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613c"></script> <script src="js/common.js?v=20260613d"></script>
<script src="js/i18n.js?v=20260613"></script> <script src="js/i18n.js?v=20260613"></script>
<script src="js/help.js?v=20260613"></script> <script src="js/help.js?v=20260613"></script>
<script> <script>
+1 -1
View File
@@ -142,7 +142,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -142,7 +142,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -354,7 +354,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -354,7 +354,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -337,7 +337,7 @@
</div> </div>
<script src="js/api.js?v=20260613"></script> <script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613c"></script> <script src="js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle + override sidebar BI (common-bi.js dopo common.js: ridefinisce solo loadSidebar) --> <!-- Bootstrap Italia bundle + override sidebar BI (common-bi.js dopo common.js: ridefinisce solo loadSidebar) -->
<script src="vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script> <script src="vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script>if (window.bootstrap && bootstrap.loadFonts) { bootstrap.loadFonts('vendor/bootstrap-italia/dist/fonts'); }</script> <script>if (window.bootstrap && bootstrap.loadFonts) { bootstrap.loadFonts('vendor/bootstrap-italia/dist/fonts'); }</script>
+1 -1
View File
@@ -337,7 +337,7 @@
</div> </div>
<script src="js/api.js?v=20260613"></script> <script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613c"></script> <script src="js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle + override sidebar BI (common-bi.js dopo common.js: ridefinisce solo loadSidebar) --> <!-- Bootstrap Italia bundle + override sidebar BI (common-bi.js dopo common.js: ridefinisce solo loadSidebar) -->
<script src="vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script> <script src="vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script>if (window.bootstrap && bootstrap.loadFonts) { bootstrap.loadFonts('vendor/bootstrap-italia/dist/fonts'); }</script> <script>if (window.bootstrap && bootstrap.loadFonts) { bootstrap.loadFonts('vendor/bootstrap-italia/dist/fonts'); }</script>
+1 -1
View File
@@ -370,7 +370,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -370,7 +370,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -131,7 +131,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -131,7 +131,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -1130,7 +1130,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (accordion) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (accordion) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. --> common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. -->
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script> <script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
+1 -1
View File
@@ -1130,7 +1130,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (accordion) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (accordion) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. --> common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. -->
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script> <script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
+1 -1
View File
@@ -339,7 +339,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -339,7 +339,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -897,7 +897,7 @@ curl -H <span class="str">"X-API-Key: nis2_TUA_CHIAVE"</span> \
</main> </main>
<script src="js/common.js?v=20260613c"></script> <script src="js/common.js?v=20260613d"></script>
<script src="js/i18n.js?v=20260613"></script> <script src="js/i18n.js?v=20260613"></script>
<script> <script>
function showTab(id) { function showTab(id) {
+1 -1
View File
@@ -172,7 +172,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -172,7 +172,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+16 -6
View File
@@ -994,6 +994,20 @@ function switchLang(lang) {
}); });
} }
// Stile TRPG: aprendo il pannello ARIA nascondiamo gli altri pallini (niente
// sovrapposizione); la × / Esc li ripristinano chiudendo.
function _siblingFabs(hidden) {
['nx-bar', 'ai-chat-fab'].forEach(function (id) {
var el = document.getElementById(id);
if (el) el.style.display = hidden ? 'none' : 'flex';
});
}
function closePanel() { panel.style.display = 'none'; _siblingFabs(false); }
function openPanel() { panel.style.display = 'flex'; _siblingFabs(true); render(); }
document.addEventListener('keydown', function (e) {
if (e.key === 'Escape' && panel.style.display === 'flex') closePanel();
});
function render() { function render() {
var list = history.map(function (m) { var list = history.map(function (m) {
var isUser = m.role === 'user'; var isUser = m.role === 'user';
@@ -1031,9 +1045,7 @@ function switchLang(lang) {
+ '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="22" y1="2" x2="11" y2="13"/><polygon points="22 2 15 22 11 13 2 9 22 2"/></svg>' + '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="22" y1="2" x2="11" y2="13"/><polygon points="22 2 15 22 11 13 2 9 22 2"/></svg>'
+ '</button>' + '</button>'
+ '</form>'; + '</form>';
document.getElementById('ai-chat-close').onclick = function () { document.getElementById('ai-chat-close').onclick = closePanel;
panel.style.display = 'none';
};
document.getElementById('ai-chat-form').onsubmit = onSubmit; document.getElementById('ai-chat-form').onsubmit = onSubmit;
var msgs = document.getElementById('ai-chat-msgs'); var msgs = document.getElementById('ai-chat-msgs');
msgs.scrollTop = msgs.scrollHeight; msgs.scrollTop = msgs.scrollHeight;
@@ -1077,9 +1089,7 @@ function switchLang(lang) {
} }
fab.onclick = function () { fab.onclick = function () {
var visible = panel.style.display === 'flex'; if (panel.style.display === 'flex') { closePanel(); } else { openPanel(); }
panel.style.display = visible ? 'none' : 'flex';
if (!visible) render();
}; };
} }
+1 -1
View File
@@ -138,7 +138,7 @@
</div> </div>
<!-- Stessa logica JS della pagina live (parita' funzionale assoluta, zero backend). --> <!-- Stessa logica JS della pagina live (parita' funzionale assoluta, zero backend). -->
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. --> common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. -->
+1 -1
View File
@@ -138,7 +138,7 @@
</div> </div>
<!-- Stessa logica JS della pagina live (parita' funzionale assoluta, zero backend). --> <!-- Stessa logica JS della pagina live (parita' funzionale assoluta, zero backend). -->
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. --> common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. -->
+1 -1
View File
@@ -82,7 +82,7 @@
<!-- Stessa logica della login attuale: ZERO modifiche backend --> <!-- Stessa logica della login attuale: ZERO modifiche backend -->
<script src="js/api.js?v=20260613"></script> <script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613c"></script> <script src="js/common.js?v=20260613d"></script>
<script> <script>
if (api.isAuthenticated()) { window.location.href = 'dashboard-bi.html'; } if (api.isAuthenticated()) { window.location.href = 'dashboard-bi.html'; }
+1 -1
View File
@@ -82,7 +82,7 @@
<!-- Stessa logica della login attuale: ZERO modifiche backend --> <!-- Stessa logica della login attuale: ZERO modifiche backend -->
<script src="js/api.js?v=20260613"></script> <script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613c"></script> <script src="js/common.js?v=20260613d"></script>
<script> <script>
if (api.isAuthenticated()) { window.location.href = 'dashboard.html'; } if (api.isAuthenticated()) { window.location.href = 'dashboard.html'; }
+1 -1
View File
@@ -411,6 +411,6 @@ curl https://nis2.agile.software/api/services/status</pre>
</div> </div>
</div> </div>
<script src="js/common.js?v=20260613c"></script> <script src="js/common.js?v=20260613d"></script>
</body> </body>
</html> </html>
+1 -1
View File
@@ -100,7 +100,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -100,7 +100,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -425,7 +425,7 @@
<!-- Stessa logica della onboarding.html: ZERO modifiche backend --> <!-- Stessa logica della onboarding.html: ZERO modifiche backend -->
<script src="js/api.js?v=20260613"></script> <script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613c"></script> <script src="js/common.js?v=20260613d"></script>
<script> <script>
// ── Auth check ────────────────────────────────────────────────── // ── Auth check ──────────────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated'); if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -425,7 +425,7 @@
<!-- Stessa logica della onboarding.html: ZERO modifiche backend --> <!-- Stessa logica della onboarding.html: ZERO modifiche backend -->
<script src="js/api.js?v=20260613"></script> <script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613c"></script> <script src="js/common.js?v=20260613d"></script>
<script> <script>
// ── Auth check ────────────────────────────────────────────────── // ── Auth check ──────────────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated'); if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -321,7 +321,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -321,7 +321,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -256,7 +256,7 @@
<!-- Stessa logica della register.html: ZERO modifiche backend --> <!-- Stessa logica della register.html: ZERO modifiche backend -->
<script src="js/api.js?v=20260613"></script> <script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613c"></script> <script src="js/common.js?v=20260613d"></script>
<script> <script>
if (api.isAuthenticated()) { window.location.href = 'dashboard-bi.html'; } if (api.isAuthenticated()) { window.location.href = 'dashboard-bi.html'; }
+1 -1
View File
@@ -256,7 +256,7 @@
<!-- Stessa logica della register.html: ZERO modifiche backend --> <!-- Stessa logica della register.html: ZERO modifiche backend -->
<script src="js/api.js?v=20260613"></script> <script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613c"></script> <script src="js/common.js?v=20260613d"></script>
<script> <script>
if (api.isAuthenticated()) { window.location.href = 'dashboard.html'; } if (api.isAuthenticated()) { window.location.href = 'dashboard.html'; }
+1 -1
View File
@@ -431,7 +431,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -431,7 +431,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -482,7 +482,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -482,7 +482,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -660,7 +660,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -660,7 +660,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -153,7 +153,7 @@
</div> </div>
<script src="js/api.js?v=20260613"></script> <script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613c"></script> <script src="js/common.js?v=20260613d"></script>
<script> <script>
// ── Auth check ─────────────────────────────────────────── // ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated'); if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -465,7 +465,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -465,7 +465,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -280,7 +280,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -280,7 +280,7 @@
</div> </div>
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -195,7 +195,7 @@
<!-- Report Detail Modal handled by common.js showModal --> <!-- Report Detail Modal handled by common.js showModal -->
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -195,7 +195,7 @@
<!-- Report Detail Modal handled by common.js showModal --> <!-- Report Detail Modal handled by common.js showModal -->
<script src="/js/api.js?v=20260613"></script> <script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613c"></script> <script src="/js/common.js?v=20260613d"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js). <!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI, common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). --> riusando tutti gli helper di common.js (zero backend). -->
+1 -1
View File
@@ -307,7 +307,7 @@
</div> </div>
<script src="js/api.js?v=20260613"></script> <script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613c"></script> <script src="js/common.js?v=20260613d"></script>
<script src="js/i18n.js?v=20260613"></script> <script src="js/i18n.js?v=20260613"></script>
<script> <script>
if (!checkAuth()) throw new Error('Not authenticated'); if (!checkAuth()) throw new Error('Not authenticated');