Card de inicio
Un dato protagonista, su contexto y una sola acción.
Clima de 4.º A
Últimos 30 días
3,80,3 más que el mes pasado
42 pulsos anónimos
Código
dashboard-card.tsx
import { Button } from "@moodinary/ui/components/button";
import {
Card,
CardAction,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from "@moodinary/ui/components/card";
import { TrendingUpIcon } from "@moodinary/ui/components/icons";
export default function DashboardCardPattern() {
return (
<Card className="w-full max-w-sm">
<CardHeader>
<CardTitle>Clima de 4.º A</CardTitle>
<CardDescription>Últimos 30 días</CardDescription>
<CardAction>
<Button size="sm" variant="ghost">
Ver detalle
</Button>
</CardAction>
</CardHeader>
<CardContent>
<div className="flex items-baseline gap-2">
<span className="font-medium text-4xl text-ink tabular-nums">
3,8
</span>
<span className="flex items-center gap-1 text-ok text-xs">
<TrendingUpIcon className="size-3.5" />
0,3 más que el mes pasado
</span>
</div>
<div aria-hidden className="mt-4 flex h-2 overflow-hidden rounded-full">
{[6, 10, 22, 38, 24].map((w, i) => (
<span
key={w}
style={{ background: `var(--m${i + 1})`, width: `${w}%` }}
/>
))}
</div>
</CardContent>
<CardFooter className="text-ink-3 text-xs">42 pulsos anónimos</CardFooter>
</Card>
);
}Anatomía
- Encabezado: título con el nombre del grupo, período como descripción y una acción ghost a la derecha.
- Dato: cifra en
text-4xl tabular-numscon coma decimal. La tendencia va en palabras, no solo con una flecha. - Distribución: barra con la rampa de ánimo m1 a m5, nunca otros colores.
- Pie: cuántos pulsos sostienen el dato. Si son pocos, la niebla avisa que el promedio es provisorio.
Evitá
- Íconos decorativos en el encabezado.
- Más de una acción primaria.
- Porcentajes de confianza que nadie pidió.