From 6e99c2c7333c13fe5bb6bbbc53ff1933ed63c834 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 21 Nov 2025 20:13:31 +0000 Subject: [PATCH 1/7] Add comprehensive mobile responsiveness to website - Created mobile.css with responsive styles for all screen sizes - Updated table headers to use responsive font sizes (removed 2rem inline styles) - Fixed text-align from non-standard -webkit-left to standard left/right values - Made chart configuration mobile-aware with smaller fonts and fewer ticks on mobile - Optimized chart annotations and labels for mobile screens - Added responsive breakpoints for tablets (768px) and phones (480px) - Improved touch targets for mobile devices - Added landscape orientation optimizations - Enhanced dark mode toggle positioning for small screens The website now properly fits mobile screens and provides an optimal viewing experience across all device sizes. --- public/static/mobile.css | 193 +++++++++++++++++++++++++++++++++++++++ views/sats.hbs | 29 +++--- 2 files changed, 211 insertions(+), 11 deletions(-) create mode 100644 public/static/mobile.css diff --git a/public/static/mobile.css b/public/static/mobile.css new file mode 100644 index 0000000..d7fb865 --- /dev/null +++ b/public/static/mobile.css @@ -0,0 +1,193 @@ +/* Mobile-Responsive Styles for SatsEUR */ + +/* Base responsive improvements */ +* { + box-sizing: border-box; +} + +body { + padding: 0 10px; +} + +/* Container adjustments for mobile */ +.container { + padding-left: 15px; + padding-right: 15px; + max-width: 100%; +} + +/* Responsive typography */ +h3 { + font-size: clamp(1.2rem, 5vw, 2rem); + line-height: 1.3; + word-wrap: break-word; + padding: 0 10px; +} + +#current { + display: inline-block; + word-break: break-word; +} + +/* Table responsive design */ +table.u-full-width { + width: 100%; + margin-top: 20px; + font-size: 1rem; +} + +table.u-full-width thead th { + font-size: 1.2rem; + padding: 10px 5px; + white-space: nowrap; +} + +table.u-full-width tbody td { + padding: 12px 5px; + font-size: 1rem; +} + +/* Mobile-specific styles */ +@media screen and (max-width: 768px) { + body { + margin-top: 40px; + padding: 0 5px; + } + + .container { + margin-top: 10px !important; + padding-left: 10px; + padding-right: 10px; + } + + /* Responsive heading */ + h3 { + font-size: clamp(1rem, 4.5vw, 1.5rem); + margin-bottom: 15px; + padding: 0 5px; + } + + /* Table optimization for mobile */ + table.u-full-width { + font-size: 0.9rem; + } + + table.u-full-width thead th { + font-size: 1rem; + padding: 8px 3px; + } + + table.u-full-width tbody td { + padding: 10px 3px; + font-size: 0.9rem; + } + + /* Chart container */ + #historical { + margin: 15px 0; + padding: 0; + } + + /* Dark mode toggle - better positioning for mobile */ + .floating-button { + bottom: 15px; + left: 15px; + z-index: 1000; + } + + .dark-toggle-icon { + width: 18px; + height: 18px; + padding: 8px; + } +} + +/* Small mobile devices */ +@media screen and (max-width: 480px) { + body { + margin-top: 20px; + } + + .container { + margin-top: 5px !important; + padding-left: 5px; + padding-right: 5px; + } + + h3 { + font-size: clamp(0.9rem, 4vw, 1.3rem); + margin-bottom: 10px; + } + + /* Make table more compact on very small screens */ + table.u-full-width { + font-size: 0.85rem; + } + + table.u-full-width thead th { + font-size: 0.95rem; + padding: 6px 2px; + } + + table.u-full-width tbody td { + padding: 8px 2px; + font-size: 0.85rem; + } + + /* Smaller dark toggle for small screens */ + .floating-button { + bottom: 10px; + left: 10px; + } + + .dark-toggle-icon { + width: 16px; + height: 16px; + padding: 7px; + } +} + +/* Landscape orientation on mobile */ +@media screen and (max-width: 896px) and (orientation: landscape) { + body { + margin-top: 20px; + } + + .container { + margin-top: 5px !important; + } + + h3 { + font-size: 1.2rem; + margin-bottom: 10px; + } + + #historical { + margin: 10px 0; + } +} + +/* Ensure chart is responsive */ +#historical canvas { + max-width: 100%; + height: auto !important; +} + +/* Fix text alignment for better cross-browser support */ +th[style*="-webkit-left"], +td[style*="-webkit-left"] { + text-align: left !important; +} + +th[style*="text-align:end"], +td[style*="text-align:end"] { + text-align: right !important; +} + +/* Improve touch targets for mobile */ +@media (hover: none) and (pointer: coarse) { + a, button, .floating-button { + min-height: 44px; + min-width: 44px; + } +} diff --git a/views/sats.hbs b/views/sats.hbs index 8df907e..23c5dcf 100644 --- a/views/sats.hbs +++ b/views/sats.hbs @@ -7,6 +7,7 @@ + @@ -108,17 +109,17 @@ - - - + + + {{#each yeardata}} - - - + + + {{/each}} @@ -226,7 +227,7 @@ display: true, text: '{{ subtitle }}', font: { - size: 16 + size: window.innerWidth < 768 ? 12 : 16 } }, legend: { @@ -257,10 +258,10 @@ backgroundColor: 'rgba(255, 99, 132, 0.8)', color: 'white', font: { - size: 10, + size: window.innerWidth < 768 ? 8 : 10, weight: 'bold' }, - padding: 4 + padding: window.innerWidth < 768 ? 2 : 4 }, click: function() { marker.click(); @@ -280,7 +281,10 @@ } }, ticks: { - maxTicksLimit: 16 + maxTicksLimit: window.innerWidth < 768 ? 8 : 16, + font: { + size: window.innerWidth < 768 ? 10 : 12 + } }, grid: { display: true @@ -294,7 +298,10 @@ callback: function(value) { return value.toLocaleString() + ' sats'; }, - maxTicksLimit: 12 + maxTicksLimit: window.innerWidth < 768 ? 8 : 12, + font: { + size: window.innerWidth < 768 ? 10 : 12 + } }, grid: { display: true From 72cc582b282cb0608e4151290e8e3178b16aacc5 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 21 Nov 2025 20:36:41 +0000 Subject: [PATCH 2/7] Add chronologically organized ECB Bitcoin predictions Added a new section under the historical price table featuring quotes from ECB officials about Bitcoin, organized chronologically from November 2018 to January 2025. Each quote includes: - Date and attribution to the ECB official - Full quote text - Links to original sources The quotes demonstrate the ECB's evolving skepticism of Bitcoin over the years. --- views/sats.hbs | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/views/sats.hbs b/views/sats.hbs index 23c5dcf..db6667e 100644 --- a/views/sats.hbs +++ b/views/sats.hbs @@ -125,6 +125,70 @@
{{ date }} {{ price }}   {{ percentchange }} {{ date }} {{ price }}   {{ percentchange }}
{{ this.year }}{{ this.sats }} sats {{ this.percent }} % {{ this.year }}{{ this.sats }} sats {{ this.percent }} %
+
+

