handbooks.cljs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. (ns frontend.components.handbooks
  2. (:require ;[shadow.lazy :as lazy]
  3. [frontend.extensions.handbooks.core :as handbooks]
  4. [frontend.hooks :as hooks]
  5. [frontend.modules.layout.core :as layout]
  6. [frontend.state :as state]
  7. [rum.core :as rum]))
  8. #_:clj-kondo/ignore
  9. ;(def lazy-handbooks (lazy/loadable frontend.extensions.handbooks.core/content))
  10. ;
  11. ;(rum/defc loadable-handbooks
  12. ; []
  13. ; (let [[content set-content] (rum/use-state nil)]
  14. ;
  15. ; (hooks/use-effect!
  16. ; (fn []
  17. ; (lazy/load lazy-handbooks #(set-content %))) [])
  18. ;
  19. ; [:div.cp__handbooks-content
  20. ; content]))
  21. (rum/defc handbooks-popup
  22. []
  23. (let [popup-ref (rum/use-ref nil)]
  24. (hooks/use-effect!
  25. (fn []
  26. (when-let [^js popup-el (rum/deref popup-ref)]
  27. (comp
  28. (layout/setup-draggable-container! popup-el nil))))
  29. [])
  30. [:div.cp__handbooks-popup
  31. {:data-identity "logseq-handbooks"
  32. :ref popup-ref}
  33. [:div.cp__handbooks-content-wrap
  34. (handbooks/content)]]))
  35. (defn toggle-handbooks
  36. []
  37. (state/toggle! :ui/handbooks-open?))