That is a very helpful component! Should be from user experience point of view built into Discourse, but that is my opinion.
Anyways, I’m stuck in trying to make the same logic work for Categories. I wanted to do it with api.modifyClass but seem to miss the crucial part. Can you please help me?
I have this setting for my desktop page:
Basically the red box on the left should be clickable:
If you want to experiment and fork this component, you are welcome to do so
As a starting point to get a category to be clickable, I would suggest looking through the code in this component that does so by modifying the topic-list-item component inside Discourse core.
You could try creating a new file within this same folder which targets one of the many types of category layouts included in our components, making sure to target the same category page style you have selected on your forum.
Some of these are listed in their locations below…
Nous nous sommes appuyés sur ce composant pour rendre les cartes de sujet de la vue Catégories + Derniers (par défaut dans notre cas) cliquables. Depuis la mise à jour d’aujourd’hui vers la dernière version 3.1.0beta8 (maintenant affichée comme 3.2.0.beta1-dev), le composant a cessé de fonctionner correctement.
Maintenant, l’état actif du curseur reste cliquable, mais la zone du sujet n’est pas cliquable. Avec la console du navigateur ouverte, il y a une erreur, qui pourrait aider les développeurs à identifier le problème :
Uncaught TypeError: this.router is undefined
function navigateToTopic(topic, href) {
if (this.siteSettings.page_loading_indicator !== "slider") {
// Avec le curseur, il est plus agréable que l'en-tête se mette à jour une fois que le reste du contenu du sujet est chargé,
// donc sautez la définition précoce.
this.appEvents.trigger("header:update-topic", topic);
}
this.session.set("lastTopicIdViewed", {
topicId: topic.id,
historyUuid: this.router.location.getState?.().uuid
});
_url.default.routeTo(href || topic.get("url"));
return false;
}
Salut @kinetiksoft - Je n’ai pas pu reproduire le problème de mon côté. Le composant de thème semble bien fonctionner avec la dernière version de Discourse. L’utilisation du lien « aperçu sur le créateur de thème » dans le message d’origine ici semble également fonctionner.
Pourriez-vous partager un lien vers un site présentant le problème ? Il y a peut-être un conflit avec un autre thème/plugin.
Merci @kinetiksoft ! Il semble que le problème survienne lorsque le composant de thème est utilisé parallèlement à la vue « catégories + dernières » (que vous avez configurée comme page d’accueil).
J’ai créé une PR qui devrait résoudre le problème.
Je posterai ici une fois qu’elle sera fusionnée, et vous devrez ensuite mettre à jour votre forum vers la dernière version du cœur de Discourse.
Je ne suis pas sûr si j’ai mal configuré ce composant de thème, mais tout le texte du corps sur le sujet dans la carte n’est pas cliquable. Si vous cliquez juste après la fin du texte sur l’une ou l’autre ligne, vous pouvez activer la carte et ouvrir le sujet.
Avez-vous des idées sur ce qui pourrait causer cela ?