The Most Spectacularly Wrong Bitcoin Predictions by Named ECB Officials

+ +
+
November 15, 2018 - Benoît Cœuré, ECB Executive Board Member
+

"In more ways than one, Bitcoin is the evil spawn of the financial crisis. Lightning may strike me for saying this in the Tower of Basel – but Bitcoin was an extremely clever idea. Sadly, not every clever idea is a good idea. I believe that Agustín Carstens summed its manifold problems up well when he said that Bitcoin is 'a combination of a bubble, a Ponzi scheme and an environmental disaster.'"

+

Sources: CCN, Bitcoinist

+
+ +
+
May 9, 2019 - Mario Draghi, ECB President
+

"Cryptocurrencies or bitcoins, or anything like that, are not really currencies — they are assets. A euro is a euro — today, tomorrow, in a month — it's always a euro. And the ECB is behind the euro. Who is behind the cryptocurrencies? So they are very, very risky assets."

+

Sources: Cointelegraph, Yahoo Finance

+
+ +
+
May 29, 2019 - Yves Mersch, ECB Executive Board Member
+

"Bitcoin and other crypto-assets claim to need neither trust nor the backing of a sovereign. These self-proclaimed currencies, more accurately described as crypto-assets, have proved to be unfit for purpose, demonstrating that well-executed central bank policies are still the only sound basis for stability."

+

Source: BIS

+
+ +
+
January 13, 2021 - Christine Lagarde, ECB President
+

"For those who had assumed that it might turn into a currency -- terribly sorry, but this is an asset and it's a highly speculative asset which has conducted some funny business and some interesting and totally reprehensible money-laundering activity."

+

Sources: Bloomberg, The Globe and Mail, CoinDesk

+
+ +
+
April 9, 2021 - Isabel Schnabel, ECB Executive Board Member
+

"In our view it is wrong to describe bitcoin as a currency, because it does not fulfil the basic properties of money. It is a speculative asset without any recognisable fundamental value and is subject to massive price swings."

+

Source: ECB

+
+ +
+
May 19, 2021 - Luis de Guindos, ECB Vice President
+

"When you have difficulties to find out what are the real fundamentals of an investment, then what you're doing is not a real investment. This is an asset with very weak fundamentals, and that is going to be subject to a lot of volatility."

+

Sources: CoinDesk, Cointelegraph

+
+ +
+
April 25, 2022 - Fabio Panetta, ECB Executive Board Member
+

"Crypto-assets are speculative assets that can cause major damage to society. They derive their value mainly from greed, they rely on the greed of others and the hope that the scheme continues unhindered. In fact, they are a gamble disguised as an investment asset."

+

Sources: BIS, Payments Cards & Mobile, Ledger Insights

+
+ +
+
May 22, 2022 - Christine Lagarde, ECB President
+

"My very humble assessment is that it is worth nothing. It is based on nothing, there is no underlying assets to act as an anchor of safety."

+

Sources: CNBC, Forkast, TechSpot

+
+ +
+
December 7, 2022 - Fabio Panetta, ECB Executive Board Member
+

"Crypto assets should be banned if they are too energy intensive. Investors have been caught in the textbook definition of a bubble, lured by the promise of ever-rising prices. Many cryptocurrencies are just a new way of gambling."

+

Sources: CoinDesk, Yahoo Finance UK

+
+ +
+
January 30, 2025 - Christine Lagarde, ECB President
+

"I am confident that bitcoin will not enter the reserves of any of the central banks of the General Council... reserves have to be liquid, that reserves have to be secure, that they have to be safe, that they should not be plagued by the suspicion of money laundering."

+

Sources: Bloomberg, Cointelegraph

+
+ +
- - + + + - +