Triviaverse / src /components /game /ScoreDisplay.tsx
Simeon Garratt
feat: upgrade game UI components with Lucide icons and glass-card styling
7c0c979
Raw
History Blame Contribute Delete
718 Bytes
"use client";
import { Star } from "lucide-react";
import { motion, useSpring, useTransform } from "framer-motion";
import { useEffect } from "react";
interface ScoreDisplayProps {
score: number;
}
export function ScoreDisplay({ score }: ScoreDisplayProps) {
const spring = useSpring(0, { stiffness: 100, damping: 20 });
const display = useTransform(spring, (v) => Math.round(v).toLocaleString());
useEffect(() => {
spring.set(score);
}, [score, spring]);
return (
<div className="flex items-center gap-2 px-3 py-1.5 rounded-lg bg-white/10">
<Star size={14} className="text-gold" />
<motion.span className="text-sm font-bold tabular-nums">{display}</motion.span>
</div>
);
}