Comment ajouter une classe à la tr de la catégorie pour appliquer optionnellement du CSS

J’ajoute des éléments au <tr> dans la liste des sujets. Je dois appliquer du CSS uniquement aux catégories que je suis censé affecter.

Je pense que je dois le faire en ajoutant une classe “can-rate” au <tr> des catégories que je veux affecter.

Je pense que je peux le faire dans mon composant glimmer (qui pourrait savoir s’il doit appliquer le changement ?), bien que je serais tout aussi heureux de le faire dans l’initialiseur.

J’ai essayé certaines choses qui n’ont pas fonctionné. Quelqu’un peut-il me donner un coup de main ou m’indiquer un exemple ? Comme https://github.com/discourse/discourse-groups-css-classes-in-body/blob/main/common/header.html semble être la bonne voie, mais je ne sais pas comment savoir dans l’initialiseur si la catégorie est celle que je veux changer (donc je suppose que l’initialiseur est le mauvais endroit ?)

Peut-être Override class list

1 « J'aime »

Il serait peut-être plus facile de cibler l’attribut data-category-id au lieu d’essayer d’ajouter une classe au <tr>.

Si vous avez besoin d’ajouter des styles au tr sans le data-category-id, vous pourriez avoir du succès en examinant comment le composant de thème Category Icons modifie le rendu des liens de catégorie (ce qui affecte partout). Quelque chose comme ajouter la classe/l’attribut à un élément enfant et laisser le style remonter avec du CSS (c’est-à-dire tr:has(> .some-class)).

3 « J'aime »

Ah ! C’est la magie dont j’avais besoin. Et si simple. Je l’ai presque compris. Je ne vous remercierai jamais assez.

4 « J'aime »