feat: booking confirm modal with cascading Hall → Trainer → Group, linear workflow
- Add confirmed_date, confirmed_group, confirmed_comment to group_bookings (migration #10) - Linear booking flow: Новая → Связались → Подтвердить (modal) / Отказ - Confirm modal with cascading selects: Hall → Trainer → Group → Date → Comment - Groups merged by groupId — shows all days/times (e.g. "СР 20:00, ПТ 16:15") - Auto-prefill hall/trainer/group from booking's groupInfo via fuzzy scoring - Proper SHORT_DAYS constant for weekday abbreviations - Filter chips with status counts, declined sorted to bottom - "Вернуть" on confirmed/declined returns to "Связались" (not "Новая") Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -24,12 +24,12 @@ export async function PUT(request: NextRequest) {
|
||||
return NextResponse.json({ ok: true });
|
||||
}
|
||||
if (body.action === "set-status") {
|
||||
const { id, status, confirmedDate } = body;
|
||||
const { id, status, confirmation } = body;
|
||||
const valid: BookingStatus[] = ["new", "contacted", "confirmed", "declined"];
|
||||
if (!id || !valid.includes(status)) {
|
||||
return NextResponse.json({ error: "id and valid status are required" }, { status: 400 });
|
||||
}
|
||||
setGroupBookingStatus(id, status, confirmedDate);
|
||||
setGroupBookingStatus(id, status, confirmation);
|
||||
return NextResponse.json({ ok: true });
|
||||
}
|
||||
return NextResponse.json({ error: "Unknown action" }, { status: 400 });
|
||||
|
||||
Reference in New Issue
Block a user