(chore) init commit and add tasks
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
'use client'
|
||||
|
||||
import { motion } from 'framer-motion'
|
||||
|
||||
interface LiveIndicatorProps {
|
||||
status: 'live' | 'offline' | 'pending'
|
||||
label?: string
|
||||
}
|
||||
|
||||
export function LiveIndicator({ status, label }: LiveIndicatorProps) {
|
||||
const colors = {
|
||||
live: 'bg-green-500',
|
||||
offline: 'bg-red-500',
|
||||
pending: 'bg-yellow-500',
|
||||
}
|
||||
|
||||
const labels = {
|
||||
live: 'Live',
|
||||
offline: 'Offline',
|
||||
pending: 'Pending',
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="flex items-center gap-2">
|
||||
<motion.div
|
||||
animate={status === 'live' ? { scale: [1, 1.3, 1] } : {}}
|
||||
transition={{ duration: 2, repeat: Infinity }}
|
||||
className={`w-2 h-2 rounded-full ${colors[status]}`}
|
||||
/>
|
||||
<span className="text-xs font-semibold text-gray-600 dark:text-gray-400">
|
||||
{label || labels[status]}
|
||||
</span>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user