From 96316bfda48413e6b292363948f2b13e4fff7b7e Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Tue, 9 May 2023 13:32:19 -0700 Subject: [PATCH] Getting Tailwind version up --- resources/input.css | 14 +- resources/public/img/logo-big2.png | Bin 13612 -> 29082 bytes resources/public/output.css | 299 ++++---------- src/clj/auto_ap/ssr/company/company_1099.clj | 407 +++++++++---------- src/clj/auto_ap/ssr/svg.clj | 96 +++++ src/clj/auto_ap/ssr/ui.clj | 7 +- tailwind.config.js | 5 + 7 files changed, 405 insertions(+), 423 deletions(-) create mode 100644 src/clj/auto_ap/ssr/svg.clj diff --git a/resources/input.css b/resources/input.css index 3b4c467f..cb8a07a5 100644 --- a/resources/input.css +++ b/resources/input.css @@ -21,6 +21,12 @@ animation-direction: alternate; animation-timing-function: ease-in-out; } + +.dark .live-added { + animation: pulse-dark-green 300ms 2 !important; + animation-direction: alternate; + animation-timing-function: ease-in-out; +} /* .live-added { @apply bg-white; @@ -29,9 +35,15 @@ @keyframes pulse-green { 0% { @apply bg-white; } - 100% { @apply bg-green-300;} + 100% { @apply bg-green-300 dark:bg-red-700;} } +@keyframes pulse-dark-green { + 0% { @apply dark:bg-gray-700; } + 100% { @apply bg-green-700;} +} + + .htmx-request .htmx-indicator { display: inherit !important; } diff --git a/resources/public/img/logo-big2.png b/resources/public/img/logo-big2.png index 01f336f4c0359c3e10d4fb05f9db374bfd3d1ee0..8f1aa592a61dcc499a2246544b41f750c3a866b0 100644 GIT binary patch literal 29082 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 :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(0.25rem * var(--tw-space-x-reverse)); + margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse))); +} + .divide-y > :not([hidden]) ~ :not([hidden]) { --tw-divide-y-reverse: 0; border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); @@ -1561,10 +1539,6 @@ input:checked + .toggle-bg { border-color: rgb(243 244 246 / var(--tw-divide-opacity)); } -.self-center { - align-self: center; -} - .overflow-hidden { overflow: hidden; } @@ -1595,10 +1569,6 @@ input:checked + .toggle-bg { border-radius: 0.25rem; } -.rounded-3xl { - border-radius: 1.5rem; -} - .rounded-full { border-radius: 9999px; } @@ -1680,16 +1650,16 @@ input:checked + .toggle-bg { border-color: rgb(175 211 130 / var(--tw-border-opacity)); } -.border-white { - --tw-border-opacity: 1; - border-color: rgb(255 255 255 / var(--tw-border-opacity)); -} - .bg-blue-100 { --tw-bg-opacity: 1; background-color: rgb(204 235 251 / var(--tw-bg-opacity)); } +.bg-blue-500 { + --tw-bg-opacity: 1; + background-color: rgb(0 156 234 / var(--tw-bg-opacity)); +} + .bg-blue-700 { --tw-bg-opacity: 1; background-color: rgb(0 94 140 / var(--tw-bg-opacity)); @@ -1720,29 +1690,9 @@ input:checked + .toggle-bg { background-color: rgb(17 24 39 / var(--tw-bg-opacity)); } -.bg-green-100 { +.bg-green-500 { --tw-bg-opacity: 1; - background-color: rgb(228 240 213 / var(--tw-bg-opacity)); -} - -.bg-green-200 { - --tw-bg-opacity: 1; - background-color: rgb(201 225 171 / var(--tw-bg-opacity)); -} - -.bg-green-400 { - --tw-bg-opacity: 1; - background-color: rgb(148 196 88 / var(--tw-bg-opacity)); -} - -.bg-green-700 { - --tw-bg-opacity: 1; - background-color: rgb(73 109 28 / var(--tw-bg-opacity)); -} - -.bg-primary-100 { - --tw-bg-opacity: 1; - background-color: rgb(228 240 213 / var(--tw-bg-opacity)); + background-color: rgb(121 181 46 / var(--tw-bg-opacity)); } .bg-primary-50 { @@ -1750,21 +1700,6 @@ input:checked + .toggle-bg { background-color: rgb(242 248 234 / var(--tw-bg-opacity)); } -.bg-primary-700 { - --tw-bg-opacity: 1; - background-color: rgb(73 109 28 / var(--tw-bg-opacity)); -} - -.bg-purple-500 { - --tw-bg-opacity: 1; - background-color: rgb(144 97 249 / var(--tw-bg-opacity)); -} - -.bg-red-600 { - --tw-bg-opacity: 1; - background-color: rgb(204 2 2 / var(--tw-bg-opacity)); -} - .bg-red-700 { --tw-bg-opacity: 1; background-color: rgb(153 2 2 / var(--tw-bg-opacity)); @@ -1775,10 +1710,6 @@ input:checked + .toggle-bg { background-color: rgb(203 213 225 / var(--tw-bg-opacity)); } -.bg-transparent { - background-color: transparent; -} - .bg-white { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); @@ -1793,16 +1724,6 @@ input:checked + .toggle-bg { background-color: rgb(253 246 178 / var(--tw-bg-opacity)); } -.bg-green-500 { - --tw-bg-opacity: 1; - background-color: rgb(121 181 46 / var(--tw-bg-opacity)); -} - -.bg-green-50 { - --tw-bg-opacity: 1; - background-color: rgb(242 248 234 / var(--tw-bg-opacity)); -} - .bg-opacity-50 { --tw-bg-opacity: 0.5; } @@ -1827,10 +1748,6 @@ input:checked + .toggle-bg { padding: 1rem; } -.p-5 { - padding: 1.25rem; -} - .p-6 { padding: 1.5rem; } @@ -1966,6 +1883,10 @@ input:checked + .toggle-bg { line-height: 1rem; } +.font-bold { + font-weight: 700; +} + .font-light { font-weight: 300; } @@ -2047,16 +1968,6 @@ input:checked + .toggle-bg { color: rgb(97 145 37 / var(--tw-text-opacity)); } -.text-primary-700 { - --tw-text-opacity: 1; - color: rgb(73 109 28 / var(--tw-text-opacity)); -} - -.text-primary-800 { - --tw-text-opacity: 1; - color: rgb(48 72 18 / var(--tw-text-opacity)); -} - .text-white { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); @@ -2149,6 +2060,10 @@ input:checked + .toggle-bg { transition-duration: 150ms; } +.duration-100 { + transition-duration: 100ms; +} + .duration-300 { transition-duration: 300ms; } @@ -2157,14 +2072,6 @@ input:checked + .toggle-bg { transition-duration: 75ms; } -.duration-500 { - transition-duration: 500ms; -} - -.duration-200 { - transition-duration: 200ms; -} - .ease-in-out { transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } @@ -2197,6 +2104,12 @@ input:checked + .toggle-bg { animation-timing-function: ease-in-out; } +.dark .live-added { + animation: pulse-dark-green 300ms 2 !important; + animation-direction: alternate; + animation-timing-function: ease-in-out; +} + /* .live-added { @apply bg-white; @@ -2213,6 +2126,23 @@ input:checked + .toggle-bg { --tw-bg-opacity: 1; background-color: rgb(175 211 130 / var(--tw-bg-opacity)); } + + .dark 100% { + --tw-bg-opacity: 1; + background-color: rgb(153 2 2 / var(--tw-bg-opacity)); + } +} + +@keyframes pulse-dark-green { + .dark 0% { + --tw-bg-opacity: 1; + background-color: rgb(55 65 81 / var(--tw-bg-opacity)); + } + + 100% { + --tw-bg-opacity: 1; + background-color: rgb(73 109 28 / var(--tw-bg-opacity)); + } } .htmx-request .htmx-indicator { @@ -2239,11 +2169,22 @@ input:checked + .toggle-bg { opacity: 1.0; } +.hover\:scale-105:hover { + --tw-scale-x: 1.05; + --tw-scale-y: 1.05; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + .hover\:border-gray-300:hover { --tw-border-opacity: 1; border-color: rgb(209 213 219 / var(--tw-border-opacity)); } +.hover\:bg-blue-600:hover { + --tw-bg-opacity: 1; + background-color: rgb(0 125 187 / var(--tw-bg-opacity)); +} + .hover\:bg-blue-800:hover { --tw-bg-opacity: 1; background-color: rgb(0 62 94 / var(--tw-bg-opacity)); @@ -2254,14 +2195,14 @@ input:checked + .toggle-bg { background-color: rgb(243 244 246 / var(--tw-bg-opacity)); } -.hover\:bg-gray-200:hover { +.hover\:bg-green-600:hover { --tw-bg-opacity: 1; - background-color: rgb(229 231 235 / var(--tw-bg-opacity)); + background-color: rgb(97 145 37 / var(--tw-bg-opacity)); } -.hover\:bg-green-800:hover { +.hover\:bg-green-700:hover { --tw-bg-opacity: 1; - background-color: rgb(48 72 18 / var(--tw-bg-opacity)); + background-color: rgb(73 109 28 / var(--tw-bg-opacity)); } .hover\:bg-primary-100:hover { @@ -2274,11 +2215,6 @@ input:checked + .toggle-bg { background-color: rgb(255 255 255 / var(--tw-bg-opacity)); } -.hover\:bg-green-700:hover { - --tw-bg-opacity: 1; - background-color: rgb(73 109 28 / var(--tw-bg-opacity)); -} - .hover\:text-blue-600:hover { --tw-text-opacity: 1; color: rgb(0 125 187 / var(--tw-text-opacity)); @@ -2304,29 +2240,15 @@ input:checked + .toggle-bg { color: rgb(17 24 39 / var(--tw-text-opacity)); } -.hover\:text-green-700:hover { - --tw-text-opacity: 1; - color: rgb(73 109 28 / var(--tw-text-opacity)); -} - .hover\:text-primary-700:hover { --tw-text-opacity: 1; color: rgb(73 109 28 / var(--tw-text-opacity)); } -.hover\:text-blue-500:hover { - --tw-text-opacity: 1; - color: rgb(0 156 234 / var(--tw-text-opacity)); -} - .hover\:underline:hover { text-decoration-line: underline; } -.focus\:z-10:focus { - z-index: 10; -} - .focus\:border-blue-500:focus { --tw-border-opacity: 1; border-color: rgb(0 156 234 / var(--tw-border-opacity)); @@ -2337,11 +2259,6 @@ input:checked + .toggle-bg { border-color: rgb(121 181 46 / var(--tw-border-opacity)); } -.focus\:bg-gray-100:focus { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity)); -} - .focus\:outline-none:focus { outline: 2px solid transparent; outline-offset: 2px; @@ -2369,11 +2286,6 @@ input:checked + .toggle-bg { --tw-ring-color: rgb(0 156 234 / var(--tw-ring-opacity)); } -.focus\:ring-gray-100:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(243 244 246 / var(--tw-ring-opacity)); -} - .focus\:ring-gray-200:focus { --tw-ring-opacity: 1; --tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity)); @@ -2394,36 +2306,28 @@ input:checked + .toggle-bg { --tw-ring-color: rgb(121 181 46 / var(--tw-ring-opacity)); } -.group:hover .group-hover\:scale-105 { - --tw-scale-x: 1.05; - --tw-scale-y: 1.05; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - .group:hover .group-hover\:scale-110 { --tw-scale-x: 1.1; --tw-scale-y: 1.1; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } +.group:hover .group-hover\:text-blue-500 { + --tw-text-opacity: 1; + color: rgb(0 156 234 / var(--tw-text-opacity)); +} + .group:hover .group-hover\:text-gray-900 { --tw-text-opacity: 1; color: rgb(17 24 39 / var(--tw-text-opacity)); } -.group:hover .group-hover\:text-blue-900 { - --tw-text-opacity: 1; - color: rgb(0 31 47 / var(--tw-text-opacity)); +.dark .dark\:block { + display: block; } -.group:hover .group-hover\:text-blue-800 { - --tw-text-opacity: 1; - color: rgb(0 62 94 / var(--tw-text-opacity)); -} - -.group:hover .group-hover\:text-blue-500 { - --tw-text-opacity: 1; - color: rgb(0 156 234 / var(--tw-text-opacity)); +.dark .dark\:hidden { + display: none; } .dark .dark\:divide-gray-600 > :not([hidden]) ~ :not([hidden]) { @@ -2446,6 +2350,11 @@ input:checked + .toggle-bg { border-color: rgb(55 65 81 / var(--tw-border-opacity)); } +.dark .dark\:border-gray-900 { + --tw-border-opacity: 1; + border-color: rgb(17 24 39 / var(--tw-border-opacity)); +} + .dark .dark\:border-transparent { border-color: transparent; } @@ -2489,11 +2398,6 @@ input:checked + .toggle-bg { background-color: rgb(97 145 37 / var(--tw-bg-opacity)); } -.dark .dark\:bg-primary-200 { - --tw-bg-opacity: 1; - background-color: rgb(201 225 171 / var(--tw-bg-opacity)); -} - .dark .dark\:bg-yellow-900 { --tw-bg-opacity: 1; background-color: rgb(99 49 18 / var(--tw-bg-opacity)); @@ -2513,6 +2417,11 @@ input:checked + .toggle-bg { color: rgb(0 156 234 / var(--tw-text-opacity)); } +.dark .dark\:text-gray-100 { + --tw-text-opacity: 1; + color: rgb(243 244 246 / var(--tw-text-opacity)); +} + .dark .dark\:text-gray-300 { --tw-text-opacity: 1; color: rgb(209 213 219 / var(--tw-text-opacity)); @@ -2523,21 +2432,6 @@ input:checked + .toggle-bg { color: rgb(156 163 175 / var(--tw-text-opacity)); } -.dark .dark\:text-primary-400 { - --tw-text-opacity: 1; - color: rgb(148 196 88 / var(--tw-text-opacity)); -} - -.dark .dark\:text-primary-500 { - --tw-text-opacity: 1; - color: rgb(121 181 46 / var(--tw-text-opacity)); -} - -.dark .dark\:text-primary-800 { - --tw-text-opacity: 1; - color: rgb(48 72 18 / var(--tw-text-opacity)); -} - .dark .dark\:text-white { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); @@ -2607,10 +2501,6 @@ input:checked + .toggle-bg { color: rgb(255 255 255 / var(--tw-text-opacity)); } -.dark .dark\:hover\:underline:hover { - text-decoration-line: underline; -} - .dark .dark\:focus\:border-blue-500:focus { --tw-border-opacity: 1; border-color: rgb(0 156 234 / var(--tw-border-opacity)); @@ -2621,21 +2511,11 @@ input:checked + .toggle-bg { border-color: rgb(121 181 46 / var(--tw-border-opacity)); } -.dark .dark\:focus\:bg-gray-700:focus { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity)); -} - .dark .dark\:focus\:ring-blue-500:focus { --tw-ring-opacity: 1; --tw-ring-color: rgb(0 156 234 / var(--tw-ring-opacity)); } -.dark .dark\:focus\:ring-blue-800:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(0 62 94 / var(--tw-ring-opacity)); -} - .dark .dark\:focus\:ring-gray-600:focus { --tw-ring-opacity: 1; --tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity)); @@ -2684,11 +2564,6 @@ input:checked + .toggle-bg { padding-bottom: 1.25rem; } - .sm\:text-2xl { - font-size: 1.5rem; - line-height: 2rem; - } - .sm\:text-sm { font-size: 0.875rem; line-height: 1.25rem; @@ -2707,6 +2582,10 @@ input:checked + .toggle-bg { margin-right: 6rem; } + .md\:ml-2 { + margin-left: 0.5rem; + } + .md\:table-cell { display: table-cell; } diff --git a/src/clj/auto_ap/ssr/company/company_1099.clj b/src/clj/auto_ap/ssr/company/company_1099.clj index 37a31b5a..a13faa3b 100644 --- a/src/clj/auto_ap/ssr/company/company_1099.clj +++ b/src/clj/auto_ap/ssr/company/company_1099.clj @@ -6,6 +6,7 @@ [auto-ap.shared-views.company.sidebar :refer [company-side-bar]] [auto-ap.ssr-routes :as ssr-routes] [auto-ap.ssr.ui :refer [base-page]] + [auto-ap.ssr.svg :as svg] [auto-ap.ssr.utils :refer [html-response]] [bidi.bidi :as bidi] [clojure.string :as str] @@ -126,20 +127,11 @@ [(:client/code client ) amount]))))) (defn dialog [header content footer] - [:div {:class "relative bg-white rounded-lg shadow dark:bg-gray-700 fade-in slide-up duration-300 transition-all modal-content"} + [:div {:class "relative bg-white rounded-lg shadow dark:bg-gray-700 dark:text-white fade-in slide-up duration-300 transition-all modal-content"} [:div {:class "flex items-start justify-between p-4 border-b rounded-t dark:border-gray-600"} header] [:div {:class "p-6 space-y-6"} content] - [:div footer]] - #_[:div - [:div.flex.items-start.justify-between.p-5.border-b - [:h3.text-xl.font-semibold header] - [:button.text-gray-400.bg-transparent.hover:bg-gray-200.hover:text-gray-800.items-center.rounded-3xl [:i.fa.fa-times.p-4]] - ] - [:div.p-6.space-y-6 - content] - [:div.modal-card-foot - footer]]) + [:div footer]]) (defn link* [{:keys [class href]} & children] (into [:a {:href href @@ -148,43 +140,56 @@ (defn icon-button* [params & children] (into - [:button (update params :class str " inline-flex items-center justify-center bg-white dark:bg-gray-600 items-center p-3 text-sm font-medium border text-center text-gray-500 hover:text-gray-800 rounded-lg dark:text-gray-400 dark:hover:text-gray-100") + [:button (update params :class str " inline-flex items-center justify-center bg-white dark:bg-gray-600 items-center p-3 text-sm font-medium border border-gray-300 dark:border-gray-700 text-center text-gray-500 hover:text-gray-800 rounded-lg dark:text-gray-400 dark:hover:text-gray-100") children])) -(def icon-accounting-invoice-mail - [:svg {:aria-hidden "true", :fill "currentColor", :viewbox "0 0 24 24", :xmlns "http://www.w3.org/2000/svg"} - [:g - [:path {:d "M23.74,11.06a.47.47,0,0,0-.5,0h0l-2.35,1.47a.25.25,0,0,1-.25,0,.24.24,0,0,1-.13-.22V2a2,2,0,0,0-2-2H5.5a2,2,0,0,0-2,2V12.33a.24.24,0,0,1-.13.22.25.25,0,0,1-.25,0L.76,11.08a.5.5,0,0,0-.5,0A.51.51,0,0,0,0,11.5V22a2,2,0,0,0,2,2H22a2,2,0,0,0,2-2V11.5A.51.51,0,0,0,23.74,11.06ZM5.5,13.9V3a1,1,0,0,1,1-1l11,0a1,1,0,0,1,1,1V13.9a.25.25,0,0,1-.12.21l-2,1.25a.25.25,0,0,0,0,.4l4.15,3.68a.75.75,0,1,1-1,1.12l-4.21-3.75a.27.27,0,0,0-.17-.06H8.88a.27.27,0,0,0-.17.06L4.5,20.56a.76.76,0,0,1-1.06-.06.75.75,0,0,1,.06-1.06l4.15-3.68a.25.25,0,0,0,0-.4l-2-1.25A.25.25,0,0,1,5.5,13.9Z", :fill "currentColor"}] - [:path {:d "M10.35,9.22l2.31.92a.5.5,0,0,1-.19,1H10.2a1,1,0,0,0,0,2h.42a.26.26,0,0,1,.26.25v.15a1,1,0,0,0,2,0v-.23a.25.25,0,0,1,.19-.25,2.49,2.49,0,0,0,.33-4.74l-2.31-.92a.5.5,0,0,1,.19-1h2.27a1,1,0,0,0,0-2h-.43a.25.25,0,0,1-.24-.25V4a1,1,0,0,0-2,0v.23a.26.26,0,0,1-.2.25,2.49,2.49,0,0,0-.33,4.74Z", :fill "currentColor"}]]"\t"]) +(defn button* [params & children] + [:button { :class (cond-> "text-white focus:ring-4 font-bold rounded-lg text-sm px-5 py-2.5 text-center mr-2 inline-flex items-center hover:scale-105 transition duration-100" + (= :secondary (:color params)) (str " bg-blue-500 hover:bg-blue-600 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700") + (= :primary (:color params)) (str " bg-green-500 hover:bg-green-600 focus:ring-green-300 dark:bg-green-600 dark:hover:bg-green-700 "))} + [:div.htmx-indicator.flex.items-center + (svg/spinner {:class "inline w-4 h-4 text-white"}) + [:div.ml-3 "Loading..."]] + (into [:div.htmx-indicator-hidden ] children)]) -(def icon-receipt-register-1 - [:svg {:xmlns "http://www.w3.org/2000/svg", :viewbox "0 0 24 24"} - [:g - [:path {:d "M19.91,17.75a.25.25,0,0,0,.2-.09.29.29,0,0,0,.05-.2,12.73,12.73,0,0,0-10-10.2A.25.25,0,0,1,10,7V5.5a.25.25,0,0,0-.25-.25H2.25A.25.25,0,0,0,2,5.5v12a.25.25,0,0,0,.25.25ZM7.75,10a2.75,2.75,0,0,1,2.75,2.75,2.45,2.45,0,0,1,0,.27.25.25,0,0,0,.15.26l3.66,1.53a.75.75,0,1,1-.58,1.38L10,14.63a.25.25,0,0,0-.27,0A2.74,2.74,0,1,1,7.75,10Z", :fill "currentColor"}] - [:path {:d "M10,3.75a0,0,0,0,0,0,0s0,0,0,0l1.14-1.14A1.48,1.48,0,0,0,11.47.93,1.46,1.46,0,0,0,10.09,0H3.5A1.5,1.5,0,0,0,2,1.5v2a.25.25,0,0,0,.25.25Z", :fill "currentColor"}] - [:path {:d "M20.52,19.25H2.25A.25.25,0,0,0,2,19.5v3.06A1.47,1.47,0,0,0,3.5,24h17A1.47,1.47,0,0,0,22,22.56V20.69A1.47,1.47,0,0,0,20.52,19.25Z", :fill "currentColor"}] - [:path {:d "M13.26,7.21l1.5.5a.67.67,0,0,0,.24,0,.75.75,0,0,0,.24-1.46l-1.5-.5a.75.75,0,0,0-.48,1.42Z", :fill "currentColor"}] - [:path {:d "M18,10A.75.75,0,0,0,19,10,.75.75,0,0,0,19,9L18,8A.75.75,0,0,0,17,9Z", :fill "currentColor"}] - [:path {:d "M20.29,13.74a.75.75,0,0,0,.71.51.67.67,0,0,0,.24,0,.75.75,0,0,0,.47-1l-.5-1.5a.74.74,0,0,0-.95-.47.75.75,0,0,0-.47,1Z", :fill "currentColor"}]]]) +(defn breadcrumbs [] + "HELLO" + [:div {:class "flex px-5 py-3 text-gray-700 border border-gray-200 rounded-lg bg-gray-50 dark:bg-gray-800 dark:border-gray-700"} + [:ul {:class "inline-flex items-center space-x-1 md:space-x-3"} + [:li {:class "inline-flex items-center"} + [:a {:href "#", :class "inline-flex items-center text-sm font-medium text-gray-700 hover:text-blue-600 dark:text-gray-400 dark:hover:text-white"} + [:svg { :class "w-4 h-4 mr-2", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} + [:path {:d "M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z"}]]]] + [:li + [:div {:class "flex items-center"} + [:svg { :class "w-6 h-6 text-gray-400", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} + [:path {:fill-rule "evenodd", :d "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z", :clip-rule "evenodd"}]] + [:a {:href "#", :class "ml-1 text-sm font-medium text-gray-700 hover:text-blue-600 md:ml-2 dark:text-gray-400 dark:hover:text-white"} "Templates"]]] + [:li {:aria-current "page"} + [:div {:class "flex items-center"} + [:svg {:aria-hidden "true", :class "w-6 h-6 text-gray-400", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} + [:path {:fill-rule "evenodd", :d "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z", :clip-rule "evenodd"}]] + [:span {:class "ml-1 text-sm font-medium text-gray-500 md:ml-2 dark:text-gray-400"} "Flowbite"]]]]]"\t") -(def icon-payments - [:svg {:xmlns "http://www.w3.org/2000/svg", :viewbox "0 0 24 24"} - [:g - [:path {:d "M24,9.33a1.5,1.5,0,0,0-1.5-1.5H15.93a.31.31,0,0,0-.18.07L9.41,14.24a2,2,0,0,1-1,.55,19.76,19.76,0,0,1-2.89.54,2,2,0,0,1-2-2.39l.5-2.5a2,2,0,0,1,.55-1L5.75,8.26a.26.26,0,0,0-.18-.43H1.5A1.5,1.5,0,0,0,0,9.33v11a1.5,1.5,0,0,0,1.5,1.5h21a1.5,1.5,0,0,0,1.5-1.5ZM12.5,17.08h8a.75.75,0,0,1,0,1.5h-8a.75.75,0,0,1,0-1.5Z", :fill "currentColor"}] - [:path {:d "M5.65,10.48a.52.52,0,0,0-.14.25L5,13.23a.49.49,0,0,0,.14.45.48.48,0,0,0,.45.14l2.5-.5a.48.48,0,0,0,.25-.14L16.1,5.43a1.91,1.91,0,0,0-2.7-2.7Z", :fill "currentColor"}]]]) - -(def icon-bank - [:svg {:xmlns "http://www.w3.org/2000/svg", :viewbox "0 0 24 24"} - [:g - [:path {:d "M7,12a1,1,0,0,0,0-2H3a1,1,0,0,0,0,2h.25a.25.25,0,0,1,.25.25v4a.25.25,0,0,1-.25.25H3a1,1,0,0,0,0,2H7a1,1,0,0,0,0-2H6.75a.25.25,0,0,1-.25-.25v-4A.25.25,0,0,1,6.75,12Z", :fill "currentColor"}] - [:path {:d "M14,12a1,1,0,0,0,0-2H10a1,1,0,0,0,0,2h.25a.25.25,0,0,1,.25.25v4a.25.25,0,0,1-.25.25H10a1,1,0,0,0,0,2h4a1,1,0,0,0,0-2h-.25a.25.25,0,0,1-.25-.25v-4a.25.25,0,0,1,.25-.25Z", :fill "currentColor"}] - [:path {:d "M21.5,12a1,1,0,0,0,0-2h-4a1,1,0,0,0,0,2h.25a.25.25,0,0,1,.25.25v4a.25.25,0,0,1-.25.25H17.5a1,1,0,0,0,0,2h4a1,1,0,0,0,0-2h-.25a.25.25,0,0,1-.25-.25v-4a.25.25,0,0,1,.25-.25Z", :fill "currentColor"}] - [:path {:d "M2.45,8.5h19.2a1,1,0,0,0,.93-.58.88.88,0,0,0-.31-1.07L13.14.2a1.07,1.07,0,0,0-1.21,0L1.87,6.83h0A.87.87,0,0,0,1.52,7.9,1,1,0,0,0,2.45,8.5Z", :fill "currentColor"}] - [:path {:d "M23.92,23.22l-2-3A.51.51,0,0,0,21.5,20H2.5a.51.51,0,0,0-.42.22l-2,3A.5.5,0,0,0,.5,24h23a.5.5,0,0,0,.42-.78Z", :fill "currentColor"}]]]) - -(def icon-receipt - [:svg {:xmlns "http://www.w3.org/2000/svg", :viewbox "0 0 24 24"} - [:path {:d "M21.6,1a3.56,3.56,0,0,0-2.23-.9H6.75a3.5,3.5,0,0,0-3.5,3.5v15.5a3.75,3.75,0,0,1-1.49,3l-.11.08a1,1,0,0,0-.35,1.12,1,1,0,0,0,1,.68h13a1,1,0,0,0,.6-.2l.11-.08a5.77,5.77,0,0,0,2.29-4.58V9.32a.25.25,0,0,1,.25-.25h2.25a2,2,0,0,0,2-2V3.57A3.51,3.51,0,0,0,21.6,1ZM6.75,14.32a.75.75,0,0,1,0-1.5h7.5a.75.75,0,0,1,0,1.5ZM12,17.57a.76.76,0,0,1-.75.75H6.75a.75.75,0,0,1,0-1.5h4.5A.75.75,0,0,1,12,17.57Zm-6-12a.75.75,0,0,1,.75-.75h2.5a.75.75,0,0,1,0,1.5H6.75A.76.76,0,0,1,6,5.57Zm8.25,4.75H8.75a.75.75,0,0,1,0-1.5h5.5a.75.75,0,0,1,0,1.5Zm6.5-3.75a.5.5,0,0,1-.5.5H18.5a.25.25,0,0,1-.25-.25V3.71c0-.17,0-1.62,1-1.64a1.52,1.52,0,0,1,1,.39,1.49,1.49,0,0,1,.49,1.11Z", :fill "currentColor"}]]) +(defn bc [params & steps] + [:div {:class "inline-flex px-5 py-3 text-gray-700 border border-gray-200 rounded-lg bg-white dark:bg-gray-800 dark:border-gray-700"} + [:ul {:class "inline-flex items-center space-x-1 md:space-x-3"} + [:li {:class "inline-flex items-center"} + [:a {:href "#", :class "inline-flex w-4 h-4 mr-2 items-center text-sm font-medium text-gray-700 hover:text-blue-600 dark:text-gray-400 dark:hover:text-white"} + svg/home]] + (for [p steps] + [:li + [:div {:class "flex items-center"} + + [:div {:class "w-6 h-6 text-gray-400",} + svg/breadcrumb-component] + + (update-in p [1 :class] str " ml-1 text-sm font-medium text-gray-700 hover:text-blue-600 md:ml-2 dark:text-gray-400 dark:hover:text-white")]]) + #_[:li {:aria-current "page"} + [:div {:class "flex items-center"} + [:svg {:aria-hidden "true", :class "w-6 h-6 text-gray-400", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} + [:path {:fill-rule "evenodd", :d "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z", :clip-rule "evenodd"}]] + [:span {:class "ml-1 text-sm font-medium text-gray-500 md:ml-2 dark:text-gray-400"} "Flowbite"]]]]]) (defn table* [{:keys [identity session]} & {:keys [flash-id]}] (let [companies (take 30 (get-1099-companies identity session))] @@ -193,42 +198,51 @@ :request-method :get) :hx-trigger "clientSelected from:body" :hx-swap "outerHTML swap:300ms"} + (bc {} + [:a {:href "#"} "My Company"] + [:a {:href "#"} "1099 Vendor Info"] + ) + [:section {:class " py-3 sm:py-5"} [:div {:class "max-w-screen-2xl"} - [:div {:class "relative overflow-hidden bg-white shadow-md dark:bg-gray-800 sm:rounded-lg border-2 border-gray-200"} - [:div {:class "flex flex-col px-4 py-3 space-y-3 lg:flex-row lg:items-center lg:justify-between lg:space-y-0 lg:space-x-4 bg-green-50 "} + [:div {:class "relative overflow-hidden bg-white shadow-md dark:bg-gray-800 sm:rounded-lg border-2 border-gray-200 dark:border-gray-900"} + [:div {:class "flex flex-col px-4 py-3 space-y-3 lg:flex-row lg:items-center lg:justify-between lg:space-y-0 lg:space-x-4 text-gray-800 dark:text-gray-100"} [:div - [:h1.text-2xl.mb-3 "Vendors"] + [:h1.text-2xl.mb-3.font-bold "Xendors"] + [:div {:class "flex items-center flex-1 space-x-4"} [:h5 - [:span {:class "text-gray-500"} "Total Companies:"] + [:span "Total Vendors:"] [:span {:class "dark:text-white pl-4"} (count companies)]]]] [:div {:class "flex flex-col flex-shrink-0 space-y-3 md:flex-row md:items-center lg:justify-end md:space-y-0 md:space-x-3"} - [:button {:type "button", :class "flex items-center justify-center px-4 py-2 text-sm font-medium text-white rounded-lg bg-green-500 hover:bg-green-700 focus:ring-4 focus:ring-green-300 dark:bg-green-600 dark:hover:bg-green-700 focus:outline-none dark:focus:ring-green-800"} - [:svg {:class "h-3.5 w-3.5 mr-2", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg", :aria-hidden "true"} - [:path {:clip-rule "evenodd", :fill-rule "evenodd", :d "M10 3a1 1 0 011 1v5h5a1 1 0 110 2h-5v5a1 1 0 11-2 0v-5H4a1 1 0 110-2h5V4a1 1 0 011-1z"}]]"Add new product"] - [:button {:type "button", :class "flex items-center justify-center flex-shrink-0 px-3 py-2 text-sm font-medium text-gray-900 bg-white border border-gray-200 rounded-lg focus:outline-none hover:bg-gray-100 hover:text-green-700 focus:z-10 focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700"} - [:svg {:class "w-4 h-4 mr-2", :xmlns "http://www.w3.org/2000/svg", :aria-hidden "true", :fill "none", :viewbox "0 0 24 24", :stroke-width "1.5", :stroke "currentColor"} - [:path {:stroke-linecap "round", :stroke-linejoin "round", :d "M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99"}]]"Update stocks 1/250"] + (button* {:color :primary} + [:svg {:class "w-4 h-4 mr-2", :xmlns "http://www.w3.org/2000/svg", :aria-hidden "true", :fill "none", :viewbox "0 0 24 24", :stroke-width "1.5", :stroke "currentColor"} + [:path {:stroke-linecap "round", :stroke-linejoin "round", :d "M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99"}]] + "Add new product") + + (button* {:color :secondary} + [:svg {:class "w-4 h-4 mr-2", :xmlns "http://www.w3.org/2000/svg", :aria-hidden "true", :fill "none", :viewbox "0 0 24 24", :stroke-width "1.5", :stroke "currentColor"} + [:path {:stroke-linecap "round", :stroke-linejoin "round", :d "M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99"}]] + "Update stocks 1/250") + (icon-button* {} [:svg {:class "w-4 h-4", :xmlns "http://www.w3.org/2000/svg", :fill "none", :viewbox "0 0 24 24", :stroke-width "2", :stroke "currentColor", :aria-hidden "true"} [:path {:stroke-linecap "round", :stroke-linejoin "round", :d "M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5"}]]) - #_[:button {:type "button", :class "flex items-center justify-center flex-shrink-0 px-3 py-2 text-sm font-medium text-gray-900 bg-white border border-gray-200 rounded-lg focus:outline-none hover:bg-gray-100 hover:text-green-700 focus:z-10 focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700"} - ]]] + ]] [:div {:class "overflow-x-auto"} [:table {:class "w-full text-sm text-left text-gray-500 dark:text-gray-400"} - [:thead {:class "text-xs text-gray-700 bg-green-100 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400"} + [:thead {:class "text-xs text-gray-800 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400"} [:tr #_[:th {:scope "col", :class "p-4"} [:div {:class "flex items-center"} [:input {:id "checkbox-all", :type "checkbox", :class "w-4 h-4 bg-gray-100 border-gray-300 rounded text-primary-600 focus:ring-primary-500 dark:focus:ring-primary-600 dark:ring-offset-gray-800 focus:ring-2 dark:bg-gray-700 dark:border-gray-600"}] [:label {:for "checkbox-all", :class "sr-only"} "checkbox"]]] - [:th.px-4.py-3.text-gray-800 {:scope "col"} "Client"] - [:th.px-4.py-3.text-gray-800 {:scope "col"} "Vendor Name"] - [:th.px-4.py-3.text-gray-800.hidden.md:table-cell {:scope "col"} "TIN"] - [:th.px-4.py-3.text-gray-800.hidden.lg:table-cell {:scope "col"} "Address"] - [:th.px-4.py-3.text-gray-800 {:scope "col"} ] - [:th.px-4.py-3.text-gray-800 {:scope "col"} ]]] + [:th.px-4.py-3 {:scope "col"} "Client"] + [:th.px-4.py-3 {:scope "col"} "Vendor Name"] + [:th.px-4.py-3 {:scope "col"} "TIN"] + [:th.px-4.py-3 {:scope "col"} "Address"] + [:th.px-4.py-3 {:scope "col"} ] + [:th.px-4.py-3 {:scope "col"} ]]] [:tbody (for [[client vendor amount] companies] [:tr @@ -368,19 +382,22 @@ [:th.px-4.py-4.text-gray-800 ] ]] [:tbody - ]]]])) + ]]] + ])) (defn menu-button* [params & children] - [:button (-> params + [:a (-> params (dissoc :icon) (assoc :type "button",) - (update :class str " flex items-center p-2 w-full text-base font-normal text-gray-900 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700")) + (update :class str " cursor-pointer flex items-center p-2 w-full text-sm text-gray-600 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700")) - [:span {:class "flex-shrink-0 w-6 h-6 text-gray-400 transition duration-75 group-hover:text-blue-500 dark:text-gray-400 group-hover:scale-110 dark:group-hover:text-white"} - (:icon params)] + (when (:icon params) + [:span {:class "flex-shrink-0 w-6 h-6 text-gray-400 transition duration-75 group-hover:text-blue-500 dark:text-gray-400 group-hover:scale-110 dark:group-hover:text-white mr-3"} + (:icon params)]) - (into [:span {:class "flex-1 ml-3 text-left whitespace-nowrap"} ] children) - [:svg {:aria-hidden "true", :class "w-6 h-6", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} - [:path {:fill-rule "evenodd", :d "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z", :clip-rule "evenodd"}]]]) + (into [:span {:class "flex-1 text-left whitespace-nowrap text-gray-600 dark:text-white"} ] children) + (when (:data-collapse-toggle params) + [:svg {:aria-hidden "true", :class "w-6 h-6", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} + [:path {:fill-rule "evenodd", :d "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z", :clip-rule "evenodd"}]])]) (defn sub-menu* [params & children] [:ul {:id (:id params) :class "hidden py-2 space-y-2"} @@ -389,71 +406,80 @@ (update-in c [1 :class ] str " flex items-center p-2 pl-11 w-full text-base font-normal text-gray-900 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700")])]) (defn sidebar* [] - [:aside {:id "default-sidebar", :class "fixed top-0 left-0 pt-16 z-20 w-64 h-screen transition-transform -translate-x-full lg:translate-x-0", :aria-label "Sidenav"} - [:div {:class "overflow-y-auto py-5 px-3 h-full bg-white border-r border-gray-200 dark:bg-gray-800 dark:border-gray-700"} + [:aside {:id "left-nav", :class "fixed top-0 left-0 pt-16 z-20 w-64 h-screen transition-transform -translate-x-full lg:translate-x-0", :aria-labelledby "left-nav" :aria-hidden "true" + :onCollapse (hiccup/raw "alert(\"hello\")") + } + + [:div {:class "overflow-y-auto py-5 px-3 h-full bg-gray-50 border-r border-gray-200 dark:bg-gray-800 dark:border-gray-700"} + [:ul {:class "space-y-2"} + [:li - [:a {:href "#", :class "flex items-center p-2 text-base font-normal text-gray-900 rounded-lg dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700 group"} - [:svg {:aria-hidden "true", :class "w-6 h-6 text-gray-400 transition duration-75 dark:text-gray-400 group-hover:text-gray-900 dark:group-hover:text-white", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} - [:path {:d "M2 10a8 8 0 018-8v8h8a8 8 0 11-16 0z"}] - [:path {:d "M12 2.252A8.014 8.014 0 0117.748 8H12V2.252z"}]] - [:span {:class "ml-3"} "Overview"]]] + (menu-button* {:icon svg/pie} + "Dashboard")] [:li (menu-button* {:aria-controls "dropdown-invoices", :data-collapse-toggle "dropdown-invoices" - :icon icon-accounting-invoice-mail} + :icon svg/accounting-invoice-mail} "Invoices") (sub-menu* {:id "dropdown-invoices"} - [:a {:href "#"} "All"] - [:a {:href "#"} "Paid"] - [:a {:href "#"} "Unpaid"] - [:a {:href "#"} "Voided"]) + (menu-button* {:href "http://google.com"} + "All") + (menu-button* {:href "http://google.com"} + "Paid") + (menu-button* {:href "http://google.com"} + "Unpaid") + (menu-button* {:href "http://google.com"} + "Voided")) ] [:li (menu-button* {:aria-controls "dropdown-sales", :data-collapse-toggle "dropdown-sales" - :icon icon-receipt-register-1} + :icon svg/receipt-register-1} "Sales") (sub-menu* {:id "dropdown-sales"} - [:a {:href "#"} "Sales"] - [:a {:href "#"} "Expected Deposit"])] + (menu-button* {:href "Sales"} "Sales") + (menu-button* {:href "Sales"} "Expected Deposits") + (menu-button* {:href "Sales"} "Cash Shifts") + (menu-button* {:href "Sales"} "Tenders"))] [:li - (menu-button* {:aria-controls "dropdown-payments" + (menu-button* {:aria-controls "dropdown-payments" :data-collapse-toggle "dropdown-payments" - :icon icon-payments} + :icon svg/payments} "Payments") (sub-menu* {:id "dropdown-payments"} - [:a {:href "#"} "All"] - [:a {:href "#"} "Pending"] - [:a {:href "#"} "Cleared"] - [:a {:href "#"} "Voided"])] + (menu-button* {:href "Sales"} "All") + (menu-button* {:href "Sales"} "Pending") + (menu-button* {:href "Sales"} "Cleared") + (menu-button* {:href "Sales"} "Voided"))] [:li (menu-button* {:aria-controls "dropdown-transactions" :data-collapse-toggle "dropdown-transactions" - :icon icon-bank} + :icon svg/bank} "Transactions") (sub-menu* {:id "dropdown-transactions"} - [:a {:href "#"} "All"] - [:a {:href "#"} "Unapproved"] - [:a {:href "#"} "Client Review"] - [:a {:href "#"} "Approved"] - [:a {:href "#"} "Insights"])] + (menu-button* {:href "Sales"} "All") + (menu-button* {:href "Sales"} "Unapproved") + (menu-button* {:href "Sales"} "Client Review") + (menu-button* {:href "Sales"} "Approved") + (menu-button* {:href "Sales"} "Insights"))] [:li (menu-button* {:aria-controls "dropdown-ledger" :data-collapse-toggle "dropdown-ledger" - :icon icon-receipt} + :icon svg/receipt} "Ledger") - - [:ul {:id "dropdown-ledger", :class "hidden py-2 space-y-2"} - [:li - [:a {:href "#", :class "flex items-center p-2 pl-11 w-full text-base font-normal text-gray-900 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700"} "Sign In"]] - [:li - [:a {:href "#", :class "flex items-center p-2 pl-11 w-full text-base font-normal text-gray-900 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700"} "Sign Up"]] - [:li - [:a {:href "#", :class "flex items-center p-2 pl-11 w-full text-base font-normal text-gray-900 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700"} "Forgot Password"]]]]] - [:ul {:class "pt-5 mt-5 space-y-2 border-t border-gray-200 dark:border-gray-700"} + (sub-menu* {:id "dropdown-ledger"} + (menu-button* {:href "Sales"} "Register") + (menu-button* {:href "Sales"} "Profit & Loss") + (menu-button* {:href "Sales"} "Profit & Loss Detail") + (menu-button* {:href "Sales"} "Cash Flows") + (menu-button* {:href "Sales"} "Balance Sheet") + (menu-button* {:href "Sales"} "External Ledger Import")) + + ]] + #_[:ul {:class "pt-5 mt-5 space-y-2 border-t border-gray-200 dark:border-gray-700"} [:li [:a {:href "#", :class "flex items-center p-2 text-base font-normal text-gray-900 rounded-lg transition duration-75 hover:bg-gray-100 dark:hover:bg-gray-700 dark:text-white group"} [:svg {:aria-hidden "true", :class "flex-shrink-0 w-6 h-6 text-gray-400 transition duration-75 dark:text-gray-400 group-hover:text-gray-900 dark:group-hover:text-white", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} @@ -470,7 +496,7 @@ [:svg {:aria-hidden "true", :class "flex-shrink-0 w-6 h-6 text-gray-400 transition duration-75 dark:text-gray-400 group-hover:text-gray-900 dark:group-hover:text-white", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} [:path {:fill-rule "evenodd", :d "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-2 0c0 .993-.241 1.929-.668 2.754l-1.524-1.525a3.997 3.997 0 00.078-2.183l1.562-1.562C15.802 8.249 16 9.1 16 10zm-5.165 3.913l1.58 1.58A5.98 5.98 0 0110 16a5.976 5.976 0 01-2.516-.552l1.562-1.562a4.006 4.006 0 001.789.027zm-4.677-2.796a4.002 4.002 0 01-.041-2.08l-.08.08-1.53-1.533A5.98 5.98 0 004 10c0 .954.223 1.856.619 2.657l1.54-1.54zm1.088-6.45A5.974 5.974 0 0110 4c.954 0 1.856.223 2.657.619l-1.54 1.54a4.002 4.002 0 00-2.346.033L7.246 4.668zM12 10a2 2 0 11-4 0 2 2 0 014 0z", :clip-rule "evenodd"}]] [:span {:class "ml-3"} "Help"]]]]] - [:div {:class "hidden absolute bottom-0 left-0 justify-center p-4 space-x-4 w-full lg:flex bg-white dark:bg-gray-800 z-20 border-r border-gray-200 dark:border-gray-700"} + #_[:div {:class "hidden absolute bottom-0 left-0 justify-center p-4 space-x-4 w-full lg:flex bg-white dark:bg-gray-800 z-20 border-r border-gray-200 dark:border-gray-700"} [:a {:href "#", :class "inline-flex justify-center p-2 text-gray-500 rounded cursor-pointer dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-100 dark:hover:bg-gray-600"} [:svg {:aria-hidden "true", :class "w-6 h-6", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} [:path {:d "M5 4a1 1 0 00-2 0v7.268a2 2 0 000 3.464V16a1 1 0 102 0v-1.268a2 2 0 000-3.464V4zM11 4a1 1 0 10-2 0v1.268a2 2 0 000 3.464V16a1 1 0 102 0V8.732a2 2 0 000-3.464V4zM16 3a1 1 0 011 1v7.268a2 2 0 010 3.464V16a1 1 0 11-2 0v-1.268a2 2 0 010-3.464V4a1 1 0 011-1z"}]]] @@ -541,16 +567,15 @@ (defn navbar* [] [:nav {:class "fixed z-30 w-full bg-white border-b border-gray-200 dark:bg-gray-800 dark:border-gray-700"} - [:div {:class "px-3 py-3 lg:px-5 lg:pl-3"} + [:div {:class "px-3 py-3 lg:px-5 lg:pl-3"} [:div {:class "flex items-center justify-between"} [:div {:class "flex items-center justify-start"} - [:button {:id "toggleSidebarMobile", :aria-expanded "true", :aria-controls "sidebar", :class "p-2 text-gray-600 rounded cursor-pointer lg:hidden hover:text-gray-900 hover:bg-gray-100 focus:bg-gray-100 dark:focus:bg-gray-700 focus:ring-2 focus:ring-gray-100 dark:focus:ring-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"} - [:svg {:id "toggleSidebarMobileHamburger", :class "w-6 h-6", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} - [:path {:fill-rule "evenodd", :d "M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h6a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z", :clip-rule "evenodd"}]] - [:svg {:id "toggleSidebarMobileClose", :class "hidden w-6 h-6", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} - [:path {:fill-rule "evenodd", :d "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z", :clip-rule "evenodd"}]]] + [:button { :aria-controls "left-nav", :id "left-nav-toggle" :type "button", :class "inline-flex items-center p-2 mt-2 ml-2 mr-2 text-sm text-gray-500 rounded-lg hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-600"} + [:span {:class "sr-only"} "Open sidebar"] + [:svg {:class "w-6 h-6", :aria-hidden "true", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} + [:path {:clip-rule "evenodd", :fill-rule "evenodd", :d "M2 4.75A.75.75 0 012.75 4h14.5a.75.75 0 010 1.5H2.75A.75.75 0 012 4.75zm0 10.5a.75.75 0 01.75-.75h7.5a.75.75 0 010 1.5h-7.5a.75.75 0 01-.75-.75zM2 10a.75.75 0 01.75-.75h14.5a.75.75 0 010 1.5H2.75A.75.75 0 012 10z"}]]] [:a {:href "https://flowbite-admin-dashboard.vercel.app/", :class "flex ml-2 md:mr-24"} - [:img {:src "/img/logo-big.png", :class "h-8 mr-16", :alt "Integreat logo"}] + [:img {:src "/img/logo-big2.png", :class "h-10 mr-16", :alt "Integreat logo"}] ] [:form {:action "#", :method "GET", :class "hidden lg:block lg:pl-3.5"} [:label {:for "topbar-search", :class "sr-only"} "Search"] @@ -559,83 +584,24 @@ [:svg {:class "w-5 h-5 text-gray-500 dark:text-gray-400", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} [:path {:fill-rule "evenodd", :d "M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z", :clip-rule "evenodd"}]]] [:input {:type "text", :name "email", :id "topbar-search", :class "bg-gray-50 border border-gray-300 text-gray-900 sm:text-sm rounded-lg focus:ring-primary-500 focus:border-primary-500 block w-full pl-10 p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-primary-500 dark:focus:border-primary-500", :placeholder "Search"}]]]] - [:div {:class "flex items-center"} + + [:div {:class "flex items-center gap-4"} [:div {:class "hidden mr-3 -mb-1 sm:block"} [:span]] [:button {:id "toggleSidebarMobileSearch", :type "button", :class "p-2 text-gray-500 rounded-lg lg:hidden hover:text-gray-900 hover:bg-gray-100 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"} [:span {:class "sr-only"} "Search"] [:svg {:class "w-6 h-6", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} [:path {:fill-rule "evenodd", :d "M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z", :clip-rule "evenodd"}]]] - [:button {:type "button", :data-dropdown-toggle "notification-dropdown", :class "p-2 text-gray-500 rounded-lg hover:text-gray-900 hover:bg-gray-100 dark:text-gray-400 dark:hover:text-white dark:hover:bg-gray-700"} - [:span {:class "sr-only"} "View notifications"] - [:svg {:class "w-6 h-6", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} - [:path {:d "M10 2a6 6 0 00-6 6v3.586l-.707.707A1 1 0 004 14h12a1 1 0 00.707-1.707L16 11.586V8a6 6 0 00-6-6zM10 18a3 3 0 01-3-3h6a3 3 0 01-3 3z"}]]] - [:div {:class "z-20 z-50 max-w-sm my-4 overflow-hidden text-base list-none bg-white divide-y divide-gray-100 rounded shadow-lg dark:divide-gray-600 dark:bg-gray-700 hidden", :id "notification-dropdown", :style "position: absolute; inset: 0px auto auto 0px; margin: 0px; transform: translate(1505px, 65px);", :data-popper-placement "bottom"} - [:div {:class "block px-4 py-2 text-base font-medium text-center text-gray-700 bg-gray-50 dark:bg-gray-700 dark:text-gray-400"} ] - [:div - [:a {:href "#", :class "flex px-4 py-3 border-b hover:bg-gray-100 dark:hover:bg-gray-600 dark:border-gray-600"} - [:div {:class "flex-shrink-0"} - [:img {:class "rounded-full w-11 h-11", :src "https://flowbite-admin-dashboard.vercel.app/images/users/bonnie-green.png", :alt "Jese image"}] - [:div {:class "absolute flex items-center justify-center w-5 h-5 ml-6 -mt-5 border border-white rounded-full bg-primary-700 dark:border-gray-700"} - [:svg {:class "w-3 h-3 text-white", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} - [:path {:d "M8.707 7.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l2-2a1 1 0 00-1.414-1.414L11 7.586V3a1 1 0 10-2 0v4.586l-.293-.293z"}] - [:path {:d "M3 5a2 2 0 012-2h1a1 1 0 010 2H5v7h2l1 2h4l1-2h2V5h-1a1 1 0 110-2h1a2 2 0 012 2v10a2 2 0 01-2 2H5a2 2 0 01-2-2V5z"}]]]] - [:div {:class "w-full pl-3"} - [:div {:class "text-gray-500 font-normal text-sm mb-1.5 dark:text-gray-400"} "New message from " - [:span {:class "font-semibold text-gray-900 dark:text-white"} "Bonnie Green"]": "Hey, what's up? All set for the presentation?""] - [:div {:class "text-xs font-medium text-primary-700 dark:text-primary-400"} "a few moments ago"]]] - [:a {:href "#", :class "flex px-4 py-3 border-b hover:bg-gray-100 dark:hover:bg-gray-600 dark:border-gray-600"} - [:div {:class "flex-shrink-0"} - [:img {:class "rounded-full w-11 h-11", :src "https://flowbite-admin-dashboard.vercel.app/images/users/jese-leos.png", :alt "Jese image"}] - [:div {:class "absolute flex items-center justify-center w-5 h-5 ml-6 -mt-5 bg-gray-900 border border-white rounded-full dark:border-gray-700"} - [:svg {:class "w-3 h-3 text-white", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} - [:path {:d "M8 9a3 3 0 100-6 3 3 0 000 6zM8 11a6 6 0 016 6H2a6 6 0 016-6zM16 7a1 1 0 10-2 0v1h-1a1 1 0 100 2h1v1a1 1 0 102 0v-1h1a1 1 0 100-2h-1V7z"}]]]] - [:div {:class "w-full pl-3"} - [:div {:class "text-gray-500 font-normal text-sm mb-1.5 dark:text-gray-400"} - [:span {:class "font-semibold text-gray-900 dark:text-white"} "Jese leos"]" and " - [:span {:class "font-medium text-gray-900 dark:text-white"} "5 others"]" started following you."] - [:div {:class "text-xs font-medium text-primary-700 dark:text-primary-400"} "10 minutes ago"]]] - [:a {:href "#", :class "flex px-4 py-3 border-b hover:bg-gray-100 dark:hover:bg-gray-600 dark:border-gray-600"} - [:div {:class "flex-shrink-0"} - [:img {:class "rounded-full w-11 h-11", :src "https://flowbite-admin-dashboard.vercel.app/images/users/joseph-mcfall.png", :alt "Joseph image"}] - [:div {:class "absolute flex items-center justify-center w-5 h-5 ml-6 -mt-5 bg-red-600 border border-white rounded-full dark:border-gray-700"} - [:svg {:class "w-3 h-3 text-white", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} - [:path {:fill-rule "evenodd", :d "M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z", :clip-rule "evenodd"}]]]] - [:div {:class "w-full pl-3"} - [:div {:class "text-gray-500 font-normal text-sm mb-1.5 dark:text-gray-400"} - [:span {:class "font-semibold text-gray-900 dark:text-white"} "Joseph Mcfall"]" and " - [:span {:class "font-medium text-gray-900 dark:text-white"} "141 others"]" love your story. See it and view more stories."] - [:div {:class "text-xs font-medium text-primary-700 dark:text-primary-400"} "44 minutes ago"]]] - [:a {:href "#", :class "flex px-4 py-3 border-b hover:bg-gray-100 dark:hover:bg-gray-600 dark:border-gray-600"} - [:div {:class "flex-shrink-0"} - [:img {:class "rounded-full w-11 h-11", :src "https://flowbite-admin-dashboard.vercel.app/images/users/leslie-livingston.png", :alt "Leslie image"}] - [:div {:class "absolute flex items-center justify-center w-5 h-5 ml-6 -mt-5 bg-green-400 border border-white rounded-full dark:border-gray-700"} - [:svg {:class "w-3 h-3 text-white", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} - [:path {:fill-rule "evenodd", :d "M18 13V5a2 2 0 00-2-2H4a2 2 0 00-2 2v8a2 2 0 002 2h3l3 3 3-3h3a2 2 0 002-2zM5 7a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1zm1 3a1 1 0 100 2h3a1 1 0 100-2H6z", :clip-rule "evenodd"}]]]] - [:div {:class "w-full pl-3"} - [:div {:class "text-gray-500 font-normal text-sm mb-1.5 dark:text-gray-400"} - [:span {:class "font-semibold text-gray-900 dark:text-white"} "Leslie Livingston"]" mentioned you in a comment: " - [:span {:class "font-medium text-primary-700 dark:text-primary-500"} "@bonnie.green"]" what do you say?"] - [:div {:class "text-xs font-medium text-primary-700 dark:text-primary-400"} "1 hour ago"]]] - [:a {:href "#", :class "flex px-4 py-3 hover:bg-gray-100 dark:hover:bg-gray-600"} - [:div {:class "flex-shrink-0"} - [:img {:class "rounded-full w-11 h-11", :src "https://flowbite-admin-dashboard.vercel.app/images/users/robert-brown.png", :alt "Robert image"}] - [:div {:class "absolute flex items-center justify-center w-5 h-5 ml-6 -mt-5 bg-purple-500 border border-white rounded-full dark:border-gray-700"} - [:svg {:class "w-3 h-3 text-white", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} - [:path {:d "M2 6a2 2 0 012-2h6a2 2 0 012 2v8a2 2 0 01-2 2H4a2 2 0 01-2-2V6zM14.553 7.106A1 1 0 0014 8v4a1 1 0 00.553.894l2 1A1 1 0 0018 13V7a1 1 0 00-1.447-.894l-2 1z"}]]]] - [:div {:class "w-full pl-3"} - [:div {:class "text-gray-500 font-normal text-sm mb-1.5 dark:text-gray-400"} - [:span {:class "font-semibold text-gray-900 dark:text-white"} "Robert Brown"]" posted a new video: Glassmorphism - learn how to implement the new design trend."] - [:div {:class "text-xs font-medium text-primary-700 dark:text-primary-400"} "3 hours ago"]]]] - [:a {:href "#", :class "block py-2 text-base font-normal text-center text-gray-900 bg-gray-50 hover:bg-gray-100 dark:bg-gray-700 dark:text-white dark:hover:underline"} - [:div {:class "inline-flex items-center "} - [:svg {:class "w-5 h-5 mr-2", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} - [:path {:d "M10 12a2 2 0 100-4 2 2 0 000 4z"}] - [:path {:fill-rule "evenodd", :d "M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z", :clip-rule "evenodd"}]]"View all"]]] - [:button {:type "button", :data-dropdown-toggle "apps-dropdown", :class "hidden p-2 text-gray-500 rounded-lg sm:flex hover:text-gray-900 hover:bg-gray-100 dark:text-gray-400 dark:hover:text-white dark:hover:bg-gray-700"} + + + (icon-button* {} + [:div.w-4.h-4 svg/search]) + #_[:button {:type "button", :data-dropdown-toggle "apps-dropdown", :class "hidden p-2 text-gray-500 rounded-lg sm:flex hover:text-gray-900 hover:bg-gray-100 dark:text-gray-400 dark:hover:text-white dark:hover:bg-gray-700"} [:span {:class "sr-only"} "View notifications"] [:svg {:class "w-6 h-6", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} [:path {:d "M5 3a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2V5a2 2 0 00-2-2H5zM5 11a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2v-2a2 2 0 00-2-2H5zM11 5a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V5zM11 13a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"}]]] + #_(icon-button* {} + [:div.w-4.h-4 svg/search]) [:div {:class "z-20 z-50 max-w-sm my-4 overflow-hidden text-base list-none bg-white divide-y divide-gray-100 rounded shadow-lg dark:bg-gray-700 dark:divide-gray-600 hidden", :id "apps-dropdown", :style "position: absolute; inset: 0px auto auto 0px; margin: 0px; transform: translate(1545px, 65px);", :data-popper-placement "bottom"} [:div {:class "block px-4 py-2 text-base font-medium text-center text-gray-700 bg-gray-50 dark:bg-gray-700 dark:text-gray-400"} ] [:div {:class "grid grid-cols-3 gap-4 p-4"} @@ -677,11 +643,14 @@ [:svg {:class "mx-auto mb-1 text-gray-500 w-7 h-7 dark:text-gray-400", :fill "none", :stroke "currentColor", :viewbox "0 0 24 24", :xmlns "http://www.w3.org/2000/svg"} [:path {:stroke-linecap "round", :stroke-linejoin "round", :stroke-width "2", :d "M11 16l-4-4m0 0l4-4m-4 4h14m-5 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h7a3 3 0 013 3v1"}]] [:div {:class "text-sm font-medium text-gray-900 dark:text-white"} "Logout"]]]] - [:button {:id "theme-toggle", :data-tooltip-target "tooltip-toggle", :type "button", :class "text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5"} - [:svg {:id "theme-toggle-dark-icon", :class "w-5 h-5", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} - [:path {:d "M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"}]] - [:svg {:id "theme-toggle-light-icon", :class "w-5 h-5 hidden", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} - [:path {:d "M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z", :fill-rule "evenodd", :clip-rule "evenodd"}]]] + (icon-button* {"_" (hiccup/raw "on click toggle .dark on ")} + [:div.h-4.w-4 + [:div.hidden.dark:block svg/sun] + [:div.dark:hidden svg/moon] + ]) + #_[:button {:id "theme-toggle", :data-tooltip-target "tooltip-toggle", :type "button", :class "text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5" + } + ] [:div {:id "tooltip-toggle", :role "tooltip", :class "absolute z-10 inline-block px-3 py-2 text-sm font-medium text-white transition-opacity duration-300 bg-gray-900 rounded-lg shadow-sm tooltip opacity-0 invisible", :style "position: absolute; inset: 0px auto auto 0px; margin: 0px; transform: translate(2326px, 63px);", :data-popper-placement "bottom"} [:img {:src "https://flowbite.com/docs/images/people/profile-picture-5.jpg"}] [:div {:class "tooltip-arrow", :data-popper-arrow "data-popper-arrow", :style "position: absolute; left: 0px; transform: translate(69px);"}]] [:div {:class "flex items-center ml-3"} @@ -703,17 +672,39 @@ [:li [:a {:href "#", :class "block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-600 dark:hover:text-white", :role "menuitem"} "Sign out"]]]]]]]]]) + + (defn page* [request & {:keys [flash-id]}] [:div (navbar*) [:div.flex.pt-16.overflow-hidden (sidebar*) - [:div {:class "relative w-full h-full lg:pl-64 overflow-y-auto px-4 bg-gray-50 dark:bg-gray-900"} + [:div#main-content {:class "relative w-full h-full lg:pl-64 overflow-y-auto px-4 bg-gray-100 dark:bg-gray-900"} [:div.p-4 + + (table* request :flash-id flash-id) #_[:div#modal-holder] - ]]]]) + ]]] + [:script {:lang "text/javascript"} + (hiccup/raw " + const $targetEl = document.getElementById('left-nav'); + + const $triggerEl = document.getElementById('left-nav-toggle'); + + const options = { + onCollapse: () => { + document.getElementById('main-content').classList.remove('lg:pl-64') + }, + onExpand: () => { + document.getElementById('main-content').classList.add('lg:pl-64') + }, + onToggle: () => { + } + }; + + const collapse = new Collapse($targetEl, $triggerEl, options); ")]]) (defn form-data->map [form-data] (reduce-kv @@ -769,15 +760,14 @@ :name (:name params)}] children)) -(defn spinner [{:keys [class]}] - [:svg {:aria-hidden "true", :role "status", :class (str "animate-spin " class) :viewbox "0 0 100 101", :fill "none", :xmlns "http://www.w3.org/2000/svg"} - [:path {:d "M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z", :fill "#E5E7EB"}] - [:path {:d "M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z", :fill "currentColor"}]]) + + + (defn save-button* [params & children] - [:button { :class "text-white bg-green-500 hover:bg-green-700 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center mr-2 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800 inline-flex items-center"} + [:button { :class "text-white bg-green-500 hover:bg-green-700 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center mr-2 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800 inline-flex items-center hover:scale-105 transition duration-300"} [:div.htmx-indicator.flex.items-center - (spinner {:class "inline w-4 h-4 text-white"}) + (svg/spinner {:class "inline w-4 h-4 text-white"}) [:div.ml-3 "Loading..."]] (into [:div.htmx-indicator-hidden ] children)]) @@ -794,7 +784,7 @@ :hx-swap "outerHTML swap:300ms" } (dialog - [:div.flex [:div.p-2 "Vendor 1099 Info"] [:p.ml-2.rounded.bg-gray-200.p-2 (:vendor/name vendor)]] + [:div.flex [:div.p-2 "Vendor 1099 Info"] [:p.ml-2.rounded.bg-gray-200.p-2.dark:bg-gray-600 (:vendor/name vendor)]] [:div.space-y-6 [:div.grid.grid-cols-6.gap-4 @@ -890,7 +880,7 @@ [:option {:value "landlord" :selected (= (-> vendor :vendor/legal-entity-1099-type :db/ident) :legal-entity-1099-type/landlord)} "Landlord"]) )] [:div.col-span-6 - (save-button* {} + (save-button* {:color :primary} "Save") ]]] [:div])]] @@ -902,17 +892,14 @@ (defn page [{:keys [identity matched-route] :as request}] (base-page request - [:div - - - [:div {:hx-get (bidi/path-for ssr-routes/only-routes - :company-1099-vendor-table - :request-method :get) - :hx-trigger "load, clientSelected from:body" - :hx-swap "innerHTML"} - #_[:div.htmx-indicator - [:div.column.is-4.is-offset-4.has-text-centered - [:div.loader.is-loading.is-active.big.is-centered]]]]] + [:div {:hx-get (bidi/path-for ssr-routes/only-routes + :company-1099-vendor-table + :request-method :get) + :hx-trigger "load, clientSelected from:body" + :hx-swap "innerHTML"} + #_[:div.htmx-indicator + [:div.column.is-4.is-offset-4.has-text-centered + [:div.loader.is-loading.is-active.big.is-centered]]]] [:div (company-side-bar matched-route)])) diff --git a/src/clj/auto_ap/ssr/svg.clj b/src/clj/auto_ap/ssr/svg.clj new file mode 100644 index 00000000..c996ecff --- /dev/null +++ b/src/clj/auto_ap/ssr/svg.clj @@ -0,0 +1,96 @@ +(ns auto-ap.ssr.svg) + +(def pie + [:svg {:xmlns "http://www.w3.org/2000/svg", :viewbox "0 0 24 24"} + [:defs] + [:title "analytics-pie-2"] + [:path {:d "M13.5.75v9h9A9,9,0,0,0,13.5.75Z", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}] + [:path {:d "M10.5,14.25v-9a9,9,0,1,0,5.561,16.077Z", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}] + [:path {:d "M22.5,12.75h-9l5.561,7.077A8.986,8.986,0,0,0,22.5,12.75Z", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}]]) + + +(def accounting-invoice-mail + [:svg {:xmlns "http://www.w3.org/2000/svg", :viewbox "0 0 24 24"} + [:defs] + [:title "accounting-document"] + [:path {:d "M21.75,21.75a1.5,1.5,0,0,1-1.5,1.5H3.75a1.5,1.5,0,0,1-1.5-1.5V2.25A1.5,1.5,0,0,1,3.75.75H14.379a1.5,1.5,0,0,1,1.06.439l5.872,5.872a1.5,1.5,0,0,1,.439,1.06Z", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}] + [:path {:d "M21.75,8.25h-6a1.5,1.5,0,0,1-1.5-1.5v-6", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}] + [:path {:d "M6.2,11.594a2.224,2.224,0,0,0,1.858.875c1.139,0,2.063-.693,2.063-1.547S9.2,9.376,8.062,9.376,6,8.683,6,7.828s.924-1.547,2.062-1.547a2.221,2.221,0,0,1,1.858.875", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "12.469", :stroke-linecap "round", :stroke-width "1.5px", :x1 "8.062", :y2 "13.5", :x2 "8.062"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "5.25", :stroke-linecap "round", :stroke-width "1.5px", :x1 "8.062", :y2 "6.281", :x2 "8.062"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "15", :stroke-linecap "round", :stroke-width "1.5px", :x1 "12", :y2 "15", :x2 "18"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "19.5", :stroke-linecap "round", :stroke-width "1.5px", :x1 "6.75", :y2 "19.5", :x2 "18"}]]) + +(def receipt-register-1 + [:svg {:xmlns "http://www.w3.org/2000/svg", :viewbox "0 0 24 24"} + [:g + [:path {:d "M17.63,18h3a1.5,1.5,0,0,1,1.5,1.5v2.25a1.5,1.5,0,0,1-1.5,1.5H3.38a1.5,1.5,0,0,1-1.5-1.5V18H7.13", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "17.03", :stroke-linecap "round", :stroke-width "1.5px", :x1 "11.45", :y2 "14.35", :x2 "8.71"}] + [:circle {:cx "12.48", :cy "18.11", :r "1.5", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}] + [:path {:d "M1.88,4.5H8.63L9.81,3.31A1.5,1.5,0,0,0,8.75.75H3.38a1.5,1.5,0,0,0-1.5,1.5V18", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "6.1", :stroke-linecap "round", :stroke-width "1.5px", :x1 "13.22", :y2 "6.59", :x2 "14.2"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "8.54", :stroke-linecap "round", :stroke-width "1.5px", :x1 "17.13", :y2 "9.25", :x2 "17.97"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "12.09", :stroke-linecap "round", :stroke-width "1.5px", :x1 "19.9", :y2 "13.03", :x2 "20.46"}] + [:path {:d "M8.63,4.5V7.74A12.22,12.22,0,0,1,18.92,18", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}] + [:circle {:cx "7.13", :cy "12.75", :r "2.25", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}]]]) + +(def payments + [:svg {:xmlns "http://www.w3.org/2000/svg", :viewbox "0 0 24 24"} + [:defs] + [:title "cash-payment-sign-2"] + [:path {:d "M8.212,15.637l-3.712.53.53-3.712,9.546-9.546a2.25,2.25,0,1,1,3.182,3.182Z", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}] + [:path {:d "M5.25,8.25h-3a1.5,1.5,0,0,0-1.5,1.5v10.5a1.5,1.5,0,0,0,1.5,1.5h19.5a1.5,1.5,0,0,0,1.5-1.5V9.75a1.5,1.5,0,0,0-1.5-1.5h-1.5", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "18", :stroke-linecap "round", :stroke-width "1.5px", :x1 "20.25", :y2 "18", :x2 "12.75"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "14.25", :stroke-linecap "round", :stroke-width "1.5px", :x1 "20.25", :y2 "14.25", :x2 "15.75"}]]) + +(def bank + [:svg {:xmlns "http://www.w3.org/2000/svg", :viewbox "0 0 24 24"} + [:g + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "23.25", :stroke-linecap "round", :stroke-width "1.5px", :x1 "0.75", :y2 "23.25", :x2 "23.25"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "19.25", :stroke-linecap "round", :stroke-width "1.5px", :x1 "0.75", :y2 "19.25", :x2 "23.25"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "10.25", :stroke-linecap "round", :stroke-width "1.5px", :x1 "2", :y2 "16.25", :x2 "2"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "10.25", :stroke-linecap "round", :stroke-width "1.5px", :x1 "5.5", :y2 "16.25", :x2 "5.5"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "10.25", :stroke-linecap "round", :stroke-width "1.5px", :x1 "10.25", :y2 "16.25", :x2 "10.25"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "10.25", :stroke-linecap "round", :stroke-width "1.5px", :x1 "13.75", :y2 "16.25", :x2 "13.75"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "10.25", :stroke-linecap "round", :stroke-width "1.5px", :x1 "18.5", :y2 "16.25", :x2 "18.5"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "10.25", :stroke-linecap "round", :stroke-width "1.5px", :x1 "22", :y2 "16.25", :x2 "22"}] + [:path {:d "M23.25,7.25H.75L11.19,1a1.49,1.49,0,0,1,1.62,0Z", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}]]]) + +(def receipt + [:svg {:xmlns "http://www.w3.org/2000/svg", :viewbox "0 0 24 24"} + [:g + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "21.75", :stroke-linecap "round", :stroke-width "1.5px", :x1 "17.25", :y2 "21.75", :x2 "11.25"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "13.25", :stroke-linecap "round", :stroke-width "1.5px", :x1 "8.75", :y2 "13.25", :x2 "15.25"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "9.75", :stroke-linecap "round", :stroke-width "1.5px", :x1 "8.75", :y2 "9.75", :x2 "15.25"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "6.25", :stroke-linecap "round", :stroke-width "1.5px", :x1 "8.75", :y2 "6.25", :x2 "15.25"}] + [:path {:d "M20.25.75h-1.5v5.5h4.5V3.75A3,3,0,0,0,20.25.75Z", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}] + [:path {:d "M13.5,17.25H3.75a3,3,0,0,0-3,3v3h10.5V19.5a2.25,2.25,0,0,1,4.5,0v.75a1.5,1.5,0,0,0,1.5,1.5h0a1.5,1.5,0,0,0,1.5-1.5V.75H8.25a3,3,0,0,0-3,3v13.5", :fill "none", :stroke "currentColor", :stroke-linecap "round", :stroke-linejoin "round", :stroke-width "1.5px"}]]]) + +(defn spinner [{:keys [class]}] + [:svg {:aria-hidden "true", :role "status", :class (str "animate-spin " class) :viewbox "0 0 100 101", :fill "none", :xmlns "http://www.w3.org/2000/svg"} + [:path {:d "M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z", :fill "#E5E7EB"}] + [:path {:d "M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z", :fill "currentColor"}]]) + +(def search + [:svg {:xmlns "http://www.w3.org/2000/svg", :viewbox "0 0 24 24"} + [:defs] + [:title "search"] + [:circle {:r "9.063", :stroke "currentColor", :transform "translate(-3.056 4.62) rotate(-23.025)", :fill "none", :stroke-linejoin "round", :stroke-linecap "round", :stroke-width "1.5px", :cx "9.813", :cy "9.812"}] + [:line {:stroke "currentColor", :fill "none", :stroke-linejoin "round", :y1 "16.22", :stroke-linecap "round", :stroke-width "1.5px", :x1 "16.221", :y2 "23.25", :x2 "23.25"}]]) + +(def moon + [:svg {:id "theme-toggle-dark-icon", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} + [:path {:d "M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"}]]) + +(def sun + [:svg {:id "theme-toggle-light-icon", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} + [:path {:d "M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z", :fill-rule "evenodd", :clip-rule "evenodd"}]]) + + +(def home + [:svg { :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} + [:path {:d "M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z"}]]) + +(def breadcrumb-component + [:svg { :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"} + [:path {:fill-rule "evenodd", :d "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z", :clip-rule "evenodd"}]]) diff --git a/src/clj/auto_ap/ssr/ui.clj b/src/clj/auto_ap/ssr/ui.clj index d0b030e6..e32a7013 100644 --- a/src/clj/auto_ap/ssr/ui.clj +++ b/src/clj/auto_ap/ssr/ui.clj @@ -45,7 +45,7 @@ [:script {:type "text/javascript", :src "https://cdn.yodlee.com/fastlink/v4/initialize.js", :async "async" }]] [:script {:type "text/javascript", :src "https://cdn.jsdelivr.net/npm/@tarekraafat/autocomplete.js@10.2.7/dist/autoComplete.min.js"}] [:script {:src "https://unpkg.com/dropzone@5/dist/min/dropzone.min.js"}] - [:script {:src "/js/flowbite.min.js"}] + [:link {:rel "stylesheet" :href "https://unpkg.com/dropzone@5/dist/min/dropzone.min.css" :type "text/css"}] [:body {"_" (hiccup/raw "on closeDialog transition <#modal-holder .modal-content /> opacity to 0.0 over 300ms then add .hidden to <#modal-holder /> on openDialog remove .hidden from #modal-holder")} [:div {:id "app"} @@ -86,4 +86,7 @@ [:div { :tabindex "-1", :class "fixed top-0 left-0 right-0 z-50 w-full p-4 overflow-x-hidden overflow-y-auto md:inset-0 h-[calc(100%-1rem)] max-h-full flex justify-center "} [:div {:class "relative w-full max-w-2xl max-h-full"} [:div#modal-content ]]] - [:div {:class "bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-40"}]]]])) + [:div {:class "bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-40"}]] + [:script {:src "/js/flowbite.min.js"}] + + ]])) diff --git a/tailwind.config.js b/tailwind.config.js index 44824dc5..d27d5952 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,9 +1,14 @@ /** @type {import('tailwindcss').Config} */ module.exports = { + darkMode: "class", content: ["./src/**/*.{cljs,clj}", "./node_modules/flowbite/**/*.js"], theme: { extend: { + "fontFamily": { + "sans": ["Calibri", "ui-sans-serif", "system-ui", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "Noto Sans", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"] + + }, "colors": { "green": { "50": "#f2f8ea",