Wide BookingModal (2-col), RoomModal, RU channels, migration module, all modules active

- BookingModal: 2-column layout (size=2xl/max-w-3xl), no scroll needed; hourly mode toggle for rooms with allowHourly=true
- RoomModal: full add/edit form with hourly rate toggle and amenities checkboxes; RoomsPage wired up
- Channel manager: Яндекс Путешествия, Островок, Суточно.ру, OneTwoTrip added; split into RU/International sections
- Migration module: 3-step wizard (source select → file upload → progress/results)
- All modules set to active by default (version bump to reset localStorage)
- BookingCalendar booking blocks: guest count badge (Xг), unpaid red dot indicator

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-11 19:16:55 +03:00
parent fbf4b269e3
commit 0e0c11785f
12 changed files with 1283 additions and 298 deletions

View File

@@ -56,6 +56,8 @@ export interface Room {
housekeepingStatus: HousekeepingStatus
amenities: string[]
sortOrder: number
allowHourly?: boolean
hourlyRate?: number
}
// ─── Guest ───────────────────────────────────────────────────────────────────
@@ -115,7 +117,7 @@ export interface DraftBooking {
// ─── Channel ─────────────────────────────────────────────────────────────────
export type ChannelName = 'booking_com' | 'airbnb' | 'expedia' | 'vrbo'
export type ChannelName = 'booking_com' | 'airbnb' | 'expedia' | 'vrbo' | 'yandex_travel' | 'ostrovok' | 'sutochno' | 'onetwotrip'
export type SyncStatus = 'idle' | 'syncing' | 'success' | 'error'
export interface ChannelMapping {