import { useEffect } from "react"; import { motion } from "framer-motion"; import PropTypes from "prop-types"; import { Wind, ShieldCheck, Hammer, Map, ClipboardList, FlaskConical, Building2 } from "lucide-react"; const ORANGE = "#F36F21"; const DARK_GRAY = "#3A3A3A"; const LIGHT_GRAY = "#F5F5F5"; export default function PortfolioNorden() { useEffect(() => { const cases = [ { name: "bullets válidos", bullets: ["Item A", "Item B"] }, { name: "bullets vazio (permitido)", bullets: [] }, { name: "bullets inválido", bullets: null }, ]; console.group("PortfolioNorden – Testes"); cases.forEach((c) => { const ok = Array.isArray(c.bullets) || c.bullets === null; console.assert(ok, `Caso "%s": 'bullets' deve ser array ou null`, c.name); }); console.groupEnd(); }, []); return (
Portfólio de Projetos Seleção de soluções em Mineração e Ambiental executadas pela Norden, com foco em autoridade técnica, mitigação de riscos e viabilidade de empreendimentos.
} categoria="Análise Minerária & Bloqueio" titulo="Parque Eólico e Linha de Transmissão — Serra da Palmeira" cliente="CTG Brasil" resumo="Análise de 70 processos minerários (44 na área do Parque Eólico e 26 na LT) para identificar fases e potencial de avanço até lavra, com execução do Bloqueio Minerário para garantir a viabilidade do empreendimento." bullets={["Diagnóstico do estágio dos processos: pesquisa → lavra","Identificação de processos em lavra e de maior probabilidade de avanço","Inteligência para mitigação de riscos com terceiros mineradores","Bloqueio Minerário implementado nas áreas do parque e da linha"]} impacto="Segurança territorial e previsibilidade de longo prazo para o projeto energético." imgSrc="https://images.unsplash.com/photo-1505685296765-3a2736de412f?q=80&w=1600&auto=format&fit=crop" imgAlt="Mina a céu aberto" /> } categoria="Consultoria & Gestão Minerária" titulo="Consultoria Integral de Processos — 3PS Mineração" cliente="3PS Mineração" resumo="Desde 2022, consultoria estratégica, gestão, acompanhamento e regularização de 62 processos minerários da 3PS." bullets={["Estratégias para manutenção de áreas e planejamento de pesquisa","Gestão de comunicados de pesquisa, TAH, RAL e DIPEM","Orientação sobre estudos e relatórios técnicos para ANM","Governança regulatória contínua com indicadores de conformidade"]} impacto="Processos em conformidade legal e operacional, com continuidade segura das operações." imgSrc="https://images.unsplash.com/photo-1600962815702-0555b42b6b06?q=80&w=1600&auto=format&fit=crop" imgAlt="Caminhões fora de estrada em operação" /> } categoria="Pesquisa Mineral" titulo="Giongo Calcário — Pesquisa de Calcário e Cascalho" cliente="Grupo Giongo" resumo="Coordenação e execução da pesquisa mineral, do mapeamento geológico às licenças, com gestão e regularização de 31 processos minerários." bullets={["Mapeamento geológico e sondagem rotativa com descrição de furos","Análises geoquímicas e relatórios parciais e finais","Licenciamento mineral, ambiental e municipal","Apoio consultivo em todas as frentes de mineração do grupo"]} impacto="Pesquisa estruturada e licenciada, viabilizando exploração segura e sustentável." imgSrc="https://images.unsplash.com/photo-1581092334609-6716be88b34b?q=80&w=1600&auto=format&fit=crop" imgAlt="Testemunhos de sondagem e amostras" />
} titulo="Planejamento sob medida" texto="Estratégias de pesquisa, licenciamento e bloqueio dimensionadas para o contexto do cliente e exigências da ANM." /> } titulo="Gestão regulatória contínua" texto="TAH, RAL, DIPEM, comunicados e prazos sob controle com governança e rastreabilidade." /> } titulo="Rigor técnico" texto="Métodos de campo, análises e relatórios que sustentam decisões com dados e critérios de qualidade." />
); } function ProjectCard({ icon, categoria, titulo, cliente, resumo, bullets = [], impacto, imgSrc, imgAlt }) { return (
{imgAlt}
{icon} {categoria}

{titulo}

Cliente: {cliente}

{resumo}

{Array.isArray(bullets) && bullets.length > 0 && (
    {bullets.map((b, i) => (
  • {b}
  • ))}
)}

Impacto: {impacto}

); } ProjectCard.propTypes = { icon: PropTypes.node.isRequired, categoria: PropTypes.string.isRequired, titulo: PropTypes.string.isRequired, cliente: PropTypes.string.isRequired, resumo: PropTypes.string.isRequired, bullets: PropTypes.arrayOf(PropTypes.string), impacto: PropTypes.string.isRequired, imgSrc: PropTypes.string.isRequired, imgAlt: PropTypes.string.isRequired, }; function Feature({ icon, titulo, texto }) { return (
{icon}

{titulo}

{texto}

); } Feature.propTypes = { icon: PropTypes.node.isRequired, titulo: PropTypes.string.isRequired, texto: PropTypes.string.isRequired, };
top of page
bottom of page