diff --git a/src/blobbi/rooms/components/BlobbiRoomHero.tsx b/src/blobbi/rooms/components/BlobbiRoomHero.tsx
index c648b630..0ba88a72 100644
--- a/src/blobbi/rooms/components/BlobbiRoomHero.tsx
+++ b/src/blobbi/rooms/components/BlobbiRoomHero.tsx
@@ -13,8 +13,10 @@ import {
} from 'lucide-react';
import { BlobbiStageVisual } from '@/blobbi/ui/BlobbiStageVisual';
-import { getVisibleStats, getStatStatus } from '@/blobbi/core/lib/blobbi-decay';
-import type { BlobbiCompanion } from '@/blobbi/core/lib/blobbi';
+import { getVisibleStats } from '@/blobbi/core/lib/blobbi-decay';
+import { getBlobbiStatDisplayState } from '@/blobbi/core/lib/blobbi-segments';
+import type { CareState } from '@/blobbi/core/lib/blobbi-segments';
+import type { BlobbiCompanion, BlobbiStats } from '@/blobbi/core/lib/blobbi';
import type { BlobbiEmotion } from '@/blobbi/ui/lib/emotion-types';
import type { BlobbiVisualRecipe } from '@/blobbi/ui/lib/recipe';
import type { BlobbiReactionState } from '@/blobbi/actions';
@@ -205,12 +207,16 @@ function StatsCrown({
heroWidth: number;
}) {
const allStats = useMemo(() =>
- getVisibleStats(companion.stage).map(stat => ({
- stat,
- value: currentStats[stat] ?? 100,
- status: getStatStatus(companion.stage, stat, currentStats[stat] ?? 100),
- color: STAT_COLOR_MAP[stat],
- })),
+ getVisibleStats(companion.stage).map(stat => {
+ const value = currentStats[stat] ?? 100;
+ const display = getBlobbiStatDisplayState({ stage: companion.stage, stat: stat as keyof BlobbiStats, value });
+ return {
+ stat,
+ value,
+ careState: display.careState,
+ color: STAT_COLOR_MAP[stat],
+ };
+ }),
[companion.stage, currentStats]);
if (allStats.length === 0) return null;
@@ -244,7 +250,7 @@ function StatsCrown({
bottom: `${y.toFixed(1)}px`,
}}
>
-