Files
integreat/src/cljs/auto_ap/views/pages.cljs
2018-06-14 23:16:10 -07:00

89 lines
2.9 KiB
Clojure

(ns auto-ap.views.pages
(:require-macros [cljs.core.async.macros :refer [go]])
(:require [re-frame.core :as re-frame]
[reagent.core :as reagent]
[auto-ap.subs :as subs]
[auto-ap.events :as events]
[auto-ap.views.pages.login :refer [login-page]]
[auto-ap.views.pages.index :refer [index-page]]
[auto-ap.views.pages.admin :refer [admin-page]]
[auto-ap.views.pages.needs-activation :refer [needs-activation-page]]
[auto-ap.views.pages.check :refer [check-page]]
[auto-ap.views.pages.admin.companies :refer [admin-companies-page]]
[auto-ap.views.pages.admin.users :refer [admin-users-page]]
[auto-ap.views.pages.admin.vendors :refer [admin-vendors-page]]
[auto-ap.views.pages.admin.reminders :refer [admin-reminders-page]]
[auto-ap.views.pages.unpaid-invoices :refer [unpaid-invoices-page]]
[auto-ap.views.pages.checks :refer [checks-page]]
[auto-ap.views.pages.transactions :refer [transactions-page]]
[auto-ap.views.pages.new-invoice :refer [new-invoice-page]]
[auto-ap.views.pages.import-invoices :refer [import-invoices-page]]
[auto-ap.views.pages.admin.excel-import :refer [admin-excel-import-page]]
[auto-ap.views.pages.paid-invoices :refer [paid-invoices-page]]
[cljs.reader :as edn]
[cljsjs.dropzone :as dz]
[auto-ap.routes :as routes]
[bidi.bidi :as bidi]
[cljs-http.client :as http]
[cljs.core.async :refer [<!]]))
(defmulti active-page identity)
(defmethod active-page :login []
login-page)
(defmethod active-page :index []
index-page)
(defmethod active-page :admin []
[admin-page])
(defmethod active-page :needs-activation []
[needs-activation-page])
(defmethod active-page :check []
[check-page])
(defmethod active-page :admin-companies []
[admin-companies-page])
(defmethod active-page :admin-vendors []
[admin-vendors-page])
(defmethod active-page :admin-reminders []
[admin-reminders-page])
(defmethod active-page :admin-excel-import []
[admin-excel-import-page])
(defmethod active-page :admin-users []
[admin-users-page])
(defmethod active-page :unpaid-invoices []
[unpaid-invoices-page])
(defmethod active-page :paid-invoices []
[paid-invoices-page])
(defmethod active-page :checks []
[checks-page])
(defmethod active-page :transactions []
[transactions-page])
(defmethod active-page :invoices []
[(with-meta
(fn []
[:div
[:h1.title "All invoices"]])
{:component-did-mount (fn []
(go
(re-frame/dispatch [::events/received-invoices (:body (<! (http/get "/api/invoices")))])))})])
(defmethod active-page :import-invoices []
[import-invoices-page])
(defmethod active-page :new-invoice [] new-invoice-page)