From 161737d4c7526e4102b22b4119ed696af2152b3f Mon Sep 17 00:00:00 2001 From: Per Magnus Petersen Date: Fri, 6 Mar 2026 10:39:26 +0100 Subject: [PATCH] Style Strike ticker: single column, currency symbols, Danish formatting, sats display MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Show 54€ equivalent in sats with dark blue styling, light gray background, and Danish number formatting for BTC/USDT and BTC/EUR values. Co-Authored-By: Claude Opus 4.6 --- .../pmagnus/btcprice/web/routes/ws_proxy.clj | 37 +++++++++++++++---- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/src/clj/pmagnus/btcprice/web/routes/ws_proxy.clj b/src/clj/pmagnus/btcprice/web/routes/ws_proxy.clj index 8862804..3fc3232 100644 --- a/src/clj/pmagnus/btcprice/web/routes/ws_proxy.clj +++ b/src/clj/pmagnus/btcprice/web/routes/ws_proxy.clj @@ -102,21 +102,42 @@ ;; --- Strike rendering --- -(def ^:private strike-pairs ["BTC/USDT" "BTC/EUR" "USDT/EUR" "EUR/BTC"]) +(def ^:private strike-pairs + [["BTC/USDT" "$"] + ["BTC/EUR" "\u20AC"] + ["USDT/EUR" ""] + ["EUR/BTC" ""]]) + +(defn- format-strike-amount [prefix amount] + (if amount + (let [v (double (bigdec amount))] + (case prefix + "$" (str prefix (da-fmt "%,.2f" v)) + "\u20AC" (str prefix (da-fmt "%,.2f" v)) + amount)) + "\u2014")) + +(defn- eur-to-sats [rates] + (when-let [eur-btc (get rates "EUR/BTC")] + (long (* 54 (double (bigdec eur-btc)) 100000000)))) (defn- strike-json->html [text] - (let [rates (json/read-str text)] + (let [rates (json/read-str text) + sats (eur-to-sats rates)] (str "
" - "
" - "

Strike Ticker

" - "
" + "
" + (if sats + (str "

" + (da-fmt "%,d" sats) " sats

") + "") + "
" (apply str - (for [pair strike-pairs + (for [[pair prefix] strike-pairs :let [amount (get rates pair)]] - (str "
" + (str "
" "" pair "" "" - (or amount "\u2014") + (format-strike-amount prefix amount) "
"))) "
")))