jotis.meRegula

StreamGoal

Barra de meta del directo (seguidores, suscripciones, donaciones) con el avance, lo que falta y el porcentaje.

Cuándo usarlo

Props. label, current, goal, unit (opcional, se añade a las cifras), width (420 por defecto), labels.

Cuándo usarla. En el overlay, una por meta y no más de dos a la vez. La barra mide 14px, con el relleno en bg-brand-solid sobre bg-quaternary, y crece con una transición de 300 ms cuando current cambia. Las cifras usan formato español (1.284) y números tabulares. Al llegar a la meta, el pie cambia a "Meta conseguida. Toca poner otra." y la barra se queda llena.

Accesibilidad. Lleva role="progressbar" con aria-valuenow acotado a la meta, y el porcentaje va también en texto. La barra se llama como label, aunque no sea texto. Con prefers-reduced-motion la barra salta sin transición.

Evita. Metas imposibles que se queden en 0 % semanas. Usar el relleno de otro color al completarla: el índigo es el único acento.

Ampliaciones sobre la guía. labels sustituye los textos del pie: done y remaining(cifra), que recibe lo que falta con su unidad ("716", "40 €").

Ejemplos

Meta de seguidores1.284 / 2.000
Faltan 716 para la meta.64 %
Suscripciones del mes50 / 50 subs
Meta conseguida. Toca poner otra.100 %
Café para el directo0 / 40 €
Faltan 40 € para la meta.0 %

Props

PropTipoPor defectoDescripción
labelobligatoriaReactNode—Nombre de la meta; también nombra la barra.
currentobligatorianumber—
goalobligatorianumber—
unitstring—Se añade a las cifras ("subs", "€").
widthstring | number420
labelsPartial<StreamGoalLabels>—Sustituye los textos del pie (ampliación sobre la guía).
classNamestring—

Código

import { StreamGoal } from "@jotis-me/react";

export default function Page() {
	return (
		<>
			<StreamGoal label="Meta de seguidores" current={1284} goal={2000} />
		</>
	);
}