const { Tabs, DemandCard, Card, Button, Icon, EmptyState, Select, SearchField, Badge } = window.ACRFlowDesignSystem_ba1e9c; const FILTERS = [ { id: "todas", label: "Todas" }, { id: "hoje", label: "Hoje" }, { id: "amanha", label: "Amanhã" }, { id: "atrasadas", label: "Atrasadas" }, { id: "alta", label: "Alta prioridade" }, { id: "minhas", label: "Minhas" }, ]; function order(a, b) { const rank = (d) => (d.daysLeft < 0 ? 0 : d.daysLeft === 0 ? 1 : d.daysLeft === 1 ? 2 : d.priority === "urgente" ? 3 : d.priority === "alta" ? 4 : 5); return rank(a) - rank(b) || a.daysLeft - b.daysLeft; } function QueueScreen({ user, onOpenDemand, onNavigate }) { const [filter, setFilter] = React.useState("todas"); const [q, setQ] = React.useState(""); const all = window.ACRData.demands.filter((d) => d.status !== "encerrada"); const list = all.filter((d) => { if (q && !(d.title + d.id).toLowerCase().includes(q.toLowerCase())) return false; if (filter === "hoje") return d.daysLeft === 0; if (filter === "amanha") return d.daysLeft === 1; if (filter === "atrasadas") return d.daysLeft < 0; if (filter === "alta") return d.priority === "alta" || d.priority === "urgente"; if (filter === "minhas") return d.people.some((p) => p.name === user.name); return true; }).sort(order); const groups = [ { key: "atrasadas", label: "Atrasadas", tone: "danger", items: list.filter((d) => d.daysLeft < 0) }, { key: "hoje", label: "Vencendo hoje", tone: "danger", items: list.filter((d) => d.daysLeft === 0) }, { key: "amanha", label: "Vencendo amanhã", tone: "warning", items: list.filter((d) => d.daysLeft === 1) }, { key: "resto", label: "Próximas", tone: "neutral", items: list.filter((d) => d.daysLeft > 1) }, ].filter((g) => g.items.length); return (