From 6e9bd00dbb50028cd127209efd4142389cf02002 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Tue, 6 Oct 2026 18:18:58 +0000 Subject: [PATCH] miner-ui-3: the banner only (the project lead: 'lets not actually change the miner page just sort the banner') Variant C and the Earnings reshaping reverted: Mine and Earnings are exactly as shipped in 0.3.14. Kept from the polish round: every strip, ask and clock card on the brand tokens (the row surface, a 1 px ember hairline on top, ash text, ember only on the dot and the chevron; no filled brown or mustard field anywhere; the update strip and the job strip share .notice), the plain-language strip and event sentences with the technical line behind the chevron, the header baseline and the pill wording. 36 UI tests pass. Co-Authored-By: Claude Fable 5.1 --- app/igneum-app/ui/app.css | 48 +++--------------- app/igneum-app/ui/app.js | 8 +-- app/igneum-app/ui/index.html | 2 +- docs/plans/miner-ui-3.md | 29 +++++------ .../miner-ui-3/p01-mine-variant-a-quieter.png | Bin 438348 -> 0 bytes .../miner-ui-3/p02-mine-variant-b-denser.png | Bin 410792 -> 0 bytes .../miner-ui-3/p03-mine-variant-c-hero.png | Bin 466847 -> 0 bytes docs/plans/miner-ui-3/q01-mine-strip-dark.png | Bin 283248 -> 0 bytes .../plans/miner-ui-3/q02-mine-strip-light.png | Bin 287407 -> 0 bytes .../miner-ui-3/q03-mine-strip-open-dark.png | Bin 271106 -> 0 bytes .../miner-ui-3/q04-mine-update-strip-dark.png | Bin 219651 -> 0 bytes docs/plans/miner-ui-3/q05-earnings-dark.png | Bin 210349 -> 0 bytes docs/plans/miner-ui-3/q06-earnings-light.png | Bin 212820 -> 0 bytes .../miner-ui-3/q07-mine-mac-paused-dark.png | Bin 218657 -> 0 bytes docs/plans/miner-ui-3/q08-phone-mine.png | Bin 131860 -> 0 bytes docs/plans/miner-ui-3/q09-phone-earnings.png | Bin 156598 -> 0 bytes docs/plans/miner-ui-3/q10-quit-ask.png | Bin 242081 -> 0 bytes docs/plans/miner-ui-3/q11-mine-clock.png | Bin 226276 -> 0 bytes docs/plans/miner-ui-3/r01-mine-strip-dark.png | Bin 0 -> 289251 bytes .../plans/miner-ui-3/r02-mine-strip-light.png | Bin 0 -> 291054 bytes docs/plans/miner-ui-3/r03-earnings-dark.png | Bin 0 -> 201299 bytes 21 files changed, 25 insertions(+), 62 deletions(-) delete mode 100644 docs/plans/miner-ui-3/p01-mine-variant-a-quieter.png delete mode 100644 docs/plans/miner-ui-3/p02-mine-variant-b-denser.png delete mode 100644 docs/plans/miner-ui-3/p03-mine-variant-c-hero.png delete mode 100644 docs/plans/miner-ui-3/q01-mine-strip-dark.png delete mode 100644 docs/plans/miner-ui-3/q02-mine-strip-light.png delete mode 100644 docs/plans/miner-ui-3/q03-mine-strip-open-dark.png delete mode 100644 docs/plans/miner-ui-3/q04-mine-update-strip-dark.png delete mode 100644 docs/plans/miner-ui-3/q05-earnings-dark.png delete mode 100644 docs/plans/miner-ui-3/q06-earnings-light.png delete mode 100644 docs/plans/miner-ui-3/q07-mine-mac-paused-dark.png delete mode 100644 docs/plans/miner-ui-3/q08-phone-mine.png delete mode 100644 docs/plans/miner-ui-3/q09-phone-earnings.png delete mode 100644 docs/plans/miner-ui-3/q10-quit-ask.png delete mode 100644 docs/plans/miner-ui-3/q11-mine-clock.png create mode 100644 docs/plans/miner-ui-3/r01-mine-strip-dark.png create mode 100644 docs/plans/miner-ui-3/r02-mine-strip-light.png create mode 100644 docs/plans/miner-ui-3/r03-earnings-dark.png diff --git a/app/igneum-app/ui/app.css b/app/igneum-app/ui/app.css index f2453739..623e74fa 100644 --- a/app/igneum-app/ui/app.css +++ b/app/igneum-app/ui/app.css @@ -128,7 +128,6 @@ body.has-rail .notices{left:var(--rail)} .notice-actions:empty{display:none} .notice-close{flex:0 0 auto;width:30px;height:30px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ash);font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0} .notice-close:hover{color:var(--bone);border-color:var(--line-2)} - .notice-more{flex:0 0 auto;width:30px;height:30px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ash);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0} .notice-more:hover{color:var(--bone);border-color:var(--line-2)} .notice-more .chev{width:8px;height:8px;transform:rotate(45deg) translateY(-2px)} @@ -363,8 +362,12 @@ table{border-collapse:collapse;width:100%;font-size:var(--t-base)} .clock-card .note{margin-top:0} /* earnings: money first */ -.money-row .v{font-family:var(--head);font-weight:700;letter-spacing:-.01em} -.money-row .s{color:var(--ash);min-width:0} +.money{display:flex;flex-direction:column;margin-bottom:var(--s-2)} +.money-row{display:flex;align-items:baseline;gap:var(--s-3);padding:8px 0;border-bottom:1px solid var(--line);flex-wrap:wrap} +.money-row:last-child{border-bottom:0} +.money-row .v{font-family:var(--head);font-weight:700;font-size:var(--t-hero);line-height:1.1;white-space:nowrap;letter-spacing:-.01em;min-width:200px} +.money-row .v.small{font-size:var(--t-num)} +.money-row .s{font-size:var(--t-base);color:var(--ash);min-width:0} /* prove */ .tier-list{list-style:none;margin:var(--s-3) 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:var(--t-md);color:var(--ink-2)} @@ -611,42 +614,3 @@ body.drawer-open .toast{bottom:calc(var(--drawer-h) + 16px)} .drawer-head{padding-bottom:6px} .toggle-big{min-height:96px} } - -/* the Mine hero (the project lead, 6 October 2026: "I love C"): the fleet rate big, the button a bar under it, the cards below */ -.hero-row{grid-template-columns:1fr} -.totals{order:1;grid-template-columns:2fr 1fr 1fr 1fr;align-items:end;padding:28px 28px 24px;border-color:transparent;background:linear-gradient(180deg,var(--graphite),var(--obsidian))} -.tot{border-left:0;padding-left:0} -.tot:first-child .v{font-size:84px;line-height:.95;letter-spacing:-.03em} -.tot:first-child .k{font-size:var(--t-sm);margin-top:10px} -.tot:first-child .s{font-size:var(--t-md)} -.tot .v{font-size:30px} -.toggle-big{order:2;min-height:64px;flex-direction:row;align-items:center;gap:14px;padding:12px 20px} -.toggle-big .ring{margin:0} -.toggle-big .ts{margin-left:auto} -.gl-main{padding:10px 14px} -.num .v{font-size:18px} -/* Earnings in the same direction: the money figure big on the same fade, the other three beside it */ -.money-hero{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;align-items:end;gap:var(--s-4);margin:calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad)) var(--s-3);padding:28px var(--card-pad) 24px;background:linear-gradient(180deg,var(--graphite),var(--obsidian));border-radius:var(--card-r) var(--card-r) 0 0} -.money-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:0;border:0;min-width:0} -.money-row .v{font-size:28px;min-width:0;max-width:100%;line-height:1.1} -.money-row .v.small{font-size:28px} -.money-row:first-child .v{font-size:84px;line-height:.95;letter-spacing:-.03em} -.money-row:first-child .s{font-size:var(--t-md)} -.money-row .s{font-size:var(--t-sm)} -#page-earnings .card:first-child{overflow:hidden} -@media (max-width:1180px){ - .totals{grid-template-columns:1fr 1fr 1fr 1fr} - .tot:first-child .v{font-size:64px} - .money-hero{grid-template-columns:1fr 1fr 1fr 1fr} - .money-row:first-child .v{font-size:64px} -} -@media (max-width:860px){ - .totals,.money-hero{grid-template-columns:1fr 1fr;row-gap:var(--s-4)} - .tot:first-child,.money-row:first-child{grid-column:1 / -1} - .tot:nth-child(3){padding-left:0} -} -@media (max-width:720px){ - .tot:first-child .v,.money-row:first-child .v{font-size:56px} - .toggle-big .ts{display:none} - .money-hero{padding:20px var(--s-4) 16px} -} diff --git a/app/igneum-app/ui/app.js b/app/igneum-app/ui/app.js index f56064f2..92f93165 100644 --- a/app/igneum-app/ui/app.js +++ b/app/igneum-app/ui/app.js @@ -1479,11 +1479,11 @@ if (typeof document !== 'undefined') (function () { function renderEarnings(s) { var a = s.address || {}, m = s.mining, pv = s.proving || {}, price = priceNow(); var ign = pv.paid_wei && Number(pv.paid_wei) ? (Number(pv.paid_wei) / 1e18).toFixed(4) : '0.0000'; - setText('e-ign', ign); setText('e-ign-sub', 'IGN from ' + (pv.paid || 0) + ' proof' + (pv.paid === 1 ? '' : 's') + (pv.segments_paid ? ' and ' + pv.segments_paid + ' segment' + (pv.segments_paid === 1 ? '' : 's') : '')); - setText('e-blocks', withCommas(m.accepted_total)); setText('e-blocks-sub', 'block' + (m.accepted_total === 1 ? '' : 's') + ' lifetime · ' + withCommas(m.accepted_session) + ' this run'); + setText('e-ign', ign + ' IGN'); setText('e-ign-sub', 'from ' + (pv.paid || 0) + ' proof' + (pv.paid === 1 ? '' : 's') + (pv.segments_paid ? ' and ' + pv.segments_paid + ' segment' + (pv.segments_paid === 1 ? '' : 's') : '')); + setText('e-blocks', withCommas(m.accepted_total) + ' block' + (m.accepted_total === 1 ? '' : 's')); setText('e-blocks-sub', 'lifetime · ' + withCommas(m.accepted_session) + ' this run, ' + uptime(s.uptime_s)); var watts = View.wattsTotal(m.cards), ppd = View.poundsPerDay(watts, price); - setText('e-cost', ppd === null ? (watts > 0 ? Math.round(watts) + ' W' : 'no draw') : money(ppd)); - setText('e-cost-sub', ppd === null ? (watts > 0 ? 'electricity: set a price for the cost' : 'electricity: no card reports its draw') : 'a day in electricity at ' + price + 'p/kWh, ' + Math.round(watts) + ' W'); + setText('e-cost', ppd === null ? (watts > 0 ? Math.round(watts) + ' W' : 'no draw') : money(ppd) + ' a day'); + setText('e-cost-sub', ppd === null ? (watts > 0 ? 'electricity: set a price to see the cost' : 'electricity: no card reports its draw') : 'electricity at ' + price + 'p/kWh for ' + Math.round(watts) + ' W'); setHidden('e-price-btn', !(watts > 0 && ppd === null)); if (document.activeElement !== $('s-devfee')) $('s-devfee').checked = !!(s.settings && s.settings.dev_fee); setText('s-devfee-text', s.settings.dev_fee ? 'Dev fee: 1 block in 100 pays the miner software’s author' : 'Dev fee off: every block pays your address'); diff --git a/app/igneum-app/ui/index.html b/app/igneum-app/ui/index.html index d700eff6..46655052 100644 --- a/app/igneum-app/ui/index.html +++ b/app/igneum-app/ui/index.html @@ -248,7 +248,7 @@