silverstripe / cwp-starter-theme

Highly accessible Bootstrap 4 theme which you can use as a starter for your CWP project.
BSD 3-Clause "New" or "Revised" License
5 stars 29 forks source link

Tabbed interface does not exist when multiple authenticators are enabled #44

Open elliot-sawyer opened 6 years ago

elliot-sawyer commented 6 years ago

I've reproduced this on starter, Wātea, and simple themes and I'm not sure which one it is appropriate to raise an issue on.

In SilverStripe 3, when you enable additional authenticators the Security/login form would present you with a default login and a tabbed interface of alternatives. When you enable multiple authenticators on a SilverStripe 4 site (such as Active Directory, BootstrapMFA, or any of its derivatives), you're presented with an unordered list of authenticators with no way to visually tell them apart. A developer can customise it, but it would be nice to present a nicer default view

Starter

authenticators-starter

Wātea

authenticators-watea

robbieaverill commented 6 years ago

Hey @elliot-sawyer! I think this issue belongs more on framework than in themes, what do you think?

elliot-sawyer commented 6 years ago

The framework doesn't really have a theme - it gives a default template with no CSS. It seems like it would need be implemented in one of the themes? Dropping simple or starter on top of any styling done in the framework would remove the change. The framework also wouldn't know which CSS styles you're using in your theme.

robbieaverill commented 6 years ago

Yeah I guess I was more talking about the markup than the styles

elliot-sawyer commented 6 years ago

Throwing the markup into the framework code is a possibility. I note that the current state of things also generates a similar semantic markup. The authentication methods are tabs in an unordered list, with a "panel" of sorts to display the actual form.

I don't really like having to include Bootstrap-specific classes in the core templates. Perhaps they could be defaults, overridden with config or utility methods?

robbieaverill commented 6 years ago

Yeah, the base templates should provide the login form markup, and if core supported displaying multiple authenticators in a list then we should ensure that the framework's markup for doing so is semantically valid - then we can add styles (and Bootstrap class names) as necessary to simple and/or starter/watea :)

elliot-sawyer commented 6 years ago

I'll raise an issue on framework and reference back to this.

elliot-sawyer commented 6 years ago

I've created a module that adds support for this here that I can drop into Bootstrap 3 projects. It works with Wātea and will probably work with the starter theme as well.