fix: load widget settings with camelCase keys (transformKeys converts response)
This commit is contained in:
@@ -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))
|
||||||
|
|||||||
Reference in New Issue
Block a user