Currently the default homepage settings found in the admin panel and user preferences apply to both desktop and mobile. This is a very simple theme component that will allow you to specify a different default homepage for the mobile view of your Discourse forum.
It is important to note that this will force mobile to navigate to the homepage you choose in this theme component. Your users will not be able to override the default homepage for mobile via their user preferences at this point.
Repository Link https://github.com/tshenry/discourse-force-mobile-homepage
I don’t know if there’s anything to gain by including screenshots or putting a demo on theme-creator, but if anyone thinks otherwise, please speak up!
Theme Settings
There is one setting that allows you to set the mobile homepage as:
Thank you for this useful component.
Could you please help? While showing “Latest” by default on mobile, there is no option to choose “Categories” in top drop-down menu above topic list.
Grazie per aver creato questo! Che dire della compatibilità futura, dato che l’app principale di Discourse continua a evolversi e viene aggiornata? O il componente del tema è abbastanza “future-friendly” a riguardo?
Questo componente Theme è super-semplice e praticamente a prova di bomba, secondo me! Solo un paio di righe di CSS e HTML senza impostazioni o altro di complicato.
Naturalmente, gli utenti più esigenti hanno immediatamente iniziato a richiedere la possibilità di impostare le proprie preferenze di override.
Questo è utile per la stragrande maggioranza degli utenti normali, ma c’è ancora richiesta da parte dell’1% degli utenti più esigenti di poter eseguire l’override personale.
Ho ricevuto un avviso di deprecazione per questo ottimo componente del tema nella console degli sviluppatori del browser:
[THEME 50 ‘Force Mobile Homepage’] Avviso di deprecazione: l’accesso a site.mobileView o site.desktopView durante l’inizializzazione del sito può causare errori e incoerenze quando la finestra del browser viene ridimensionata. Sposta questi controlli in un componente, un trasformatore o una callback API che viene eseguita durante il rendering della pagina. [deprecato da Discourse 3.5.0.beta9-dev] [id deprecazione: discourse.static-viewport-initialization] [info: Designing for Different Devices (Viewport Size, Touch/Hover, etc.)]