/*
|--------------------------------------------------------------------------
| Agência PSI
|--------------------------------------------------------------------------
| Criado e desenvolvido por Leonardo Nohama
|
| Tecnologia aplicada à escuta.
| Estrutura para o cuidado.
|
| Arquivo: src/support/supportGuard.js
| Data: 2026
| Local: São Carlos/SP — Brasil
|--------------------------------------------------------------------------
| © 2026 — Todos os direitos reservados
|--------------------------------------------------------------------------
*/
import { useSupportDebugStore } from '@/support/supportDebugStore';

/**
 * Guard global que lê ?support=TOKEN de qualquer rota e ativa o modo suporte.
 * Recebe a instância do Pinia explicitamente para garantir funcionamento
 * mesmo quando o guard roda antes de app.use(pinia).
 *
 * @param {import('vue-router').RouteLocationNormalized} to
 * @param {import('pinia').Pinia} pinia
 */
export async function supportGuard(to, pinia) {
    const supportToken = to.query?.support;
    if (!supportToken || typeof supportToken !== 'string') return;

    const store = useSupportDebugStore(pinia); // instância garantida
    if (store.isActive) return; // já ativo, não revalida

    await store.validateAndActivate(supportToken);
}
