|
4 | 4 | [rocks.mygiftlist.ui.navigation :as ui.nav] |
5 | 5 | [rocks.mygiftlist.ui.gift-list :as ui.gift-list] |
6 | 6 | [com.fulcrologic.fulcro.components :as comp :refer [defsc]] |
7 | | - [com.fulcrologic.fulcro.data-fetch :as df] |
8 | 7 | [com.fulcrologic.fulcro.dom :as dom] |
9 | | - [com.fulcrologic.fulcro.routing.dynamic-routing :as dr :refer [defrouter]])) |
| 8 | + [com.fulcrologic.fulcro.routing.dynamic-routing :as dr :refer [defrouter]] |
| 9 | + [rocks.mygiftlist.type.user :as user])) |
10 | 10 |
|
11 | 11 | (defsc LoginForm [_this _] |
12 | 12 | {:query [] |
|
19 | 19 | {:onClick #(auth/login)} |
20 | 20 | "Log in or sign up")))) |
21 | 21 |
|
22 | | -(defsc Home [_this {:ui/keys [gift-list-form-panel created-gift-lists]}] |
23 | | - {:query [{:ui/gift-list-form-panel (comp/get-query ui.gift-list/GiftListFormPanel)} |
24 | | - {:ui/created-gift-lists (comp/get-query ui.gift-list/CreatedGiftLists)}] |
| 22 | +(defsc Home [_this {:ui/keys [gift-list-form-panel]}] |
| 23 | + {:query [{:ui/gift-list-form-panel (comp/get-query ui.gift-list/GiftListFormPanel)}] |
25 | 24 | :ident (fn [] [:component/id :home]) |
26 | | - :initial-state {:ui/gift-list-form-panel {} |
27 | | - :ui/created-gift-lists {}} |
| 25 | + :initial-state {:ui/gift-list-form-panel {}} |
28 | 26 | :route-segment ["home"] |
29 | | - :will-enter (fn [app _] |
30 | | - (df/load! app [:component/id :created-gift-lists] |
31 | | - ui.gift-list/CreatedGiftLists) |
| 27 | + :will-enter (fn [_ _] |
32 | 28 | (dr/route-immediate [:component/id :home]))} |
33 | 29 | (dom/div {} |
34 | 30 | (dom/h3 {} "Home Screen") |
35 | 31 | (dom/div {} "Just getting started? Create a new gift list!") |
36 | | - (ui.gift-list/ui-gift-list-form-panel gift-list-form-panel) |
37 | | - (ui.gift-list/ui-created-gift-lists created-gift-lists))) |
| 32 | + (ui.gift-list/ui-gift-list-form-panel gift-list-form-panel))) |
38 | 33 |
|
39 | 34 | (defsc About [_this _] |
40 | 35 | {:query [] |
|
57 | 52 | (loading-spinner)) |
58 | 53 |
|
59 | 54 | (defrouter MainRouter [_ _] |
60 | | - {:router-targets [Loading LoginForm Home About]} |
| 55 | + {:router-targets [Loading LoginForm Home About ui.gift-list/GiftList]} |
61 | 56 | (loading-spinner)) |
62 | 57 |
|
63 | 58 | (def ui-main-router (comp/factory MainRouter)) |
64 | 59 |
|
65 | | -(defsc Root [_this {:root/keys [router navbar loading]}] |
| 60 | +(defsc Root [_this {:root/keys [router navbar left-nav loading] :as props}] |
66 | 61 | {:query [{:root/router (comp/get-query MainRouter)} |
67 | 62 | {:root/navbar (comp/get-query ui.nav/Navbar)} |
68 | | - :root/loading] |
| 63 | + {:root/left-nav (comp/get-query ui.nav/LeftNav)} |
| 64 | + :root/loading |
| 65 | + {[:component/id :login-logout] |
| 66 | + [:ui/authenticated]}] |
69 | 67 | :initial-state {:root/router {} |
70 | 68 | :root/navbar {} |
| 69 | + :root/left-nav {} |
71 | 70 | :root/loading true}} |
72 | | - (if loading |
73 | | - (loading-spinner) |
74 | | - (dom/div {} |
75 | | - (ui.nav/ui-navbar navbar) |
76 | | - (dom/div :.ui.container |
77 | | - (ui-main-router router))))) |
| 71 | + (let [authenticated (-> props |
| 72 | + (get [:component/id :login-logout]) |
| 73 | + :ui/authenticated)] |
| 74 | + (if loading |
| 75 | + (loading-spinner) |
| 76 | + (dom/div {} |
| 77 | + (ui.nav/ui-navbar navbar) |
| 78 | + (dom/div :.mgl_flex-container |
| 79 | + (when authenticated |
| 80 | + (ui.nav/ui-left-nav left-nav)) |
| 81 | + (dom/div :.ui.container |
| 82 | + (ui-main-router router))))))) |
0 commit comments