File tree Expand file tree Collapse file tree 13 files changed +49
-99
lines changed Expand file tree Collapse file tree 13 files changed +49
-99
lines changed Original file line number Diff line number Diff line change 21
21
[renderer.frame.core]
22
22
[renderer.history.core]
23
23
[renderer.notification.core]
24
- [renderer.panel.core]
25
24
[renderer.reepl.core]
26
25
[renderer.reepl.replumb :as replumb]
27
26
[renderer.rulers.core]
28
27
[renderer.snap.core]
29
28
[renderer.subs]
30
- [renderer.theme.core]
31
29
[renderer.timeline.core]
32
30
[renderer.tool.core]
33
31
[renderer.utils.dom :as dom]
Original file line number Diff line number Diff line change 1
1
(ns renderer.db
2
2
(:require
3
3
[renderer.document.db]
4
- [renderer.panel.db]
5
4
[renderer.snap.db]
6
- [renderer.theme.db]
7
5
[renderer.timeline.db]
8
6
[renderer.window.db]))
9
7
22
20
[:system-fonts vector?]
23
21
[:debug-info? boolean?]
24
22
[:pen-mode? boolean?]
25
- [:panel [:map-of :key renderer.panel.db/panel ]]
23
+ [:panel [:map-of :key [ :map [ :visible? boolean?]] ]]
26
24
[:window renderer.window.db/window]
27
- [:theme [:mode renderer.theme.db/modes ]]
25
+ [:theme [:mode [ :enum :dark :light :system ] ]]
28
26
[:timeline renderer.timeline.db/timeline]])
29
27
30
28
(def default
Original file line number Diff line number Diff line change 96
96
(fn [db [_]]
97
97
(update db :grid? not)))
98
98
99
+ (rf/reg-event-db
100
+ :panel/toggle
101
+ [local-storage/persist
102
+ (rf/path :panel )]
103
+ (fn [db [_ key]]
104
+ (update-in db [key :visible? ] not)))
105
+
106
+ (rf/reg-event-fx
107
+ :theme/init-mode
108
+ (fn [{:keys [db]} _]
109
+ (let [mode (-> db :theme :mode name)]
110
+ {:set-attribute [js/window.document.documentElement " data-theme" mode]
111
+ :send-to-main {:action " setThemeMode" :data mode}})))
112
+
113
+ (rf/reg-event-fx
114
+ :theme/set-mode
115
+ local-storage/persist
116
+ (fn [{:keys [db]} [_ mode]]
117
+ {:db (assoc-in db [:theme :mode ] mode)
118
+ :dispatch [:theme/init-mode ]}))
119
+
120
+ (rf/reg-event-fx
121
+ :theme/cycle-mode
122
+ (fn [{:keys [db]} [_]]
123
+ (let [mode (case (-> db :theme :mode )
124
+ ; ; TODO: Support system mode.
125
+ :dark :light
126
+ :light :dark )]
127
+ {:dispatch [:theme/set-mode mode]})))
128
+
99
129
(rf/reg-event-fx
100
130
:pointer-event
101
131
(fn [{:keys [db]} [_ {:keys [button buttons modifiers data-transfer pointer-pos delta element] :as e}]]
163
193
164
194
db)
165
195
:fx [(when (= (:type e) :drop )
166
- [:: drop [adjusted-pointer-pos data-transfer]])]})))
196
+ [:drop [adjusted-pointer-pos data-transfer]])]})))
167
197
168
198
(rf/reg-event-db
169
199
:keyboard-event
198
228
(js/window.api.send " toMain" (clj->js data)))))
199
229
200
230
(rf/reg-fx
201
- :: drop
231
+ :drop
202
232
(fn [[position data-transfer]]
203
233
(drop/items! position (.-items data-transfer))
204
234
(drop/files! position (.-files data-transfer))))
223
253
:focus
224
254
(fn [_ [_ id]]
225
255
{:focus id}))
256
+
257
+ (rf/reg-fx
258
+ :set-attribute
259
+ (fn [[el attr val]]
260
+ (.setAttribute el attr val)))
Load Diff This file was deleted.
Load Diff This file was deleted.
Load Diff This file was deleted.
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 142
142
:grid?
143
143
:-> :grid? )
144
144
145
+ (rf/reg-sub
146
+ :panel/visible?
147
+ (fn [db [_ key]]
148
+ (-> db :panel key :visible? )))
149
+
150
+ (rf/reg-sub
151
+ :theme/mode
152
+ (fn [db _]
153
+ (-> db :theme :mode )))
154
+
145
155
#_(rf/reg-sub
146
156
:font-options
147
157
:<- [:system-fonts ]
File renamed without changes.
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments