fix: don't access renderer's state in Electron

pull/3341/head^2
Tienson Qin 2021-12-05 15:27:49 +08:00
parent 881e65a9fa
commit 097ad107c3
2 changed files with 10 additions and 4 deletions

View File

@ -15,8 +15,7 @@
[clojure.core.async :as async]
[electron.search :as search]
[electron.git :as git]
[electron.plugin :as plugin]
[frontend.handler.route :as route-handler]))
[electron.plugin :as plugin]))
(defmulti handle (fn [_window args] (keyword (first args))))
@ -189,7 +188,7 @@
(fs-extra/removeSync path)
(catch js/Error e
(js/console.error e)))))
(route-handler/redirect-to-home!)))
(utils/send-to-renderer "redirect" {:payload {:to :home}})))
(defmethod handle :clearCache [_window _]
(search/close!)

View File

@ -73,7 +73,14 @@
(js/window.apis.on "getCurrentGraph"
(fn []
(when-let [graph (state/get-current-repo)]
(ipc/ipc "setCurrentGraph" graph)))))
(ipc/ipc "setCurrentGraph" graph))))
(js/window.apis.on "redirect"
(fn [data]
(let [{:keys [payload]} (bean/->clj data)
payload (update payload :to keyword)]
(prn {:payload payload})
(route-handler/redirect! payload)))))
(defn listen!
[]