- Fix markdown file path resolution for SSR production builds
- Try multiple paths (public/legal, client/legal) for dev and prod
- Update deploy/README.md with frontend deployment instructions
- Document PM2, Nginx configuration, and port mapping
- Change default locale from zh to en for international audience
- Update .env.example with production CREEM API URL
- Set SUCCESS_URL to meeyao.com/en/store
Replace abandoned iOS App Store route with CREEM Merchant of Record
payment integration for web-based credits purchase.
Backend changes:
- Add CreemClient for CREEM API communication
- Add CreemService for checkout creation and webhook handling
- Add creem_transactions table for payment tracking
- Fix webhook payload parsing (id, order.id, customer.id structure)
- Integrate with existing points ledger system
Frontend changes:
- Display dynamic prices from CREEM API
- Support decimal price formatting (e.g., $1.00)
- Add checkout flow with redirect to CREEM hosted page
- Fix DivinationProcessingOverlay infinite re-render loop by using refs
for params/yaoStates/onError instead of direct effect dependencies
- Remove column headers from hexagram detail card (matching Flutter)
- Keep domain-specific terms (六神, 六亲, etc.) in Chinese for all locales
- Translate ganZhiInfo/wuXingWangShuai/ganZhiKongWang section titles to English
- Add sign image overlay animation on fresh divination result (scale + translate)
- AboutPage now reads from public/legal/{locale}/about_us.md
- LegalPage no longer depends on about translations, uses local maps
- Fixed email in LegalPage from ann@xunmee.com to feedback@xunmee.com
- Removed ICP number and wrong email from utils.ts about section
- Removed unused about section from Translations interface and all locales
- Add GeneralSettingsPage for language, privacy, and notification settings
- Add FeedbackPage for user feedback submission with image upload
- Connect settings to backend PATCH /users/me/settings API
- Implement language preference sync between frontend and backend
- Update login flow to pass language preference and redirect based on user settings
- Add Astro entry pages for /settings/general and /settings/feedback routes
- Update sidebar navigation: language button links to general settings
- Fix account data card to link to profile page
- Remove "deletion" text from account data description