Skip to content

feat: Deep-links no mapa (pin → conteúdo)#290

Merged
cursor[bot] merged 1 commit into
mainfrom
cursor/deep-links-mapa-1c6f
Jun 30, 2026
Merged

feat: Deep-links no mapa (pin → conteúdo)#290
cursor[bot] merged 1 commit into
mainfrom
cursor/deep-links-mapa-1c6f

Conversation

@sraphaz

@sraphaz sraphaz commented Jun 30, 2026

Copy link
Copy Markdown
Owner

📋 Descrição

Próxima evolução da sequência: deep-links no mapa. Antes, o botão "Ver detalhes" da folha do pin era um no-op. Agora, tocar num pin abre a folha e navega para o detalhe correspondente.

Mudanças (app frontend/arah.app)

  • map_deep_link.dart: função pura mapPinDeepLink(pin, territoryId) que resolve a rota por tipo de pin (event → /events, asset → /assets, alert → /alerts, post → /home/feed; entity/media sem destino).
  • MapScreen: o toque passou a ser tratado no nível do mapa (MapOptions.onTap + seleção do pin mais próximo em pixels), por ser confiável na web (o GestureDetector por marcador do flutter_map 8.x não dispara de forma consistente). "Ver detalhes" navega para a tela certa; pins sem destino mostram "Fechar".
  • mainShellTabProvider: índice da aba do shell extraído para um provider, permitindo o deep-link de post levar ao feed; MainShellScreen refatorado para usá-lo (comportamento preservado).
  • Strings i18n (close) + regeneração das localizations.

🔄 Tipo de Mudança

  • Nova funcionalidade

🧪 Testes

  • flutter analyze --no-fatal-infos — sem erros/warnings nas mudanças
  • flutter test — 47 passando (+6: resolvedor de deep-link cobrindo todos os tipos de pin)
  • ✅ Verificação manual no app web: toque no pin → folha "Ver detalhes" → navega para a tela de Eventos (confirmado end-to-end)

Walkthrough

Folha do pin no mapa com botão Ver detalhes
Tela de Eventos após o deep-link do pin

Observação: a folha do pin e a navegação "Ver detalhes → Eventos" foram verificadas end-to-end. O acerto de toque depende da precisão do clique (tolerância de 48px ao pin mais próximo); a lógica de resolução de rota é coberta por testes unitários.

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

- map_deep_link: funcao pura que resolve a rota de detalhe por tipo de pin
- MapScreen: toque tratado no nivel do mapa (MapOptions.onTap + pin mais proximo), mais confiavel na web; 'Ver detalhes' navega para /events, /assets, /alerts ou feed
- Pins sem destino mostram 'Fechar' (entity/media)
- mainShellTabProvider: indice da aba do shell (permite deep-link de post para o feed)
- Strings i18n (close) + regen
- Testes do resolvedor de deep-link

Co-authored-by: Rapha <sraphaz@users.noreply.github.com>
@cursor cursor Bot merged commit 21fc415 into main Jun 30, 2026
3 checks passed
@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 655f3f13-25d5-4229-ae68-37d1e3dcd953

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/deep-links-mapa-1c6f

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

2 participants