merchant landing: footer link deployment → admin-log configs
This commit is contained in:
parent
cb9b70a298
commit
850f00eff9
1 changed files with 123 additions and 21 deletions
|
|
@ -255,8 +255,65 @@
|
|||
border-radius: 12px;
|
||||
padding: 0.65rem 0.55rem 0.7rem;
|
||||
text-align: center; min-width: 0;
|
||||
cursor: pointer;
|
||||
transition: border-color 0.15s, transform 0.12s, background 0.15s;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
display: block;
|
||||
}
|
||||
.shop-item:hover, .shop-item:focus-visible {
|
||||
border-color: rgba(196, 181, 253, 0.75);
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
transform: translateY(-1px);
|
||||
outline: none;
|
||||
}
|
||||
.shop-modal {
|
||||
position: fixed; inset: 0; z-index: 50;
|
||||
display: none; align-items: center; justify-content: center;
|
||||
padding: 1rem; background: rgba(8, 6, 14, 0.72);
|
||||
backdrop-filter: blur(6px);
|
||||
}
|
||||
.shop-modal.open { display: flex; }
|
||||
.shop-modal-card {
|
||||
background: rgba(36, 28, 48, 0.96);
|
||||
border: 1px solid rgba(167, 139, 250, 0.45);
|
||||
border-radius: 16px;
|
||||
padding: 1.25rem 1.2rem 1.35rem;
|
||||
max-width: 20rem; width: 100%;
|
||||
text-align: center;
|
||||
box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
|
||||
}
|
||||
.shop-modal-card h3 {
|
||||
margin: 0 0 0.25rem; font-size: 1.05rem; color: #faf5ff;
|
||||
}
|
||||
.shop-modal-card .amount {
|
||||
margin: 0 0 0.85rem; font-weight: 750; color: #c4b5fd; font-variant-numeric: tabular-nums;
|
||||
}
|
||||
.shop-modal-card .qr-wrap {
|
||||
background: #fff; border-radius: 12px; padding: 0.75rem;
|
||||
display: inline-block; margin: 0 auto 0.85rem;
|
||||
}
|
||||
.shop-modal-card .qr-wrap canvas,
|
||||
.shop-modal-card .qr-wrap img,
|
||||
.shop-modal-card .qr-wrap table {
|
||||
display: block; margin: 0 auto;
|
||||
}
|
||||
.shop-modal-card .status {
|
||||
min-height: 1.2em; font-size: 0.82rem; color: var(--muted); margin: 0 0 0.75rem;
|
||||
}
|
||||
.shop-modal-card .status.err { color: #fca5a5; }
|
||||
.shop-modal-card .actions {
|
||||
display: flex; flex-direction: column; gap: 0.45rem;
|
||||
}
|
||||
.shop-modal-card .meta {
|
||||
font-size: 0.68rem; word-break: break-all; color: var(--muted); margin: 0.55rem 0 0;
|
||||
}
|
||||
.shop-item .emoji { display: block; font-size: 1.4rem; line-height: 1.2; margin-bottom: 0.25rem; }
|
||||
.shop-item .emoji.pill-duo {
|
||||
display: flex; justify-content: center; align-items: center;
|
||||
min-height: 1.5rem; margin-bottom: 0.35rem;
|
||||
}
|
||||
.shop-item .pill-svg { display: block; }
|
||||
.shop-item .name {
|
||||
display: block; font-size: 0.8rem; font-weight: 700; color: #faf5ff; line-height: 1.25;
|
||||
}
|
||||
|
|
@ -264,6 +321,10 @@
|
|||
display: block; margin-top: 0.25rem; font-size: 0.82rem; font-weight: 750;
|
||||
color: #c4b5fd; font-variant-numeric: tabular-nums;
|
||||
}
|
||||
.shop-item .hint {
|
||||
display: block; margin-top: 0.2rem; font-size: 0.65rem; font-weight: 600;
|
||||
color: var(--muted); line-height: 1.25; letter-spacing: 0.01em;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
|
@ -281,56 +342,96 @@
|
|||
|
||||
<aside class="shop-box" aria-labelledby="shop-title">
|
||||
<h2 id="shop-title">GOA shop · samples</h2>
|
||||
<p class="shop-lead">Typical exploration goods — pay with GOA in the wallet</p>
|
||||
<div class="shop-grid">
|
||||
<div class="shop-item">
|
||||
<p class="shop-lead">Tap an item → pay QR for the wallet</p>
|
||||
<div class="shop-grid" id="shop-grid">
|
||||
<button type="button" class="shop-item" data-product="orbit-sticker">
|
||||
<span class="emoji" aria-hidden="true">🪐</span>
|
||||
<span class="name">Orbit sticker pack</span>
|
||||
<span class="price">GOA:2</span>
|
||||
</div>
|
||||
<div class="shop-item">
|
||||
</button>
|
||||
<button type="button" class="shop-item" data-product="nebula-coffee">
|
||||
<span class="emoji" aria-hidden="true">☕</span>
|
||||
<span class="name">Nebula coffee</span>
|
||||
<span class="price">GOA:5</span>
|
||||
</div>
|
||||
<div class="shop-item">
|
||||
</button>
|
||||
<button type="button" class="shop-item" data-product="voidwave-playlist">
|
||||
<span class="emoji" aria-hidden="true">🎧</span>
|
||||
<span class="name">Voidwave playlist</span>
|
||||
<span class="price">GOA:8</span>
|
||||
</div>
|
||||
<div class="shop-item">
|
||||
</button>
|
||||
<button type="button" class="shop-item" data-product="comet-cap">
|
||||
<span class="emoji" aria-hidden="true">🧢</span>
|
||||
<span class="name">Comet cap</span>
|
||||
<span class="price">GOA:15</span>
|
||||
</div>
|
||||
<div class="shop-item">
|
||||
</button>
|
||||
<button type="button" class="shop-item" data-product="shuttle-pass">
|
||||
<span class="emoji" aria-hidden="true">🛸</span>
|
||||
<span class="name">Shuttle day pass</span>
|
||||
<span class="price">GOA:25</span>
|
||||
</div>
|
||||
<div class="shop-item">
|
||||
</button>
|
||||
<button type="button" class="shop-item" data-product="beacon-badge">
|
||||
<span class="emoji" aria-hidden="true">📡</span>
|
||||
<span class="name">Beacon badge</span>
|
||||
<span class="price">GOA:3</span>
|
||||
</div>
|
||||
<div class="shop-item">
|
||||
</button>
|
||||
<button type="button" class="shop-item" data-product="relay-pin">
|
||||
<span class="emoji" aria-hidden="true">🛰️</span>
|
||||
<span class="name">Relay pin</span>
|
||||
<span class="price">GOA:4</span>
|
||||
</div>
|
||||
<div class="shop-item">
|
||||
</button>
|
||||
<button type="button" class="shop-item" data-product="eclipse-shades">
|
||||
<span class="emoji" aria-hidden="true">🕶️</span>
|
||||
<span class="name">Eclipse shades</span>
|
||||
<span class="price">GOA:12</span>
|
||||
</div>
|
||||
<div class="shop-item">
|
||||
</button>
|
||||
<button type="button" class="shop-item" data-product="star-chart">
|
||||
<span class="emoji" aria-hidden="true">📜</span>
|
||||
<span class="name">Star chart print</span>
|
||||
<span class="price">GOA:7</span>
|
||||
</div>
|
||||
</button>
|
||||
<button type="button" class="shop-item" data-product="rainbow-pill">
|
||||
<span class="emoji" aria-hidden="true">🌈</span>
|
||||
<span class="name">Rainbow pill</span>
|
||||
<span class="price">GOA:4.2</span>
|
||||
<span class="hint">sample only · joke · not a drug / legal product</span>
|
||||
</button>
|
||||
<button type="button" class="shop-item" data-product="blue-or-red-pill">
|
||||
<span class="emoji pill-duo" aria-hidden="true" title="blue or red">
|
||||
<svg class="pill-svg" viewBox="0 0 40 20" width="40" height="20">
|
||||
<defs>
|
||||
<clipPath id="pill-shape">
|
||||
<rect x="1" y="3" width="38" height="14" rx="7" ry="7"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g clip-path="url(#pill-shape)">
|
||||
<rect x="1" y="3" width="19" height="14" fill="#3b82f6"/>
|
||||
<rect x="20" y="3" width="19" height="14" fill="#ef4444"/>
|
||||
<line x1="20" y1="3" x2="20" y2="17" stroke="rgba(255,255,255,0.35)" stroke-width="1"/>
|
||||
</g>
|
||||
<rect x="1" y="3" width="38" height="14" rx="7" ry="7" fill="none" stroke="rgba(233,213,255,0.45)" stroke-width="1"/>
|
||||
</svg>
|
||||
</span>
|
||||
<span class="name">Blue or red pill</span>
|
||||
<span class="price">GOA:1.5</span>
|
||||
<span class="hint">sample only · joke · not a drug / legal product</span>
|
||||
</button>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<div class="shop-modal" id="shop-modal" role="dialog" aria-modal="true" aria-labelledby="shop-modal-title" hidden>
|
||||
<div class="shop-modal-card">
|
||||
<h3 id="shop-modal-title">…</h3>
|
||||
<p class="amount" id="shop-modal-amount">…</p>
|
||||
<div class="qr-wrap" id="shop-modal-qr"></div>
|
||||
<p class="status" id="shop-modal-status">Preparing pay QR…</p>
|
||||
<div class="actions">
|
||||
<a class="cta teal" id="shop-modal-open" href="#">Open in wallet →</a>
|
||||
<button type="button" class="cta-sec" id="shop-modal-close">Close</button>
|
||||
</div>
|
||||
<p class="meta" id="shop-modal-uri" hidden></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section class="stats" id="stats" aria-labelledby="stats-title">
|
||||
<h2 id="stats-title">Merchant stats</h2>
|
||||
<p class="note">From merchant DB · dual currency side by side</p>
|
||||
|
|
@ -464,7 +565,8 @@
|
|||
<a href="https://exchange.hacktivism.ch/intro/">Exchange</a> ·
|
||||
<a href="https://taler.hacktivism.ch/intro/">Merchant</a> ·
|
||||
<a href="https://taler.hacktivism.ch/terms">Terms</a> ·
|
||||
<a href="https://taler.hacktivism.ch/privacy">Privacy</a>
|
||||
<a href="https://taler.hacktivism.ch/privacy">Privacy</a> ·
|
||||
<a href="https://git.hacktivism.ch/hernani/koopa-admin-log/src/branch/main/configs/merchant-landing">deployment</a>
|
||||
<p class="privacy-note" style="margin:0.65rem 0 0;font-size:0.78rem;color:var(--muted);line-height:1.4">
|
||||
Privacy: processing under Swiss FADP (revDSG). What is retained is listed on
|
||||
<a href="https://taler.hacktivism.ch/privacy" style="color:#5eead4">/privacy</a>.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue