By default, Tailwind's dark mode classes will take effect automatically if the user's operating system is already set to dark mode. Follow these instructions if you would also like to provide a toggle button so the user can override the operating system setting.
Set darkMode: 'class' in tailwind.config.js:
module.exports = {
darkMode: 'class',
// ...
}Add the provided darkmode.js file to resources/darkmode.js. Inline it into your HTML so that it runs immediately when the page loads:
(defn some-page [ctx]
(biff/base-html
(merge ctx {:base/head [[:script (biff/unsafe (slurp (io/resource "darkmode.js")))]]})
...))Then add a button to your UI that calls toggleDarkMode():
[:button {:onclick "toggleDarkMode()"} "Toggle"]