mirror of
https://github.com/logseq/logseq.git
synced 2026-04-27 15:45:00 +00:00
18 lines
579 B
Clojure
18 lines
579 B
Clojure
(ns frontend.components.theme
|
|
(:require [rum.core :as rum]))
|
|
|
|
(rum/defc container
|
|
[{:keys [theme on-click] :as props} child]
|
|
rum/use-effect! (let [doc js/document.documentElement
|
|
cls (.-classList doc)]
|
|
(.setAttribute doc "data-theme" (if (= theme "white") "light" theme))
|
|
(if (= theme "dark") ;; for tailwind dark mode
|
|
(.add cls "dark")
|
|
(.remove cls "dark")))
|
|
|
|
[theme]
|
|
[:div
|
|
{:class (str theme "-theme")
|
|
:on-click on-click}
|
|
child])
|