Fix deeplink /crm/conversas não existe; alias dinâmico por role

Bug: toast do SLA tinha deeplink /crm/conversas que caía em NotFound.
As rotas reais são /therapist/conversas (terapeuta) e /admin/conversas
(clinic_admin), contextuais por role.

Fix: novo sistema de aliases em AppLayout.resolveDeeplink.
DEEPLINK_ALIASES traduz links semânticos (ex: /conversas, /crm/conversas)
pra rota real baseado em tenantStore.activeRole. Edge do SLA agora
emite /conversas (alias) em vez de path hardcoded; frontend resolve.

Padrão aplicável pras próximas features — basta registrar novo alias
aqui quando a rota depender de contexto.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Leonardo
2026-04-23 11:22:07 -03:00
parent 4026415401
commit 5f51bc068e
2 changed files with 21 additions and 4 deletions
@@ -279,7 +279,7 @@ async function notifyBreach(supa: SupabaseClient, params: {
title,
detail,
severity: 'error',
deeplink: '/crm/conversas',
deeplink: '/conversas',
actionLabel: 'Abrir CRM',
thread_key: params.thread_key
}