Fix: drag booking passes roomId to API; checked_out rooms available for new booking; remove time-based theme text
This commit is contained in:
@@ -42,7 +42,7 @@ function isConflict(bookings: Booking[], roomId: string, checkIn: string, checkO
|
||||
return bookings.some(b =>
|
||||
b.roomId === roomId &&
|
||||
b.id !== excludeId &&
|
||||
b.status !== 'cancelled' && b.status !== 'no_show' &&
|
||||
b.status !== 'cancelled' && b.status !== 'no_show' && b.status !== 'checked_out' &&
|
||||
b.checkIn < checkOut && b.checkOut > checkIn,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -257,7 +257,7 @@ export function Topbar({ onMenuToggle, title }: TopbarProps) {
|
||||
</div>
|
||||
|
||||
{/* Theme toggle */}
|
||||
<button onClick={toggle} className="btn-ghost p-2" title={mode === 'light' ? 'Светлая тема' : mode === 'dark' ? 'Тёмная тема' : 'Авто (по времени)'}>
|
||||
<button onClick={toggle} className="btn-ghost p-2" title={mode === 'light' ? 'Светлая тема' : mode === 'dark' ? 'Тёмная тема' : 'Авто (системная тема)'}>
|
||||
{mode === 'light' ? <Moon size={18} /> : mode === 'dark' ? <Sun size={18} /> : <Monitor size={18} />}
|
||||
</button>
|
||||
|
||||
|
||||
@@ -82,6 +82,7 @@ export function CalendarPage() {
|
||||
const handleUpdate = async (id: string, data: Partial<Booking>) => {
|
||||
try {
|
||||
const updated = await api.bookings.update(slug, id, {
|
||||
roomId: data.roomId,
|
||||
guestName: data.guestName, guestEmail: data.guestEmail,
|
||||
checkIn: data.checkIn, checkOut: data.checkOut,
|
||||
adults: data.adults, children: data.children,
|
||||
|
||||
@@ -373,7 +373,7 @@ export function SettingsPage() {
|
||||
{([
|
||||
{ id: 'light', label: 'Светлая', desc: null },
|
||||
{ id: 'dark', label: 'Тёмная', desc: null },
|
||||
{ id: 'auto', label: 'Авто', desc: 'Светлая 7:00–22:00, тёмная ночью' },
|
||||
{ id: 'auto', label: 'Авто', desc: 'Следует системной теме устройства' },
|
||||
] as const).map(t => (
|
||||
<button
|
||||
key={t.id}
|
||||
|
||||
Reference in New Issue
Block a user