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

@@ -22,12 +22,12 @@
let isento = $state(false);
// Computed para converter time string para hora/minuto
const horaInicio = $derived.by(() => {
let horaInicio = $derived.by(() => {
const [hora, minuto] = horaInicioTime.split(':').map(Number);
return { hora: hora || 8, minuto: minuto || 0 };
});
const horaFim = $derived.by(() => {
let horaFim = $derived.by(() => {
const [hora, minuto] = horaFimTime.split(':').map(Number);
return { hora: hora || 18, minuto: minuto || 0 };
});
@@ -38,11 +38,11 @@
apenasAtivas: true // Mostrar apenas dispensas ativas
});
const subordinados = $derived(subordinadosQuery?.data || []);
const dispensas = $derived(dispensasQuery?.data || []);
let subordinados = $derived(subordinadosQuery?.data || []);
let dispensas = $derived(dispensasQuery?.data || []);
// Lista de funcionários do time
const funcionarios = $derived.by(() => {
let funcionarios = $derived.by(() => {
const funcs: Array<{
_id: Id<'funcionarios'>;
nome: string;

View File

@@ -32,8 +32,8 @@
// Filtros de período
const hoje = new Date();
const trintaDiasAtras = new Date(Date.now() - 30 * 24 * 60 * 60 * 1000);
const dataInicioFiltro = $state(trintaDiasAtras.toISOString().split('T')[0]!);
const dataFimFiltro = $state(hoje.toISOString().split('T')[0]!);
let dataInicioFiltro = $state(trintaDiasAtras.toISOString().split('T')[0]!);
let dataFimFiltro = $state(hoje.toISOString().split('T')[0]!);
// Monitorar mudanças em funcionarioSelecionado
$effect(() => {
@@ -96,13 +96,13 @@
}
// Obter registro selecionado
const registroEmEdicao = $derived.by(() => {
let registroEmEdicao = $derived.by(() => {
if (!registroSelecionado) return null;
return registros.find((r) => r._id === registroSelecionado) || null;
});
// Formatar data do registro
const dataRegistroFormatada = $derived.by(() => {
let dataRegistroFormatada = $derived.by(() => {
if (!registroEmEdicao) return '';
const data = new Date(registroEmEdicao.data);
return data.toLocaleDateString('pt-BR', {
@@ -124,12 +124,12 @@
const motivosQuery = useQuery(api.pontos.obterMotivosAtestados, {});
// Parâmetros reativos para queries
const homologacoesParams = $derived({
let homologacoesParams = $derived({
funcionarioId: funcionarioSelecionado || undefined
});
// Parâmetros para query de registros - só executa quando há funcionário selecionado
const registrosQueryParams = $derived.by(() => {
let registrosQueryParams = $derived.by(() => {
// Verificar se funcionarioSelecionado não é string vazia
if (!funcionarioSelecionado || funcionarioSelecionado === '') {
return undefined;
@@ -142,16 +142,16 @@
});
const homologacoesQuery = useQuery(api.pontos.listarHomologacoes, homologacoesParams);
const registrosQuery = $derived(
let registrosQuery = $derived(
registrosQueryParams ? useQuery(api.pontos.listarRegistrosPeriodo, registrosQueryParams) : null
);
const subordinados = $derived(subordinadosQuery?.data || []);
const motivos = $derived(motivosQuery?.data);
const homologacoes = $derived(homologacoesQuery?.data || []);
let subordinados = $derived(subordinadosQuery?.data || []);
let motivos = $derived(motivosQuery?.data);
let homologacoes = $derived(homologacoesQuery?.data || []);
// Registros já filtrados pela query no backend
const registros = $derived.by(() => {
let registros = $derived.by(() => {
if (!funcionarioSelecionado || funcionarioSelecionado === '' || !registrosQuery) {
return [];
}
@@ -164,10 +164,10 @@
});
// Verificar se é gestor (tem subordinados)
const isGestor = $derived(subordinados.length > 0);
let isGestor = $derived(subordinados.length > 0);
// Lista de funcionários do time
const funcionarios = $derived.by(() => {
let funcionarios = $derived.by(() => {
const funcs: Array<{
_id: Id<'funcionarios'>;
nome: string;
@@ -364,7 +364,7 @@
}
}
const homologacaoSelecionada = $derived.by(() => {
let homologacaoSelecionada = $derived.by(() => {
if (!homologacaoDetalhada) return null;
return homologacoes.find((h) => h._id === homologacaoDetalhada) || null;
});