improvement: appointment dialog UX improved.

This commit is contained in:
2026-07-12 22:07:11 +03:30
parent 53b43f2cdb
commit abf0371a5b
18 changed files with 1006 additions and 759 deletions

View File

@@ -61,3 +61,22 @@ export function compareLocalDayStart(a: Date, b: Date): number {
const tb = new Date(b.getFullYear(), b.getMonth(), b.getDate()).getTime();
return ta - tb;
}
export function parseTimeInputToMinutes(time: string): number {
const [h, m] = time.split(':').map(Number);
if (!Number.isFinite(h) || !Number.isFinite(m)) {
return 0;
}
return h * 60 + m;
}
export function minutesToTimeInput(minutes: number): string {
const clamped = Math.max(0, Math.min(24 * 60 - 1, minutes));
const h = Math.floor(clamped / 60);
const m = clamped % 60;
return `${String(h).padStart(2, '0')}:${String(m).padStart(2, '0')}`;
}
export function adjustTimeInput(time: string, deltaMinutes: number): string {
return minutesToTimeInput(parseTimeInputToMinutes(time) + deltaMinutes);
}