diff --git a/src/components/CelebrationAnimation.tsx b/src/components/CelebrationAnimation.tsx
index a918165..bc471f7 100644
--- a/src/components/CelebrationAnimation.tsx
+++ b/src/components/CelebrationAnimation.tsx
@@ -104,6 +104,10 @@ export function CelebrationAnimation({
{badge.name}
{badge.description}
+ {/* Substance indicator - Helps clarify which tracker triggered this */}
+
+ For {badge.id === 'first_day' || badge.id === 'streak_7' ? 'tracking' : 'staying free from'}
+
diff --git a/src/lib/storage.ts b/src/lib/storage.ts
index 6f707fd..d631747 100644
--- a/src/lib/storage.ts
+++ b/src/lib/storage.ts
@@ -546,10 +546,12 @@ export function checkBadgeEligibility(
case 'streak_3': return streak >= 3;
case 'streak_7': return stats.totalDays >= 7;
case 'fighter':
- return getStreakFromMap(stats.nicotineMap) >= 7 && getStreakFromMap(stats.weedMap) >= 7;
+ // Fix: Check streak for the current substance, not both simultaneously
+ return streak >= 7;
case 'one_month': return checkMonthlyReduction();
case 'goal_crusher':
- return getStreakFromMap(stats.nicotineMap) >= 30 && getStreakFromMap(stats.weedMap) >= 30;
+ // Fix: Check streak for the current substance, not both simultaneously
+ return streak >= 30;
default: return false;
}
}