feat(ratewise): E8 wave-A — v2 等值雙列功能補全第一波(快速金額/歷史寫入/方向翻轉/長按複製) - #667
Merged
s123104 merged 1 commit intoJul 7, 2026
Merged
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Contributor
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
Contributor
|
✅ SEO 審計通過!所有 2026 標準驗證項目都符合要求。
|
- 快速金額 chips 內嵌 keypad 頂列:沿用 v1 SSOT 常數,點擊取代活躍列金額(保首鍵取代語意 633) - 換算 settle(停頓 2s、切列、離開)以 addToHistory notify:false 靜默寫入既有歷史 store - rate chip 旁新增獨立 ⇄ 鈕翻轉顯示方向(僅顯示層),chip 本體 tap 保留現金/即期切換契約 - 金額列長按 500ms 或桌面右鍵複製換算結果,格式與 toast 對齊 v1 歷史複製慣例 - 667 以下視口以 short: 梯次壓縮,三視口零捲動且 keypad 維持 30-40% 高度預算 - 審查修正 B1:settle 守門——金額 0/空不寫(含 backspace 清零路徑)、與上一筆自動寫入同值去重 - 審查修正 B2:幣別變更/swap/基準切換取消 pending settle(跨語意變更值失真,寧可不寫) - 審查修正 S1:長按僅標記意圖+視覺回饋,writeText 移至 pointerup 手勢同步 context(activation) - 審查修正 S2-S5:金額列 select-none+touch-callout、chips 移出 remount 爆炸半徑(scroll/focus 保留)、翻轉態 per-pair 重置語意、320px 最小寬度不溢出斷言與 narrow 梯次收斂 測試:ratewise vitest 全綠 4934 passed;converter-v2 e2e 22 passed(desktop+mobile 含 320 視口) Co-authored-by: Cursor <cursoragent@cursor.com>
s123104
force-pushed
the
feat/e8-v2-completeness-wave-a
branch
from
July 7, 2026 04:00
0c6fad5 to
327a58c
Compare
Contributor
|
✅ SEO 審計通過!所有 2026 標準驗證項目都符合要求。
|
This was referenced Jul 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
摘要
依
.claude/prds/converter-v2-completeness-design.md第 3 節裁決 #1/#2/#4/#6,於 v2 等值雙列補全四項能力,全程與 v1 共用 SSOT/引擎,未動 #664 two-pass hydration gate、#665 v2 card 禁用與 #659 basis 同源機制。已依審查(REQUEST CHANGES)完成 B1/B2 與 S1–S5 全數收斂。四缺口實作說明
缺口 1:快速金額 chips(keypad 頂列單排)
CURRENCY_QUICK_AMOUNTS(constants.ts),跟隨活躍列幣別,零複製數值缺口 2:歷史記錄寫入(settle 靜默寫入)
addToHistory(僅擴充notify?: boolean),v2 自動寫入notify: false不彈 toast缺口 4:方向翻轉(獨立 ⇄ 鈕)
aria-pressed)缺口 6:長按複製
data-copy-armed視覺回饋,金額列 tint);實際writeText於 pointerup handler 同步 context 執行(user activation 內),已移除 setTimeout 內的剪貼簿呼叫。桌面右鍵走 contextmenu(本身即使用者手勢);Android 長按派發 contextmenu 時亦在該手勢內提交,防 pointercancel 漏掉;committed旗標防雙路徑重複複製複製失敗error toast 降級select-none+[-webkit-touch-callout:none],消除長按與原生文字選取/放大鏡的手勢衝突佈局預算驗證表(零捲動硬約束)
short:梯次壓縮;≤349 以narrow:收斂 rate chip 內距與字級(320px 不溢出)scrollHeight === innerHeight(兩者皆入 objectContaining)+全部互動元素底緣以固定導覽列頂緣為可見上限+keypad 佔比下限 0.30(與 30-40% 敘述一致)測試
pnpm --filter @app/ratewise exec vitest run:4934 passed(187 檔)——fix(ratewise): 幣別頁 CTA 深連結+v2 首次輸入取代種子(#631、#633) #637/[ux] v2 首次鍵盤輸入串接在預設 1,000 之後(應取代種子) #633 紅線、fix(ratewise): 修復 persisted v2 冷載觸發 React #418 hydration mismatch #664/[bug] persisted v2 變體破壞 SSG hydration 紅線:舊 profile 冷載觸發 React #418(間歇) #653 hydration 契約、feat(ratewise): 刷卡估算模式 Phase 1(ADR-002) #665 card 禁用全數不動全綠證據
screenshots/(QA 暫存,未入 commit);320 視口截圖於 e2e test-resultsreward-rw-e8-wave-a-v2-completeness(+1 → 累計 +180)依據
.claude/prds/converter-v2-completeness-design.md(wave-A 範圍)