feat: 落地页改造 + 集章弹窗全状态品牌/奖品说明
- 落地页:顶部改为活动海报,底部替换为「活动规则」5 条编号列表 - 集章收集弹窗 (StampPopup):新增奖品规则卡片展示 Prize 信息 - 集章册 (AlbumPage / StampGrid):所有状态图章均可点击查看详情 - 兑换弹窗 (RedeemModal):新增 uncollected 分支,统一承载未收集/ 已集齐/已兑换三种状态;新增可选品牌说明区 - 后端 /api/stamps/:id 补充返回 prize 字段 - 管理后台字段标签改名:备注 → 品牌说明;奖品描述 → 奖品说明 - 新增一次性脚本 update-brand-rules,批量写入 16 条品牌权益文案 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -55,7 +55,6 @@ export default function AlbumPage() {
|
||||
setShowRegister(true);
|
||||
return;
|
||||
}
|
||||
if (!stamp.collected) return;
|
||||
setSelectedStampId(stamp.id);
|
||||
};
|
||||
|
||||
@@ -107,11 +106,9 @@ export default function AlbumPage() {
|
||||
style={{ width: stamps.length ? `${(collectedCount / stamps.length) * 100}%` : "0%" }}
|
||||
/>
|
||||
</div>
|
||||
{collectedCount > 0 && (
|
||||
<p className="mt-3 text-[11px] text-[var(--text-muted)] leading-relaxed">
|
||||
点击已点亮的图章,即可兑换对应奖品
|
||||
</p>
|
||||
)}
|
||||
<p className="mt-3 text-[11px] text-[var(--text-muted)] leading-relaxed">
|
||||
点击任意图章查看品牌权益,已点亮的图章可直接兑换
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Stamp Grid */}
|
||||
|
||||
Reference in New Issue
Block a user