feat: enhance RegistroPonto and WebcamCapture components for improved data handling and user experience
- Added a refresh mechanism in the RegistroPonto component to ensure queries are updated after point registration, improving data accuracy. - Expanded the WebcamCapture component to prevent multiple simultaneous play calls, enhancing video playback reliability. - Updated the registro-pontos page to default the date range to the last 30 days for better visibility and user convenience. - Introduced debug logging for queries and data handling to assist in development and troubleshooting.
This commit is contained in:
@@ -20,8 +20,13 @@
|
||||
const client = useConvexClient();
|
||||
|
||||
// Estados
|
||||
let dataInicio = $state(new Date().toISOString().split('T')[0]!);
|
||||
let dataFim = $state(new Date().toISOString().split('T')[0]!);
|
||||
// Expandir período padrão para últimos 30 dias para facilitar visualização
|
||||
const hoje = new Date();
|
||||
const trintaDiasAtras = new Date(hoje);
|
||||
trintaDiasAtras.setDate(hoje.getDate() - 30);
|
||||
|
||||
let dataInicio = $state(trintaDiasAtras.toISOString().split('T')[0]!);
|
||||
let dataFim = $state(hoje.toISOString().split('T')[0]!);
|
||||
let funcionarioIdFiltro = $state<Id<'funcionarios'> | ''>('');
|
||||
let statusFiltro = $state<'todos' | 'dentro' | 'fora'>('todos');
|
||||
let localizacaoFiltro = $state<'todos' | 'dentro' | 'fora'>('todos');
|
||||
@@ -56,6 +61,21 @@
|
||||
const estatisticas = $derived(estatisticasQuery?.data);
|
||||
const config = $derived(configQuery?.data);
|
||||
|
||||
// Debug: Log dos dados recebidos
|
||||
$effect(() => {
|
||||
if (registrosQuery !== undefined) {
|
||||
console.log('[Frontend] registrosQuery:', {
|
||||
isLoading: registrosQuery?.isLoading,
|
||||
error: registrosQuery?.error,
|
||||
dataLength: registrosQuery?.data?.length ?? 0,
|
||||
params: registrosParams
|
||||
});
|
||||
}
|
||||
if (registros && registros.length > 0) {
|
||||
console.log('[Frontend] Primeiros registros:', registros.slice(0, 3));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Dados do gráfico baseados nas estatísticas
|
||||
const chartData = $derived.by(() => {
|
||||
@@ -514,8 +534,12 @@
|
||||
|
||||
// Função para limpar todos os filtros
|
||||
function limparFiltros() {
|
||||
dataInicio = new Date().toISOString().split('T')[0]!;
|
||||
dataFim = new Date().toISOString().split('T')[0]!;
|
||||
const hoje = new Date();
|
||||
const trintaDiasAtras = new Date(hoje);
|
||||
trintaDiasAtras.setDate(hoje.getDate() - 30);
|
||||
|
||||
dataInicio = trintaDiasAtras.toISOString().split('T')[0]!;
|
||||
dataFim = hoje.toISOString().split('T')[0]!;
|
||||
funcionarioIdFiltro = '';
|
||||
statusFiltro = 'todos';
|
||||
localizacaoFiltro = 'todos';
|
||||
|
||||
Reference in New Issue
Block a user