From e8b753a0bda24ca6283432b1e226b579f99a9ab1 Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 20 Nov 2024 11:40:02 -0800 Subject: [PATCH] Makes it easy to tell which thing you selected --- src/clj/auto_ap/ssr/admin/clients.clj | 35 +++++++++++++++------------ src/clj/auto_ap/ssr/company/plaid.clj | 3 ++- src/clj/auto_ap/ssr/ui.clj | 1 + 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/src/clj/auto_ap/ssr/admin/clients.clj b/src/clj/auto_ap/ssr/admin/clients.clj index ddc259c7..2503361e 100644 --- a/src/clj/auto_ap/ssr/admin/clients.clj +++ b/src/clj/auto_ap/ssr/admin/clients.clj @@ -888,21 +888,26 @@ (fc/with-field :bank-account/plaid-account (com/validated-field {:errors (fc/field-errors) :label "Plaid account" - :class "w-[20em]"} - (com/select {:name (fc/field-name) - :allow-blank? true - :error? (fc/error?) - :class "w-full" - :value (fc/field-value) - :options - (when client-id - (dc/q '[:find ?pa ?pn - :in $ ?client - :where [?pi :plaid-item/client ?client] - [?pi :plaid-item/accounts ?pa] - [?pa :plaid-account/name ?pn]] - (dc/db conn) - client-id))})))) + :class "w-[20em]" + :x-data (hx/json {:plaidAccount (fc/field-value)})} + [:div.flex.gap-2.items-center + (com/select {:name (fc/field-name) + :allow-blank? true + :error? (fc/error?) + :class "w-full" + :value (fc/field-value) + :x-model "plaidAccount" + :options + (when client-id + (dc/q '[:find ?pa ?pn + :in $ ?client + :where [?pi :plaid-item/client ?client] + [?pi :plaid-item/accounts ?pa] + [?pa :plaid-account/name ?pn]] + (dc/db conn) + client-id))}) + [:svg {":data-jdenticon-value" "plaidAccount" :width "24" :height "24" + :x-init "$watch('plaidAccount', () => jdenticon())"}]]))) (defn- yodlee-account-select [client-id] (list diff --git a/src/clj/auto_ap/ssr/company/plaid.clj b/src/clj/auto_ap/ssr/company/plaid.clj index 811a93a0..a66d7e9d 100644 --- a/src/clj/auto_ap/ssr/company/plaid.clj +++ b/src/clj/auto_ap/ssr/company/plaid.clj @@ -226,7 +226,8 @@ :render (fn [e] [:ul (for [a (:plaid-item/accounts e)] - [:li (:plaid-account/name a) " - " (:plaid-account/number a)])])}]})) + [:li [:svg.inline {:data-jdenticon-value (:db/id a) :width "24" :height "24"}] (:plaid-account/name a) " - " (:plaid-account/number a) " - updated " + (atime/unparse-local (:plaid-account/last-synced a) atime/normal-date)])])}]})) (def page (helper/page-route grid-page)) diff --git a/src/clj/auto_ap/ssr/ui.clj b/src/clj/auto_ap/ssr/ui.clj index f27ea6d7..b7a77ebe 100644 --- a/src/clj/auto_ap/ssr/ui.clj +++ b/src/clj/auto_ap/ssr/ui.clj @@ -59,6 +59,7 @@ [:script {:defer true :src "https://cdn.jsdelivr.net/npm/@alpinejs/focus@3.x.x/dist/cdn.min.js"}] [:script {:defer true :src "https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"}] [:script {:src "https://cdn.jsdelivr.net/npm/signature_pad@4.1.7/dist/signature_pad.umd.min.js"}] + [:script {:src "https://cdn.jsdelivr.net/npm/jdenticon@3.3.0/dist/jdenticon.min.js" :async true :defer true :integrity "sha384-LfouGM03m83ArVtne1JPk926e3SGD0Tz8XHtW2OKGsgeBU/UfR0Fa8eX+UlwSSAZ" :crossorigin "anonymous" }] [:style "