Files
ChronicleOfTheImmortalClan/src/renderer/ui/components/GuideStrip.tsx
T
Hermes Agent 7191a2bb55 v0.1.11: 全源码审计 + 缺陷歼灭 + UI/UX 打磨
【引擎审计修复】
- P0:大比 once(原整年刷 12 场、奖励通胀);flag 年份键 3 年剪枝(长线膨胀)
- P1:飞升离世累加 feishengCount(飞升之资称号可达);圣者护族接消费(原死代码);
  大比/传薪挂能力卡门控;pending 抢渡劫时不再重设
- P2:version 硬编码统一 0.1.11;yearaxis 飞升归类;MonumentList 挂载

【UI 审计修复】
- P0:已故成员卡显示「已殁」(原秀活动 status);空队迎战禁用+提示(原静默失效)
- P1:指婚候选去截断(滚动列表);终局出口(回卷/主菜单按钮);saveNow 反馈;
  事件来临写入 feed(k-event 使用);遣队「最强 N 人/清空」一键;寻衅确认+联姻原因提示;
  未建建筑视觉 uc 类
- P2:speed 死代码;Modal 分层 z-index;FamilyPanel 在世/先人分隔

【UX 三件套】
- 警讯徽章(瓶颈/重伤/在外/媒缘/孤嗣之忧)顶栏一屏秒答「我该干嘛」
- 首启引导任务条(四步目标 + 完成推进,可跳不强制)
- 顶栏丹药瘦身(4 资源);数字千/万化;瓶颈卡红框高亮

【测试】905→923(urgency/guide/format 三模块 + 审计修复回归 6 项)
金钟罩三档重固化(0.1.11),typecheck/build 通过
2026-08-23 11:30:16 +08:00

30 lines
988 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { useGameStore } from '../store'
import { GUIDE_STEPS, computeGuide, guideAdvance } from '../../game/core/guide'
export function GuideStrip() {
const world = useGameStore((s) => s.world)
const revision = useGameStore((s) => s.revision)
const bump = useGameStore((s) => s.bump)
void revision
if (!world) return null
const g = computeGuide(world)
if (g.done || world.state.year > 2) return null
const step = GUIDE_STEPS[g.step]
if (!step) return null
const advance = () => {
guideAdvance(world, g.step + 1)
bump()
}
return (
<div className="guide-strip">
<span className="guide-icon"></span>
<div style={{ flex: 1 }}>
<b>{step.title}</b>
<span className="dim" style={{ marginLeft: 8 }}>{step.hint}</span>
</div>
<button className="btn btn-sm btn-primary" onClick={advance}>完成,继续</button>
<button className="btn btn-sm" onClick={advance} title="跳过引导">×</button>
</div>
)
}