React + MotionLoader

Unbestimmter Fortschrittsbalken

Ein schmaler Balken mit einem Abschnitt, der immer wieder durchläuft, für Wartezeiten ohne bekannte Dauer.

Einstellungen

10px
1.6s

Code

import { motion } from "framer-motion";

interface ProgressBarProps {
  color?: string;
  /** Grosor de la barra en px. */
  size?: number;
  /** Duración de un recorrido en segundos. */
  speed?: number;
}

export default function ProgressBar({
  color = "#0071e3",
  size = 10,
  speed = 1.6,
}: ProgressBarProps) {
  return (
    <div
      role="progressbar"
      aria-label="Wird geladen"
      className="w-56 overflow-hidden rounded-full bg-black/5 dark:bg-white/10"
      style={{ height: size }}
    >
      <motion.div
        className="h-full rounded-full"
        style={{ backgroundColor: color }}
        initial={false}
        animate={{ x: ["-100%", "220%"] }}
        transition={{ duration: speed, repeat: Infinity, ease: "easeInOut" }}
      />
    </div>
  );
}

Prompt für KI

Füg ihn in ChatGPT, Claude oder Cursor ein und der Baustein wird mit diesen Einstellungen an dein Projekt angepasst, auch ohne React.

Mehr aus Loader

Wofür du ihn nutzen kannst

Ein unbestimmter Fortschrittsbalken sagt „ich bin dran“, ohne eine Zeit zu versprechen. Er passt an den oberen Rand einer Web-App, während die nächste Seite lädt, in den Kopf eines Dashboards, das seine Diagramme aktualisiert, oder unter das Suchfeld eines Flugvergleichs. Er stört nicht und zeigt trotzdem, dass etwas passiert.

Schmal wirkt am besten: Drei oder vier Pixel am oberen Rand fallen kaum auf und beruhigen trotzdem. Sobald du den echten Prozentwert kennst, wechsle zu einem bestimmten Balken, damit man das Ende kommen sieht.