Si tratta di una richiesta ragionevole: può essere difficile bilanciare il layout della pagina /categories quando ci sono solo poche categorie con più livelli di sottocategorie.
Non desideriamo più che le persone utilizzino modifyClass, perché, come hai menzionato, mantenere questo tipo di override può richiedere uno sforzo di sviluppo non trascurabile.
Ora disponiamo di metodi di personalizzazione più recenti con cui possiamo lavorare e che sono più facili da mantenere stabili. In questo caso, un value transformer può essere d’aiuto. Ne ho appena aggiunto uno qui, che sarà disponibile nei prossimi aggiornamenti: DEV: Add a category-list-subcategories value transformer - Pull Request #42804 - discourse/discourse - GitHub
Un semplice esempio è il seguente:
api.registerValueTransformer(
"category-list-subcategories",
({ value, context }) =>
context.page === "categories" && context.category.level >= 1 ? [] : value
);
Questo mostrerà solo un livello di sottocategorie. Ora sono disponibili altre opzioni tramite il transformer, quindi ho creato un componente di tema che possiamo mantenere per supportarle.
Pertanto, una volta aggiornato Discourse, puoi installarlo per controllare quante sottocategorie vengano visualizzate su /categories e in altre liste di categorie:
Imposta Categories page depth su 2 per nascondere tutte le categorie di terzo livello (nipoti).