'use client'; import { Flame, Trophy, Shield } from 'lucide-react'; import type { StreakInfo } from '@/lib/stats'; interface StreakCardProps { streak: StreakInfo; } export function StreakCard({ streak }: StreakCardProps) { const { currentStreak, longestStreak, streakFreezeUsed, streakFreezeAvailable } = streak; return (

0 ? 'var(--cm-important)' : 'var(--cm-text-tertiary)' }} /> Streak

{streakFreezeUsed && ( Freeze used )}
{/* Current streak */}
0 ? 'var(--cm-important)' : 'var(--cm-text-tertiary)' }} > {currentStreak}
{currentStreak === 1 ? 'day' : 'days'} current
{/* Longest streak */}
{longestStreak}
best
{/* Freeze status */} {streakFreezeAvailable && (
1 freeze
available
)}
{/* Streak milestones */} {currentStreak >= 7 && (
= 30 ? 'rgba(255, 159, 67, 0.15)' : 'rgba(46, 213, 115, 0.15)', color: currentStreak >= 30 ? 'var(--cm-important)' : 'var(--cm-gentle)', }} > {currentStreak >= 100 ? '🏆 100+ day streak! Legendary!' : currentStreak >= 30 ? '🔥 30+ day streak! On fire!' : '✨ 7+ day streak! Keep it up!'}
)}
); }