O Discourse renderiza esse rodapé com base em algumas condições. O rodapé é adicionado aqui.
showFooterNav é definido aqui.
Se qualquer uma dessas condições for verdadeira, a navegação será exibida.
isiOSPWA() e isAppWebview() são definidos aqui
Por exemplo, isAppWebview() se parece com isto.
Você pode criar uma condição adicional no seu tema — no seu site Discourse — para verificar o cookie, assim:
const isWKWebView = () => {
// verifique o cookie e retorne true se ele existir
// ou use qualquer outro método para detectar se o usuário está usando seu aplicativo
}
Para outras Classes, normalmente você seria capaz de modificar o showFooterNav() assim:
api.modifyClass("controller:application", {
pluginId: "show-footer-nav",
@discourseComputed
showFooterNav() {
// ...
}
});
No entanto, este é o controlador da aplicação, o que significa que ele será cacheado antes que seu código tenha a chance de ser executado. Em outras palavras, você não conseguirá modificar a Classe.
Dito isso, você ainda pode alterar o valor de showFooterNav com algo assim:
<script type="text/discourse-plugin" version="0.8">
const isWKWebView = () => {
// verifique e retorne sua condição
};
if (isWKWebView()) {
const applicationController = api.container.lookup("controller:application");
applicationController.set("showFooterNav", true);
}
</script>
na aba de cabeçalho do seu tema ou em um inicializador se estiver usando um tema remoto.