diff --git a/src/components/calendar/BookingCalendar.tsx b/src/components/calendar/BookingCalendar.tsx
index 83c3977..0d6b4ce 100644
--- a/src/components/calendar/BookingCalendar.tsx
+++ b/src/components/calendar/BookingCalendar.tsx
@@ -453,8 +453,13 @@ export function BookingCalendar({ rooms, bookings, slug, onBookingCreate, onBook
>
- {room.number}
- {room.name && !isMobile && {room.name}}
+ {room.number}
+ {room.name && !isMobile && {room.name}}
{room.status === 'maintenance' && (
🔧 ремонт
@@ -462,11 +467,31 @@ export function BookingCalendar({ rooms, bookings, slug, onBookingCreate, onBook
{room.status === 'blocked' && (
🔒 закрыт
)}
+ {room.status !== 'maintenance' && room.status !== 'blocked' &&
+ (room.housekeepingStatus === 'dirty' || room.housekeepingStatus === 'cleaning') && (
+
+ {room.housekeepingStatus === 'dirty' ? '🧹 грязный' : '🧹 убирается'}
+
+ )}
{/* Day cells + booking blocks */}
+ {/* Maintenance / blocked overlay */}
+ {(room.status === 'maintenance' || room.status === 'blocked') && (
+
+ )}
{dates.map((date, i) => {
const isWe = date.getDay() === 0 || date.getDay() === 6
@@ -476,8 +501,8 @@ export function BookingCalendar({ rooms, bookings, slug, onBookingCreate, onBook
key={i}
className={cn(
'shrink-0 h-full border-r border-slate-200 dark:border-slate-700 cursor-crosshair',
- isWe && 'bg-slate-50 dark:bg-slate-800/60',
- isTod && 'bg-brand-50/50 dark:bg-brand-900/10',
+ isWe && !room.status.match(/maintenance|blocked/) && 'bg-slate-50 dark:bg-slate-800/60',
+ isTod && !room.status.match(/maintenance|blocked/) && 'bg-brand-50/50 dark:bg-brand-900/10',
)}
style={{ width: CELL_WIDTH }}
onMouseDown={(e) => handleCellMouseDown(room.id, i, e)}