5180 fichiers 38.5 Mo 0 téléchargements 297 vues mis à jour il y a 6 heures ui
nitro-v36-with-renderer-v36 / src / components / guide-tool / views / GuardianAnimatedIcon.tsx
GuardianAnimatedIcon.tsx 718 o Télécharger le fichier
import { FC, useEffect, useState } from 'react';

interface GuardianAnimatedIconProps {
    frames: string[];
    className?: string;
}

/** AIR startWaitingAnimation: the frames of a waiting icon, one every 500 ms. */
export const GuardianAnimatedIcon: FC<GuardianAnimatedIconProps> = ({ frames, className = '' }) => {
    const [frame, setFrame] = useState(0);

    useEffect(() => {
        if (frames.length < 2) return;

        const interval = window.setInterval(() => setFrame((value) => (value + 1) % frames.length), 500);

        return () => window.clearInterval(interval);
    }, [frames.length]);

    return <img alt="" className={className} draggable={false} src={frames[frame % frames.length]} />;
};
15Sujets
1Dépôts
20Membres
2En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser