import { Tooltip } from "antd"; interface PriorityQueueProps { queueSizes: number[]; maxTotalSize?: number; className?: string; } export default function PriorityQueueBar({ queueSizes = [], className = "", maxTotalSize }: PriorityQueueProps) { const totalSize = queueSizes.reduce((total, size) => total + size, 0); const colors = ["bg-red-500", "bg-yellow-500", "bg-green-500", "bg-green-600", "bg-green-700", "bg-green-800"]; const restPercent = maxTotalSize ? ((maxTotalSize - totalSize) / maxTotalSize) * 100 : 0; if (totalSize === 0) { return
0
; } return (
Total Size: {totalSize.toLocaleString()}
{queueSizes.map((size, index) => { return (
priority: {index} – items:{" "} {size.toLocaleString()}
); })} } >
{queueSizes.map((size, index) => { const percentage = totalSize > 0 ? (size / Math.max(totalSize, maxTotalSize ?? 0)) * 100 : 0; return (
{size}
); })} {restPercent > 0 && (
)}
); }