Sass variables are not being read in code

Hello,

When adding more settings to my theme, it started to become apparent Discourse was ignoring them.

Code:


#main-outlet-wrapper .sidebar-wrapper {
  @if $Full_Width == true {
    left: 10px;
  }
}

@if $Full_Width == true {
  :root {
    --d-max-width: 95%;
  }
  #main-outlet {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 5px;
    margin-bottom: 50px;
  }
}

This code doesn’t do anything, no matter the value of the setting.

However, if I remove == true, it’ll always be enabled no matter what.

This also seems to be the issue with any other bool? I read the sass docs and my code matches and it still does not work.


div#main-outlet.wrap.not-found-container,
#main-outlet-wrapper {

  #main-outlet,
  .sidebar-wrapper {
    @if $Is_Background_Blurred {
      backdrop-filter: blur(3rem) !important;
      background-color: #0a0a0aa6 !important;

      input[type],
      .select-kit.combo-box .select-kit-header,
      .d-editor-textarea-wrapper,
      div.ac-wrap {
        background: transparent;
      }
    }

    @else {
      backdrop-filter: none !important;
      background-color: var(--secondary) !important;

      input[type],
      .select-kit.combo-box .select-kit-header,
      .d-editor-textarea-wrapper,
      div.ac-wrap {
        background: transparent;
      }
    }
  }
}

Thanks for any help.

2 Likes

I encountered the same issue a few weeks ago and concluded that the if SASS condition wasn’t working as I thought. I’d be very happy to know if such a thing is possible though:

Having “if this site_setting == value then” in a SASS file.

I’m just putting this here in case it would be of any usefulness:

2 Likes

I had a look here before I made my post, and my code is the exact same.

Doing @if $var {} will always run it no matter the value, and @if $var == true {} will never run it.

Have you tried:

@if $var == "true"

It’s possible the boolean is actually a string, I’ve run into this with theme components before.

3 Likes

Yep, seemed to fix it, strange.

2 Likes

Awesome, you both helped me figure out a thing I had given up on in one of my theme components. :v:

2 Likes

This may fix the dark theme switching we discussed recently, thanks.

It was not working as is.

3 Likes

And just like that, Kris helped an entire population.

3 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.