Ivan Ferrero

Istruzioni: Fix e Verifica Dashboard Decodificatore ICF

Contesto

Il file /Users/ivanferrero/Documents/GitHub/ivanferreroit/digitale-inclusivo/decodificatore-icf/index.html è una dashboard interattiva single-page (~1550 righe) per decodificare codici ICF. Contiene HTML + CSS + JS inline, con un database di 374 codici ICF in un array icfDatabase.

Il file è stato riscritto nella sessione precedente per correggere bug critici, ma l’utente riporta che ancora non funziona nulla: tab, ricerca, navigazione ad albero. L’obiettivo è diagnosticare e risolvere definitivamente.

Cosa fare

1. DIAGNOSI — Apri il file nel browser e verifica

Apri il file index.html direttamente in Chrome (via open su Mac) e usa lo strumento Chrome MCP per:

2. FIX — Se trovi errori, ecco l’architettura che DEVE funzionare

Il JS ha questa struttura (NON cambiarla, fixala se rotta):

Tab switching: I <button> hanno data-tab="search-tab" etc. Un event listener su #tabBar cattura i click e chiama switchTab(tabId) che:

Ricerca: I risultati sono resi con data-code="${code.code}" (NO inline onclick). Un event listener document-level con e.target.closest('.result-item[data-code]') legge il codice e lo cerca in icfMap (oggetto {code: index}).

Albero: initializeTree() costruisce il DOM programmaticamente con onclick diretti sugli elementi creati (OK perché sono closure, non stringhe interpolate).

Modal: showCodeCard(code) popola #detailContent e aggiunge .active a #detailModal. Chiusura via click esterno, bottone “Chiudi”, o Escape.

3. VISUAL CHECK

4. MENU

Il file /Users/ivanferrero/Documents/GitHub/ivanferreroit/assets/menu.js contiene già “Digitale Inclusivo” come voce del menu (aggiunto nella sessione precedente). Verifica che sia presente.

5. TEST FINALE

Dopo ogni fix, ricarica la pagina e verifica TUTTE e 4 le funzionalità:

  1. Tab switching (tutte e 4 le tab)
  2. Ricerca per codice (prova “b140”, “d220”, “e310”)
  3. Ricerca per parola (prova “memoria”, “scuola”, “ambiente”)
  4. Navigazione albero (espandi B, clicca su un codice, verifica modal)
  5. Modal (apertura, chiusura con X, chiusura con click esterno, chiusura con Escape)

File coinvolti

Vincoli