Files
glastree/MEMORY.md
T
2026-06-01 22:55:50 +02:00

3.6 KiB

🧠 MEMORY.md — Stato Progetto

Goal

  • Stabilizzare il modale "Carica Documento" e migliorare la gestione cartelle durante l'upload.

Constraints & Preferences

  • (none)

Progress

Done

  • Aggiunto pulsante "Scarica Guida PDF" nella sidebar di /help con nuovo metodo HelpController::downloadPdf() e route GET /help/pdf/download
  • Aggiunta card "Backup" in dashboard (small-box bg-navy, icona fa-hdd) con conteggio backup, visibile solo a utenti con canManage('settings')
  • Corretto modal-body nel modale #uploadModal che chiudeva prematuramente (pulsanti Annulla/Carica finivano fuori dal popup)
  • Aggiunto campo visibilita (select Pubblico/Individuo/Gruppo) nel form di upload documento, mancante e richiesto dal controller
  • Aggiunto selettore cartelle visibile (<select name="cartella_id" id="uploadCartellaId">) nel modale di upload (sostituisce il vecchio hidden input)
  • Aggiunto pulsante "Nuova cartella" sia nel modale upload (#uploadNewFolderBtn) che nel modale "Sposta" (#massMoveNewFolderBtn)
  • Sostituito SweetAlert2 per creazione cartella con il modale Bootstrap #newFolderModal già esistente (risolve focus trap Bootstrap 4 che bloccava l'input)
  • Aggiornato toggleUploadRepo() per nascondere/mostrare il gruppo cartella in base alla selezione del repository remoto
  • Aggiunto flag window._uploadNewFolder per comportamento differenziato: da upload aggiunge opzione al select senza ricaricare, da tooltip ricarica la pagina
  • Fix backdrop grigio persistente dopo creazione cartella: ora #uploadModal viene prima nascosto (quando si clicca "Nuova cartella") e poi ri-mostrato dopo la creazione nel success handler, risolvendo il conflitto di backdrop tra modali annidati Bootstrap 4
  • Fix scroll modal upload: ristrutturato <form> per non avvolgere .modal-body e .modal-footer (ora è dentro .modal-body), così modal-dialog-scrollable funziona correttamente. Pulsante submit ha form="uploadForm" per collegamento cross-DOM

In Progress

  • (none)

Blocked

  • (none)

Key Decisions

  • Replicato il codice di creazione cartella con SweetAlert2 → sostituito con modale Bootstrap #newFolderModal perché Bootstrap 4 impedisce il focus su elementi fuori dal .modal (focus trap)
  • Pulsante "Nuova cartella" nello stesso <form> del modal di upload riceve e.preventDefault() per sicurezza
  • Per evitare conflitti di backdrop Bootstrap 4 con modali annidati, si nasconde #uploadModal prima di mostrare #newFolderModal e lo si ripristina dopo il success

Next Steps

  • (none)

Critical Context

  • Bootstrap 4.6.2 con focus trap: impedisce focus su elementi fuori dal .modal — SweetAlert2 aggiunge dialog al <body>, quindi il suo input non riceve focus
  • #newFolderModal già esisteva con submit handler AJAX a /documenti/cartelle e ricaricava pagina — ora con window._uploadNewFolder evita reload quando chiamato dall'upload
  • Bug: backdrop grigio non spariva dopo creazione cartella perché Bootstrap 4 gestisce male i modali annidati (due backdrop concorrenti)

Relevant Files

  • app/Http/Controllers/HelpController.php: metodo downloadPdf() + route /help/pdf/download
  • app/Http/Controllers/HomeController.php: $stats['backups'] via BackupService::list()
  • routes/web.php: route /help/pdf/download
  • resources/views/help/index.blade.php: card-footer con pulsante download PDF
  • resources/views/home/dashboard.blade.php: small-box Backup condizionale
  • resources/views/documenti/index.blade.php: intero modale #uploadModal riscritto (visibilita, cartella select, nuova cartella via #newFolderModal, toggleUploadRepo); fix backdrop persistente nascondendo/rimostrando #uploadModal