AL
React + MotionMicrointeracciones

Avatar con estado

Un avatar redondo con un punto de estado y un anillo que late suave, para indicar que alguien está disponible.

Ajustes

2.4s

Código

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 para IA

Pégalo en ChatGPT, Claude o Cursor y adaptará el bloque a tu proyecto con estos ajustes, aunque no uses React.

Más en Microinteracciones

Dónde usarlo

Un anillo que late dice «aquí hay una persona real» mejor que una línea de texto. Funciona para el agente de soporte en un chat, el anfitrión de un apartamento turístico, un entrenador personal o el equipo conectado en una herramienta de proyectos. Este avatar con estado online en React usa iniciales, y admite foto sin problema.

Usa verde para disponible y pasa a ámbar o gris para ausente, en vez de tener a todo el mundo latiendo. Un pulso lento, de más de dos segundos, transmite calma; más rápido parece una alarma. Anima solo a quien importa en esa pantalla.