Different landing page for desktop vs mobile theme?

And for my sites too please - We’ve reached a point in the number of users that new members are posting in the wrong place because the categories aren’t that obvious in Latest view.

The Categories view just doesn’t “work” on mobile!

So could we please have the option of having different views depending on device type.

Thanks guys, I so love this software!

Cheers

1 Like

Still bumping this feature request. Comparison shots between Categories and Latest, on mobile:

Quite the “extreme” use case since our forum is about sharing music and we use Topic List Previews, plus my screen is amongst the smallest (iPhone SE).

3 Likes

@Amethi, @maia_internet, @_vincent, et al. Here’s a very simple theme component that should get you by. It may not be as ideal as a built-in feature added to core, but it should accomplish what most of you are asking for.

I hoped to have a way to honor a user’s choice when it comes to mobile if it was explicitly set. It’s possible I may be able to handle that to some extent once user-side theme settings come out, but for now you will be forcing the homepage to be “latest” (or whatever you change it to) for all of your users while they are browsing mobile. Desktop will still honor your default site setting or what your users pick as their homepage.

I’ll make a proper post in #theme a little later. I’ve run out of time for now. Hope this helps!

12 Likes

Seems to work really well @tshenry. Thanks!

1 Like

I might be going daft here, but how do I include your theme component into my existing theme?

Cheers

No worries. I should have linked to instructions here too! There is a nice illustrated set of instructions you can check out here. It’s possible you might be on the latest version of Discourse, in which case the UX for themes and components has changed a little. Let me know if the instructions I linked to still leave you a little lost. I’d be happy to help you figure it out.

By the way, the topic below is the home of this theme component now:

2 Likes

thanks @tshenry i’ll take a look.

however I’ve just fiddled round with the customization settings - I’ve never had an issue before, and now my site has disappeared!! Just produces a blank screen, but the code is there!!

any idea how to reverse changes from the cli???

cheers

You’ll need to go to your site’s safe mode Air Cadet Central and check “disable current theme” then you’ll want to revert whatever change you made in the customizations.

2 Likes

thanks fella - didn’t know that existed! Lifesaver!

1 Like

OK back up and working - thanks again - I’ve installed your theme and it’s installing as a Theme not a Theme Component??? any ideas. I’m on Version: v2.1.0.beta5 +66

cheers, and thanks for your hard work :smiley:

No problem. If you select it from the list of themes, then scroll down, you should see a section like this:

You’ll want to click the “make component” button then confirm. You should then be able to add it to your main theme the way it’s outlined in the instructions I linked to earlier.

Fab, getting there! Making it a component works, but when I add it to my theme it adds a component with the others but there’s no text for the link, but the (x) button is there. The link it produces ends in a # where the others don’t??
and it doesn’t seem to work!!

Cheers

Ah yeah, I think that might be a little bug that’s still getting worked out. Try refreshing the page, then click the (x) if that blank theme component is still there, then try selecting the Force Mobile Homepage component again. You might also try selecting another theme component from the dropdown list, then open the list again and select the Force Mobile Homepage component again. Click the “add” button and hopefully that should do it!

3 Likes

You are indeed a hero - now working as advertised! Many thanks for your help today, greatly appreciated!

1 Like

Yes, I’ve come across this several times. Has this been reported I wonder?

I don’t know - I haven’t - but @tshenry 's suggestion of moving in and out of the drop down menu after a page reload worked.

1 Like

Nice one! thanks @tshenry :heart:

1 Like

Any reason not to combine your script with the following in Customize --> Themes --> Mobile --> Header?

<script>
  if (window.location.pathname == "/")
  {   window.location.href = "/latest";
  }
</script>

This will handle the initial redirect to /latest if the user arrives on the homepage.

No particular reason, no. That said, I no longer use that script. With the addition of user-selectable homepages I just have those that prefer /latest select it.

1 Like

I originally found this topic when searching for a solution to my problem:

As it explains, I have my forum set up to display categories + latest since I don’t only want to display the latest on desktop. Here are the two Discourse settings that make that layout possible:

It’s the ideal layout for me since it both displays the categories for users looking to post something new and makes the latest available for other people who are just coming back to see what’s new.

For anyone reading along who wants to do the same thing, here’s what you need to do:

  1. Go to the Edit CSS/HTML section of your theme:

  2. Add the following script in the MobileHeader section (so it only affects visitors on mobile devices):

    Here’s the script so you can copy/paste it:

    <script>
        if (window.location.pathname == "/")
        {   window.location.href = "/latest";
        }
    </script>
    
    <script type="text/discourse-plugin" version="0.4">
        api.changeWidgetSetting('home-logo', 'href', '/latest')
    </script>
    

Update: The Forced Mobile Homepage theme component linked above is probably a better way to accomplish this.

8 Likes