'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 */}
{/* Freeze status */}
{streakFreezeAvailable && (
)}
{/* 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!'}
)}
);
}