"use client"; import { cn } from "@/utils/cn"; import { useState, useEffect } from "react"; import ScrambleText from "@/components/ui/motion/scramble-text"; export const Shimmer = ({ className, text = "Loading...", }: { className?: string; text?: string; }) => { const [isInView, setIsInView] = useState(false); useEffect(() => { setIsInView(true); }, []); return (
{text && (
)}
{text}
); }; export const ShimmerSingle = ({ className, text, }: { className?: string; text?: string; }) => { const [isInView, setIsInView] = useState(false); useEffect(() => { setIsInView(true); }, []); return (
{text && (
)}
); }; // Chart shimmer with fire glow effect export const ChartShimmer = ({ className, text = "Loading chart data...", }: { className?: string; text?: string; }) => { const [isInView, setIsInView] = useState(false); useEffect(() => { setIsInView(true); }, []); return (
{/* Subtle fire glow background */}
{/* Loading text */} {text && (
)} {/* Chart bars */}
{Array.from({ length: 8 }, (_, i) => (
))}
); };