diff --git a/app/sobre/page.jsx b/app/sobre/page.jsx index 44e988f..19ae64c 100644 --- a/app/sobre/page.jsx +++ b/app/sobre/page.jsx @@ -125,10 +125,6 @@ export default function Sobre() { > Ver repositório - - - Entrar em contato -
diff --git a/components/CodeExample.jsx b/components/CodeExample.jsx index 84dee24..763fe8a 100644 --- a/components/CodeExample.jsx +++ b/components/CodeExample.jsx @@ -86,7 +86,7 @@ export default function CodeExample({ framework }) { - ); - })} -
- + return ( +
+
+

+ 📍 + Diagrama de Conexões Interativo +

+

+ Explore as conexões do ESP32. Use a busca, filtros por função ou passe o mouse para ver detalhes rápidos. +

+
-
-
- {connections.map((connection, index) => { - const visible = isConnectionVisible(connection); - const isHovered = hoveredConnection === index; - return ( - + )} +
-
- {connection.nome} -
+
+ + +
+
+
- {connection.restricoes && ( -
- - - -
- )} - - ); - })} - - +
+
+ + + - {connections.some(c => c.restricoes) && ( -
-
-
-
- - - -
-
+

+ Filtre por Função +

-
-

- Informações Importantes -

-
    -
  • - • - - Conexões com ícones de aviso possuem restrições de uso. Clique para mais detalhes. - -
  • -
  • - • - - Sempre consulte o datasheet oficial antes de usar conexões com funções especiais. - -
  • -
-
-
-
- )} + + {visibleConnections.length} de {connections.length} + +
- {selectedConnection && ( -
setSelectedConnection(null)} - role="dialog" - aria-modal="true" - aria-labelledby="modal-title" - > -
e.stopPropagation()} - > -
-
-
-
- {typeof selectedConnection.numero === "number" - ? selectedConnection.numero - : selectedConnection.numero.substring(0, 4)} -
-
- -

- Conexão {selectedConnection.numero} -

-
-
+
+ {FILTER_CATEGORIES.map((filter) => { + const isActive = activeFilter === filter.id; + const count = connections.filter(c => + filter.id === "All" ? true : c.categorias.includes(filter.id) + ).length; + + return ( + + ); + })} +
- -
-
+ {activeFilter !== "All" && activeCategories.length > 0 && ( +
+

Categorias visíveis:

+
+ {activeCategories.map(cat => ( + + + {cat.name} + + ))} +
+
+ )} +
-
-
-

- - - - Categorias -

+ {visibleConnections.length === 0 ? ( +
+
+ + + +
+

Nenhuma conexão encontrada

+

Tente ajustar os filtros ou termo de busca

+ +
+ ) : viewMode === "grid" ? ( +
+
+ {visibleConnections.map((connection, index) => { + const isHovered = hoveredConnection === index; + const connectionId = `connection-${index}`; + + return ( +
+
+
+ {connection.nome} +
-
-

- - - - Funções da Conexão -

+
+ {connection.categorias.slice(0, 5).map((cat) => ( + + ))} + {connection.categorias.length > 5 && ( + + +{connection.categorias.length - 5} + + )} +
-
-
    - {selectedConnection.funcoes.map((func, index) => ( -
  • - - {func} -
  • - ))} -
-
-
+ {connection.restricoes && ( +
+ + + +
+ )} + - {selectedConnection.restricoes && ( -
-
-
-
- - - -
-
-
-

- Alertas Importantes -

-

- {selectedConnection.restricoes} -

-
-
-
- )} -
+ {showTooltip === index && ( + + )} +
+ ); + })} +
+
+ ) : ( +
+
+ + + + + + + + + + + + {visibleConnections.map((connection, index) => ( + setSelectedConnection(connection)} + className="hover:bg-gray-50 cursor-pointer transition-colors group" + > + + + + + + + ))} + +
PinNomeCategoriasFunçõesStatus
+
+ {typeof connection.numero === "number" + ? connection.numero + : connection.numero.substring(0, 4)} +
+
+
+ {connection.nome} +
+
+
+ {connection.categorias.map((cat) => ( + + {cat === "Strapping" ? "Inicialização" : cat} + + ))} +
+
+
+ {connection.funcoes.join(", ")} +
+
+ {connection.restricoes ? ( + + + + + Atenção + + ) : ( + + + + + OK + + )} +
+
+
+ )} -
- -
-
-
- )} + {connections.some(c => c.restricoes) && ( +
+
+
+
+ + + +
+
-
-

Sobre a Matriz de Conexões Flexível

-

- O ESP32 possui uma matriz de conexões flexível que permite mapear diversas funções para múltiplos pinos. - Isso significa que muitas conexões podem ser configuradas para desempenhar diferentes papéis, dependendo das necessidades do seu projeto. - Consulte a documentação oficial para entender como aproveitar ao máximo essa flexibilidade. -

-
+
+

+ Informações Importantes +

+
    +
  • + • + + Conexões com ícones de aviso possuem restrições de uso. Clique para mais detalhes. + +
  • +
  • + • + + Sempre consulte o datasheet oficial antes de usar conexões com funções especiais. + +
  • +
+
+
+
+ )} - - - ); + {selectedConnection && ( +
setSelectedConnection(null)} + role="dialog" + aria-modal="true" + aria-labelledby="modal-title" + > +
e.stopPropagation()} + > +
+
+
+
+ {typeof selectedConnection.numero === "number" + ? selectedConnection.numero + : selectedConnection.numero.substring(0, 4)} +
+
+ +

+ Conexão {selectedConnection.numero} +

+
+
+ + +
+
+ +
+
+

+ + + + Categorias +

+ +
+ {selectedConnection.categorias.map((cat) => ( + + {cat === "Strapping" ? "Inicialização" : cat} + + ))} +
+
+ +
+

+ + + + Funções da Conexão +

+ +
+
    + {selectedConnection.funcoes.map((func, index) => ( +
  • + + {func} +
  • + ))} +
+
+
+ + {selectedConnection.restricoes && ( +
+
+
+
+ + + +
+
+
+

+ Alertas Importantes +

+

+ {selectedConnection.restricoes} +

+
+
+
+ )} +
+ +
+ +
+
+
+ )} + +
+

+ + + + Sobre a Matriz de Conexões Flexível +

+

+ O ESP32 possui uma matriz de conexões flexível que permite mapear diversas funções para múltiplos pinos. + Isso significa que muitas conexões podem ser configuradas para desempenhar diferentes papéis, dependendo das necessidades do seu projeto. + Consulte a documentação oficial para entender como aproveitar ao máximo essa flexibilidade. +

+
+ + + + ); } \ No newline at end of file diff --git a/components/SeriesTabMenu.jsx b/components/SeriesTabMenu.jsx index 3f5eea5..7aa41eb 100644 --- a/components/SeriesTabMenu.jsx +++ b/components/SeriesTabMenu.jsx @@ -15,7 +15,7 @@ export default function SeriesTabMenu({ tabs, color }) {