From 2a6699bbfbb9f3cc653b554ea9c35aaa47fe6a2c Mon Sep 17 00:00:00 2001 From: Lucas Rayan Date: Wed, 22 Oct 2025 23:10:30 -0300 Subject: [PATCH] feat: Enhance Header component to improve active link detection - 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. --- app/frameworks/[key]/page.jsx | 40 ++++------ app/frameworks/page.jsx | 19 ----- app/series/[key]/page.jsx | 31 +++----- app/sobre/page.jsx | 6 -- components/CodeExample.jsx | 141 +++++++++++++++++++++++++++++++++ components/Footer.jsx | 136 +++++++++++++++++++++++++------ components/Header.jsx | 6 +- package-lock.json | 9 --- public/exemplos/arduino.ino | 29 +++++++ public/exemplos/esp-adf.c | 72 +++++++++++++++++ public/exemplos/esp-dsp.c | 37 +++++++++ public/exemplos/esp-idf.c | 25 ++++++ public/exemplos/esp-matter.c | 44 ++++++++++ public/exemplos/esp-nn.c | 44 ++++++++++ public/exemplos/esp-who.c | 71 +++++++++++++++++ public/exemplos/micropython.py | 11 +++ public/frameworks.json | 24 ++++-- public/series.json | 8 ++ 18 files changed, 641 insertions(+), 112 deletions(-) create mode 100644 components/CodeExample.jsx create mode 100644 public/exemplos/arduino.ino create mode 100644 public/exemplos/esp-adf.c create mode 100644 public/exemplos/esp-dsp.c create mode 100644 public/exemplos/esp-idf.c create mode 100644 public/exemplos/esp-matter.c create mode 100644 public/exemplos/esp-nn.c create mode 100644 public/exemplos/esp-who.c create mode 100644 public/exemplos/micropython.py diff --git a/app/frameworks/[key]/page.jsx b/app/frameworks/[key]/page.jsx index 546269d..91e9d19 100644 --- a/app/frameworks/[key]/page.jsx +++ b/app/frameworks/[key]/page.jsx @@ -1,11 +1,12 @@ +import Link from "next/link"; import Header from "@/components/Header"; import Footer from "@/components/Footer"; -import Link from "next/link"; -import frameworksData from "@/public/frameworks.json"; import { notFound } from "next/navigation"; +import CodeExample from "@/components/CodeExample"; +import frameworksData from "@/public/frameworks.json"; -export default function FrameworkDetail({ params }) { - const { key } = params; +export default async function FrameworkDetail({ params }) { + const { key } = await params; const framework = frameworksData[key]; if (!framework) { @@ -42,7 +43,7 @@ export default function FrameworkDetail({ params }) { -
+
{framework.documentacao && (

FUNÇÃO PRINCIPAL

-

{framework.funcao_principal}

+

{framework.funcao_principal}

@@ -126,26 +127,17 @@ export default function FrameworkDetail({ params }) { - {framework.exemplo_codigo && ( -
-

- Exemplo de Código -

-
-
-                                {framework.exemplo_codigo}
-                            
-
-
+ {framework.exemplos && ( + )} -
+
{framework.documentacao && ( 📚 Documentação Oficial @@ -156,7 +148,7 @@ export default function FrameworkDetail({ params }) { href={framework.repositorio} target="_blank" rel="noopener noreferrer" - className="inline-flex items-center gap-2 bg-white text-gray-800 px-6 py-3 rounded-xl font-semibold shadow border-2 border-gray-100 hover:border-purple-300 transition" + className="inline-flex items-center mb-4 gap-2 bg-white text-gray-800 px-6 py-3 rounded-xl font-semibold shadow border-2 border-gray-100 hover:border-purple-300 transition" > 💻 Repositório no GitHub @@ -170,7 +162,7 @@ export default function FrameworkDetail({ params }) { } export async function generateMetadata({ params }) { - const { key } = params; + const { key } = await params; const framework = frameworksData[key]; if (!framework) { @@ -178,11 +170,13 @@ export async function generateMetadata({ params }) { } return { - title: `${framework.nome} - ${framework.nome_completo}`, + title: `ESPDocs - ${framework.nome_completo}`, description: framework.descricao, }; } export async function generateStaticParams() { - return Object.keys(frameworksData).map((key) => ({ key })); + return Object.keys(frameworksData).map((key) => ({ + key: key, + })); } \ No newline at end of file diff --git a/app/frameworks/page.jsx b/app/frameworks/page.jsx index 13ba4e4..e29d874 100644 --- a/app/frameworks/page.jsx +++ b/app/frameworks/page.jsx @@ -171,25 +171,6 @@ export default function Frameworks() {
- -
-
-
-

- 💡 Precisa de Ajuda para Escolher? -

-

- Compare frameworks, veja exemplos de código e entenda qual se adequa melhor ao seu projeto. -

-
- - 📊 Comparar Frameworks - -
-