Response to Guide on UI customisation · Issue #83 · jamesvandyne/tanzawa

I'd donate to you for a theme decoupling. This is high on my list! :)
I appreciate the sentiment 😃. It's not money that's preventing me, it's time.

I've been thinking about how to handle theming for Tanzawa properly. It's a big task, but not impossible. There's 2 different ways to think of theming: 1) css only changes theme support, 2) complete theme support (i.e. colors and layout). The move from css only changes wouldn't be much less work than allowing full customization.

Roughly here's what I think would be required:

  • Extract all mentions of tailwind colors from templates/public (e.g. bg-negroni-700 ) and replace them with a common name – perhaps role based?
  • Create a record / setting somewhere ( django-admin?) to track the active theme.
  • Create a custom template loader (or other shim) that will prioritize rendering with the selected theme's public themes.
  • Set Tanzawa to only include the css of the selected theme.
  • Document how to make a custom theme.

Theming isn't my top priority, but it's not low either. If anyone is interested helping before I have a chance to get to it, I'm happy to answer questions / provide direction and so forth.