Files
Leonardo 652571da69 saas-docs: doc da Busca global + Recently viewed (Fase 1 melissa)
Primeira doc gerada do plano de testes layout Melissa. Segue o
template do prompt em SaasDocsPage.vue:
- titulo, conteudo HTML rico (cards reproduzidos visualmente),
  categoria=Navegacao, pagina_path=/melissa
- 12 FAQs cobrindo: atalho Ctrl+K, busca por telefone/CPF, lista
  acessados recentemente, privacidade local-only, threshold 2
  chars, cores semanticas por categoria, navegacao por teclado,
  documentos por nome paciente, limpar localStorage, sessoes
  passadas/futuras
- Nota pro dev: componente MelissaBusca.vue nao tem id= em nenhum
  elemento — sugestoes de IDs pra adicionar quando ativar
  data-highlight links.

Path: development/saas-docs/01-busca-global-melissa.json
Pronto pra importar via /saas/docs "Importar JSON".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 13:14:02 -03:00

88 lines
12 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"titulo": "Busca global e Acessados recentemente",
"conteudo": "<h2>Busca global no Layout Melissa</h2>\n\n<p>A <strong>busca global</strong> é o atalho mais rápido para encontrar pacientes, sessões, documentos e cadastros recebidos sem precisar navegar pelos menus. Você acessa pelo <em>dock central</em> do Layout Melissa ou usando o atalho de teclado <kbd>Ctrl</kbd> + <kbd>K</kbd> (em qualquer página do Melissa).</p>\n\n<h3>1. Como abrir</h3>\n<p>Localize o campo de busca no dock central do Melissa. Ele aparece como um botão com o ícone de lupa e o placeholder <em>“Buscar paciente, agenda, atalho…”</em>, com o atalho <kbd>Ctrl K</kbd> indicado no canto direito.</p>\n\n<div style=\"border: 1px solid #cbd5e1; border-radius: 12px; padding: 0 14px; height: 44px; max-width: 480px; display: flex; align-items: center; gap: 10px; background: #1e2333; color: #cbd5e1; font-family: 'Segoe UI', sans-serif; margin: 12px 0;\">\n <i class=\"pi pi-search\" style=\"font-size: 0.95rem;\"></i>\n <span style=\"flex: 1; font-size: 0.9rem;\">Buscar paciente, agenda, atalho…</span>\n <span style=\"font-size: 0.62rem; padding: 2px 7px; border-radius: 4px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.15); letter-spacing: 0.05em;\">Ctrl K</span>\n</div>\n\n<p><strong>Três jeitos de abrir:</strong></p>\n<ul>\n <li>Clicando no campo no dock central</li>\n <li>Pressionando <kbd>Ctrl + K</kbd> (Windows/Linux) ou <kbd>⌘ + K</kbd> (Mac) em qualquer página</li>\n <li>Pelo menu lateral, opção “Buscar” (quando disponível)</li>\n</ul>\n\n<h3>2. O Dialog Spotlight</h3>\n<p>Ao abrir, o sistema mostra um <strong>diálogo centralizado</strong> com o input grande no topo e os resultados em colunas abaixo. Isso é o padrão Spotlight (igual ao usado em macOS, Linear, GitHub, Slack).</p>\n\n<div style=\"background: var(--surface-card, #fff); border: 1px solid #e2e8f0; border-radius: 14px; max-width: 520px; box-shadow: 0 12px 32px rgba(0,0,0,0.15); overflow: hidden; margin: 12px 0; font-family: 'Segoe UI', sans-serif;\">\n <div style=\"padding: 14px 18px; border-bottom: 1px solid #e2e8f0; display: flex; align-items: center; gap: 12px;\">\n <i class=\"pi pi-search\" style=\"color: #64748b;\"></i>\n <span style=\"flex: 1; color: #94a3b8; font-size: 1.05rem;\">Buscar paciente, agenda, atalho…</span>\n <span style=\"font-size: 0.65rem; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; border: 1px solid #e2e8f0; color: #64748b;\">Esc</span>\n </div>\n <div style=\"padding: 6px;\">\n <div style=\"text-transform: uppercase; letter-spacing: 0.18em; color: #64748b; font-size: 0.62rem; font-weight: 700; padding: 8px 10px 4px; opacity: 0.75;\">Acessados recentemente</div>\n <div style=\"display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 8px;\">\n <span style=\"width: 32px; height: 32px; display: grid; place-items: center; border-radius: 7px; background: rgba(244,114,182,0.18); color: #ec4899; font-size: 0.9rem;\">\n <i class=\"pi pi-user\"></i>\n </span>\n <div style=\"flex: 1;\">\n <div style=\"font-size: 0.88rem; font-weight: 500;\">André Green</div>\n <div style=\"font-size: 0.74rem; color: #64748b;\">andre@email.com</div>\n </div>\n <i class=\"pi pi-arrow-right\" style=\"color: #94a3b8; font-size: 0.75rem;\"></i>\n </div>\n </div>\n</div>\n\n<h3>3. Onde a busca procura</h3>\n<p>Digitando <strong>pelo menos 2 caracteres</strong>, o sistema dispara uma busca completa em 5 categorias:</p>\n<ul>\n <li><strong style=\"color: #ec4899;\">Pacientes</strong> — por nome completo, e-mail, telefone ou CPF</li>\n <li><strong style=\"color: #6366f1;\">Sessões</strong> — por título ou nome do paciente, em qualquer data</li>\n <li><strong style=\"color: #0ea5e9;\">Documentos</strong> — por nome do arquivo ou descrição</li>\n <li><strong style=\"color: #f97316;\">Cadastros recebidos</strong> — solicitações de novos pacientes pendentes</li>\n <li><strong>Atalhos</strong> — ações rápidas como “Agenda”, “Financeiro”, etc.</li>\n</ul>\n\n<p>Cada categoria aparece com um <strong>ícone colorido distinto</strong> para facilitar a leitura visual. Os resultados são limitados aos 6 mais relevantes por categoria.</p>\n\n<h3>4. Como navegar nos resultados</h3>\n<p>Você pode usar o mouse ou o teclado:</p>\n<ul>\n <li><kbd>↑</kbd> / <kbd>↓</kbd> — navegar entre os resultados</li>\n <li><kbd>Enter</kbd> — abrir o item selecionado</li>\n <li><kbd>Esc</kbd> — fechar o diálogo</li>\n <li><kbd>Clique no backdrop</kbd> — fecha também</li>\n</ul>\n\n<h3>5. Acessados recentemente</h3>\n<p>Quando você abre a busca <strong>sem digitar nada</strong>, a primeira seção mostra <strong>“Acessados recentemente”</strong> — os últimos 5 pacientes que você visitou (em qualquer dispositivo deste navegador).</p>\n\n<div style=\"background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 12px 16px; margin: 12px 0; font-size: 0.88rem; color: #475569;\">\n <strong>💡 Dica:</strong> Use Ctrl+K + Enter para reabrir o último paciente acessado em 2 segundos.\n</div>\n\n<p>Esses 5 pacientes ficam salvos no seu navegador (não no banco de dados), então:</p>\n<ul>\n <li>São <strong>privados</strong> — outros usuários não veem</li>\n <li>São <strong>por navegador</strong> — se trocar do Chrome pro Firefox, a lista recomeça</li>\n <li><strong>Persistem</strong> após fechar o navegador (localStorage)</li>\n <li>Auto-rotacionam: ao acessar o 6º paciente, o mais antigo sai</li>\n</ul>\n\n<h3>6. Clique nos resultados</h3>\n<p>Ao clicar:</p>\n<ul>\n <li><strong>Paciente</strong> → abre o prontuário (<code>/melissa/paciente?id=…</code>)</li>\n <li><strong>Sessão</strong> → abre o evento na agenda</li>\n <li><strong>Documento</strong> → abre o prontuário do paciente na aba Documentos</li>\n <li><strong>Cadastro recebido</strong> → vai pra lista de Cadastros recebidos</li>\n <li><strong>Atalho</strong> → navega pra seção (Agenda, Financeiro, etc.)</li>\n</ul>\n\n<h3>7. Tema claro × escuro</h3>\n<p>O Dialog adapta automaticamente as cores conforme o tema escolhido em <strong>Meu Perfil → Preferências</strong>. Texto, fundos e bordas seguem as configurações do sistema. Apenas os ícones por categoria (paciente rosa, sessão índigo, documento azul, cadastro laranja) mantêm a mesma cor para preservar a identificação visual rápida.</p>\n\n<h3>⚠️ Notas pro desenvolvedor</h3>\n<p>Atualmente o componente <code>MelissaBusca.vue</code> <strong>não tem atributos <code>id</code></strong> em seus elementos. Para o sistema de highlight da ajuda funcionar (links <code>data-highlight</code>), sugere-se adicionar:</p>\n<ul>\n <li><code>id=\"melissa-busca-trigger\"</code> no botão de trigger no dock</li>\n <li><code>id=\"melissa-busca-dialog\"</code> no Dialog</li>\n <li><code>id=\"melissa-busca-input\"</code> no input dentro do Dialog</li>\n <li><code>id=\"melissa-busca-recent\"</code> no grupo de Acessados recentemente</li>\n</ul>",
"categoria": "Navegação",
"exibir_no_faq": true,
"tipo_acesso": "usuario",
"pagina_path": "/melissa",
"ordem": 1,
"ativo": true,
"medias": [
{ "tipo": "imagem", "url": "" }
],
"_faq_itens": [
{
"pergunta": "Como abrir a busca rapidamente?",
"resposta": "Use o atalho <kbd>Ctrl + K</kbd> (Windows/Linux) ou <kbd>⌘ + K</kbd> (Mac) em qualquer página do Melissa. Você também pode clicar diretamente no campo de busca no dock central.",
"ordem": 0,
"ativo": true
},
{
"pergunta": "Posso buscar paciente por telefone ou CPF?",
"resposta": "Sim. A busca de pacientes encontra pelo <strong>nome completo, e-mail, telefone ou CPF</strong>. Digite pelo menos 2 caracteres e aguarde os resultados.",
"ordem": 1,
"ativo": true
},
{
"pergunta": "O que aparece em \"Acessados recentemente\"?",
"resposta": "Os últimos 5 pacientes que você abriu pelo prontuário, em ordem do mais recente pro mais antigo. A lista aparece quando você abre a busca <strong>sem digitar nada</strong>.",
"ordem": 2,
"ativo": true
},
{
"pergunta": "Outros usuários veem meus \"Acessados recentemente\"?",
"resposta": "Não. A lista é <strong>privada e local</strong> — fica salva apenas no seu navegador atual (localStorage). Se você logar em outro navegador ou computador, a lista começa vazia naquele dispositivo.",
"ordem": 3,
"ativo": true
},
{
"pergunta": "Quantos caracteres preciso digitar pra começar a buscar?",
"resposta": "<strong>Pelo menos 2</strong>. Buscas de 1 caractere são muito amplas e não disparam pesquisa. A partir de 2 caracteres, o sistema aguarda 200ms (tempo de digitação) antes de consultar o banco — assim você não dispara dezenas de buscas digitando rápido.",
"ordem": 4,
"ativo": true
},
{
"pergunta": "Por que minha busca não retorna nada?",
"resposta": "Verifique: (1) digitou pelo menos 2 caracteres; (2) o termo está sem erros graves de digitação (a busca tolera pequenas variações via similarity); (3) o paciente/sessão realmente existe no seu cadastro. Se persistir, faça uma busca mais ampla — ex: apenas o primeiro nome.",
"ordem": 5,
"ativo": true
},
{
"pergunta": "O que cada cor de ícone significa?",
"resposta": "Cada categoria tem uma cor própria: <strong style=\"color: #ec4899;\">Rosa</strong> = Paciente, <strong style=\"color: #6366f1;\">Índigo</strong> = Sessão da agenda, <strong style=\"color: #0ea5e9;\">Azul</strong> = Documento, <strong style=\"color: #f97316;\">Laranja</strong> = Cadastro recebido pendente. Atalhos vêm em cinza neutro.",
"ordem": 6,
"ativo": true
},
{
"pergunta": "Como navegar pelos resultados sem usar o mouse?",
"resposta": "Use as setas do teclado <kbd>↑</kbd> e <kbd>↓</kbd> para navegar entre os itens e <kbd>Enter</kbd> para abrir o selecionado. Pra fechar sem selecionar, use <kbd>Esc</kbd>.",
"ordem": 7,
"ativo": true
},
{
"pergunta": "Posso buscar documentos pelo nome do paciente?",
"resposta": "Sim. A busca de documentos cruza pelo nome do arquivo, descrição e <strong>nome do paciente vinculado</strong>. Ao clicar num resultado de documento, você é levado direto pra aba Documentos do prontuário daquele paciente.",
"ordem": 8,
"ativo": true
},
{
"pergunta": "Como limpar a lista de \"Acessados recentemente\"?",
"resposta": "Hoje não há um botão na interface — a lista é gerenciada automaticamente (limite de 5, mais antigo cai quando você acessa um novo). Pra limpar manualmente, você pode apagar os dados do site no seu navegador (Configurações → Privacidade → Limpar dados de navegação → escopo \"localStorage\").",
"ordem": 9,
"ativo": true
},
{
"pergunta": "A busca encontra sessões antigas ou só as de hoje?",
"resposta": "Encontra sessões de <strong>qualquer data</strong> — passadas e futuras. O grupo \"Agenda de hoje\" mostra apenas as do dia atual (preview rápido); o grupo \"Sessões\" inclui todas as outras encontradas no banco. Cada item mostra a data e horário da sessão.",
"ordem": 10,
"ativo": true
},
{
"pergunta": "Os atalhos (Agenda, Financeiro, etc.) sempre aparecem?",
"resposta": "Sim. Quando o campo está vazio, mostramos 4 atalhos padrão. Conforme você digita, os atalhos que combinam com sua busca permanecem visíveis (junto com os resultados do banco).",
"ordem": 11,
"ativo": true
}
]
}