Skip to content

Implement the t15-t17 design handoff punch list - #44

Merged
olddonkey merged 1 commit into
mainfrom
feat/t16-t17-handoff
Jul 12, 2026
Merged

olddonkey merged 1 commit into
mainfrom
feat/t16-t17-handoff

Conversation

@olddonkey

Copy link
Copy Markdown
Owner

What

The six items from the design round's handover note (design/v2/交接说明-t15-17.html, mocks 16a/16d/17a/17b/17c):

  1. 17a: en.daysLeft → Days left: {n} (30% shorter, still plural-safe); expiry column 80→96px both languages.
  2. 17b: wide Benefits per-card chips always carry an amount — gray $0 unused / green $x partial / green ✓ $y fully used — so the gray chip no longer collides with the added-tab gray chip (= no cashback posted). Added-tab and inactive-benefit chips untouched.
  3. 17c: throttle hint finalized — threshold 30→80, amber warning strip demoted to a gray explainer inside the confirm dialog, copy now points at the real protection (auto-stop + retry) instead of pre-emptive scaring. Circuit breaker untouched.
  4. 16a: .cw-exp top-aligns (align-self: flex-start) so the expiry cell no longer drifts when +N expands a chips row.
  5. 16d: grayscale convergence — 34 data-bearing small-text selectors unified to #6A6F7A; #8A8F99/#9CA1AB retained only for placeholders and decorative glyphs (8 kept, each justified; .cf-meta stays tertiary per the more-specific 17c mock).
  6. 12a note: wide stat-tile number spans get min-width: 5.5ch + right-align to stop filter-switch jitter.

MESSAGES: 2 value changes (daysLeft en, confirmThrottle zh/en). Only test change is the allowed daysLeft EN assertion.

Verification

lint / node --check / 77/77 tests / diff --check green, re-run independently by the supervisor; zero network/execution-layer changes; no forbidden execution wording. Browser harness check: Benefits wide chips show $0 / ✓ $y, new stat labels and darker informational grays render as designed.

Follow-up in this round: wide throttled-stop explainer strip (15b gap found in review) lands separately.

🤖 Generated with Claude Code

① 17a — en.daysLeft "Days remaining" → "Days left" (zh unchanged);
   widen .cw-exp expiry column 80→96px (both densities; .cw-exp-s left
   at 70px). Sync the one en assertion in test/i18n.test.mjs.
② 17b — wide Benefits per-card chips always carry an amount: unused =
   gray "⋯tail $0", partial = green "⋯tail $x" (unchanged), fully used =
   green "⋯tail ✓ $y" (y = that card's full allotment). Added-tab chips
   stay amount-free (separate vocabulary). Inactive-benefit chips left
   as-is (pre-activation has no usage/limit semantics).
③ 17c — confirm throttle threshold tasks.length 30 → 80; demote the
   amber .cf-warn banner to a plain grey .cf-note (var(--text-3), no
   background/border/icon); rewrite confirmThrottle copy (zh/en) to
   point at the real fuse (auto-stop on rate limit, retry later). No
   footer warning; 429/403 circuit-breaker untouched.
④ 16a — .cw-exp gets align-self: flex-start so the expiry text top-
   aligns when +N chip expansion grows the row (merchant/status columns
   stay centered per the mock).
⑤ 16d — grayscale convergence: every information-bearing small-text
   selector moves to #6A6F7A (var(--text-3)); #8A8F99/#9CA1AB kept only
   on input placeholders and decorative glyphs (⌕, ▾▴ carets, +N
   affordance) and the tertiary confirm recap line. 34 selectors
   recolored; --mut alias now unused.
⑥ 12a — .wbtile .n gets min-width: 5.5ch + text-align: right so the
   wide stat tiles do not reflow when single-card filtering shrinks the
   number.

Network/execution layer untouched; execution-copy forbidden words
absent; no over-claim of one-shot concurrency.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@olddonkey
olddonkey merged commit aca322d into main Jul 12, 2026
@olddonkey
olddonkey deleted the feat/t16-t17-handoff branch July 12, 2026 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant