Salut, j’avais l’habitude d’injecter le nom de mon forum en texte dans l’en-tête, juste après le logo, mais c’était un peu le bazar pour essayer de l’adapter à toutes les combinaisons de largeurs de navigateur et de contenus possibles dans l’en-tête. Du coup, maintenant, j’utilise une image de logo qui contient à la fois le logo proprement dit et le nom du forum.
Mais depuis la mise à jour vers la v2026.7.0, je rencontre des difficultés pour l’adapter à certaines largeurs à l’intérieur des sujets. (Il n’y a aucun problème sur la page d’accueil, car l’en-tête y dispose de plus d’espace libre). Le paramètre Discourse pour le Petit logo indique : « L’image du petit logo en haut à gauche de votre site, visible lors du défilement vers le bas. » Cependant, le comportement réel est un peu plus complexe que ça. Pour des largeurs de navigateur >= 1015 pixels (environ), lors du défilement vers le bas à l’intérieur d’un sujet avec la barre latérale visible, c’est le Logo principal qui est utilisé. Il doit être réduit pour s’adapter au petit espace restant à gauche du titre du sujet, ce qui le rend illisible dans mon cas. Ensuite, pour des largeurs inférieures à ~1015 pixels, il bascule sur le Petit logo. Y a-t-il un moyen de forcer l’utilisation toujours du Petit logo, voire du Logo mobile, lors du défilement vers le bas dans la vue d’un sujet ? Il y a quelques idées similaires dans ce vieux fil de discussion, mais ce n’est pas exactement ce que je cherche à faire, et je ne suis pas sûr que l’implémentation technique soit toujours d’actualité :
// Lorsque la barre latérale est visible, force le HomeLogo à être dans un état 'non minimisé'.
const transformerExists = api.registerValueTransformer?.(
"home-logo-minimized",
({ value, context }) => {
if (value && context.showSidebar) {
return false;
}
return value;
}
);
^ Et celui-ci aussi, mais c’est juste pour les tests automatisés, n’est-ce pas ?
Y a-t-il une méthode raisonnablement propre pour « annuler l’annulation » sans devoir forker entièrement le composant ? J’en ai principalement besoin parce que 1) beaucoup de mes utilisateurs ont exprimé une forte préférence pour la mise en page large, et 2) il y a trop de nombreuses bizarreries majeures et mineures qui doivent être gérées avec des règles CSS, en plus de simplement augmenter les valeurs de --d-max-width et --topic-body-width. Je maintiens mon propre composant de thème avec un tas de règles CSS pures que j’ai copiées et adaptées depuis discourse-full-width-component/common/common.scss at main · discourse/discourse-full-width-component · GitHub, mais cela a tendance à se casser à chaque grande version de Discourse, et je préférerais quelque chose de mieux maintenu et demandant moins de maintenance, comme le composant Largeur Pleine.
Super !! Merci beaucoup Kris.
Ce commit sera-t-il disponible pour ESR ? Pour l’instant, il est indiqué que mon composant Full width est À jour avec d-compat/2026.7
Oh bien sûr, ces modifications sont entièrement contrôlées par le nouveau paramètre, donc il est sûr de les rétroporter vers cette version. Cela devrait être disponible maintenant.