-
+
{#if registro.dentroDoPrazo}
-
+
{:else}
-
+
{/if}
-
+
{config
? getTipoRegistroLabel(registro.tipo, {
nomeEntrada: config.nomeEntrada,
- nomeRetornoAlmoco: config.nomeRetornoAlmoco,
+ nomeRetornoAlmoco: config.nomeRetornoAlmoco
})
: getTipoRegistroLabel(registro.tipo)}
-
+
-
+
{formatarHoraPonto(registro.hora, registro.minuto)}
-
+
{#if config}
- {@const horarioEsperado = registro.tipo === 'entrada' ? config.horarioEntrada : config.horarioRetornoAlmoco}
- {@const [horaEsperada, minutoEsperado] = horarioEsperado.split(':').map(Number)}
+ {@const horarioEsperado =
+ registro.tipo === 'entrada'
+ ? config.horarioEntrada
+ : config.horarioRetornoAlmoco}
+ {@const [horaEsperada, minutoEsperado] = horarioEsperado
+ .split(':')
+ .map(Number)}
{@const minutosEsperados = horaEsperada * 60 + minutoEsperado}
{@const minutosRegistrados = registro.hora * 60 + registro.minuto}
{@const diferenca = minutosRegistrados - minutosEsperados}
{@const diferencaAbs = Math.abs(diferenca)}
- {@const diferencaTexto = diferencaAbs >= 60
- ? `${Math.floor(diferencaAbs / 60)}h ${diferencaAbs % 60}min`
- : `${diferencaAbs}min`}
-
-
+ {@const diferencaTexto =
+ diferencaAbs >= 60
+ ? `${Math.floor(diferencaAbs / 60)}h ${diferencaAbs % 60}min`
+ : `${diferencaAbs}min`}
+
+
Esperado:
{horarioEsperado}
{#if diferencaAbs > 0}
-
+
{diferenca > 0 ? '+' : '-'}{diferencaTexto}
{/if}
{/if}
-
+
{#if registro.justificativa}
-
-
Justificativa:
+
+
Justificativa:
{registro.justificativa}
{/if}
-
+
{/each}
-
+
{#if config}
- {#each [
- { tipo: 'entrada', horario: config.horarioEntrada, label: config.nomeEntrada || 'Entrada 1' },
- { tipo: 'retorno_almoco', horario: config.horarioRetornoAlmoco, label: config.nomeRetornoAlmoco || 'Entrada 2' }
- ] as horarioEsperado}
- {#if !registrosOrdenados.find(r => r.tipo === horarioEsperado.tipo)}
+ {#each [{ tipo: 'entrada', horario: config.horarioEntrada, label: config.nomeEntrada || 'Entrada 1' }, { tipo: 'retorno_almoco', horario: config.horarioRetornoAlmoco, label: config.nomeRetornoAlmoco || 'Entrada 2' }] as horarioEsperado}
+ {#if !registrosOrdenados.find((r) => r.tipo === horarioEsperado.tipo)}
-
-
+
+
-
{horarioEsperado.label} (não registrado)
-
{horarioEsperado.horario}
+
+ {horarioEsperado.label} (não registrado)
+
+
+ {horarioEsperado.horario}
+
@@ -1329,61 +1356,80 @@
{/each}
{/if}
-
+
-
-
+
+
Saídas
-
- {#each registrosOrdenados.filter(r => r.tipo === 'saida_almoco' || r.tipo === 'saida') as registro (registro._id)}
+
+ {#each registrosOrdenados.filter((r) => r.tipo === 'saida_almoco' || r.tipo === 'saida') as registro (registro._id)}
-
-
+
+
-
+
-
-
+
+
{config
? getTipoRegistroLabel(registro.tipo, {
nomeSaidaAlmoco: config.nomeSaidaAlmoco,
- nomeSaida: config.nomeSaida,
+ nomeSaida: config.nomeSaida
})
: getTipoRegistroLabel(registro.tipo)}
{#if registro.dentroDoPrazo}
-
+
{:else}
-
+
{/if}
-
+
-
+
{formatarHoraPonto(registro.hora, registro.minuto)}
-
+
{#if config}
- {@const horarioEsperado = registro.tipo === 'saida_almoco' ? config.horarioSaidaAlmoco : config.horarioSaida}
- {@const [horaEsperada, minutoEsperado] = horarioEsperado.split(':').map(Number)}
+ {@const horarioEsperado =
+ registro.tipo === 'saida_almoco'
+ ? config.horarioSaidaAlmoco
+ : config.horarioSaida}
+ {@const [horaEsperada, minutoEsperado] = horarioEsperado
+ .split(':')
+ .map(Number)}
{@const minutosEsperados = horaEsperada * 60 + minutoEsperado}
{@const minutosRegistrados = registro.hora * 60 + registro.minuto}
{@const diferenca = minutosRegistrados - minutosEsperados}
{@const diferencaAbs = Math.abs(diferenca)}
- {@const diferencaTexto = diferencaAbs >= 60
- ? `${Math.floor(diferencaAbs / 60)}h ${diferencaAbs % 60}min`
- : `${diferencaAbs}min`}
-
-
+ {@const diferencaTexto =
+ diferencaAbs >= 60
+ ? `${Math.floor(diferencaAbs / 60)}h ${diferencaAbs % 60}min`
+ : `${diferencaAbs}min`}
+
+
{#if diferencaAbs > 0}
-
+
{diferenca > 0 ? '+' : '-'}{diferencaTexto}
{/if}
@@ -1391,16 +1437,16 @@
Esperado:
{/if}
-
+
{#if registro.justificativa}
-
-
Justificativa:
+
+
Justificativa:
{registro.justificativa}
{/if}
-
+
{/each}
-
+
{#if config}
- {#each [
- { tipo: 'saida_almoco', horario: config.horarioSaidaAlmoco, label: config.nomeSaidaAlmoco || 'Saída 1' },
- { tipo: 'saida', horario: config.horarioSaida, label: config.nomeSaida || 'Saída 2' }
- ] as horarioEsperado}
- {#if !registrosOrdenados.find(r => r.tipo === horarioEsperado.tipo)}
+ {#each [{ tipo: 'saida_almoco', horario: config.horarioSaidaAlmoco, label: config.nomeSaidaAlmoco || 'Saída 1' }, { tipo: 'saida', horario: config.horarioSaida, label: config.nomeSaida || 'Saída 2' }] as horarioEsperado}
+ {#if !registrosOrdenados.find((r) => r.tipo === horarioEsperado.tipo)}
-
-
+
+
-
{horarioEsperado.label} (não registrado)
-
{horarioEsperado.horario}
+
+ {horarioEsperado.label} (não registrado)
+
+
+ {horarioEsperado.horario}
+
@@ -1441,44 +1491,48 @@
{#if mostrandoWebcam}
-