File tree 3 files changed +40
-22
lines changed
src/main/parts/frontend/components
3 files changed +40
-22
lines changed Original file line number Diff line number Diff line change
1
+ (ns parts.frontend.components.auth-status
2
+ (:require
3
+ [uix.core :refer [defui $ use-state]]
4
+ [parts.frontend.context :as ctx]
5
+ [parts.frontend.components.login-modal :refer [login-modal]]))
6
+
7
+ (defui auth-status
8
+ " Displays a logged/in out status, and a button to login and log out"
9
+ []
10
+ (let [[show-login-modal set-show-login-modal] (use-state false )
11
+ {:keys [user loading logout]} (ctx/use-auth )]
12
+ ($ :div
13
+ ($ login-modal
14
+ {:show show-login-modal
15
+ :on-close #(set-show-login-modal false )})
16
+ (when loading
17
+ ($ :span {:class " loading loading-spinner loading-sm" }))
18
+ (if user
19
+ ($ :span
20
+ ($ :span {:class " status status-success mr-1" :aria-label " Status: logged-in" })
21
+ ($ :span (:username user))
22
+ ($ :button {:class " btn btn-xs ml-1" :on-click (fn [] (logout ))}
23
+ " Log out" ))
24
+ ($ :span
25
+ ($ :span {:class " status status-error mr-1" :aria-label " Status: logged-out" })
26
+ ($ :span " Signed out" )
27
+ ($ :button {:class " btn btn-xs ml-1" :on-click #(set-show-login-modal true )}
28
+ " Log in" ))))))
Original file line number Diff line number Diff line change
1
+ (ns parts.frontend.components.sidebar
2
+ (:require
3
+ [uix.core :refer [defui $]]
4
+ [parts.frontend.components.auth-status :refer [auth-status]]))
5
+
6
+ (defui sidebar
7
+ " Display the main sidebar"
8
+ []
9
+ ($ :div {:class " sidebar p-4" }
10
+ ($ auth-status)))
Original file line number Diff line number Diff line change 12
12
[clojure.string :as str]
13
13
[parts.frontend.components.nodes :refer [node-types]]
14
14
[parts.frontend.components.toolbar :refer [parts-toolbar]]
15
- [parts.frontend.components.login-modal :refer [login-modal ]]
15
+ [parts.frontend.components.sidebar :refer [sidebar ]]
16
16
[parts.frontend.utils.node-utils :refer [build-updated-part]]
17
17
[parts.frontend.context :as ctx]))
18
18
52
52
(defn- on-connect-callback [setEdges params]
53
53
(setEdges #(addEdge params %)))
54
54
55
- (defui auth-status-bar []
56
- (let [[show-login-modal set-show-login-modal] (use-state false )
57
- {:keys [user loading logout]} (ctx/use-auth )]
58
- ($ :div
59
- ($ login-modal
60
- {:show show-login-modal
61
- :on-close #(set-show-login-modal false )})
62
- (when loading
63
- ($ :span " (...) " ))
64
- (if user
65
- ($ :span
66
- ($ :span {:class " user-email" } (str " 🟢 " (:username user) " " ))
67
- ($ :button {:class " btn btn-xs" :on-click (fn [] (logout ))}
68
- " Log out" ))
69
- ($ :span
70
- ($ :span " 🔴" )
71
- ($ :button {:class " btn btn-xs" :on-click #(set-show-login-modal true )}
72
- " Log in" ))))))
73
-
74
55
(defui system [{:keys [nodes edges]}]
75
56
(let [node-types (uix.core/use-memo (fn [] (clj->js node-types)) [node-types])
76
57
[nodes setNodes onNodesChange] (useNodesState (clj->js nodes))
117
98
($ Background {:variant " dots"
118
99
:gap 12
119
100
:size 1 }))))
120
- ($ :div {:class " sidebar p-4" }
121
- ($ auth-status-bar)))))
101
+ ($ sidebar))))
You can’t perform that action at this time.
0 commit comments