feat: room/rental tabs in booking modal + smart time slot filtering
BookingModal: - Add 'Номер' / 'Аренда объекта' tabs when rental objects exist - Rental tab: object picker, date, full-day toggle, conflict-aware time dropdowns, guest/phone fields, total amount RentalBookingModal: - Filter start times: exclude hours inside booked slots + bufferMinutes gap - Filter end times: cap at next booking's start hour - Disable 'Весь день' if any timed bookings exist for the day - Show 'Все слоты заняты' when no start hours are available - Show buffer duration in time section label Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -741,6 +741,10 @@ export function BookingCalendar({ rooms, bookings, slug, onBookingCreate, onBook
|
||||
draft={bookingModalDraft}
|
||||
rooms={rooms}
|
||||
bookings={bookings}
|
||||
slug={slug}
|
||||
rentalObjects={rentalObjects}
|
||||
rentalBookings={rentalBookings as unknown as import('../../data/rentalData').RentalBooking[]}
|
||||
onRentalSave={rb => { onRentalBookingCreate?.(rb); setBookingModalDraft(null) }}
|
||||
onClose={() => {
|
||||
if (bookingModalDraft) onDraftCancel?.(bookingModalDraft.roomId)
|
||||
setBookingModalDraft(null)
|
||||
|
||||
Reference in New Issue
Block a user