-- Importação da doc Fase 1 (Busca global + Recently viewed)
-- Gerado a partir de development/saas-docs/01-busca-global-melissa.json
BEGIN;

DO $IMPORT$
DECLARE
    v_doc_id uuid;
BEGIN
    -- 1) Cria a doc principal
    INSERT INTO public.saas_docs (
        titulo, conteudo, categoria, exibir_no_faq, tipo_acesso,
        pagina_path, ordem, ativo, medias
    ) VALUES (
        'Busca global e Acessados recentemente',
        $HTML$<h2>Busca global no Layout Melissa</h2>

<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>

<h3>1. Como abrir</h3>
<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>

<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;">
  <i class="pi pi-search" style="font-size: 0.95rem;"></i>
  <span style="flex: 1; font-size: 0.9rem;">Buscar paciente, agenda, atalho…</span>
  <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>
</div>

<p><strong>Três jeitos de abrir:</strong></p>
<ul>
  <li>Clicando no campo no dock central</li>
  <li>Pressionando <kbd>Ctrl + K</kbd> (Windows/Linux) ou <kbd>⌘ + K</kbd> (Mac) em qualquer página</li>
  <li>Pelo menu lateral, opção "Buscar" (quando disponível)</li>
</ul>

<h3>2. O Dialog Spotlight</h3>
<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>

<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;">
  <div style="padding: 14px 18px; border-bottom: 1px solid #e2e8f0; display: flex; align-items: center; gap: 12px;">
    <i class="pi pi-search" style="color: #64748b;"></i>
    <span style="flex: 1; color: #94a3b8; font-size: 1.05rem;">Buscar paciente, agenda, atalho…</span>
    <span style="font-size: 0.65rem; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; border: 1px solid #e2e8f0; color: #64748b;">Esc</span>
  </div>
  <div style="padding: 6px;">
    <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>
    <div style="display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 8px;">
      <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;">
        <i class="pi pi-user"></i>
      </span>
      <div style="flex: 1;">
        <div style="font-size: 0.88rem; font-weight: 500;">André Green</div>
        <div style="font-size: 0.74rem; color: #64748b;">andre@email.com</div>
      </div>
      <i class="pi pi-arrow-right" style="color: #94a3b8; font-size: 0.75rem;"></i>
    </div>
  </div>
</div>

<h3>3. Onde a busca procura</h3>
<p>Digitando <strong>pelo menos 2 caracteres</strong>, o sistema dispara uma busca completa em 5 categorias:</p>
<ul>
  <li><strong style="color: #ec4899;">Pacientes</strong> — por nome completo, e-mail, telefone ou CPF</li>
  <li><strong style="color: #6366f1;">Sessões</strong> — por título ou nome do paciente, em qualquer data</li>
  <li><strong style="color: #0ea5e9;">Documentos</strong> — por nome do arquivo ou descrição</li>
  <li><strong style="color: #f97316;">Cadastros recebidos</strong> — solicitações de novos pacientes pendentes</li>
  <li><strong>Atalhos</strong> — ações rápidas como "Agenda", "Financeiro", etc.</li>
</ul>

<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>

<h3>4. Como navegar nos resultados</h3>
<p>Você pode usar o mouse ou o teclado:</p>
<ul>
  <li><kbd>↑</kbd> / <kbd>↓</kbd> — navegar entre os resultados</li>
  <li><kbd>Enter</kbd> — abrir o item selecionado</li>
  <li><kbd>Esc</kbd> — fechar o diálogo</li>
  <li><kbd>Clique no backdrop</kbd> — fecha também</li>
</ul>

<h3>5. Acessados recentemente</h3>
<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>

<div style="background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 12px 16px; margin: 12px 0; font-size: 0.88rem; color: #475569;">
  <strong>💡 Dica:</strong> Use Ctrl+K + Enter para reabrir o último paciente acessado em 2 segundos.
</div>

<p>Esses 5 pacientes ficam salvos no seu navegador (não no banco de dados), então:</p>
<ul>
  <li>São <strong>privados</strong> — outros usuários não veem</li>
  <li>São <strong>por navegador</strong> — se trocar do Chrome pro Firefox, a lista recomeça</li>
  <li><strong>Persistem</strong> após fechar o navegador (localStorage)</li>
  <li>Auto-rotacionam: ao acessar o 6º paciente, o mais antigo sai</li>
</ul>

<h3>6. Clique nos resultados</h3>
<p>Ao clicar:</p>
<ul>
  <li><strong>Paciente</strong> → abre o prontuário (<code>/melissa/paciente?id=…</code>)</li>
  <li><strong>Sessão</strong> → abre o evento na agenda</li>
  <li><strong>Documento</strong> → abre o prontuário do paciente na aba Documentos</li>
  <li><strong>Cadastro recebido</strong> → vai pra lista de Cadastros recebidos</li>
  <li><strong>Atalho</strong> → navega pra seção (Agenda, Financeiro, etc.)</li>
</ul>

<h3>7. Tema claro × escuro</h3>
<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>

<h3>⚠️ Notas pro desenvolvedor</h3>
<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>
<ul>
  <li><code>id="melissa-busca-trigger"</code> no botão de trigger no dock</li>
  <li><code>id="melissa-busca-dialog"</code> no Dialog</li>
  <li><code>id="melissa-busca-input"</code> no input dentro do Dialog</li>
  <li><code>id="melissa-busca-recent"</code> no grupo de Acessados recentemente</li>
</ul>$HTML$,
        'Navegação',
        true,
        'usuario',
        '/melissa',
        1,
        true,
        '[{"tipo": "imagem", "url": ""}]'::jsonb
    )
    RETURNING id INTO v_doc_id;

    -- 2) Insere os 12 FAQ items vinculados
    INSERT INTO public.saas_faq_itens (doc_id, pergunta, resposta, ordem, ativo) VALUES
    (v_doc_id, 'Como abrir a busca rapidamente?',
     $FAQ$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.$FAQ$, 0, true),

    (v_doc_id, 'Posso buscar paciente por telefone ou CPF?',
     $FAQ$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.$FAQ$, 1, true),

    (v_doc_id, 'O que aparece em "Acessados recentemente"?',
     $FAQ$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>.$FAQ$, 2, true),

    (v_doc_id, 'Outros usuários veem meus "Acessados recentemente"?',
     $FAQ$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.$FAQ$, 3, true),

    (v_doc_id, 'Quantos caracteres preciso digitar pra começar a buscar?',
     $FAQ$<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.$FAQ$, 4, true),

    (v_doc_id, 'Por que minha busca não retorna nada?',
     $FAQ$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.$FAQ$, 5, true),

    (v_doc_id, 'O que cada cor de ícone significa?',
     $FAQ$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.$FAQ$, 6, true),

    (v_doc_id, 'Como navegar pelos resultados sem usar o mouse?',
     $FAQ$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>.$FAQ$, 7, true),

    (v_doc_id, 'Posso buscar documentos pelo nome do paciente?',
     $FAQ$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.$FAQ$, 8, true),

    (v_doc_id, 'Como limpar a lista de "Acessados recentemente"?',
     $FAQ$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").$FAQ$, 9, true),

    (v_doc_id, 'A busca encontra sessões antigas ou só as de hoje?',
     $FAQ$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.$FAQ$, 10, true),

    (v_doc_id, 'Os atalhos (Agenda, Financeiro, etc.) sempre aparecem?',
     $FAQ$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).$FAQ$, 11, true);

    RAISE NOTICE 'Doc criada: id=%, faq_itens=12', v_doc_id;
END;
$IMPORT$;

COMMIT;
