lms icon indicating copy to clipboard operation
lms copied to clipboard

Change theme per user via Web UI

Open Utopiah opened this issue 2 months ago • 5 comments

Hi, wonderful project! Got it running in minutes https://lemmy.world/post/36871700/19765171 just few days ago while trying to help someone else.

Simple, it just works. Now though that I'm using it replace a private cloud based alternative and see the UI daily, I'd like to customize it just a bit. I noticed it can be change with the container parameter https://github.com/epoupon/lms/discussions/466 but in truth I'd prefer if each user could have their own theme.

Maybe it's already feasible but I can't see any such feature in /settings.

Utopiah avatar Oct 08 '25 06:10 Utopiah

Hello,

For now it is not feasible without hacking. What kind of change do you have in mind?

epoupon avatar Oct 13 '25 17:10 epoupon

I had in mind a dropdown menu in /settings in the top UI section that would list installed CSS theme, e.g. current one, a light one (basically the same with white-ish background, black-ish text), a dark one (opposite), then on clicking on it it would set that theme.

Utopiah avatar Oct 13 '25 17:10 Utopiah

Ah this reminds me the old days when LMS had both https://bootswatch.com/darkly/ and https://bootswatch.com/flatly/ :)

epoupon avatar Oct 13 '25 17:10 epoupon

Those would be neat but honestly anything that loads choices from /docroot/css.

It could be a convention, e.g. any file in that directory becomes a theme, or an additional file, e.g. themes.json that lists the files e.g. ["lms.css"]

Utopiah avatar Oct 14 '25 04:10 Utopiah

LMS currently uses a vanilla Solar theme, but as a result, there are hacks in the code:

  • around the primary/secondary colors to achieve a satisfactory look
  • hardcoded margins and sizes specific to this theme

Unfortunately, this breaks the use of other themes. We should first isolate these changes in a CSS file to make it easier to switch themes later on.

epoupon avatar Oct 31 '25 08:10 epoupon