Use Danish number formatting for all prices and rates

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-27 15:03:17 +01:00
co-authored by Claude Opus 4.6
parent 1a22cc3b02
commit faad73c4ef
+10 -5
View File
@@ -16,6 +16,7 @@
[io.undertow.websockets.core AbstractReceiveListener WebSockets WebSocketChannel]
[java.time Instant ZoneId]
[java.time.format DateTimeFormatter]
[java.util Locale]
[java.util.concurrent LinkedBlockingQueue TimeUnit]))
(defn- price->json [{:keys [price prev-price recorded-at]} rates]
@@ -27,6 +28,10 @@
:price_dkk (str (.multiply (bigdec price) (:dkk rates)))))))
(def ^:private ts-fmt (DateTimeFormatter/ofPattern "dd-MM HH:mm:ss"))
(def ^:private da-locale (Locale. "da" "DK"))
(defn- da-fmt [fmt val]
(String/format da-locale fmt (into-array Object [val])))
(defn- price->html [{:keys [price prev-price recorded-at]} rates]
(let [p (double (bigdec price))
@@ -40,19 +45,19 @@
(str "<div id=\"price-display\">"
"<div class=\"bg-white rounded-2xl shadow-sm border border-gray-200 p-6\">"
"<div class=\"text-center\">"
"<p class=\"text-4xl font-bold " color "\">$" (format "%,.2f" p) "</p>"
"<p class=\"text-4xl font-bold " color "\">$" (da-fmt "%,.2f" p) "</p>"
(when rates
(let [eur (double (:eur rates))
dkk (double (:dkk rates))
p-eur (double (.multiply (bigdec price) (:eur rates)))
p-dkk (double (.multiply (bigdec price) (:dkk rates)))]
(str "<div class=\"flex justify-center gap-4 mt-3\">"
"<span class=\"text-2xl font-bold text-gray-600\">\u20AC" (format "%,.2f" p-eur) "</span>"
"<span class=\"text-2xl font-bold text-gray-600\">" (format "%,.2f" p-dkk) " kr</span>"
"<span class=\"text-2xl font-bold text-gray-600\">\u20AC" (da-fmt "%,.0f" p-eur) "</span>"
"<span class=\"text-2xl font-bold text-gray-600\">" (da-fmt "%,.0f" p-dkk) " kr</span>"
"</div>"
"<div class=\"flex justify-center gap-4 mt-1\">"
"<span class=\"text-xs text-gray-400\">EUR/USD " (format "%.4f" eur) "</span>"
"<span class=\"text-xs text-gray-400\">DKK/USD " (format "%.4f" dkk) "</span>"
"<span class=\"text-xs text-gray-400\">EUR/USD " (da-fmt "%.4f" eur) "</span>"
"<span class=\"text-xs text-gray-400\">DKK/USD " (da-fmt "%.4f" dkk) "</span>"
"</div>")))
"<p class=\"text-xs text-gray-400 mt-2\">Updated " ts "</p>"
"</div></div></div>")))