Having multiple themes is a common request on (web) applications nowadays, at least having light, dark, and system (define dark/light automatically from the user's system).

If your application has also some sort of server-side rendering, this seemingly simple request might quickly become more complex than expected, in particular once you start...