- Add permissions logic for status options in corrective actions. - Create tests for permissions functionality. - Implement queries for user authentication and actions management. - Develop Actions page to display and manage corrective actions. - Create authentication pages for login, setup, and password reset. - Add IncidentDetail page to view incident details and associated actions. - Implement Settings page for user management and password changes.
15 lines
665 B
TypeScript
15 lines
665 B
TypeScript
/** ISO string for a Date, keeping nulls. */
|
|
export const iso = <T extends Date | null>(date: T): T extends Date ? string : string | null => (date ? date.toISOString() : null) as never
|
|
|
|
/** Calendar date in the server's time zone (set TZ to the plant's zone), e.g. `2026-10-06`. */
|
|
export function localDate(date = new Date()): string {
|
|
const pad = (value: number) => String(value).padStart(2, '0')
|
|
return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`
|
|
}
|
|
|
|
export function addDays(isoDate: string, days: number): string {
|
|
const date = new Date(`${isoDate}T12:00:00`)
|
|
date.setDate(date.getDate() + days)
|
|
return localDate(date)
|
|
}
|