Aggiornamento rapido sul mio Fork di “F-NAV for Mobile” con pulsante Indietro, Sottomenu personalizzato e Controlli di visibilità
Perché questo fork?
- Fornire un pulsante di intestazione “Indietro” nelle pagine degli argomenti che rispecchia la comune UX delle app mobili
- Offrire un tipo di scheda “customMenu” che apre un sottomenu configurabile (ideale per collegarsi a più destinazioni; lo usiamo per aggiungere collegamenti personalizzati precompilati a “Nuovo argomento”)
- Aggiungere la visibilità basata sui gruppi a schede e voci di menu, in modo da poter mostrare determinati elementi solo allo staff, ecc.
- Piccole correzioni con alcune deprecazioni e rifinitura di stili/accessibilità
Riepilogo delle nuove funzionalità aggiunte
- Icona Indietro nell’intestazione (opzionale)
- Sostituisce il logo della home nell’intestazione con una freccia indietro nelle pagine degli argomenti
- Comportamento: torna indietro se c’è cronologia, altrimenti reindirizza a “/”
- Attivabile con l’impostazione:
header_back_icon_enabled
- Tipo di scheda Sottomenu personalizzato
- Nuova funzione f_nav_tabs: customMenu
- Nuova impostazione: f_nav_submenu_items
- Configura le voci di menu con etichetta e URL (icona opzionale)
- Ottimo per un accesso rapido a più pagine da una singola scheda
- Controlli di visibilità basati sui gruppi
- Schede, voci del sottomenu e profile_extra_items possono essere limitati a gruppi selezionati
- Comportamento:
- Gruppi vuoti => visibile a tutti
- Se i gruppi sono impostati => solo i membri di almeno un gruppo selezionato possono vedere
- Gli utenti anonimi non possono vedere gli elementi con restrizioni
- Opzionale: Nascondi la barra di navigazione nelle pagine degli argomenti
- Attivabile con l’impostazione: hide_nav_in_topic
- Artefatti “build” zippati e documentazione di test
- Artefatti di build di convenienza (v1–v5) in builds/
- TESTING_GUIDE.md e TEST_RESULTS.md che documentano la validazione manuale
Miglioramenti alle funzionalità esistenti
- Voci e schede F‑NAV
- Aggiunge il getter visibleTabs per rispettare la visibilità dei gruppi
- Integra il nuovo componente CustomSubmenu nel flusso di FNavItem
- Avatar/menu del profilo nell’intestazione
- Il rilevamento della visualizzazione mobile è stato spostato nel componente, migliorando il comportamento e risolvendo avvisi
- Le voci extra del profilo ora supportano la visibilità basata sui gruppi
- Stile e accessibilità
- Nuovo SCSS per il sottomenu personalizzato e l’icona indietro
- Stati coerenti di hover/attivo/focus-visible
- Bordo‑raggio coerente con le variabili core; padding/spaziatura raffinati (ad es. padding del pulsante indietro impostato a 0)
Correzioni di bug e manutenzione
- Risolti gli avvisi di deprecazione di site.mobileView spostando i controlli dagli initializer al rendering del componente
- Corretto un caso limite di rendering spostando una funzione dal blocco
- Piccola rifinitura per corrispondere ai comportamenti dell’intestazione di Discourse (stati hover/attivi, transizioni di opacità)
- Piccole sistemazioni CSS (ad es. assicurarsi che il padding del pulsante indietro sia zero, prevenire spostamenti accidentali delle dimensioni)
Confronto di alto livello (Originale vs Branch Forked)
- Originale (main): Schede mobili F‑NAV + importazione chat opzionale; nessun pulsante indietro o sottomenu personalizzato
- Fork (feat/home-logo-arrow-back):
- Aggiunge la funzionalità dell’icona indietro nell’intestazione con fallback di routing
- Introduce la funzione scheda “customMenu” con voci di sottomenu configurabili
- Aggiunge la visibilità limitata ai gruppi per schede, voci di sottomenu e voci del profilo
- Nasconde opzionalmente F‑NAV nelle pagine degli argomenti
- Migliora l’accessibilità e la coerenza degli stati di interazione
- Fornisce documentazione di test e build pacchettizzate
Note:
- Questo componente è destinato alle versioni recenti di Discourse che supportano il livello API dei plugin di Discourse 1.14+ (come indicato negli initializer)
- Se ti affidi alla visibilità basata sui gruppi, assicurati prima che i tuoi gruppi e le tue appartenenze siano configurati
Parola di avvertimento: Testa con cautela poiché non sono un programmatore e il TC è stato creato e testato interamente con l’IA. Funziona meglio con 3.6beta1.
Un ringraziamento speciale a Don per questo fantastico componente; è un’aggiunta fantastica! ![]()