- Updated the `isActive` function in `Header.jsx` to handle root path and include logic for other paths. chore: Update package-lock.json to remove peer dependencies - Removed unnecessary peer dependencies from various packages in `package-lock.json`. feat: Update frameworks.json to include example links - Changed `exemplo_codigo` to `exemplo` and added `exemplos` links for various frameworks in `frameworks.json`. feat: Add placa images to series.json - Included image paths for different ESP32 series in `series.json`. feat: Create CodeExample component for displaying code snippets - Added a new `CodeExample.jsx` component to fetch and display code examples dynamically. feat: Add example Arduino code for Wi-Fi connection - Created `arduino.ino` example for connecting to Wi-Fi. feat: Add example code for audio playback using ESP-ADF - Created `esp-adf.c` example for audio playback using ESP-ADF. feat: Add example code for DSP operations - Created `esp-dsp.c` example demonstrating basic DSP operations. feat: Add example code for ESP-IDF LED blinking - Created `esp-idf.c` example for blinking an LED using ESP-IDF. feat: Add example code for Matter integration - Created `esp-matter.c` example for Matter device initialization and event handling. feat: Add example code for neural network operations - Created `esp-nn.c` example demonstrating basic neural network operations. feat: Add example code for face detection using ESP-WHO - Created `esp-who.c` example for face detection using ESP-WHO library. feat: Add MicroPython example for LED blinking - Created `micropython.py` example for blinking an LED using MicroPython.
155 lines
9.8 KiB
React
155 lines
9.8 KiB
React
import Header from "@/components/Header";
|
|
import Footer from "@/components/Footer";
|
|
import Link from "next/link";
|
|
|
|
export default function Sobre() {
|
|
const features = [
|
|
{ icon: "📚", title: "Documentação Curada", desc: "Conteúdos organizados por níveis — do iniciante ao avançado." },
|
|
{ icon: "🔧", title: "Exemplos Práticos", desc: "Projetos e trechos de código para aprender fazendo." },
|
|
{ icon: "🌐", title: "Comunidade", desc: "Contribuições abertas e canal para dúvidas e trocas." },
|
|
{ icon: "♿", title: "Acessibilidade", desc: "Textos claros, contraste adequado e navegação por teclado." },
|
|
];
|
|
|
|
return (
|
|
<div className="bg-linear-to-br from-blue-50 via-white to-purple-50 min-h-screen text-gray-800">
|
|
<a href="#conteudo" className="sr-only focus:not-sr-only focus:absolute focus:top-4 focus:left-4 focus:bg-white focus:px-4 focus:py-2 focus:rounded-md focus:shadow focus:ring-2 focus:ring-purple-500">
|
|
Ir para o conteúdo
|
|
</a>
|
|
|
|
<Header />
|
|
|
|
<main id="conteudo" className="px-4 pt-16 pb-20 max-w-6xl mx-auto">
|
|
<header className="relative overflow-hidden rounded-2xl p-8 md:p-12 bg-linear-to-r from-blue-600 via-purple-600 to-pink-500 text-white shadow-lg">
|
|
<div className="relative z-10 max-w-4xl mx-auto">
|
|
<h1 className="text-4xl md:text-5xl font-extrabold leading-tight bg-clip-text text-transparent bg-linear-to-r from-white to-purple-100 mb-3">
|
|
Sobre o ESPDocs
|
|
</h1>
|
|
|
|
<p className="text-lg md:text-xl opacity-90 max-w-3xl mb-6">
|
|
Uma documentação não oficial, em português, feita por um entusiasta e para
|
|
a comunidade — com foco em clareza, exemplos práticos e colaboração aberta.
|
|
</p>
|
|
|
|
<div className="flex flex-col sm:flex-row gap-3 sm:gap-4 items-start sm:items-center">
|
|
<Link href="/" className="inline-flex items-center justify-center bg-white text-blue-700 px-4 py-2 rounded-lg font-semibold shadow-sm hover:shadow-md transition focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-white" aria-label="Voltar para a página inicial">
|
|
← Voltar
|
|
</Link>
|
|
|
|
<a
|
|
href="https://github.com/lucasrguerra/ESPDocs"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
className="inline-flex items-center justify-center bg-white/20 border border-white/30 text-white px-4 py-2 rounded-lg font-semibold hover:bg-white/30 transition focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-white"
|
|
aria-label="Abrir repositório do projeto no GitHub (abre em nova aba)"
|
|
>
|
|
Contribuir no GitHub
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<div className="mt-8 grid grid-cols-1 md:grid-cols-3 gap-6">
|
|
<section className="md:col-span-2 space-y-6">
|
|
<article className="bg-white/70 backdrop-blur-sm rounded-2xl p-6 shadow-sm border border-gray-100">
|
|
<h2 className="text-2xl font-bold mb-2">Missão</h2>
|
|
<p className="text-gray-700 leading-relaxed">
|
|
Facilitar o aprendizado e acelerar projetos com ESP32 por meio de
|
|
documentação clara, exemplos testados e comparativos práticos.
|
|
Priorizei traduções fiéis, explicações passo a passo e dicas
|
|
baseadas em experiência real de desenvolvimento.
|
|
</p>
|
|
</article>
|
|
|
|
<article className="bg-white rounded-2xl p-6 shadow-sm border border-gray-100">
|
|
<h2 className="text-2xl font-bold mb-2">Por que o ESPDocs?</h2>
|
|
<p className="text-gray-700 leading-relaxed mb-4">
|
|
Informações técnicas frequentemente estão dispersas entre datasheets,
|
|
fóruns e repositórios. O ESPDocs centraliza esse conteúdo em português,
|
|
com foco em aplicabilidade.
|
|
</p>
|
|
|
|
<ul role="list" className="grid sm:grid-cols-2 gap-4">
|
|
{features.map((f) => (
|
|
<li key={f.title} className="flex gap-3 items-start bg-gray-50 p-4 rounded-lg border border-gray-100">
|
|
<div className="text-2xl" aria-hidden="true">{f.icon}</div>
|
|
<div>
|
|
<h3 className="font-semibold text-gray-800">{f.title}</h3>
|
|
<p className="text-sm text-gray-600">{f.desc}</p>
|
|
</div>
|
|
</li>
|
|
))}
|
|
</ul>
|
|
</article>
|
|
|
|
<article className="bg-white/70 backdrop-blur-sm rounded-2xl p-6 shadow-sm border border-gray-100">
|
|
<h2 className="text-2xl font-bold mb-2">Como contribuir</h2>
|
|
<p className="text-gray-700 leading-relaxed mb-3">
|
|
Correções, traduções e novos exemplos são bem-vindos. Abra uma
|
|
issue ou um pull request no repositório. Busco por clareza nas
|
|
descrições e exemplos testáveis.
|
|
</p>
|
|
<ol className="list-decimal list-inside text-gray-700 space-y-1">
|
|
<li>Fork do repositório e crie uma branch clara.</li>
|
|
<li>Adicione exemplos ou corrija o conteúdo com referências quandopossível.</li>
|
|
<li>Abra um PR e descreva o que foi alterado.</li>
|
|
</ol>
|
|
</article>
|
|
|
|
<article className="bg-white rounded-2xl p-6 shadow-sm border border-gray-100">
|
|
<h2 className="text-2xl font-bold mb-2">Acessibilidade</h2>
|
|
<p className="text-gray-700 leading-relaxed">
|
|
O site prioriza leitura, contraste legível e navegação por teclado.
|
|
Se encontrar barreiras, por favor relate para que eu possa melhorar.
|
|
</p>
|
|
</article>
|
|
</section>
|
|
|
|
<aside className="space-y-4">
|
|
<div className="bg-white rounded-2xl p-6 shadow-md border border-gray-100">
|
|
<div className="flex items-center justify-between mb-3">
|
|
<h3 className="text-lg font-semibold">Contribua</h3>
|
|
<span className="text-xs bg-green-100 text-green-800 px-2 py-1 rounded-full">Open Source</span>
|
|
</div>
|
|
|
|
<p className="text-gray-700 mb-4">
|
|
Ajude a melhorar o ESPDocs com exemplos, correções e traduções.
|
|
</p>
|
|
|
|
<div className="flex flex-col gap-3">
|
|
<a
|
|
href="https://github.com/lucasrguerra/ESPDocs"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
className="inline-flex items-center justify-center px-4 py-2 rounded-lg bg-linear-to-r from-blue-600 to-purple-600 text-white font-semibold shadow-sm hover:shadow-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-purple-500"
|
|
aria-label="Abrir repositório no GitHub"
|
|
>
|
|
Ver repositório
|
|
</a>
|
|
|
|
<Link href="/contato" className="inline-flex items-center justify-center px-4 py-2 rounded-lg border border-gray-200 text-gray-700 hover:border-purple-400 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-purple-500" aria-label="Ir para a página de contato">
|
|
Entrar em contato
|
|
</Link>
|
|
</div>
|
|
|
|
<div className="mt-4 text-sm text-gray-500">
|
|
<strong>Nota:</strong> Conteúdo não oficial. Consulte sempre datasheets
|
|
e documentos oficiais para decisões críticas.
|
|
</div>
|
|
</div>
|
|
|
|
<div className="bg-white/80 rounded-2xl p-4 shadow-sm border border-gray-100">
|
|
<h4 className="font-semibold mb-2">Resumo</h4>
|
|
<ul className="text-sm text-gray-700 space-y-2">
|
|
<li>🔎 Conteúdo técnico explicado.</li>
|
|
<li>🧪 Exemplos e projetos.</li>
|
|
<li>🤝 Comunidade e contribuições.</li>
|
|
</ul>
|
|
</div>
|
|
</aside>
|
|
</div>
|
|
</main>
|
|
|
|
<Footer />
|
|
</div>
|
|
);
|
|
} |