Spaces:
Sleeping
Sleeping
File size: 1,810 Bytes
197ac2a bbc30f3 197ac2a bbc30f3 197ac2a bbc30f3 197ac2a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | const ITENS = [
{ v: "dashboard", i: "🏠", t: "Dashboard" },
{ v: "oportunidades", i: "💼", t: "Oportunidades" },
{ v: "leads", i: "🌱", t: "Leads" },
{ v: "tarefas", i: "✅", t: "Tarefas" },
{ v: "satisfacao", i: "😊", t: "Satisfação" },
{ v: "cancelamentos", i: "❌", t: "Cancelamentos" },
{ v: "busca", i: "🔎", t: "Consulta" },
{ v: "alertas", i: "🚨", t: "Alertas" },
{ v: "tendencias", i: "📈", t: "Tendências" },
{ v: "relatorio", i: "📄", t: "Relatório" },
{ v: "config", i: "⚙️", t: "Configuração" },
];
export default function Sidebar({ view, onNavigate, aberta }) {
return (
<aside className={"sidebar" + (aberta ? " open" : "")}>
<div className="sb-brand">
{/* TODO: substituir pelo arquivo real da logo Penso (aguardando upload como anexo). */}
<div className="logo penso-logo">P</div>
<div>
<h1>Analytical-Force</h1>
<div className="s">Penso · Diagnóstico comercial</div>
</div>
</div>
<nav>
{ITENS.map((it) => (
<a
key={it.v}
className={view === it.v ? "active" : ""}
onClick={() => onNavigate(it.v)}
>
<span className="i">{it.i}</span>
{it.t}
</a>
))}
</nav>
<div className="sb-foot">
<img
src="https://avatars.githubusercontent.com/u/66964047?s=400&u=ef769a81cacd810da6761e08129a1860dd11e36c&v=4"
alt="Vinicius"
/>
<div>
<div className="n">Vinicius de Souza Santos</div>
<div className="r">Desenvolvedor</div>
</div>
</div>
</aside>
);
}
export const VIEW_TITULOS = Object.fromEntries(ITENS.map((it) => [it.v, it.t === "Alertas" ? "Alertas & riscos" : it.t]));
|