fix(ui): collapse product weights and radii onto the shared Button
Independent Staging Quality Gate / validate (push) Failing after 9m39s
Independent Staging Quality Gate / publish (push) Has been skipped

Chat body, type weights, and radii were still a second scale; membership purchase now uses the shared Button so the filled terracotta action is one implementation.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-09-04 17:29:11 +08:00
parent 7b1354a79b
commit 7ee7f8258a
5 changed files with 143 additions and 122 deletions
+10 -2
View File
@@ -162,7 +162,12 @@ test("plan cards carry price, duration, audience, entitlements, purchase and rul
assert.match(pageSource, /entitlementLabel\(entitlement\)/);
assert.match(pageSource, /<details className="membership-rules">/);
assert.match(pageSource, /<summary>详细规则<\/summary>/);
assert.match(pageSource, /className=\{recommended \? "button-primary membership-buy" : "button-secondary membership-buy"\}/);
// 原值: className={recommended ? "button-primary membership-buy" : "button-secondary membership-buy"}
// 新值: Button className="membership-buy" + variant default|outline
// 原因: 会员购买走共用 Button;登录/引导仍用 .button-primary 类(page.tsx 冻结与破坏确认合同)
assert.match(pageSource, /import \{ Button \} from "@\/components\/ui\/button"/);
assert.match(pageSource, /className="membership-buy"/);
assert.match(pageSource, /variant=\{recommended \? "default" : "outline"\}/);
});
test("renewal semantics map the active subscription to the matching plan", () => {
@@ -305,7 +310,10 @@ test("redeem modal reuses the existing account dialog classes", () => {
assert.match(pageSource, /className="redeem-form"/);
assert.match(pageSource, /className="form-error" role="alert"/);
assert.match(pageSource, /className="form-success" role="status"/);
assert.match(pageSource, /className="button-primary"/);
// 原值: className="button-primary"
// 新值: <Button type="submit">
// 原因: 兑换提交改走共用 Button,不再复用登录页的 .button-primary 类名
assert.match(pageSource, /<Button type="submit"/);
});
test("desktop uses three columns, tablet two and mobile one with monthly first", () => {