diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/registro-pontos/+page.svelte b/apps/web/src/routes/(dashboard)/recursos-humanos/registro-pontos/+page.svelte index 9778a74..7567fc1 100644 --- a/apps/web/src/routes/(dashboard)/recursos-humanos/registro-pontos/+page.svelte +++ b/apps/web/src/routes/(dashboard)/recursos-humanos/registro-pontos/+page.svelte @@ -33,6 +33,10 @@ let chartCanvas: HTMLCanvasElement; let chartInstance: Chart | null = null; + // Verificar autenticação primeiro + const currentUserQuery = useQuery(api.auth.getCurrentUser, {}); + const usuarioAutenticado = $derived(currentUserQuery?.data !== null && currentUserQuery?.data !== undefined); + // Parâmetros reativos para queries const registrosParams = $derived({ funcionarioId: funcionarioIdFiltro && funcionarioIdFiltro !== '' ? funcionarioIdFiltro : undefined, @@ -45,11 +49,23 @@ funcionarioId: funcionarioIdFiltro && funcionarioIdFiltro !== '' ? funcionarioIdFiltro : undefined, }); - // Queries - const funcionariosQuery = useQuery(api.funcionarios.getAll, {}); - const registrosQuery = useQuery(api.pontos.listarRegistrosPeriodo, registrosParams); - const estatisticasQuery = useQuery(api.pontos.obterEstatisticas, estatisticasParams); - const configQuery = useQuery(api.configuracaoPonto.obterConfiguracao, {}); + // Queries condicionais - só executar se usuário estiver autenticado + const funcionariosQuery = useQuery( + api.funcionarios.getAll, + usuarioAutenticado ? {} : 'skip' + ); + const registrosQuery = useQuery( + api.pontos.listarRegistrosPeriodo, + usuarioAutenticado ? registrosParams : 'skip' + ); + const estatisticasQuery = useQuery( + api.pontos.obterEstatisticas, + usuarioAutenticado ? estatisticasParams : 'skip' + ); + const configQuery = useQuery( + api.configuracaoPonto.obterConfiguracao, + usuarioAutenticado ? {} : 'skip' + ); const funcionarios = $derived(funcionariosQuery?.data || []); const registros = $derived(registrosQuery?.data || []);