aboutsummaryrefslogtreecommitdiffstats
path: root/src/style.css
Commit message (Collapse)AuthorAgeFilesLines
* Add "Payment received!" celebration on the Receive tabAdam Soltys2026-06-161-0/+5
| | | | | | | | | | When a deposit lands on the shown address, the Receive tab now shows a "Payment received!" dialog (with the amount and a green check) and waits for a tap before revealing the next address/QR — instead of silently swapping it. Tracks the acknowledged fresh index so only payments that arrive while watching trigger it. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
* Add footer; default to public explorers (proxy via localStorage opt-in)Adam Soltys2026-06-151-0/+3
| | | | | | | | | | - Footer: "made with ♥ by Adam Soltys" (links adamsoltys.com) and "source available on GitHub" (links the repo). - Explorer endpoint now defaults to the public explorers; a rate-limited machine can opt into a proxy via localStorage('explorer-proxy'). Correct for a hosted multi-user deploy (each visitor uses their own IP). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
* Straighten unit-label underline (zero inherited border-radius)Adam Soltys2026-06-151-1/+2
| | | | Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
* Use solid underline for clickable unit labelsAdam Soltys2026-06-151-1/+1
| | | | Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
* Multi-recipient send, simpler review, global persisted unitAdam Soltys2026-06-151-0/+9
| | | | | | | | | | | | | | - Send: support multiple outputs. Default one recipient with a "+ Add recipient" button (and a remove ✕ per row). Max applies only when there's a single recipient. - Review: drop the technical lines (total, inputs/vsize, change, total cost). Show just the amount going to each output plus the network fee. - Units: replace the per-form BTC/sats toggle with a single global unit that persists in localStorage across refreshes and logouts. Every unit label (balance, breakdown, amounts, fee, coins, review) is clickable to toggle and all displays use the chosen unit consistently. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
* Move Backup from header to its own tab (away from Logout)Adam Soltys2026-06-151-5/+0
| | | | | | | | Prevents accidental Logout clicks when reaching for Backup. Backup is now a tab rendering the gated recovery-phrase reveal inline; Logout is the only header button. The phrase re-masks whenever tabs change. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
* Gate recovery-phrase reveal behind a warning + Proceed stepAdam Soltys2026-06-151-0/+1
| | | | | | | | | Opening Backup now shows the warning with the 12 words masked (••••••) and a Proceed/Cancel choice. The real words and passphrase are kept out of the DOM until Proceed, so the user reads the "make sure nobody is watching" warning before anything sensitive renders. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
* Add Backup button to view recovery phrase + passphrase againAdam Soltys2026-06-151-0/+5
| | | | | | | | Anyone who skipped backup verification (or just wants to re-check) can now reveal the seed words and passphrase from a header "Backup" button that opens a warning-gated modal with copy actions. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
* Rebuild as single-file offline BIP84 walletAdam Soltys2026-06-141-0/+217
Replace the SvelteKit/daisyUI prototype with a vanilla JS + hand-rolled CSS app that Bun bundles (code + scure/noble crypto + QR + CSS) into one self-contained dist/index.html runnable offline from file://. Wallet core (src/wallet.js): - BIP84 native-segwit HD wallet from BIP39 seed (+optional passphrase) - gap-limit scan of receive/change chains, aggregate balance, tx history - fresh receive/change addresses; signs with witnessUtxo only (enables offline signing with no prev-tx fetch) - coin selection + fee estimation via btc-signer selectUTXO; send-max; manual coin control - offline JSON snapshot export/import (keyless) + signed-tx hex/QR export - realtime mempool.space WebSocket: track-addresses -> debounced auto refresh of balances/history (no polling); live status badge UI (src/app.js): clean light paper-wallet; create (with optional, skippable backup verification) / import flow; receive (QR) / send / history / coins / tools tabs; clickable logo returns home. API (src/api.js): mempool.space wrapper with retry/backoff for scan-burst rate limiting; single network choke-point for offline enforcement. Verified: BIP84 spec vectors, build/sign/parse for auto/max/manual flows, snapshot roundtrip, live scan + WebSocket, headless-Chrome UI smoke tests. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>