feat: streamline date validation in dispensa functionality by comparing date strings directly, avoiding timezone issues, and enhance date formatting for improved user readability

This commit is contained in:
2025-12-23 23:06:35 -03:00
parent c6a52155ee
commit e548c2c678
2 changed files with 10 additions and 10 deletions

View File

@@ -100,10 +100,9 @@
return; return;
} }
const dataInicioObj = new Date(dataInicio); // Validar datas (comparar strings diretamente para evitar problemas de timezone)
const dataFimObj = new Date(dataFim); // Formato YYYY-MM-DD permite comparação lexicográfica
if (dataFim < dataInicio) {
if (dataFimObj < dataInicioObj) {
toast.error('Data fim deve ser maior ou igual à data início'); toast.error('Data fim deve ser maior ou igual à data início');
return; return;
} }
@@ -163,7 +162,10 @@
} }
function formatarDataHora(data: string, hora: number, minuto: number): string { function formatarDataHora(data: string, hora: number, minuto: number): string {
return `${new Date(data).toLocaleDateString('pt-BR')} ${hora.toString().padStart(2, '0')}:${minuto.toString().padStart(2, '0')}`; // Converter YYYY-MM-DD para DD/MM/YYYY sem problemas de timezone
const [ano, mes, dia] = data.split('-');
const dataFormatada = `${dia}/${mes}/${ano}`;
return `${dataFormatada} ${hora.toString().padStart(2, '0')}:${minuto.toString().padStart(2, '0')}`;
} }
</script> </script>

View File

@@ -2978,11 +2978,9 @@ export const criarDispensaRegistro = mutation({
throw new Error('Você não tem permissão para criar dispensa para este funcionário'); throw new Error('Você não tem permissão para criar dispensa para este funcionário');
} }
// Validar datas // Validar datas (comparar strings diretamente para evitar problemas de timezone)
const dataInicioObj = new Date(args.dataInicio); // Formato YYYY-MM-DD permite comparação lexicográfica
const dataFimObj = new Date(args.dataFim); if (args.dataFim < args.dataInicio) {
if (dataFimObj < dataInicioObj) {
throw new Error('Data fim deve ser maior ou igual à data início'); throw new Error('Data fim deve ser maior ou igual à data início');
} }