/* global React */
/* ============================================================
MinerSuite mockups — small visual components used in the hero
dashboard and inside module-panels. All written with brand
tokens and JetBrains Mono for IDs / numbers.
============================================================ */
const { useState, useEffect, useMemo } = React;
/* --------- Brand mark (3×3 grid like the logo) --------- */
function BrandMark({ size = 28, gold = true }) {
const cells = [
"ink", gold ? "gold" : "ink", "soft",
"ink", "ink", "ink",
"ink", "ink", "ink",
];
return (
);
}
/* --------- Brand mark, reversed for dark backgrounds --------- */
function BrandMarkLight({ size = 22 }) {
return (
);
}
/* --------- Header logo --------- */
function HeaderLogo() {
return (
MinerSuite
);
}
/* --------- Sidebar item --------- */
function NavItem({ children, active, badge }) {
return (
{children}
{badge && {badge}}
);
}
/* --------- Hero Dashboard mockup --------- */
function HeroDashboard() {
const bars = [62, 48, 71, 55, 80, 64, 92, 76, 58, 88, 70, 95];
return (
Operação · Visão geral
Painel da consultoria
Buscar cliente, proposta, ANM…
⌘ K
Contratos ativos
58
+6 este mês
A receber · 30d
R$ 482k
12 parcelas
Propostas abertas
24
9 em análise
Vencidas
3
2 críticas
Propostas — fluxo trimestral
Mês
Trim.
Ano
{bars.map((h, i) => (
))}
{["J","F","M","A","M","J","J","A","S","O","N","D"].map((m, i) =>
{m}
)}
Propostas recentes
24 ATIVAS
PRP-2026-0418
Aurélia Mineração · Itabira/MG
EM ANÁLISE
R$ 84k
PRP-2026-0417
Carbonífera Mato Verde
APROVADA
R$ 162k
PRP-2026-0416
Granito Serra Azul
ENVIADA
R$ 47k
PRP-2026-0415
MinExplor · Conceição do Mato
PENDENTE
R$ 219k
);
}
/* --------- Module visuals --------- */
function Visual_Cliente360() {
return (
PROCESSOOBJETO · LOCALFASEÁREA (HA)
831.214/2018
Ferro · Itabira/MG
CONCESSÃO
486,2
831.892/2021
Quartzito · Diamantina/MG
REQUERIMENTO
198,7
832.044/2023
Granito · Nova Lima/MG
AUTORIZAÇÃO
122,4
832.301/2024
Areia industrial · Sete Lagoas
DISPONIB.
64,9
);
}
function Visual_CRM() {
return (
);
}
function Visual_Propostas() {
return (
PROPOSTACLIENTESTATUSVALOR
PRP-0418
Aurélia Mineração
EM ANÁLISE · v3
R$ 84.200
PRP-0417
Carbonífera Mato Verde
APROVADA
R$ 162.500
PRP-0416
Granito Serra Azul
ENVIADA · v1
R$ 47.000
PRP-0415
MinExplor Consultoria
RASCUNHO · v2
R$ 219.800
);
}
function Visual_Contratos() {
return (
Contratos ativos58
A renovar · 60d7
Faturado · mêsR$ 318k
Em atraso3
CTR-241
Aurélia · Projeto técnico ANM
VIGENTE
12/12 parcelas
CTR-238
Carbonífera · Recursos minerais
RENOVAR
10/12 parcelas
);
}
function Visual_Financeiro() {
const months = [42, 56, 38, 64, 71, 58, 82, 76, 65, 88, 92, 84];
return (
Receita · mêsR$ 482.300
A receber · 30dR$ 218.400
Inadimplência2,8%
Margem média38,4%
{months.map((h, i) => (
))}
);
}
function Visual_Projetos() {
return (
A FAZER5
Levantamento topográfico
PRJ-218 · 14/06
Memorial descritivo
PRJ-220 · 22/06
EM EXECUÇÃO3
RAL · Aurélia Itabira
PRJ-214 · 12/06
PAE · Serra Azul
PRJ-209 · ATRASO
REVISÃO2
Plano de pesquisa
PRJ-206 · 09/06
);
}
function Visual_Templates() {
return (
Relatório de pesquisa mineral
12 tarefas · 4 checklists · 8 anexos
Plano de aproveitamento econômico
18 tarefas · 6 checklists · 14 anexos
RAL anual
9 tarefas · 3 checklists · 5 anexos
Disponibilidade · análise
6 tarefas · 2 checklists · 3 anexos
);
}
function Visual_Equipe() {
return (
Eng. Marília C. — Líder técnico
04 PROJETOS
Eng. Rafael T. — Geólogo sênior
07 PROJETOS
Beatriz O. — Coord. comercial
12 PROPOSTAS
João P. — Colaborador técnico
03 PROJETOS
);
}
function Visual_ANM() {
return (
PROCESSOSUBSTÂNCIA · UFFASEÁREA
831.214/2018
Minério de ferro · MG
CONCESSÃO
486,2 ha
801.927/2019
Calcário · BA
REQUERIMENTO
1.204,6 ha
880.412/2022
Caulim · PA
AUTORIZAÇÃO
832,1 ha
832.301/2024
Areia industrial · MG
DISPONIBILIDADE
64,9 ha
);
}
/* --------- Agenda — calendário colaborativo --------- */
function Visual_Agenda() {
const days = ["SEG 10", "TER 11", "QUA 12", "QUI 13", "SEX 14"];
// events[day] = [{start, span, kind, title}]
const events = [
[
{ start: 1, span: 2, kind: "meet", title: "Kickoff · Aurélia" },
],
[
{ start: 0, span: 1, kind: "deadline", title: "Prazo RAL" },
{ start: 3, span: 2, kind: "contract", title: "Renovação CTR-238" },
],
[
{ start: 1, span: 1, kind: "meet", title: "Revisão técnica" },
{ start: 4, span: 2, kind: "anm", title: "Protocolo ANM" },
],
[
{ start: 2, span: 2, kind: "finance", title: "Cobrança · 12 parc." },
],
[
{ start: 0, span: 2, kind: "meet", title: "Status semanal" },
{ start: 3, span: 1, kind: "deadline", title: "Entrega PAE" },
],
];
return (
091011121416
{days.map((d, i) => (
{d}
{events[i].map((ev, j) => (
{ev.title}
))}
))}
REUNIÃO · TER 11 · 10h
! Conflito · Marília
Kickoff · Aurélia Mineração
PRJ-218 · projeto técnico
·
Meet · video
MC
Marília C.
Confirmou
RT
Rafael T.
Confirmou
AA
A. Aurélia externo
Pendente
BO
Beatriz O.
Acompanhando
2 COMENTÁRIOS · 1 MENÇÃO
RT
@marilia levo o memorial atualizado para a pauta.
);
}
/* --------- Histórico — log de auditoria / atividade --------- */
function Visual_Historico() {
const items = [
{ who: "MC", name: "Marília C.", verb: "alterou status", entity: "PRP-0418", from: "RASCUNHO", to: "APROVADA", time: "14:32", kind: "gold" },
{ who: "RT", name: "Rafael T.", verb: "adicionou tarefa", entity: "PRJ-218", note: "Memorial descritivo", time: "11:18", kind: "ink" },
{ who: "BO", name: "Beatriz O.", verb: "criou proposta", entity: "PRP-0419", note: "R$ 84.200 · Carbonífera", time: "10:04", kind: "gold" },
{ who: "MC", name: "Marília C.", verb: "confirmou RSVP", entity: "AGD-K-118", note: "Kickoff Aurélia · TER 11/06", time: "09:22", kind: "success" },
{ who: "AA", name: "A. Aurélia", verb: "respondeu convite", entity: "AGD-K-118", note: "Externo · ACEITOU", time: "08:47", kind: "ext" },
{ who: "RT", name: "Rafael T.", verb: "encerrou contrato", entity: "CTR-204", from: "VIGENTE", to: "ENCERRADO", time: "08:12", kind: "danger" },
];
return (
LINHA DO TEMPO · HOJE
6 EVENTOS
{items.map((it, i) => (
{it.who}
{it.name} {it.verb} {it.entity}
{it.from && it.to && (
{it.from}
→
{it.to}
)}
{it.note && (
{it.note}
)}
{it.time}
))}
);
}
/* --------- Expose to global scope --------- */
Object.assign(window, {
BrandMark, BrandMarkLight, HeaderLogo,
HeroDashboard,
Visual_Cliente360, Visual_CRM, Visual_Propostas, Visual_Contratos,
Visual_Financeiro, Visual_Projetos, Visual_Templates,
Visual_Equipe, Visual_ANM, Visual_Agenda, Visual_Historico
});