fix: Correct incomplete $state initialization in multiple Svelte components and pages.

This commit is contained in:
2025-12-02 19:18:53 -03:00
parent 4bd9e21748
commit 8a50fb6f61
99 changed files with 520 additions and 519 deletions

View File

@@ -43,7 +43,7 @@
let funcionarioIdFiltro = $state<Id<'funcionarios'> | ''>('');
let statusFiltro = $state<'todos' | 'dentro' | 'fora'>('todos');
let localizacaoFiltro = $state<'todos' | 'dentro' | 'fora'>('todos');
const carregando = $state(false);
let carregando = $state(false);
let mostrarModalImpressao = $state(false);
let funcionarioParaImprimir = $state<Id<'funcionarios'> | ''>('');
let mostrarModalDetalhes = $state(false);
@@ -52,13 +52,13 @@
let chartInstance: Chart | null = null;
// Parâmetros reativos para queries
const registrosParams = $derived({
let registrosParams = $derived({
funcionarioId:
funcionarioIdFiltro && funcionarioIdFiltro !== '' ? funcionarioIdFiltro : undefined,
dataInicio,
dataFim
});
const estatisticasParams = $derived({
let estatisticasParams = $derived({
dataInicio,
dataFim,
funcionarioId:
@@ -71,10 +71,10 @@
const estatisticasQuery = useQuery(api.pontos.obterEstatisticas, estatisticasParams);
const configQuery = useQuery(api.configuracaoPonto.obterConfiguracao, {});
const funcionarios = $derived(funcionariosQuery?.data || []);
const registros = $derived(registrosQuery?.data || []);
const estatisticas = $derived(estatisticasQuery?.data);
const config = $derived(configQuery?.data);
let funcionarios = $derived(funcionariosQuery?.data || []);
let registros = $derived(registrosQuery?.data || []);
let estatisticas = $derived(estatisticasQuery?.data);
let config = $derived(configQuery?.data);
// Debug: Log dos dados recebidos
$effect(() => {
@@ -92,7 +92,7 @@
});
// Dados do gráfico baseados nas estatísticas
const chartData = $derived.by(() => {
let chartData = $derived.by(() => {
if (!estatisticas) return null;
return {
@@ -266,7 +266,7 @@
// Filtrar registros com base nos filtros avançados
// Nota: Os filtros de data e funcionário são aplicados no backend através de registrosParams
// Os filtros de status e localização são aplicados aqui no frontend
const registrosFiltrados = $derived.by(() => {
let registrosFiltrados = $derived.by(() => {
if (!registros || registros.length === 0) return [];
let resultado = [...registros];
@@ -297,7 +297,7 @@
});
// Agrupar registros por funcionário e data
const registrosAgrupados = $derived.by(() => {
let registrosAgrupados = $derived.by(() => {
const configData = config;
const agrupados: Record<
string,
@@ -502,7 +502,7 @@
});
// Query para banco de horas de cada funcionário
const funcionariosComBancoHoras = $derived.by(() => {
let funcionariosComBancoHoras = $derived.by(() => {
return registrosAgrupados.map((grupo) => grupo.funcionarioId);
});
@@ -529,7 +529,7 @@
// Usar função centralizada formatarDataDDMMAAAA da lib/utils/ponto.ts
// Obter nome do funcionário selecionado
const funcionarioSelecionadoNome = $derived.by(() => {
let funcionarioSelecionadoNome = $derived.by(() => {
if (!funcionarioIdFiltro) return null;
return funcionarios.find((f) => f._id === funcionarioIdFiltro)?.nome || null;
});