/* Configurações — Funcionários, Praias, Empresa, Parâmetros */ function Configuracoes({ ctx }) { const [sub, setSub] = useState("funcionarios"); return ( <>
Equipe, praias, dados da empresa e parâmetros do sistema
Crie o primeiro usuário para começar.
| Nome | Perfil | Último acesso | Status | |||
|---|---|---|---|---|---|---|
|
{s.name.split(" ").map(w => w[0]).slice(0,2).join("")}
{s.name}
|
{s.email} | {s.phone} | {s.role} | {s.lastLogin ? fmtDate(s.lastLogin) : "—"} |
|
| Aba | Admin Super | Admin | Gestor | Operador | Visualizador |
|---|---|---|---|---|---|
| {r.name} | {r.perms.map((v, j) => (
{v === 1 && |
))}
| Sabor | Preço un. (R$) | Un. por caixa | Valor da caixa | |
|---|---|---|---|---|
|
{p.flavor}
|
set(p.id, { price: e.target.value.replace(/[^\d.,]/g,"") })} style={{ width:90, textAlign:"right", padding:"5px 8px", fontSize:12.5 }} /> |
set(p.id, { boxSize: e.target.value.replace(/\D/g, "") })}
style={{ width:60, textAlign:"right", padding:"5px 8px", fontSize:12.5 }} />
un
|
{fmtBRL(boxSz * price * 0.55)} | {isDirty ? : —} |
Cadastre praias para que os picolezeiros possam operar.
| Praia | Município | Observações | Picolezeiros | |
|---|---|---|---|---|
|
|
{b.city} | {b.note || "—"} | {pics} |
|
| Nome | Tipo | Observação | Sabores com estoque | Unidades | |
|---|---|---|---|---|---|
| {w.name} |
{w.system
? |
{w.note || "—"} | {sabors} | {fmtInt(units)} |
{!w.system && (
)}
|