Changing templates without changing URL


So here is what I would like to understand how to do.

I am trying to create a dashboard for my company’s internal use, but want to leverage templates like AdminLTE to give us a good look and feel.

Several of those types of templates offer the ability to having multiple layouts that the user can pick from. Those layouts don’t actually define the content that the user is interacting with, but the location, spacing, and sizing of things like the navbar, etc… One layout might have a left side collapsing navbar while another layout might make it across the top of the screen. Ideally I would be able to control this by which specific additional components I render into my main application.js and I could trigger these off of things in localStorage, session, etc…

What’s the best option for handling things like this? (See the “layouts” menu option in the AdminLTE preview for examples of what I want to do.