Skip to content

feat: melhorar página de contato - #136

Open
italosergio wants to merge 10 commits into
devfrom
feat/pagina-contato
Open

feat: melhorar página de contato#136
italosergio wants to merge 10 commits into
devfrom
feat/pagina-contato

Conversation

@italosergio

Copy link
Copy Markdown
Collaborator

Mudanças

  • Mapa substituído de Google Maps (iframe) para Mapbox com marcador customizado (logo Ameciclo)
  • Coordenadas da sede corrigidas (-8.059349, -34.880116)
  • Campo e-mail agora é opcional
  • Botão de envio por e-mail removido, mantido como link secundário discreto
  • Mensagem WhatsApp formatada com negrito para melhor leitura
  • Botão WhatsApp como ação principal em destaque

- Cria componente MapboxKeyWarning para exibir mensagem amigável
- Integra aviso no AmecicloMap quando MAPBOX_TOKEN está ausente
- Adiciona link para página de contato com mensagem pré-preenchida
- Inclui página específica do erro na mensagem de contato
- Adiciona arquivo .env.example com placeholders para variáveis de ambiente
- Cria LanguageSelector com dropdown interativo para troca de idiomas
- Cria LanguageBadge para exibir idiomas disponíveis em cards
- Suporta português (PT), inglês (EN) e espanhol (ES)
- Implementa detecção automática de idioma baseada no slug
- Adiciona ícone Globe do lucide-react
- Inclui animações e transições suaves
- Responsivo para mobile e desktop
- Cria componente para exibir os 4 passos do projeto Bota Pra Rodar
- Implementa traduções em PT, EN e ES
- Exibe imagens ilustrativas para cada passo
- Adiciona botão de formulário de doação
- Layout responsivo em grid (1/2/4 colunas)
- Inclui ícone de bicicleta do lucide-react
- Efeitos hover e transições suaves
- Adiciona tradução completa em inglês (bota_pra_rodar_en.json)
- Adiciona tradução completa em espanhol (bota_pra_rodar_es.json)
- Inclui todas as seções: descrição, objetivos, funcionamento
- Traduz histórico, conquistas e formas de contribuir
- Mantém estrutura de dados consistente com versão PT
- Preserva formatação rich text (headings, paragraphs, lists)
- Adiciona detecção de slugs com sufixos _en e _es
- Implementa leitura de arquivos JSON de tradução
- Adiciona verificação de traduções disponíveis
- Retorna lista de idiomas disponíveis para cada projeto
- Mantém fallback para API quando tradução não existe
- Usa fs/promises para leitura assíncrona de arquivos
- Adiciona tratamento de erros robusto
- Adiciona LanguageSelector no banner do projeto
- Integra ProjectSteps para projeto Bota Pra Rodar
- Detecta idioma atual baseado no slug
- Exibe componentes apenas para projeto específico
- Posiciona seletor de idioma no canto superior direito
- Mantém responsividade e acessibilidade
- Preserva funcionalidades existentes da página
- Adiciona LanguageBadge no ProjectCard para Bota Pra Rodar
- Filtra projetos traduzidos (_en, _es) da listagem principal
- Exibe apenas versão PT na lista de projetos
- Mantém traduções acessíveis via badge ou seletor
- Evita duplicação de cards na listagem
- Melhora UX ao separar idiomas de projetos
- Remove importação de ProjectPage não utilizada
- Mantém funcionalidades da navbar intactas
- Limpa código desnecessário
- Melhora organização dos imports
…a de contagens

- Adiciona key prop com params.slug no elemento main para forçar re-renderização quando a rota mudar
- Importa useParams do @remix-run/react para acessar parâmetros da URL
- Remove variável flowData não utilizada que estava sendo calculada mas nunca referenciada
- Melhora performance ao eliminar cálculo desnecessário de getFlowData

Essas mudanças garantem que o componente seja completamente remontado ao navegar
entre diferentes contagens, evitando problemas de estado persistente entre rotas.
- Substituir Google Maps por Mapbox com marcador customizado (logo Ameciclo)
- Corrigir coordenadas da sede
- Tornar campo e-mail opcional
- Remover botão de envio por e-mail (manter como link secundário)
- Melhorar formatação da mensagem WhatsApp com campos em negrito
- Botão WhatsApp em destaque como ação principal
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant