Add LunarBirthPicker for bazi and combined forms, converting lunar input to solar for chart calculation.
Co-authored-by: Cursor <cursoragent@cursor.com>
Stop stretching input cards to match AI panel height, and show a start button before online/offline hexagram casting begins.
Co-authored-by: Cursor <cursoragent@cursor.com>
Allow any orientation in manifest, widen content and enable dual-column mode in installed apps on tablet viewports, with iOS display-mode fallback.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use max-w-6xl between 1024-1919px for iPad landscape, reset to max-w-4xl at 1920px for unchanged desktop.
Co-authored-by: Cursor <cursoragent@cursor.com>
Move width utilities into scanned components as literal class names, add lib to Tailwind content and safelist. Verified max-w-4xl in build CSS and /learn HTML.
Co-authored-by: Cursor <cursoragent@cursor.com>
Cap content at 768-960px via PageShell width tiers, add muted outer margins, and limit gua grid to four columns.
Co-authored-by: Cursor <cursoragent@cursor.com>
Correct yin-yang eye colors with contrast strokes, and show light/dark switch in mobile header with Chinese labels.
Co-authored-by: Cursor <cursoragent@cursor.com>
Cap content width at 1152px with side margins on ultrawide screens, add stroke to taiji logo for light backgrounds, and shrink backdrop watermark.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use 50/50 mode workspace columns, widen content to 1920px on fish screens, replace header logo with taiji icon, and add full-page taiji backdrop.
Co-authored-by: Cursor <cursoragent@cursor.com>
Learn uses 64-gua card grid; liuyao/bazi/combined use two input cards plus sticky right AI panel; add manifest, service worker, and install prompt.
Co-authored-by: Cursor <cursoragent@cursor.com>
ResultAI had h-0 collapsing output; add X-Accel-Buffering no, clearer fetch errors, and NGINX.md for gate proxy setup.
Co-authored-by: Cursor <cursoragent@cursor.com>
createStreamableValue must be created and returned in the action itself; wrapping in { data } or a helper return caused production RSC serialization errors.
Co-authored-by: Cursor <cursoragent@cursor.com>
Remove use server from stream helper to fix RSC errors; support OPENAI_API_BASE alias; render HTML tables via rehype-raw with gua-image API; expand regions to 356 prefecture-level cities.
Co-authored-by: Cursor <cursoragent@cursor.com>
Client components were importing zhouyi.ts which pulled in fs/promises; move pure helpers to gua-utils.ts and mark zhouyi.ts server-only.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace missing coin images with CSS 3D coins, auto-select city on province change, expand Shandong cities, and improve AI interpretation prompts after six casts.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add liuyao/bazi/combined flows with shared calc and AI infrastructure, 64-gua learn routes, and update Ubuntu PM2 deployment docs for port 3130.
Co-authored-by: Cursor <cursoragent@cursor.com>