Hiding custom user fields from the fullscreen signup page

AI-generated summary

Richie wants to hide custom user fields from the new fullscreen signup page in Discourse, as they are currently visible despite being hidden in the old modal signup using CSS. Dax suggests using the .signup-fullpage class in CSS to target the fields, which works on standard setups. Richie initially has trouble applying it, as the CSS only works when added to the light mode theme, not dark mode. Moin explains that this is because the dark mode uses the same light theme but with a different color scheme, so the CSS must be applied to the correct theme. After clarifying the theme settings and confirming the issue, Richie resolves the problem by applying the CSS to the appropriate theme, acknowledging the helpful advice from both Dax and Moin Richie, dax, and Moin.

Hi everyone.

Before we enable the new Introducing our new fullscreen signup and login pages (which is great!) we’ve spotted something that we’d like to customise.

In the current modal-based registration we use some CSS to hide all our custom User Fields in the modal.

.d-modal.create-account div[class*="user-field-"] {
    display: none;
}
.create-account .user-fields .user-field {
    padding-bottom: 20px;
}

This means our users are presented with the minimum amount of fields to register:

However, the new signup page is showing every single custom field we have, which by our own doing, is rather a lot :blush:

How can we apply some CSS changes to the new full screen sign up page, to hide all our custom user fields please?

In the full page, you need to use the new .signup-fullpage class to target the elements inside it with CSS. Try with

.signup-fullpage div[class*="user-field-"] {
    display: none;
}

This didn’t work @dax , have I applied it correctly here? :thinking:

@dax might there be another way for this to work? :thinking:

Are you perhaps using any special theme/theme-component? On my site, this CSS code

.signup-fullpage div[class*="user-field-"] {
    display: none;
}

works without any issues. To see it applied, you need to refresh the page. As you can see here, I have 2 different optional fields, and both are successfully hidden once the CSS is enabled and the page is refreshed:

signupfullpage

Hmm :thinking:

If I apply that code to the Dark mode css, it does not work:

If I apply the code to the Light mode, it then hides it in dark mode:

Is this a bug? (If so, I will fire up a new post in Contribute > Bug ) or might it be something specific with my discourse?

Thanks @dax - this will be why it didn’t work first time as I only applied it to the dark mode :slight_smile:

Which is the forum’s default theme? Did you configure the default dark mode color scheme id site setting? Did you try using a private browser window?

Light.

Yes.

Yes, always :blush:

That’s the reason why you had to edit that theme. In dark mode, a different color scheme/ palette is applied, but it’s still the light theme.

Interesting insight, thanks @Moin :smiley:

And thanks again @dax for the css :smiley: