feat(challenges): 排行榜支持单位显示与健身圆环自动上报进度

- ChallengeRankingItem 新增 unit 字段,支持按单位格式化今日进度
- FitnessRingsCard 监听圆环闭合,自动向进行中的运动挑战上报 1 次进度
- 过滤已结束挑战,确保睡眠、喝水、运动进度仅上报进行中活动
- 移除 StressMeter 调试日志与 challengesSlice 多余打印
This commit is contained in:
richarjiang
2025-09-30 14:37:15 +08:00
parent b0602b0a99
commit 3e6f55d804
9 changed files with 143 additions and 22 deletions

View File

@@ -24,7 +24,7 @@ const SleepCard: React.FC<SleepCardProps> = ({
const [sleepDuration, setSleepDuration] = useState<number | null>(null);
const [loading, setLoading] = useState(false);
const joinedSleepChallenges = useMemo(
() => challenges.filter((challenge) => challenge.type === ChallengeType.SLEEP && challenge.isJoined),
() => challenges.filter((challenge) => challenge.type === ChallengeType.SLEEP && challenge.isJoined && challenge.status === 'ongoing'),
[challenges]
);
const lastReportedRef = useRef<{ date: string; value: number | null } | null>(null);