Commit Graph

11 Commits

Author SHA1 Message Date
admin 1f7ab2be04 refactor(routes): move shared pages to global scope 2026-07-20 14:02:15 +08:00
admin b3ebd5cf3b feat(characters): use local character catalog 2026-07-17 16:03:18 +08:00
admin 4981de9b18 fix(private-room): preserve payment return route 2026-07-16 18:06:15 +08:00
admin 590dee417b refactor(payment): centralize route lifecycle 2026-07-15 18:47:01 +08:00
admin e270be9bd9 perf(payment): parse route params on the server 2026-07-14 17:48:20 +08:00
admin 41d0c121b2 refactor(app): split page orchestration flows 2026-07-09 11:59:03 +08:00
admin 2cfbaba058 fix(payment): resume ezpay orders only after return 2026-06-22 18:23:59 +08:00
admin d1228324ca fix(auth): enable dev email login testing 2026-06-22 11:27:13 +08:00
admin df7f673855 feat(subscription): support voice package mode 2026-06-22 09:53:35 +08:00
admin 287affa34a refactor(app): move route screens out of components
Exclude test and spec files from generated barrels so page imports do not load test modules at runtime.
2026-06-17 14:13:42 +08:00
Claude e88a99626d feat(subscription): add VIP subscription page
Add a new /subscription route showing three VIP membership plans (Monthly,
Quarterly, Annual) with a pink→peach banner, per-plan gradient price bars,
a benefits card, a mock activate CTA, and an agreement checkbox.

- New reusable <Checkbox /> in src/app/_components/core for the legal
  agreement toggle
- Hardcoded SUBSCRIPTION_PLANS constant in src/data/constants
- New SubscriptionScreen composed of 7 colocated components (back link,
  user row, banner, plan card, benefits card, CTA button) with CSS
  Modules matching the existing design-token system
- Route registered as protected and reached from /sidebar "Membership"
- Mock CTA: window.alert + router.push(/chat) — no payment calls

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-15 17:49:15 +08:00