made it possible to change layouts.
This commit is contained in:
@@ -2,14 +2,21 @@
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[auto-ap.db :as db]
|
||||
[auto-ap.routes :as routes]
|
||||
|
||||
[auto-ap.effects :as effects]
|
||||
[bidi.bidi :as bidi]))
|
||||
|
||||
(re-frame/reg-event-db
|
||||
(re-frame/reg-event-fx
|
||||
::initialize-db
|
||||
(fn [_ _]
|
||||
(assoc db/default-db
|
||||
:active-page (:handler (bidi/match-route routes/routes (.. js/window -location -pathname))))))
|
||||
(fn [{:keys [db]} [_ token]]
|
||||
(let [handler (:handler (bidi/match-route routes/routes (.. js/window -location -pathname)))]
|
||||
(if (and (not= :login handler) (not token))
|
||||
{:redirect "/login"
|
||||
:db (assoc db/default-db
|
||||
:active-page :login
|
||||
:user token)}
|
||||
{:db (assoc db/default-db
|
||||
:active-page handler
|
||||
:user token)}))))
|
||||
|
||||
(re-frame/reg-event-db
|
||||
::toggle-menu
|
||||
@@ -26,10 +33,13 @@
|
||||
(fn [db [_ company]]
|
||||
(assoc db :company company)))
|
||||
|
||||
(re-frame/reg-event-db
|
||||
(re-frame/reg-event-fx
|
||||
::set-active-page
|
||||
(fn [db [_ active-page]]
|
||||
(assoc db :active-page active-page)))
|
||||
(fn [{:keys [db]} [_ handler]]
|
||||
(if (and (not= :login handler) (not (:user db)))
|
||||
{:redirect "/login"
|
||||
:db (assoc db :active-page :login)}
|
||||
{:db (assoc db :active-page handler)})))
|
||||
|
||||
(re-frame/reg-event-db
|
||||
::imported-invoices
|
||||
@@ -84,11 +94,13 @@
|
||||
(fn [db [_ invoice]]
|
||||
(assoc db :new-invoice {})))
|
||||
|
||||
(re-frame/reg-event-db
|
||||
(re-frame/reg-event-fx
|
||||
::logout
|
||||
(fn [db [_]]
|
||||
(assoc db :user nil :menu {:company {:active? false}
|
||||
:account {:active? false}})))
|
||||
(fn [{:keys [db]} [_]]
|
||||
{:db (assoc db :user nil :menu {:company {:active? false}
|
||||
:account {:active? false}})
|
||||
:redirect (bidi/path-for routes/routes :login)
|
||||
:set-local-storage ["jwt" nil]}))
|
||||
|
||||
(re-frame/reg-event-fx
|
||||
::submit-new-invoice
|
||||
|
||||
Reference in New Issue
Block a user