diff --git a/configs/bank-landing/index.html b/configs/bank-landing/index.html
index 758faf9..4d31411 100644
--- a/configs/bank-landing/index.html
+++ b/configs/bank-landing/index.html
@@ -82,7 +82,6 @@
border: 1px solid rgba(232, 168, 56, 0.4);
letter-spacing: 0.04em;
}
- .community-note,
.how-note {
margin: 0 0 1.15rem;
padding: 0.8rem 0.95rem;
@@ -91,12 +90,18 @@
line-height: 1.45;
text-align: left;
}
- .community-note {
- background: rgba(94, 234, 212, 0.1);
- border: 1px solid rgba(94, 234, 212, 0.4);
- color: #ccfbf1;
+ .balance-note {
+ margin: 0.75rem 0 0;
+ padding: 0.55rem 0.7rem;
+ border-radius: 10px;
+ background: rgba(232, 168, 56, 0.08);
+ border: 1px solid rgba(232, 168, 56, 0.32);
+ color: #f5e6c8;
+ font-size: 0.82rem;
+ line-height: 1.4;
+ text-align: left;
}
- .community-note strong { color: #5eead4; font-weight: 750; }
+ .balance-note strong { color: #f0c86a; font-weight: 750; }
.how-note {
background: rgba(232, 168, 56, 0.08);
border: 1px solid rgba(232, 168, 56, 0.35);
@@ -307,21 +312,56 @@
.step-tagline .app-ico.ios { color: #5eead4; }
.step-tagline .app-ico.android { color: #f0c86a; }
+ /* Optional block: collapsed by default, expand like settlement / wallet fold */
.more-section {
- margin-top: 2.75rem;
- padding-top: 1.75rem;
- border-top: 1px dashed rgba(201, 184, 160, 0.35);
+ margin-top: 1.5rem;
+ margin-bottom: 1.35rem;
+ border: 1px solid rgba(201, 184, 160, 0.4);
+ border-radius: 14px;
+ overflow: hidden;
+ background: rgba(18, 28, 28, 0.55);
}
.more-section > .more-label {
- display: block;
- text-align: center;
- font-size: 0.72rem;
- font-weight: 700;
- letter-spacing: 0.14em;
- text-transform: uppercase;
- color: var(--muted);
- margin-bottom: 1rem;
+ display: none; /* replaced by toggle */
}
+ .more-fold-toggle {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: 0.5rem;
+ width: 100%;
+ margin: 0;
+ padding: 0.8rem 0.95rem;
+ border: 0;
+ background: transparent;
+ color: #e8c878;
+ font: inherit;
+ font-size: 0.88rem;
+ font-weight: 750;
+ letter-spacing: 0.04em;
+ text-align: left;
+ cursor: pointer;
+ line-height: 1.3;
+ }
+ .more-fold-toggle:hover {
+ background: rgba(232, 168, 56, 0.1);
+ color: #f0d090;
+ }
+ .more-fold-toggle-text { flex: 1; }
+ .more-fold-chevron {
+ flex-shrink: 0;
+ transition: transform 0.15s ease;
+ color: #3ecfbf;
+ font-size: 0.95rem;
+ }
+ .more-section.open .more-fold-chevron { transform: rotate(90deg); }
+ .more-fold-body {
+ display: none;
+ padding: 0 0.95rem 1.1rem;
+ border-top: 1px solid rgba(201, 184, 160, 0.3);
+ }
+ .more-section.open .more-fold-body { display: block; }
+ .more-fold-body > .more-card { margin-top: 0.85rem; }
.more-card {
background: rgba(18, 28, 28, 0.65);
border: 1px dashed rgba(62, 207, 191, 0.35);
@@ -561,21 +601,166 @@
- Exploration · GOA
+ Exploration · GOA · shared account
GOA Exploration Bank
- Install the wallet, then one QR withdraws GOA from a
- community-shared bank account — no personal bank registration.
+ This bank now funds wallets from a single shared bank account
+ for everyone. Install the wallet, scan one QR — no personal
+ bank registration for the demo.
-
+
+
-
+
+
+ 2 Withdraw from shared account
+ One QR · shared community bank account · no registration
+
+
+
+
Shared account · scan or open in wallet
+
+
+ Open shared withdraw →
+
+
Preparing shared-account withdraw…
+
+
+ Get a fresh QR
+
+
+ Surprising balance?
+ Shared pool currently holds
+ …
+ — that is the communal demo account, not yours. You only receive the
+ small withdraw amount into your wallet.
+
+
+
+
+
+ How the shared account works
+
+ Now live: one shared bank account (community pool) already holds GOA for everyone.
+ Each “Open shared withdraw” / QR is a one-shot withdraw from that shared account — you do not log into the bank for this step.
+ Your GNU Taler app receives coins after the bank confirms (automatic on this demo).
+ Optional below: register your own bank UI account only if you want a private balance separate from the pool.
+
+
+
+
+
+
+ Optional · bank UI & GOA shop
+ ›
+
+
+
+
Own bank account?
+
Register in the bank UI for your own balance (separate from the shared pool).
+
+
+
+
Bank UI · register / login
+
+
+
+
+
+
+ GOA shop · samples
+ Tap → pay link · more at merchant
+
+
+ 🪐
+ Orbit sticker pack
+ GOA:2
+
+
+ ☕
+ Nebula coffee
+ GOA:5
+
+
+
+
+
+
+
+
GOA flow
@@ -660,143 +845,6 @@
-
-
-
-
-
- 2 Withdraw GOA
- One QR · community-shared account · no registration
-
-
-
-
Scan or open in wallet
-
-
- Open in wallet →
-
-
Preparing community withdraw…
-
-
- Get a fresh QR
-
-
-
-
-
- How this works
-
- A community-shared bank account (demo pool) already holds GOA.
- Each “Open in wallet” / QR creates a one-shot withdraw from that pool — you do not open your own bank account.
- Your GNU Taler app receives coins after the bank confirms (automatic on this demo).
- Optional below: register your own bank UI account if you want a private balance.
-
-
-
-
-
-
Optional · bank UI & GOA shop
-
-
Own bank account?
-
Register in the bank UI for your own balance.
-
-
-
-
Bank UI · register / login
-
-
-
-
-
-
- GOA shop · samples
- Tap → pay link · more at merchant
-
-
- 🪐
- Orbit sticker pack
- GOA:2
-
-
- ☕
- Nebula coffee
- GOA:5
-
-
-
-
-
-
hacktivism.ch ·
Bank ·
@@ -878,7 +926,7 @@
if (amtEl) {
if (amount) {
amtEl.hidden = false;
- amtEl.textContent = "Amount: " + amount + " · from community pool";
+ amtEl.textContent = "Amount: " + amount + " · from shared account";
} else {
amtEl.hidden = true;
}
@@ -934,7 +982,31 @@
loadDemoWithdraw();
var refreshBtn = document.getElementById("withdraw-demo-refresh");
if (refreshBtn) refreshBtn.onclick = function () { loadDemoWithdraw(); };
- makeQr(document.getElementById("qr-webui"), WEBUI);
+
+ /* Optional bank UI + shop: collapsed until click (like settlement QR fold) */
+ (function () {
+ var fold = document.getElementById("more-fold");
+ var btn = document.getElementById("more-fold-toggle");
+ var body = document.getElementById("more-fold-body");
+ if (!fold || !btn || !body) return;
+ var webuiPainted = false;
+ function paintWebuiQr() {
+ if (webuiPainted) return;
+ makeQr(document.getElementById("qr-webui"), WEBUI);
+ webuiPainted = true;
+ }
+ btn.addEventListener("click", function () {
+ var open = !fold.classList.contains("open");
+ fold.classList.toggle("open", open);
+ btn.setAttribute("aria-expanded", open ? "true" : "false");
+ if (open) {
+ body.removeAttribute("hidden");
+ paintWebuiQr();
+ } else {
+ body.setAttribute("hidden", "");
+ }
+ });
+ })();
function fmtCest(unix, fallback) {
var base = "";
@@ -988,6 +1060,7 @@
set("st-withdraw", fwd.amount || w.total_amount || "—");
set("st-24h", h24.amount || "GOA:0");
set("st-7d", h7.amount || "GOA:0");
+ set("shared-balance", d.balance_explorer || "—");
var list = document.getElementById("st-recent");
if (list) {