fix: date validation, pre-fill on re-edit, MS_PER_DAY constant
- Extract MS_PER_DAY constant to lib/constants.ts - ConfirmModal date: max=1 year, rejects past dates and malformed years - ConfirmModal pre-fills existing date + group when re-editing (✎) - Confirmed date display handles malformed dates gracefully - Red border + error for invalid dates, submit disabled
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
import type { NavLink } from "@/types";
|
||||
|
||||
export const MS_PER_DAY = 24 * 60 * 60 * 1000;
|
||||
|
||||
export const BRAND = {
|
||||
name: "BLACK HEART DANCE HOUSE",
|
||||
shortName: "Blackheart",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import Database from "better-sqlite3";
|
||||
import path from "path";
|
||||
import type { SiteContent, TeamMember, RichListItem, VictoryItem } from "@/types/content";
|
||||
import { MS_PER_DAY } from "@/lib/constants";
|
||||
|
||||
const DB_PATH =
|
||||
process.env.DATABASE_PATH ||
|
||||
@@ -728,7 +729,7 @@ export function setGroupBookingStatus(
|
||||
if (status === "confirmed" && confirmation) {
|
||||
// Auto-set reminder to 'coming' only if confirmed for today/tomorrow
|
||||
const today = new Date().toISOString().split("T")[0];
|
||||
const tomorrow = new Date(Date.now() + 86400000).toISOString().split("T")[0];
|
||||
const tomorrow = new Date(Date.now() + MS_PER_DAY).toISOString().split("T")[0];
|
||||
const reminderStatus = (confirmation.date === today || confirmation.date === tomorrow) ? "coming" : null;
|
||||
db.prepare(
|
||||
"UPDATE group_bookings SET status = ?, confirmed_date = ?, confirmed_group = ?, confirmed_comment = ?, notified_confirm = 1, reminder_status = ? WHERE id = ?"
|
||||
|
||||
Reference in New Issue
Block a user