import React from 'react'; interface XPBarProps { currentXP: number; nextLevelXP: number; level: number; size?: 'sm' | 'md' | 'lg'; showLabels?: boolean; className?: string; } export const XPBar: React.FC = ({ currentXP, nextLevelXP, level, size = 'md', showLabels = true, className = '', }) => { const percentage = Math.min( 100, Math.max(0, (currentXP / nextLevelXP) * 100), ); const heightClasses = { sm: 'h-2', md: 'h-4', lg: 'h-6', }; const textClasses = { sm: 'text-[10px]', md: 'text-xs', lg: 'text-sm', }; return (
{showLabels && (
LVL {level} {currentXP} / {nextLevelXP} XP
)}
{/* Background Pattern */}
{/* Progress Fill */}
{/* Shimmer Effect */}
{showLabels && size === 'lg' && (
{Math.round(nextLevelXP - currentXP)} XP to next level
)}
); };