fix: load widget settings with camelCase keys (transformKeys converts response)

This commit is contained in:
2026-04-07 22:31:25 +03:00
parent 643774ce0a
commit 0eababe4e0

View File

@@ -1108,18 +1108,20 @@ export function BookingWidgetPage() {
const widgetGw = gws.find(g => g.isActive && g.modules?.includes('booking-widget')) const widgetGw = gws.find(g => g.isActive && g.modules?.includes('booking-widget'))
setGateway(widgetGw ?? null) setGateway(widgetGw ?? null)
// Restore saved widget settings // Restore saved widget settings
// Note: transformKeys() converts snake_case→camelCase in responses,
// so widget_color → widgetColor, widget_show_rooms → widgetShowRooms, etc.
setSettings(prev => ({ setSettings(prev => ({
...prev, ...prev,
hotelName: String(hs.widget_hotel_name ?? config?.hotelName ?? prev.hotelName), hotelName: String((hs as any).widgetHotelName ?? config?.hotelName ?? prev.hotelName),
primaryColor: String(hs.widget_color ?? prev.primaryColor), primaryColor: String((hs as any).widgetColor ?? prev.primaryColor),
language: (String(hs.widget_lang ?? prev.language)) as 'ru' | 'en', language: (String((hs as any).widgetLang ?? prev.language)) as 'ru' | 'en',
showRooms: hs.widget_show_rooms !== undefined ? Boolean(hs.widget_show_rooms) : prev.showRooms, showRooms: (hs as any).widgetShowRooms !== undefined ? Boolean((hs as any).widgetShowRooms) : prev.showRooms,
showRental: hs.widget_show_rental !== undefined ? Boolean(hs.widget_show_rental) : prev.showRental, showRental: (hs as any).widgetShowRental !== undefined ? Boolean((hs as any).widgetShowRental) : prev.showRental,
roomDisplayMode: (String(hs.widget_room_mode ?? prev.roomDisplayMode)) as 'rooms' | 'categories', roomDisplayMode: (String((hs as any).widgetRoomMode ?? prev.roomDisplayMode)) as 'rooms' | 'categories',
minNights: hs.widget_min_nights !== undefined ? Number(hs.widget_min_nights) : prev.minNights, minNights: (hs as any).widgetMinNights !== undefined ? Number((hs as any).widgetMinNights) : prev.minNights,
showPromo: hs.widget_show_promo !== undefined ? Boolean(hs.widget_show_promo) : prev.showPromo, showPromo: (hs as any).widgetShowPromo !== undefined ? Boolean((hs as any).widgetShowPromo) : prev.showPromo,
allowExtraBeds: hs.widget_extra_beds !== undefined ? Boolean(hs.widget_extra_beds) : prev.allowExtraBeds, allowExtraBeds: (hs as any).widgetExtraBeds !== undefined ? Boolean((hs as any).widgetExtraBeds) : prev.allowExtraBeds,
allowChildren: hs.widget_children !== undefined ? Boolean(hs.widget_children) : prev.allowChildren, allowChildren: (hs as any).widgetChildren !== undefined ? Boolean((hs as any).widgetChildren) : prev.allowChildren,
})) }))
setSettingsReady(true) setSettingsReady(true)
}).finally(() => setGatewayLoading(false)) }).finally(() => setGatewayLoading(false))