made it possible to change layouts.

This commit is contained in:
Bryce Covert
2017-12-19 19:31:13 -08:00
parent 043e558a51
commit b1414ebe60
6 changed files with 120 additions and 54 deletions

View File

@@ -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