// ─────────────────────────────────────────────────────────────
// REFERENCES VIEW — Lista de suplementos como uma gaveta
// (cada nome de suplemento abre/fecha as referências dele,
// igual ao padrão visual da lista de produtos).
// ─────────────────────────────────────────────────────────────
const { useState: useStateRefs, useMemo: useMemoRefs } = React;
function ReferenceCard({ r, i, t }) {
const inner = (
<>
);
}
function ReferencesView({ t, query }) {
const all = (typeof REFERENCIAS_SUPLEMENTOS !== "undefined" ? REFERENCIAS_SUPLEMENTOS : []);
const q = (query || "").toLowerCase().trim();
const filtered = q
? all.filter(r => (
r.supplement.toLowerCase().includes(q) ||
(r.title || "").toLowerCase().includes(q) ||
(r.authors || "").toLowerCase().includes(q) ||
(r.journal || "").toLowerCase().includes(q)
))
: all;
// Agrupa por suplemento (preservando ordem de aparição)
const grouped = useMemoRefs(() => {
const map = new Map();
filtered.forEach(r => {
if (!map.has(r.supplement)) map.set(r.supplement, []);
map.get(r.supplement).push(r);
});
return Array.from(map.entries());
}, [filtered]);
// Estado: quais suplementos estão expandidos
// Quando há busca ativa, abre todos automaticamente
const [expandedSet, setExpandedSet] = useStateRefs(() => new Set());
const toggle = (supp) => {
setExpandedSet(prev => {
const next = new Set(prev);
if (next.has(supp)) next.delete(supp); else next.add(supp);
return next;
});
};
if (filtered.length === 0) {
return (
Nenhuma referência encontrada{q ? ` para "${query}"` : ""}.
);
}
return (
{/* Cabeçalho introdutório */}
Referências bibliográficas
Estudos clínicos, revisões sistemáticas e meta-análises que embasam o conteúdo deste acervo. Toque no nome do suplemento para abrir a gaveta com as referências.