mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-18 21:47:39 +02:00
fix(ams): HT slot shows "Generic" after configuring custom preset (#1053)
After configuring an AMS-HT slot with a custom cloud preset, the slot card and Configure modal kept showing "Generic PLA" even though the printer and slicer had the correct preset. The `/slot-presets` response keyed HT entries at `ams_id * 4 + tray_id = 512`, but frontend lookups used `ams_id` directly (128 on PrintersPage via getGlobalTrayId, 64 on SpoolBuddy via a one-off formula). All three agreed for regular AMS, so the mismatch only surfaced on HT — the saved preset never reached the UI and the render fell through to `tray.tray_type`. Backend now keys via a helper that mirrors frontend `getGlobalTrayId`. SpoolBuddy's AMS page switches to the shared helper. Regression test covers regular, HT, and external slot keys.
This commit is contained in:
@@ -291,7 +291,7 @@ export function SpoolBuddyAmsPage() {
|
||||
}, [effectiveTrayNow]);
|
||||
|
||||
const handleAmsSlotClick = useCallback((amsId: number, trayId: number, tray: AMSTray | null) => {
|
||||
const globalTrayId = amsId >= 128 ? (amsId - 128) * 4 + trayId + 64 : amsId * 4 + trayId;
|
||||
const globalTrayId = getGlobalTrayId(amsId, trayId, false);
|
||||
const slotPreset = slotPresets?.[globalTrayId];
|
||||
const mappedExtruderId = amsExtruderMap[String(amsId)];
|
||||
const normalizedId = amsId >= 128 ? amsId - 128 : amsId;
|
||||
|
||||
Reference in New Issue
Block a user