# Hamburger Theme Selector

**URL:** https://meta.discourse.org/t/hamburger-theme-selector/61210
**Category:** Theme component
**Tags:** end-of-life
**Created:** [April 18, 2017, 7:24pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210 "2017-04-18T19:24:29Z")
**Posts on this page:** 20
**Page:** 2

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [October 27, 2017, 9:57am UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/22 "2017-10-27T09:57:01Z")

</div>

Are you on latest, are the themes user selectable?

---

<div class="post-metadata">

### Author: ![Yegor](https://avatars.discourse-cdn.com/v4/letter/y/b2d939/32.png) [@Yegor](https://meta.discourse.org/u/Yegor)
#### Post date: [October 27, 2017, 10:06am UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/23 "2017-10-27T10:06:33Z")

</div>

There is a checkbox saying “Theme can be selected by users”. So I assume yes.

Thanks for the quick answer.

---

<div class="post-metadata">

### Author: ![Yegor](https://avatars.discourse-cdn.com/v4/letter/y/b2d939/32.png) [@Yegor](https://meta.discourse.org/u/Yegor)
#### Post date: [October 27, 2017, 9:26pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/24 "2017-10-27T21:26:37Z")

</div>

so any thoughts, Sam? 🙂

---

<div class="post-metadata">

### Author: ![featheredtoast](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/featheredtoast/32/116994_2.png) [@featheredtoast](https://meta.discourse.org/u/featheredtoast)
#### Post date: [October 27, 2017, 9:34pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/25 "2017-10-27T21:34:14Z")

</div>

Can you confirm that you have done this?

