Files
Jyotisha/docs/tasks/TASK-starter-home-polish-20260926.md
T

3.6 KiB
Raw Blame History

TASK · 首页开场小字拆分 + 今日星语 / 点数图标(2026-09-26)

基线

  • origin/staging 当前 head。分支 codex/starter-home-polish-20260926。
  • 串行:改 frontend/src/app/(app)/page.tsx,排在 TASK-new-chat-from-people-20260926(BUG-1038)与 TASK-home-warm-return-20260926(BUG-1040)之后。

事故实证(产品 09-26 真机截图)

首页入口按钮下方一段三行小字:「月亮今天行经双鱼座,你的心思容易朝远方和意义飘,节奏偏松,适合慢一点。 · 不确定出生时间时,用记得住的经历一步步缩小范围」。

  • frontend/src/components/starter-home.tsx StarterEntries:<p className="starter-entry-hint">{dailyHint} · {rectificationHint}</p> —— 两句无关提示用「·」硬拼。
  • 前半句 dailyHint = page.tsx dailyStarlanguageTrend = 今日星语卡片 trend:/api/daily-starlanguage 每日由模型生成(DAILY_STARLANGUAGE_MODEL_ID,缺省 deepseek),失败时回落 daily-starlanguage.ts composeDailyStarlanguageCard 规则模板。不是写死轮转。
  • 后半句 rectificationHint 写死三选一(有未完成 case / rectificationCardAction === "restart" / 首次);截图账号已校正过,仍显示首次文案,说明分支判断与实际状态不符(restart 未命中)。
  • 图标:今日星语入口 Sparkles(starter-home.tsx),右上角点数 Sparkles(page.tsx className="credit-icon"),两处同图标。

决策记录(产品 2026-09-26)

  • D1 今日趋势句移到问候语下方单独一行(StarterGreeting 增加可选副行,浅色 --color-ink-secondary、--type-body-sm,最多两行、超出省略);今日星语未就绪时显示现有静态句「今天的星语还没写出来。」;没有出生分钟(natalMinuteAvailable 为假)时不显示副行。
  • D2 入口按钮下方平时不显示任何提示;只在需要用户动手时出一句:
    • 有未完成的校正(hasResumableCase)→「上次那次校正还没完成,可以接着做。」
    • 当前人物不是本人 →「生时校正暂时只支持本人。」
    • 其余情况(首次、已校正)不显示。删除「不确定出生时间时…」「上次已经校正完…」两句。
    • 修正分支判断:以 entry summary 的真实状态为准,不再依赖可能未命中的 restart。
  • D3 今日星语入口图标改 lucide MoonStar;右上角点数图标改 lucide Coins(aria-hidden 不变,按钮可访问名不变)。
  • D4 !natalMinuteAvailable 时的边界句「出生时间不足以支持的判断我会说明…」保留原位。

硬红线

首页 ○ Static、gzip ±2%;Home() 不新增 hook、page.tsx 不超增长合同;不改今日星语接口与生成逻辑;首页揭幕规则不变(副行不得引入新的等待态);更新 frontend/DESIGN.md(首页空状态一节)与 frontend/docs/VOICE.md(删两句、加一句);全量测试与基线逐条一致、新增 0;改动断言三栏写在测试文件里;真实浏览器 375 / 1280 截图(开发预览模式)。

任务分解

  • T1 StarterGreeting 副行 + page.tsx 传入今日趋势(D1)。
  • T2 StarterEntries 提示按需显示 + 分支修正(D2、D4)。验收:组件测试覆盖四种状态(首次、已校正、有未完成、非本人)各自是否显示、显示什么。
  • T3 图标替换(D3)。
  • T4 CHANGELOG、DESIGN、VOICE、PROGRESS、docs/testing/ 一条真机项。本单为产品调整,不开 BUG 号(D2 的分支误判若确认为 bug,用开工时下一个空号记一条)。