mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-02 22:03:45 +00:00
21 lines
889 B
TypeScript
21 lines
889 B
TypeScript
/**
|
|
* Backdating guard for operational time entries (gate in/out, mile truck
|
|
* times, delivery pickups): times must be recorded as they happen, never
|
|
* dated back. A one-hour grace covers real-world lag (weighbridge queue,
|
|
* operator finishing the form after the event).
|
|
*/
|
|
export const BACKDATE_GRACE_MS = 60 * 60 * 1000;
|
|
|
|
/** Local-time "YYYY-MM-DDTHH:mm" for a datetime-local input's `min`. */
|
|
export const nowLocalDateTimeInput = (): string =>
|
|
new Date(Date.now() - new Date().getTimezoneOffset() * 60_000)
|
|
.toISOString()
|
|
.slice(0, 16);
|
|
|
|
/** True when the value is more than the grace period in the past. */
|
|
export const isBackdated = (value: string | Date | null | undefined): boolean => {
|
|
if (!value) return false;
|
|
const t = value instanceof Date ? value.getTime() : new Date(value).getTime();
|
|
return Number.isFinite(t) && t < Date.now() - BACKDATE_GRACE_MS;
|
|
};
|