fix: Correct incomplete $state initialization in multiple Svelte components and pages.
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user