Usage Meter
dashboardblocks/usage-meterFreeComponent
A usage meter component.
Live preview
live · rendered by the registry
Rendered by dashboardblocks on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://dashboardblocks.com/r/usage-meter.jsonSource
1import { cn } from '@/lib/utils'23export interface UsageMeterValueProps {4 children: React.ReactNode5 className?: string6}78export const UsageMeterValue = ({ children, className }: UsageMeterValueProps) => {9 return (10 <span className={cn('text-2xl font-semibold tracking-tight', className)}>11 {children}12 </span>13 )14}1516export interface UsageMeterLimitProps {17 children: React.ReactNode18 className?: string19}2021export const UsageMeterLimit = ({ children, className }: UsageMeterLimitProps) => {22 return (23 <span className={cn('text-sm text-muted-foreground', className)}>{children}</span>24 )25}2627export interface UsageMeterStatusProps {28 children?: React.ReactNode29 className?: string30 percentage: number31 warningThreshold?: number32}3334export const UsageMeterStatus = ({35 children,36 className,37 percentage,38 warningThreshold = 80,39}: UsageMeterStatusProps) => {40 const safePercentage = Number.isFinite(percentage) ? percentage : 041 const normalized = Math.min(100, Math.max(0, safePercentage))42 const isCritical = normalized >= 9543 const isWarning = normalized >= warningThreshold4445 const defaultMessage = isCritical ? 'Critical' : isWarning ? 'Warning' : 'Normal'4647 return (48 <span49 className={cn(50 'inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium',51 isCritical52 ? 'bg-destructive/10 text-destructive'53 : isWarning54 ? 'bg-amber-500/10 text-amber-600 dark:text-amber-500'55 : 'bg-emerald-500/10 text-emerald-600 dark:text-emerald-500',56 className,57 )}58 >59 {children ?? defaultMessage}60 </span>61 )62}
Files it writes
More from dashboardblocks
All 36 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Activity Feedactivity-feed | dashboardblocks | Components | Free | 1 dep | |
| activity-feed-01activity-feed-01 | dashboardblocks | Components | Free | 1 dep | |
| activity-feed-02activity-feed-02 | dashboardblocks | Components | Free | 1 dep | |
| activity-feed-03activity-feed-03 | dashboardblocks | Components | Free | 1 dep | |
| activity-feed-04activity-feed-04 | dashboardblocks | Components | Free | 1 dep | |
| activity-feed-05activity-feed-05 | dashboardblocks | Components | Free | 1 dep | |
| Animated Numberanimated-number | dashboardblocks | Components | Free | no deps | |
| Animated Waveanimated-wave | dashboardblocks | Components | Free | no deps |
