continued migration
This commit is contained in:
@@ -16,10 +16,10 @@
|
||||
[datomic.api :as dc]))
|
||||
|
||||
(defn bank-accounts-card [request]
|
||||
(com/card {:class "inline-block"}
|
||||
(com/card {:class "inline-block " }
|
||||
[:div.p-4
|
||||
[:h1.text-2xl.font-bold "Bank Accounts"]
|
||||
[:div {:class "max-h-[800px] overflow-scroll"}
|
||||
[:div {:class "max-h-[900px] overflow-scroll"}
|
||||
(for [c (:clients request)
|
||||
b (:client/bank-accounts (dc/pull (dc/db conn) '[{:client/bank-accounts
|
||||
|
||||
@@ -95,15 +95,17 @@ valid-clients (extract-client-ids (:clients request)
|
||||
(coerce/to-date (time/now))])
|
||||
(sort-by first))]
|
||||
(com/card {:class "w-full h-full p-4"}
|
||||
[:canvas.w-full.h-full {:x-data (hx/json {:chart nil
|
||||
:labels (map first totals)
|
||||
:data (map second totals)})
|
||||
:x-init " new Chart($el, {
|
||||
[:h1.text-2xl.font-bold.text-slate-700 "Gross sales, last 14 days"]
|
||||
[:div.w-full.h-full
|
||||
[:canvas.w-full.h-full.p-8 {:x-data (hx/json {:chart nil
|
||||
:labels (map first totals)
|
||||
:data (map second totals)})
|
||||
:x-init " new Chart($el, {
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: labels,
|
||||
datasets: [{
|
||||
label: 'Gross Sales',
|
||||
label: 'Total invoice spend',
|
||||
data: data,
|
||||
borderWidth: 1
|
||||
}]
|
||||
@@ -117,19 +119,71 @@ valid-clients (extract-client-ids (:clients request)
|
||||
}
|
||||
}
|
||||
}
|
||||
});"}])))
|
||||
});"}]])))
|
||||
|
||||
(defn expense-pie-card [request]
|
||||
(let [valid-clients (extract-client-ids (:clients request)
|
||||
(:client-id request)
|
||||
(when (:client-code request)
|
||||
[:client/code (:client-code request)]))
|
||||
totals
|
||||
(->> (dc/q '[:find ?an (sum ?amt)
|
||||
:with ?iea
|
||||
:in $ [?clients ?start-date ?end-date]
|
||||
:where [(iol-ion.query/scan-invoices $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]]
|
||||
[?e :invoice/total ?total]
|
||||
[?e :invoice/expense-accounts ?iea]
|
||||
[?iea :invoice-expense-account/account ?ea]
|
||||
[?iea :invoice-expense-account/amount ?amt]
|
||||
[?ea :account/name ?an]]
|
||||
(dc/db conn)
|
||||
[valid-clients
|
||||
(coerce/to-date (time/plus (time/now) (time/months -1)))
|
||||
(coerce/to-date (time/now))])
|
||||
(sort-by last)
|
||||
(reverse)
|
||||
(take 5))]
|
||||
(com/card {:class "w-full h-full p-4"}
|
||||
[:h1.text-2xl.font-bold.text-slate-700
|
||||
"Expenses, last month"]
|
||||
[:div.w-full.h-full
|
||||
[:canvas.w-full.h-full.p-8 {:x-data (hx/json {:chart nil
|
||||
:labels (map first totals)
|
||||
:data (map second totals)})
|
||||
:x-init " new Chart($el, {
|
||||
type: 'pie',
|
||||
data: {
|
||||
labels: labels,
|
||||
datasets: [{
|
||||
label: 'Gross Sales',
|
||||
data: data,
|
||||
borderWidth: 1
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
|
||||
}
|
||||
});"}]])))
|
||||
|
||||
(defn- page-contents [request]
|
||||
[:div
|
||||
[:div {:class "grid grid-cols-1 lg:grid-cols-2 2xl:grid-cols-3 gap-4 auto-rows-fr"}
|
||||
[:div (com/card {:class "w-full h-full"} [:div.w-full.h-full "report-1"])]
|
||||
[:div "hi"]
|
||||
[:div {:class "grid grid-cols-1 lg:grid-cols-2 2xl:grid-cols-3 gap-4 auto-rows-fr max-h-[970px]"}
|
||||
[:div (expense-pie-card request)]
|
||||
[:div (com/card {:class "w-full h-full p-4"}
|
||||
[:h1.text-2xl.font-bold.text-gray-700
|
||||
"Tasks"])]
|
||||
[:div.row-span-2
|
||||
(bank-accounts-card request)]
|
||||
|
||||
[:div
|
||||
(sales-chart-card request)]
|
||||
[:div.bg-slate-300.p-4 "hi"]
|
||||
[:div
|
||||
(com/card {:class "w-full h-full p-4"}
|
||||
[:h1.text-2xl.font-bold.text-gray-700
|
||||
"Tasks"])
|
||||
]
|
||||
] ])
|
||||
|
||||
(defn page [request]
|
||||
|
||||
@@ -213,6 +213,7 @@
|
||||
set)]
|
||||
(handler (assoc request :trimmed-clients valid-clients)))))
|
||||
|
||||
|
||||
(defn table-route [grid-spec & {:keys [parse-query-params?] :or {parse-query-params? true}}]
|
||||
(cond-> (fn table [{:keys [identity] :as request}]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user