mirror of
https://github.com/penpot/penpot.git
synced 2025-01-24 15:39:50 -05:00
Add main loader in ui ns.
This commit is contained in:
parent
2887b5c0e1
commit
55025d12fa
1 changed files with 38 additions and 14 deletions
|
@ -16,6 +16,7 @@
|
|||
[uxbox.rstore :as rs]
|
||||
[uxbox.data.projects :as dp]
|
||||
[uxbox.data.users :as udu]
|
||||
[uxbox.ui.icons :as i]
|
||||
[uxbox.ui.lightbox :as ui-lightbox]
|
||||
[uxbox.ui.auth :as ui-auth]
|
||||
[uxbox.ui.dashboard :as ui-dashboard]
|
||||
|
@ -24,20 +25,27 @@
|
|||
[uxbox.ui.mixins :as mx]
|
||||
[uxbox.ui.shapes]))
|
||||
|
||||
(def ^:const auth-data
|
||||
(as-> (l/key :auth) $
|
||||
(l/focus-atom $ s/state)))
|
||||
;; --- Lentes
|
||||
|
||||
(def ^:const +unrestricted+
|
||||
#{:auth/login})
|
||||
(def ^:const auth-data-l
|
||||
(-> (l/key :auth)
|
||||
(l/focus-atom s/state)))
|
||||
|
||||
(def ^:const restricted?
|
||||
(complement +unrestricted+))
|
||||
(def ^:const loader-l
|
||||
(-> (l/key :loader)
|
||||
(l/focus-atom s/state)))
|
||||
|
||||
;; --- Constants
|
||||
|
||||
(def ^:const +unrestricted+ #{:auth/login})
|
||||
(def ^:const restricted? (complement +unrestricted+))
|
||||
|
||||
;; --- Main App (Component)
|
||||
|
||||
(defn app-render
|
||||
[own]
|
||||
(let [route (rum/react r/route-l)
|
||||
auth (rum/react auth-data)
|
||||
auth (rum/react auth-data-l)
|
||||
location (:id route)
|
||||
params (:params route)]
|
||||
(if (and (restricted? location) (not auth))
|
||||
|
@ -59,9 +67,8 @@
|
|||
|
||||
(defn app-will-mount
|
||||
[own]
|
||||
(when @auth-data
|
||||
(rs/emit! (udu/fetch-profile)
|
||||
(dp/fetch-projects)))
|
||||
(when @auth-data-l
|
||||
(rs/emit! (udu/fetch-profile)))
|
||||
own)
|
||||
|
||||
(def app
|
||||
|
@ -71,10 +78,27 @@
|
|||
:mixins [rum/reactive]
|
||||
:name "app"}))
|
||||
|
||||
;; --- Loader
|
||||
|
||||
(defn loader-render
|
||||
[own]
|
||||
(when (rum/react loader-l)
|
||||
(html
|
||||
[:div.loader-content i/loader])))
|
||||
|
||||
(def loader
|
||||
(mx/component
|
||||
{:render loader-render
|
||||
:name "loader"
|
||||
:mixins [rum/reactive mx/static]}))
|
||||
|
||||
;; --- Main Entry Point
|
||||
|
||||
(defn init
|
||||
[]
|
||||
(println "ui/init")
|
||||
(let [app-dom (gdom/getElement "app")
|
||||
lb-dom (gdom/getElement "lightbox")]
|
||||
lightbox-dom (gdom/getElement "lightbox")
|
||||
loader-dom (gdom/getElement "loader")]
|
||||
(rum/mount (app) app-dom)
|
||||
(rum/mount (ui-lightbox/lightbox) lb-dom)))
|
||||
(rum/mount (ui-lightbox/lightbox) lightbox-dom)
|
||||
(rum/mount (loader) loader-dom)))
|
||||
|
|
Loading…
Add table
Reference in a new issue