Extending header buttons

Ok so correct configuration will mean the default button is removed and then I can add my own custom one…

I believe any “button” that links to /login (of the community site) will ultimately take you to the parent site if SSO is enabled (correctly).

Login works - it redirects to our SSO login…

The ‘create account’ button goes to the same SSO login with no option to register. This is the button we need to go to our main site’s registration page.

1 Like

So @Don’s Theme Component can help there.

In one example client’s website, the registration link/option is on the login page too.

Perhaps you could consider adding one?

Are you using DiscourseCOnnect or some oauth?

We are using ODIC - @Don’s theme looks great and will do the job but how do I remove the existing “create account” button.

The theme component will hide it if the DiscourseConnect enabled.

2 Likes

I don’t think the plugin will work in our case then because we are using OpenID Connect. Under “Discourse Connect” the 3 fields are empty.

Ah I see, I’ve make a new version of the theme component which won’t restrict the appearance with site setting.

2 Likes

Amazing - thanks I was going to take your first plugin and play with it locally to see if I could make it fit my requirements but it looks like you started the ball rolling already - thank you…

1 Like

@Don looks good, so I’m looking at your plugin to understand how this works, are you over-writing the ‘signUpSsoButton’ for the custom behaviour. Presumably then that is in the core - where can I see the default implementation (given that I am not familiar with the structure of Discourse).

1 Like

Basically that’s not possible to override the discourse/app/assets/javascripts/discourse/app/components/header/auth-buttons.gjs at main · discourse/discourse · GitHub template but we can add a header button before or after auth buttons.
So the component is adding a button before the auth buttons like how it’s explained here: Upcoming Header Changes - Preparing Themes and Plugins and hide the default signup button with CSS.