diff --git a/backend/app/api/routes/spoolman.py b/backend/app/api/routes/spoolman.py index d7005aed7..f7fb53ff3 100644 --- a/backend/app/api/routes/spoolman.py +++ b/backend/app/api/routes/spoolman.py @@ -571,6 +571,7 @@ class UnlinkedSpool(BaseModel): id: int filament_name: str | None + filament_vendor: str | None filament_material: str | None filament_color_hex: str | None remaining_weight: float | None @@ -613,6 +614,7 @@ async def get_unlinked_spools( UnlinkedSpool( id=spool["id"], filament_name=filament.get("name"), + filament_vendor=(filament.get("vendor") or {}).get("name"), filament_material=filament.get("material"), filament_color_hex=filament.get("color_hex"), remaining_weight=spool.get("remaining_weight"), diff --git a/frontend/src/api/client.ts b/frontend/src/api/client.ts index da8e2d3e9..cffff3e16 100644 --- a/frontend/src/api/client.ts +++ b/frontend/src/api/client.ts @@ -1981,6 +1981,7 @@ export interface SpoolmanSyncResult { export interface UnlinkedSpool { id: number; filament_name: string | null; + filament_vendor: string | null; filament_material: string | null; filament_color_hex: string | null; remaining_weight: number | null; diff --git a/frontend/src/components/LinkSpoolModal.tsx b/frontend/src/components/LinkSpoolModal.tsx index d1c471761..d3f43ffdb 100644 --- a/frontend/src/components/LinkSpoolModal.tsx +++ b/frontend/src/components/LinkSpoolModal.tsx @@ -38,6 +38,7 @@ export function LinkSpoolModal({ isOpen, onClose, tagUid, trayUuid, printerId, a const q = search.toLowerCase(); return ( (s.filament_name && s.filament_name.toLowerCase().includes(q)) || + (s.filament_vendor && s.filament_vendor.toLowerCase().includes(q)) || (s.filament_material && s.filament_material.toLowerCase().includes(q)) || String(s.id).includes(q) ); @@ -131,6 +132,7 @@ export function LinkSpoolModal({ isOpen, onClose, tagUid, trayUuid, printerId, a {spool.filament_name || t('spoolman.spoolId')}