> [@Neso](#):
>
> After you import the Hamburger Theme Selector you need to add the Hamburger Theme Selector as a Theme Component.

The way I understand it is you’re going to need the hamburger theme selector added as a Theme Component for all of your other existing themes for it to appear. Add the hamburger theme to all of the others via the `Theme includes other child themes` option.

---

<div class="post-metadata">

### Author: ![BlackKnob](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/blackknob/32/93549_2.png) [@BlackKnob](https://meta.discourse.org/u/BlackKnob)
#### Post date: [March 21, 2018, 7:55pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/26 "2018-03-21T19:55:32Z")

</div>

this is such a useful extension. Please consider including this as a part of Discourse’ core.

---

<div class="post-metadata">

### Author: ![erlend\_sh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/erlend_sh/32/119475_2.png) [@erlend\_sh](https://meta.discourse.org/u/erlend_sh)
#### Post date: [March 22, 2018, 2:15am UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/27 "2018-03-22T02:15:38Z")

</div>

Related:

> [@Better theme settings on user front-end](https://meta.discourse.org/t/better-theme-settings-on-user-front-end/78477):
>
> Continuing the discussion from [We need a "large fonts" and "small fonts" theme to ship with Discourse](https://meta.discourse.org/t/we-need-a-large-fonts-and-small-fonts-theme-to-ship-with-discourse/60879/35): Our themes now support dark/light/{any-color-scheme} toggles as well as variable font sizes tada But user interface for changing these settings is currently very basic: We should have something closer to this (from GitBook): I don’t have access to my usual image editor so here’s a cruder mockup than usual:

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [July 14, 2018, 8:40am UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/28 "2018-07-14T08:40:07Z")

</div>

Just an FYI for everyone … recent 2.1 Beta update broke the existing Hamburger Theme Selector installations. It simply took an update of the HTS to fix this from within its Theme component admin. (so seems someone knew about this, [aha!](https://github.com/SamSaffron/discourse-hamburger-theme-selector/commit/6e2d9221ff147963d5dcbddf3a7978d8c6b3669b) 😉 (@Sam would have been good to have a heads up, sorry if I missed it) ) (there seems however to be a new issue with Themes admin, see [my ‘bug’ report](https://meta.discourse.org/t/upgrade-to-v2-1-0-beta2-258-affected-themes-admin/92326))

---

<div class="post-metadata">

### Author: ![alexs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alexs/32/139956_2.png) [@alexs](https://meta.discourse.org/u/alexs)
#### Post date: [October 6, 2018, 2:51pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/29 "2018-10-06T14:51:53Z")

</div>

Just a minor suggestion - it might be worth adding a ‘Themes’ header to that section of the menu to help users figure out what those are. Where I’ve added the red box -

 ![16ada34132c54804afa4a728b711bda1bffe8c25](https://global.discourse-cdn.com/meta/original/3X/0/9/09aaf3b0dc4ea86522f4c5275b499e53ade10325.png)

---

<div class="post-metadata">

### Author: ![piratdavid](https://avatars.discourse-cdn.com/v4/letter/p/ba9def/32.png) [@piratdavid](https://meta.discourse.org/u/piratdavid)
#### Post date: [November 22, 2018, 4:16pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/30 "2018-11-22T16:16:46Z")

</div>

The theme-selector seems to be broken in v2.2.0.beta4 +266.

```
TypeError: e.reject is not a function
    at Object.a [as setLocalTheme] (_application-0886f4c5dbc868ca081df73f2ba68777febbad4e17b4e00dc8cb7aa447d11a4d.js:21312)
    at 0c56ef81d321af57aa11e5f7762b891635ccf8ce.js?__ws=www.elektronauts.com:16
    at A (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:57655)
    at S (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:57670)
    at C (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:57638)
    at invokeWithOnError (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:12552)
    at a.flush (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:12613)
    at u.flush (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:12737)
    at p.end (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:12807)
    at p.run (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:12921)

```

happens in

`themeSelector.setLocalTheme(key, r.user.user_option.theme_key_seq);`

Any ideas?

/David

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [November 22, 2018, 4:45pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/31 "2018-11-22T16:45:22Z")

</div>

It works ok for me - I’m using it right now on this site!

Can you reproduce the problem here? If so, what browser are you using?

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [February 28, 2019, 12:43pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/32 "2019-02-28T12:43:04Z")

</div>

Guys, this seems broken at the moment?

I updated to latest of both theme component and main build (tests passed) but getting a javascript error:

`Uncaught TypeError: Cannot read property 'immediate_reload' of undefined`

At the same time there seems to have been introduced some slick new code for switching Themes on _meta_ that avoids a page refresh.

Is this because the release of this change is out of sync (for some branches) with the update to the Hamburger Theme Selector?

Any idea when the change on _meta_ will be promoted to _tests-passed_?

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [February 28, 2019, 1:14pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/33 "2019-02-28T13:14:56Z")

</div>

Meta is running tests-passed (well tests-passed, with a little Ember 3.7 magic on top, but that shouldn’t affect this).

Do you see the “immediate reload” setting in the admin panel, at the bottom of the options for this theme component? It should look like this:

 ![29](https://global.discourse-cdn.com/meta/original/3X/3/8/38a24b3f649baf17f6de6542990d0efdbe8895ea.png)

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [February 28, 2019, 1:16pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/34 "2019-02-28T13:16:25Z")

</div>

Thanks for comfirmation. I see now this feature is already there.

Yes, it is there and checked.

If I uncheck it, the javascript error goes away (and the theme instantly updates without a page reload).

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [February 28, 2019, 1:27pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/35 "2019-02-28T13:27:53Z")

</div>

Any chance you can share the link for the site? I enabled the setting on Meta, and it still seems to be working ok

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [February 28, 2019, 1:29pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/36 "2019-02-28T13:29:45Z")

</div>

Thanks for your interest, David, PM’d.

btw, love this new feature! 🙂

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [February 28, 2019, 1:37pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/37 "2019-02-28T13:37:33Z")

</div>

It looks like toggling the setting off/on has fixed the problem. There must be a caching issue somewhere, which I’ll try and track down.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [March 8, 2019, 4:53pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/38 "2019-03-08T16:53:44Z")

</div>

> [@david](#):
>
> There must be a caching issue somewhere

For reference, this was fixed today by @Osama 😃

cc @merefield

> [@Lots of errors on site if theme component introduces settings](https://meta.discourse.org/t/lots-of-errors-on-site-if-theme-component-introduces-settings/110954/3):
>
> Fixed in: [https://github.com/discourse/discourse/pull/7131](https://github.com/discourse/discourse/pull/7131)

---

<div class="post-metadata">

### Author: ![Hanzo1](https://avatars.discourse-cdn.com/v4/letter/h/b487fb/32.png) [@Hanzo1](https://meta.discourse.org/u/Hanzo1)
#### Post date: [March 12, 2019, 11:30am UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/39 "2019-03-12T11:30:46Z")

</div>

> [@sam](#):
>
> in the hamburger menu

Is it possible to have an actual switch, built with CSS and embedded into the top bar, to switch themes from [A] to [B]?

> **[W3Schools.com](https://www.w3schools.com/howto/howto_css_switch.asp)**
>
> W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

Like this. If so, what would be the command required, as it isn’t just a simple link? Perhaps it could utilize the Hamburger Theme Selector in some way?

---

<div class="post-metadata">

### Author: ![dax](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dax/32/244677_2.png) [@dax](https://meta.discourse.org/u/dax)
#### Post date: [March 12, 2019, 12:16pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/40 "2019-03-12T12:16:21Z")

</div>

Did you already see [Alien Night Theme - A free Dark Theme for Discourse](https://meta.discourse.org/t/alien-night-theme-a-free-dark-theme-for-discourse/54175) ?

---

<div class="post-metadata">

### Author: ![Hanzo1](https://avatars.discourse-cdn.com/v4/letter/h/b487fb/32.png) [@Hanzo1](https://meta.discourse.org/u/Hanzo1)
#### Post date: [March 12, 2019, 11:26pm UTC](https://meta.discourse.org/t/hamburger-theme-selector/61210/41 "2019-03-12T23:26:08Z")

</div>

PERFECT, thanks Daniela.

[Previous page](https://meta.discourse.org/t/hamburger-theme-selector/61210.md?page=1)

[Next page](https://meta.discourse.org/t/hamburger-theme-selector/61210.md?page=3)
