Leonardo f9145442ae MelissaNotificacoes nativa (mesmo design do LinkExterno)
Promove '/melissa/notificacoes' do embed pra pagina nativa Melissa,
eliminando o triplo header (layout + embed + hero sticky da
NotificationsHistoryPage interna).

Layout 2-col seguindo o mesmo blueprint Melissa:

- Header: titulo + count badge + pill amber "X nao lidas" quando
  unreadCount > 0 + botao "Marcar todas lidas" (visivel se ha unread)
  + Recarregar + Voltar.
- Subheader explicativo.
- Sidebar (~280px) com __scroll + __footer fixo:
  - Stat card (Total / Nao lidas amber / Lidas verde / Arquivadas)
  - Filter card "Status" (button list: Todas / Nao lidas / Lidas /
    Arquivadas) + X inline pra voltar pro padrao 'all'
  - Filter card "Tipo" (button list: Agendamento red / Novo paciente
    sky / Recorrencia amber / Sessao orange / Mensagem emerald —
    cores espelham typeMap) + X inline
  - Footer fixo "Limpar filtros" (Transition fade+collapse) — zera
    busca + tipo + reseta status pra 'all'
- Main: toolbar com busca por titulo/descricao + lista de
  notificacoes com row design preservado:
  - Border-left colorido por tipo (--mn-row-color via inline style)
  - Icone do tipo + avatar circular primary com iniciais
  - Body: titulo + type pill colorido + arquivada pill (se aplicavel)
    + detail (2 lines clamp) + tempo relativo
  - Hover actions: marcar lida/nao lida + arquivar/desarquivar +
    remover (com ConfirmDialog)
  - is-unread: bg primary tinted; is-archived: opacity 0.7
- Mobile (<1024px): sidebar vira topo (max-height 50vh), main fica
  abaixo, actions sempre visiveis (sem hover).

Logica preservada da NotificationsHistoryPage:
- load() do supabase ('notifications' eq owner_id, limit 500)
- markRead/markUnread/archive/unarchive/remove + sync notifStore
- markAllRead em batch
- handleRowClick: inbound_message abre conversationDrawer (paciente
  ou anonimo via from_number); outras com deeplink fazem
  router.push (e fecham a Melissa pra navegar pra rota Rail);
  todas marcam como lida automaticamente.

Wire-up MelissaLayout: import + render block + 'notificacoes'
literal em NON_CONFIG_SLUGS; removido de MELISSA_EMBED_KEYS. Entry
removido do EMBED_MAP no MelissaEmbed.

NotificationsHistoryPage continua intacta — segue funcionando no
layout Rail (/therapist/notifications, /admin/notificacoes).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 09:53:34 -03:00
2024-07-29 10:14:47 +03:00
2024-07-25 16:41:34 +03:00
2026-02-18 22:36:45 -03:00
2026-03-06 06:37:13 -03:00
2024-07-29 10:14:47 +03:00
2024-07-25 16:41:34 +03:00
2026-02-18 22:36:45 -03:00
2026-03-06 06:37:13 -03:00
2024-07-25 16:41:34 +03:00
2022-12-28 14:04:39 +03:00
2024-08-03 11:36:25 +03:00
2026-03-12 08:58:36 -03:00
2024-03-18 10:33:41 +03:00

Sakai is an application template for Vue based on the create-vue, the recommended way to start a Vite-powered Vue projects.

Visit the documentation to get started.

S
Description
No description provided
Readme 56 MiB
Languages
Vue 61.3%
PLpgSQL 17.4%
JavaScript 16%
HTML 2.7%
TypeScript 2.3%
Other 0.3%