continued migration

This commit is contained in:
2024-04-27 15:32:23 -07:00
parent 05403b7365
commit a2fc817d14
3 changed files with 68 additions and 13 deletions

File diff suppressed because one or more lines are too long

View File

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

View File

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