Implement Phase 1 of i18n spec:
- Configure next-intl with 6 locales (pt, en, es, fr, de, zh-CN) and pathnames
- Move routes to app/[locale] structure with localized layouts and metadata
- Add middleware for root language negotiation (307), legacy redirects (308), and 404 for non-pt book
- Implement language selector dropdown in header with cookie persistence
- Add system typography rules for zh-CN and word-break/hyphenation for de/fr
Co-Authored-By: Antigravity <noreply@google.com>
* feat(design): redesign das páginas internas no novo design system
Padroniza todas as páginas e componentes internos nos tokens e primitivos
de app/globals.css, com contraste AAA (7:1) nos dois temas e alvos de toque
de 44px.
- Páginas reescritas: glossário, séries, série, seletor, comparador,
diagnóstico, catálogo, component registry, frameworks, framework, sobre
e a nova 404.
- Componentes: PageHero e SectionHead novos; BoardCard, CodeExample,
PinRestrictions, SeriesTabMenu e ConnectionsDiagram refeitos, com abas
e diálogo acessíveis.
- Remove emojis, cores avulsas por série, caixa alta com tracking, texto
menor que 12px e os pares slate-*/dark:*.
- Comparador: "mostrar só as diferenças" e leitura de ?chips=.
- Corrige overflow em 320/390px e ajusta accent/copper do tema claro
para fechar 7:1.
- scripts/auditar-temas.mjs passa a travar paleta crua, dark:, texto
pequeno, emoji e contraste dos tokens.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016W1xmizFcmXLrmabSvfSuc
* ci: roda lint, auditorias de design e build em cada PR
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016W1xmizFcmXLrmabSvfSuc
---------
Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
- Implemented robots.txt to guide search engine indexing.
- Created layout components for the selector and series pages to manage metadata.
- Developed a dynamic sitemap generator based on existing series and frameworks data.
- Centralized SEO information in a new lib/seo.js file to maintain consistency across the site.
- Added SVG logos for branding.
- Introduced DESIGN.md to outline rules for maintaining consistent light and dark themes, including color scales, symmetry rules, and contrast requirements.
- Added PinRestrictions component to display pin usage restrictions based on series data, ensuring accurate representation of pin functionalities.
- Implemented auditing script (auditar-temas.mjs) to check for theme consistency issues, including nonexistent tones, inverted pairs, low contrast, and inline fixed colors.
- Padroniza JSON de conexões (vários chips): normaliza "numero", unifica categorias, substitui "restricoes" por "avisos" (array), adiciona "alimentacao" e revisa campos de tipo/funcões/avisos.
- Atualiza large conjunto de arquivos em public/conexoes (ESP32, ESP32-S2/S3/C3/C5/C6/H2/P4) para o novo formato e dados mais completos.
- Adapta ConnectionsDiagram.jsx ao novo schema:
- atualiza FILTER_CATEGORIES e type_colors;
- usa cores por tipo (type_colors) para background/bordas/indicadores;
- renomeia/exibe avisos, altera labels (ex: "Conexão" → "Pino"), melhora renderização de badges e contadores;
- refina modal (overlay, classes, exibição de categorias, seção de alimentação e lista de avisos).
- Altera page de série (app/series/[key]/page.jsx):
- adiciona bloco "Sobre a Matriz de Conexões Flexível";
- adiciona links rápidos: Datasheet, Guia de Programação e (condicional) Manual Técnico;
- ajusta estilos de botões/grades e espaçamento (md:mx-8);
- simplifica previous/next (retorna null em vez de placeholders vazios).
- Atualiza public/series.json com links de manual/guia, correções de specs (GPIO, temperaturas, descrições) e outras metadatas.
Resultados: dados de conexões padronizados, componente de diagrama consistente com o novo schema, melhor UX na página de série e acesso direto a documentação.
- 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.
Add a new JSON file public/series.json that defines detailed metadata for multiple
ESP32 series variants. The file includes entries for: ESP32, ESP32-S2, ESP32-S3,
ESP32-C3, ESP32-C5, ESP32-C6, ESP32-P4 and ESP32-H2.
Each entry provides human-friendly and technical fields such as:
- nome_completo, icone, descricao
- arquitetura, nucleos, frequencia, coprocessador_ulp, aceleradores_ia (when applicable)
- wireless capabilities (Wi‑Fi, Bluetooth, Zigbee/Thread, Matter), USB, Ethernet
- memory details (SRAM, RTC SRAM, ROM, external flash/PSRAM)
- peripherals and I/O counts (GPIO, ADC, DAC, touch, UART, SPI, I2C, I2S, PWM, SDIO, etc.)
- sensor info, temperature ranges, datasheet links and UI color values
This file will be used to power device/series lists and UI displays with consistent,
localized technical descriptions and links to datasheets.