Discourse rend ce pied de page en fonction de certaines conditions. Le pied de page est ajouté ici.
showFooterNav est défini ici.
Si l’une ou l’autre de ces conditions est vraie, la barre de navigation sera affichée.
isiOSPWA() et isAppWebview() sont définis ici
Par exemple, isAppWebview() ressemble à ceci.
Vous pouvez créer une condition supplémentaire dans votre thème — sur votre site Discourse — pour vérifier le cookie, comme ceci :
const isWKWebView = () => {
// vérifier la présence du cookie et retourner true s'il existe
// ou utiliser toute autre méthode pour détecter si l'utilisateur utilise votre application
}
Pour d’autres classes, vous seriez normalement en mesure de modifier showFooterNav() comme suit :
api.modifyClass("controller:application", {
pluginId: "show-footer-nav",
@discourseComputed
showFooterNav() {
// ...
}
});
Cependant, il s’agit du contrôleur de l’application, ce qui signifie qu’il sera mis en cache avant que votre code n’ait la possibilité de s’exécuter. En d’autres termes, vous ne pourrez pas modifier la classe.
Cela dit, vous pouvez toujours modifier la valeur de showFooterNav avec quelque chose comme ceci :
<script type="text/discourse-plugin" version="0.8">
const isWKWebView = () => {
// vérifier et retourner votre condition
};
if (isWKWebView()) {
const applicationController = api.container.lookup("controller:application");
applicationController.set("showFooterNav", true);
}
</script>
dans l’onglet en-tête de votre thème ou dans un initialiseur si vous utilisez un thème distant.