From 0dfcd7f33f24e0481f859d9b1984375edb905449 Mon Sep 17 00:00:00 2001 From: HotelSync Date: Fri, 27 Mar 2026 23:31:58 +0300 Subject: [PATCH] fix: read camelCase config keys from API response (dto_pass, dto_user, etc.) transformKeys converts all nested JSONB keys to camelCase, so reading dto_pass from config returned undefined, falling back to default '30'. Now reads dtoPass (camelCase) with dto_pass as fallback for compatibility. Co-Authored-By: Claude Sonnet 4.6 --- src/pages/EquipmentPage.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/pages/EquipmentPage.tsx b/src/pages/EquipmentPage.tsx index 532a471..6ae163b 100644 --- a/src/pages/EquipmentPage.tsx +++ b/src/pages/EquipmentPage.tsx @@ -202,15 +202,16 @@ function DeviceForm({ const [purpose, setPurpose] = useState(initial?.purpose ?? 'receipt') const [fiscalMode, setFiscalMode] = useState(initial?.fiscalMode !== false) const [dtoPort, setDtoPort] = useState(String(initial?.dtoPort ?? 16732)) - const [dtoUser, setDtoUser] = useState(String(initial?.config?.dto_user ?? '30')) - const [dtoPass, setDtoPass] = useState(String(initial?.config?.dto_pass ?? '30')) - const [dtoDeviceId, setDtoDeviceId] = useState(String(initial?.config?.dto_device_id ?? '')) + // config keys come from API already camelCased by transformKeys + const [dtoUser, setDtoUser] = useState(String((initial?.config as any)?.dtoUser ?? (initial?.config as any)?.dto_user ?? '30')) + const [dtoPass, setDtoPass] = useState(String((initial?.config as any)?.dtoPass ?? (initial?.config as any)?.dto_pass ?? '30')) + const [dtoDeviceId, setDtoDeviceId] = useState(String((initial?.config as any)?.dtoDeviceId ?? (initial?.config as any)?.dto_device_id ?? '')) const [saving, setSaving] = useState(false) const [availablePorts, setAvailablePorts] = useState<{ port: string; description?: string }[] | null>(null) const [portsLoading, setPortsLoading] = useState(false) const [availablePrinters, setAvailablePrinters] = useState<{ name: string; isDefault: boolean }[] | null>(null) const [printersLoading, setPrintersLoading] = useState(false) - const [windowsPrinter, setWindowsPrinter] = useState(String(initial?.config?.windows_printer ?? '')) + const [windowsPrinter, setWindowsPrinter] = useState(String((initial?.config as any)?.windowsPrinter ?? (initial?.config as any)?.windows_printer ?? '')) const loadPorts = () => { if (!wsOnline) return