AL
React + MotionMicro-interactions

Avatar avec statut

Un avatar rond avec une pastille de statut et un anneau qui pulse doucement pour montrer qu’une personne est disponible.

Réglages

2.4s

Code

import { motion } from "framer-motion";

interface StatusAvatarProps {
  color?: string;
  speed?: number;
}

export default function StatusAvatar({
  color = "#34c759",
  speed = 2.4,
}: StatusAvatarProps) {
  return (
    <div className="relative text-[#1d1d1f] dark:text-[#f5f5f7]">
      <motion.div
        className="absolute -inset-1 rounded-full border-2"
        style={{ borderColor: color }}
        animate={{ scale: [1, 1.12, 1], opacity: [1, 0.35, 1] }}
        transition={{ duration: speed, repeat: Infinity }}
      />
      <div className="grid h-16 w-16 place-items-center rounded-full bg-white dark:bg-[#1c1c1e] text-lg font-semibold shadow-[0_1px_2px_rgba(0,0,0,0.03),0_8px_28px_rgba(0,0,0,0.05)]">
        AL
      </div>
      <span
        className="absolute bottom-0 right-0 h-4 w-4 rounded-full border-2 border-white dark:border-[#1c1c1e]"
        style={{ backgroundColor: color }}
      />
    </div>
  );
}

Prompt pour l’IA

Collez-le dans ChatGPT, Claude ou Cursor : le bloc sera adapté à votre projet avec ces réglages, même sans React.

Plus dans Micro-interactions

Où l’utiliser

Un anneau qui pulse dit « il y a une vraie personne ici » mieux qu’une ligne de texte. Il convient au conseiller d’un chat d’assistance, à l’hôte d’une location de vacances, à un coach ou aux collègues connectés dans un outil de projet. Cet avatar avec statut en ligne en React affiche des initiales ou une photo.

Gardez le vert pour « disponible » et passez à l’ambre ou au gris pour « absent », plutôt que de faire pulser tout le monde. Une pulsation lente, de plus de deux secondes, apaise ; plus rapide, elle ressemble à une alerte.