| 1 |
- import{i as e}from"./chunk-aKtaBQYM.js";import{C as t,D as n,a as r,w as i}from"./client-1U8CP3-A.js";import{n as a}from"./QueryClientProvider-DNxj-7q3.js";import{t as o}from"./useQuery-CuYt61na.js";import{t as s}from"./useMutation-Bol60WRP.js";import{n as c}from"./ToastContext-Bhj9DS2p.js";import{t as l}from"./link-2-Cf7k-BjQ.js";import{t as u}from"./package-hOdzKjx9.js";import{t as ee}from"./settings-2-B3gME1BN.js";import{t as d}from"./unlink-DUf3sonQ.js";import{t as te}from"./x-DqK-_AtV.js";import{B as ne,J as re,Q as ie,Un as ae,W as oe,X as se,Y as ce,dt as le,ln as ue,mt as f,nt as de,q as p,rt as m}from"./index-C6-VhZuX.js";import{i as fe,n as pe,r as me,t as he}from"./AmsUnitCard-CQpqKENa.js";import{n as h}from"./spoolPaint-CrvpHqdD.js";import{t as ge}from"./printerModel-DrNvERGQ.js";import{n as _e,r as ve,t as ye}from"./ConfigureAmsSlotModal-CJh5MPWm.js";var g=e(n(),1),_=t();function be(e){let t=f(e.color_name,e.rgba,e.color_name_is_synthesized);return t?` - ${t}`:``}function xe(e){return e<=3?`AMS ${String.fromCharCode(65+e)}`:e>=128&&e<=135?`AMS HT ${String.fromCharCode(65+e-128)}`:`AMS ${e}`}function v(e){return!e.tray_type||e.tray_type===``}function Se(e){return e?`#${e.slice(0,6)}`:`#808080`}function y(){let{selectedPrinterId:e,setAlert:t}=ae(),{t:n}=i(),f=a(),{showToast:y}=c(),{data:b}=o({queryKey:[`printerStatus`,e],queryFn:()=>r.getPrinterStatus(e),enabled:e!==null,staleTime:30*1e3}),{data:x}=o({queryKey:[`printer`,e],queryFn:()=>r.getPrinter(e),enabled:e!==null,staleTime:60*1e3}),{data:S}=o({queryKey:[`slotPresets`,e],queryFn:()=>r.getSlotPresets(e),enabled:e!==null,staleTime:120*1e3}),{data:C}=ne({staleTime:300*1e3}),{data:w}=o({queryKey:[`spoolman-status`],queryFn:r.getSpoolmanStatus,staleTime:60*1e3}),T=w?.enabled&&w?.connected,{data:Ce}=o({queryKey:[`linked-spools`],queryFn:r.getLinkedSpools,enabled:!!T,staleTime:30*1e3}),E=Ce?.linked,{data:D=[]}=o({queryKey:[`spoolman-slot-assignments`,`all`],queryFn:()=>r.getSpoolmanSlotAssignments(),enabled:!!T,staleTime:30*1e3}),{data:O=[]}=o({queryKey:[`spoolman-inventory-spools`],queryFn:()=>r.getSpoolmanInventorySpools(!1),enabled:!!T,staleTime:30*1e3}),{data:k}=o({queryKey:[`spool-assignments`,e],queryFn:()=>r.getAssignments(e),enabled:e!==null,staleTime:30*1e3}),A=(0,g.useMemo)(()=>{let e={};if(!k)return e;for(let t of k){let n=t.spool;if(n&&n.label_weight>0&&n.weight_used!=null){let r=Math.round(Math.max(0,n.label_weight-n.weight_used)/n.label_weight*100);e[`${t.ams_id}-${t.tray_id}`]=r}}return e},[k]),j=x?.serial_number??``,M=(0,g.useCallback)((t,n,r)=>{if(e!==null&&D.length&&O.length){let r=D.find(r=>r.printer_id===e&&r.ams_id===t&&r.tray_id===n);if(r){let e=O.find(e=>e.id===r.spoolman_spool_id);if(e&&(e.label_weight??0)>0)return Math.round(Math.max(0,e.label_weight-e.weight_used)/e.label_weight*100)}}if(E&&j){let e=(r?.tray_uuid||r?.tag_uid||p(j,t,n))?.toUpperCase(),i=se(e?E[e]:void 0);if(i!==null)return i}return null},[E,j,e,D,O]),N=b?.connected??!1,P=(0,g.useRef)({});(0,g.useEffect)(()=>{e&&b?.ams&&b.ams.length>0&&(P.current[e]=b.ams)},[b?.ams,e]);let F=(0,g.useMemo)(()=>{let t=b?.ams;return t&&t.length>0?t:(e?P.current[e]:null)??[]},[b?.ams,e]),I=(0,g.useMemo)(()=>F.filter(e=>!e.is_ams_ht),[F]),we=(0,g.useMemo)(()=>F.filter(e=>e.is_ams_ht),[F]),Te=(0,g.useMemo)(()=>{let e={};if(!E||!j)return e;for(let t of I)for(let n=0;n<(t.tray?.length??0);n++){let r=t.tray[n],i=M(t.id,n,v(r)?null:r);i!==null&&(e[`${t.id}-${n}`]=i)}return e},[E,j,I,M]),L=(0,g.useRef)(void 0),R=b?.tray_now;R!==void 0&&R!==255?L.current=R:R===255&&(L.current=void 0);let z=R!==void 0&&R!==255?R:L.current,B=x?.nozzle_count===2||b?.temperatures?.nozzle_2!==void 0,V=(0,g.useMemo)(()=>[...b?.vt_tray??[]].sort((e,t)=>(e.id??254)-(t.id??254)),[b?.vt_tray]),H=C?{humidityGood:Number(C.ams_humidity_good)||40,humidityFair:Number(C.ams_humidity_fair)||60,tempGood:Number(C.ams_temp_good)||28,tempFair:Number(C.ams_temp_fair)||35}:void 0,U=(0,g.useRef)({});(0,g.useEffect)(()=>{b?.ams_extruder_map&&Object.keys(b.ams_extruder_map).length>0&&(U.current=b.ams_extruder_map)},[b?.ams_extruder_map]);let W=b?.ams_extruder_map&&Object.keys(b.ams_extruder_map).length>0?b.ams_extruder_map:U.current,G=(0,g.useCallback)(e=>{if(!B)return null;let t=W[String(e)],n=e>=128?e-128:e;return(t===void 0?n:t)===1?`L`:`R`},[B,W]),[K,Ee]=(0,g.useState)(null),[q,J]=(0,g.useState)(null),[Y,De]=(0,g.useState)(null),[X,Oe]=(0,g.useState)(null),ke=(0,g.useCallback)((e,t)=>k?.find(n=>n.ams_id===Number(e)&&n.tray_id===Number(t)),[k]),Ae=(0,g.useCallback)((e,t,n)=>{if(!E||!j)return;let r=(n?.tray_uuid||n?.tag_uid||p(j,e,t))?.toUpperCase();return r?E[r]:void 0},[E,j]),Z=s({mutationFn:({printerId:e,amsId:t,trayId:n})=>r.unassignSpool(e,t,n),onSuccess:()=>{f.invalidateQueries({queryKey:[`spool-assignments`,e]}),f.invalidateQueries({queryKey:[`spool-assignments`]}),y(n(`inventory.unassignSuccess`,`Spool unassigned`),`success`),J(null)}}),je=s({mutationFn:e=>r.unlinkSpool(e),onSuccess:e=>{y(n(`spoolman.unlinkSuccess`)||e?.message,`success`),f.invalidateQueries({queryKey:[`linked-spools`]}),f.invalidateQueries({queryKey:[`unlinked-spools`]}),f.invalidateQueries({queryKey:[`spoolman-slot-assignments`]}),f.invalidateQueries({queryKey:[`spoolman-slot-assignments`,`all`]}),f.invalidateQueries({queryKey:[`spoolman-inventory-spools`]}),J(null)},onError:e=>{y(e.message||n(`spoolman.unlinkFailed`),`error`)}}),Me=s({mutationFn:e=>r.unassignSpoolmanSlot(e),onSuccess:()=>{y(n(`inventory.unassignSuccess`,`Spool unassigned`),`success`),f.invalidateQueries({queryKey:[`spoolman-slot-assignments`]}),f.invalidateQueries({queryKey:[`spoolman-slot-assignments`,`all`]}),f.invalidateQueries({queryKey:[`spoolman-inventory-spools`]}),f.invalidateQueries({queryKey:[`unlinked-spools`]}),f.invalidateQueries({queryKey:[`linked-spools`]}),J(null)},onError:e=>{y(e.message||n(`inventory.assignFailed`,`Failed to unassign spool`),`error`)}}),Q=(0,g.useCallback)(e=>z===void 0?null:e<=3&&Math.floor(z/4)===e?z%4:e>=128&&e<=135&&z===ce(e,0,!1)?0:null,[z]),$=(0,g.useCallback)((e,t,n)=>{let r=ce(e,t,!1),i=S?.[r],a=W[String(e)],o=e>=128?e-128:e,s=a===void 0?o:a;J({amsId:e,trayId:t,trayCount:n&&e>=128?1:4,tray:n,trayType:n?.tray_type||void 0,trayColor:n?.tray_color||void 0,traySubBrands:n?.tray_sub_brands||void 0,trayInfoIdx:n?.tray_info_idx||void 0,extruderId:B?s:void 0,caliIdx:n?.cali_idx,savedPresetId:m(i?.preset_id,n?.tray_info_idx,i?.tray_info_idx)?i?.preset_id:void 0,location:`${xe(e)} Slot ${t+1}`})},[S,W,B]),Ne=(0,g.useCallback)(e=>{let t=e.id??254,n=t-254,r=S?.[1020+n];J({amsId:255,trayId:n,trayCount:1,tray:v(e)?null:e,trayType:e.tray_type||void 0,trayColor:e.tray_color||void 0,traySubBrands:e.tray_sub_brands||void 0,trayInfoIdx:e.tray_info_idx||void 0,extruderId:B?+(t===254):void 0,caliIdx:e.cali_idx,savedPresetId:m(r?.preset_id,e.tray_info_idx,r?.tray_info_idx)?r?.preset_id:void 0,location:B?t===254?`Ext-L`:`Ext-R`:`External`})},[S,B]),Pe=(0,g.useCallback)(()=>{if(!q)return;let{tray:e,location:t,...n}=q;J(null),Ee(n)},[q]),Fe=(0,g.useCallback)(()=>{if(!q||!e)return;let{amsId:t,trayId:n,trayType:r,trayColor:i,location:a}=q;J(null),De({printerId:e,amsId:t,trayId:n,trayInfo:{type:r||``,material:r,color:i?.slice(0,6)||``,location:a}})},[q,e]),Ie=(0,g.useCallback)(()=>{if(!q||!e)return;let{amsId:t,trayId:n,tray:r}=q,i=(r?.tray_uuid||r?.tag_uid||p(j,t,n))?.toUpperCase()||``;J(null),Oe({tagUid:r?.tag_uid||i,trayUuid:r?.tray_uuid||``,printerId:e,amsId:t,trayId:n})},[q,e,j]),Le=(0,g.useCallback)(()=>{if(!q||!e)return;let{amsId:t,trayId:n}=q;Z.mutate({printerId:e,amsId:t,trayId:n})},[q,e,Z]);(0,g.useEffect)(()=>{if(!N&&e){t({type:`warning`,message:n(`spoolbuddy.ams.printerDisconnected`,`Printer disconnected`)});return}for(let e of F){let n=e.tray||[];for(let r=0;r<n.length;r++){let i=n[r];if(i.remain!==null&&i.remain>=0&&i.remain<15&&i.tray_type){let n=e.id===254||e.id===255,a=!n&&e.id>=128,o=oe(e.id,r,a,n);t({type:`warning`,message:`Low Filament: ${i.tray_type} (${o}) - ${i.remain}% remaining`});return}}}t(null)},[F,N,e,t,n]);let Re=(0,g.useMemo)(()=>{let e=[];for(let t of we){let n=t.tray?.[0]||{id:0,tray_color:null,tray_type:``,tray_sub_brands:null,tray_id_name:null,tray_info_idx:null,remain:-1,k:null,cali_idx:null,tag_uid:null,tray_uuid:null,nozzle_temp_min:null,nozzle_temp_max:null},r=M(t.id,0,v(n)?null:n),i=A[`${t.id}-0`]??null,a=n.remain!=null&&n.remain>=0?n.remain:null,o=i===0&&a!==null&&a>0?null:i;e.push({key:`ht-${t.id}`,label:xe(t.id),tray:n,isEmpty:v(n),isActive:Q(t.id)===0,temp:t.temp,humidity:t.humidity,nozzleSide:G(t.id),effectiveFill:r??o??a,onClick:()=>$(t.id,0,v(n)?null:n)})}for(let t of V){let r=t.id??254,i=B&&z===254?r===254&&b?.active_extruder===1||r===255&&b?.active_extruder===0:z===r,a=r-254,o=M(255,a,v(t)?null:t),s=A[`255-${a}`]??null,c=t.remain!=null&&t.remain>=0?t.remain:null,l=s===0&&c!==null&&c>0?null:s;e.push({key:`ext-${r}`,label:B?r===254?n(`printers.extL`,`Ext-L`):n(`printers.extR`,`Ext-R`):n(`printers.ext`,`Ext`),tray:t,isEmpty:v(t),isActive:i,nozzleSide:null,effectiveFill:o??l??c,onClick:()=>Ne(t)})}return e},[we,V,B,z,b?.active_extruder,n,Q,G,$,Ne,A,M]);return(0,_.jsxs)(`div`,{className:`h-full flex flex-col p-4`,children:[(0,_.jsx)(`div`,{className:`flex-1 min-h-0`,children:e?N?F.length===0&&V.length===0?(0,_.jsx)(`div`,{className:`flex-1 flex items-center justify-center h-full`,children:(0,_.jsxs)(`div`,{className:`text-center text-white/50`,children:[(0,_.jsx)(ue,{className:`w-12 h-12 mx-auto mb-3 opacity-50`}),(0,_.jsx)(`p`,{className:`text-lg mb-2`,children:n(`spoolbuddy.ams.noData`,`No AMS detected`)}),(0,_.jsx)(`p`,{className:`text-sm`,children:n(`spoolbuddy.ams.connectAms`,`Connect an AMS to see filament slots`)})]})}):(0,_.jsxs)(`div`,{className:`flex flex-col gap-3 h-full`,children:[(0,_.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:I.map(e=>(0,_.jsx)(he,{unit:e,activeSlot:Q(e.id),onConfigureSlot:$,isDualNozzle:B,nozzleSide:G(e.id),thresholds:H,fillOverrides:A,spoolmanFillOverrides:Te},e.id))}),Re.length>0&&(0,_.jsx)(`div`,{className:`grid grid-cols-2 md:grid-cols-4 gap-3`,children:Re.map(({key:e,label:t,tray:n,isEmpty:r,isActive:i,temp:a,humidity:o,nozzleSide:s,effectiveFill:c,onClick:l})=>{let u=Se(n.tray_color);return(0,_.jsxs)(`div`,{className:`bg-bambu-dark-secondary rounded-lg px-3 py-2 cursor-pointer hover:bg-bambu-dark-secondary/80 transition-all flex items-center gap-3 ${i?`ring-2 ring-bambu-green`:``}`,onClick:l,children:[(0,_.jsxs)(`div`,{className:`relative w-10 h-10 flex-shrink-0`,children:[r?(0,_.jsx)(`div`,{className:`w-full h-full rounded-full border-2 border-dashed border-gray-500 flex items-center justify-center`,children:(0,_.jsx)(`div`,{className:`w-1.5 h-1.5 rounded-full bg-gray-600`})}):(0,_.jsxs)(`svg`,{viewBox:`0 0 56 56`,className:`w-full h-full`,children:[(0,_.jsx)(`circle`,{cx:`28`,cy:`28`,r:`26`,fill:u}),(0,_.jsx)(`circle`,{cx:`28`,cy:`28`,r:`20`,fill:u,style:{filter:`brightness(0.85)`}}),(0,_.jsx)(`ellipse`,{cx:`20`,cy:`20`,rx:`6`,ry:`4`,fill:`white`,opacity:`0.3`}),(0,_.jsx)(`circle`,{cx:`28`,cy:`28`,r:`8`,fill:`#2d2d2d`}),(0,_.jsx)(`circle`,{cx:`28`,cy:`28`,r:`5`,fill:`#1a1a1a`})]}),i&&(0,_.jsx)(`div`,{className:`absolute -bottom-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 bg-bambu-green rounded-full`})]}),(0,_.jsxs)(`div`,{className:`min-w-0`,children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,_.jsx)(`span`,{className:`text-xs text-white/50 font-medium truncate`,children:t}),s&&(0,_.jsx)(me,{side:s})]}),(0,_.jsx)(`div`,{className:`text-sm text-white/80 truncate`,children:r?`Empty`:n.tray_type||`?`}),(a!=null||o!=null)&&(0,_.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[a!=null&&(0,_.jsx)(fe,{temp:a,goodThreshold:H?.tempGood,fairThreshold:H?.tempFair}),o!=null&&(0,_.jsx)(pe,{humidity:o,goodThreshold:H?.humidityGood,fairThreshold:H?.humidityFair})]})]}),!r&&c!=null&&c>=0&&(0,_.jsx)(`div`,{className:`w-1.5 h-8 bg-bambu-dark-tertiary rounded-full overflow-hidden flex-shrink-0 flex flex-col-reverse`,children:(0,_.jsx)(`div`,{className:`w-full rounded-full`,style:{height:`${c}%`,backgroundColor:re(c)}})})]},e)})})]}):(0,_.jsx)(`div`,{className:`flex-1 flex items-center justify-center h-full`,children:(0,_.jsx)(`div`,{className:`text-center text-white/50`,children:(0,_.jsx)(`p`,{className:`text-lg mb-2`,children:n(`spoolbuddy.ams.printerDisconnected`,`Printer disconnected`)})})}):(0,_.jsx)(`div`,{className:`flex-1 flex items-center justify-center h-full`,children:(0,_.jsxs)(`div`,{className:`text-center text-white/50`,children:[(0,_.jsx)(`p`,{className:`text-lg mb-2`,children:n(`spoolbuddy.ams.noPrinter`,`No printer selected`)}),(0,_.jsx)(`p`,{className:`text-sm`,children:n(`spoolbuddy.ams.selectPrinter`,`Select a printer from the top bar`)})]})})}),K&&e&&(0,_.jsx)(ye,{isOpen:!!K,onClose:()=>Ee(null),printerId:e,slotInfo:K,printerModel:ge(x?.model??null)||void 0,nozzleDiameter:de(b,K.amsId),fullScreen:!0,onSuccess:()=>{f.invalidateQueries({queryKey:[`slotPresets`,e]}),f.invalidateQueries({queryKey:[`printerStatus`,e]})}}),q&&e&&(()=>{let t=ke(q.amsId,q.trayId),r=Ae(q.amsId,q.trayId,q.tray),i=T?D.find(t=>t.printer_id===e&&t.ams_id===q.amsId&&t.tray_id===q.trayId):void 0,a=i?O.find(e=>e.id===i.spoolman_spool_id)??null:null;return(0,_.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:[(0,_.jsx)(`div`,{className:`absolute inset-0 bg-black/60 backdrop-blur-sm`,onClick:()=>J(null)}),(0,_.jsxs)(`div`,{className:`relative w-full max-w-sm mx-4 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-xl shadow-2xl`,children:[(0,_.jsxs)(`div`,{className:`flex items-center justify-between p-4 border-b border-bambu-dark-tertiary`,children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[q.trayColor&&(0,_.jsx)(`span`,{className:`w-4 h-4 rounded-full border border-black/20`,style:{backgroundColor:`#${q.trayColor.slice(0,6)}`}}),(0,_.jsx)(`h2`,{className:`text-lg font-semibold text-white`,children:q.location}),q.traySubBrands&&(0,_.jsxs)(`span`,{className:`text-sm text-bambu-gray`,children:[`(`,q.traySubBrands,`)`]})]}),(0,_.jsx)(`button`,{onClick:()=>J(null),className:`p-1 text-bambu-gray hover:text-white rounded transition-colors`,children:(0,_.jsx)(te,{className:`w-5 h-5`})})]}),(0,_.jsxs)(`div`,{className:`p-4 space-y-2`,children:[!T&&t?.spool&&(0,_.jsxs)(`div`,{className:`p-2.5 bg-bambu-dark rounded-lg border border-bambu-dark-tertiary mb-3`,children:[(0,_.jsx)(`p`,{className:`text-xs text-bambu-gray mb-1`,children:n(`inventory.assignedSpool`,`Assigned spool`)}),(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[t.spool.rgba&&(0,_.jsx)(`span`,{className:`w-3 h-3 rounded-full border border-black/20 flex-shrink-0`,style:h(t.spool)??le(t.spool.rgba)}),(0,_.jsxs)(`span`,{className:`text-sm text-white`,children:[t.spool.brand?`${t.spool.brand} `:``,t.spool.material,t.spool.subtype?` ${t.spool.subtype}`:``,be(t.spool)]}),(0,_.jsxs)(`span`,{className:`text-[10px] font-mono text-zinc-500 shrink-0 ml-auto`,children:[`#`,t.spool.id]})]})]}),T&&r&&!a&&(0,_.jsxs)(`div`,{className:`p-2.5 bg-bambu-dark rounded-lg border border-bambu-dark-tertiary mb-3`,children:[(0,_.jsx)(`p`,{className:`text-xs text-bambu-gray mb-1`,children:n(`spoolman.linkedSpool`,`Linked spool`)}),(0,_.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,_.jsxs)(`span`,{className:`text-sm text-white`,children:[`Spoolman #`,r.id,r.remaining_weight==null?``:` (${Math.round(r.remaining_weight)}g)`]})})]}),T&&a&&(0,_.jsxs)(`div`,{className:`p-2.5 bg-bambu-dark rounded-lg border border-bambu-dark-tertiary mb-3`,children:[(0,_.jsx)(`p`,{className:`text-xs text-bambu-gray mb-1`,children:n(`inventory.assignedSpool`,`Assigned spool`)}),(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[a.rgba&&(0,_.jsx)(`span`,{className:`w-3 h-3 rounded-full border border-black/20 flex-shrink-0`,style:h(a)??le(a.rgba)}),(0,_.jsxs)(`span`,{className:`text-sm text-white`,children:[a.brand?`${a.brand} `:``,a.material,a.subtype?` ${a.subtype}`:``,be(a)]})]})]}),(0,_.jsxs)(`button`,{onClick:Pe,className:`w-full flex items-center gap-3 p-3 rounded-lg bg-bambu-dark border border-bambu-dark-tertiary hover:border-bambu-blue transition-colors text-left`,children:[(0,_.jsx)(ee,{className:`w-5 h-5 text-bambu-blue flex-shrink-0`}),(0,_.jsxs)(`div`,{children:[(0,_.jsx)(`p`,{className:`text-white font-medium`,children:n(`configureAmsSlot.title`)}),(0,_.jsx)(`p`,{className:`text-xs text-bambu-gray`,children:n(`spoolbuddy.ams.configureDesc`,`Set filament preset, K-profile, and color`)})]})]}),!T&&(ie(q?.tray)?null:t?(0,_.jsxs)(`button`,{onClick:Le,disabled:Z.isPending,className:`w-full flex items-center gap-3 p-3 rounded-lg bg-bambu-dark border border-bambu-dark-tertiary hover:border-amber-500 transition-colors text-left`,children:[(0,_.jsx)(d,{className:`w-5 h-5 text-amber-400 flex-shrink-0`}),(0,_.jsxs)(`div`,{children:[(0,_.jsx)(`p`,{className:`text-amber-400 font-medium`,children:n(`inventory.unassignSpool`,`Unassign`)}),(0,_.jsx)(`p`,{className:`text-xs text-bambu-gray`,children:n(`spoolbuddy.ams.unassignDesc`,`Remove inventory spool from this slot`)})]})]}):(0,_.jsxs)(`button`,{onClick:Fe,className:`w-full flex items-center gap-3 p-3 rounded-lg bg-bambu-dark border border-bambu-dark-tertiary hover:border-bambu-green transition-colors text-left`,children:[(0,_.jsx)(u,{className:`w-5 h-5 text-bambu-green flex-shrink-0`}),(0,_.jsxs)(`div`,{children:[(0,_.jsx)(`p`,{className:`text-white font-medium`,children:n(`inventory.assignSpool`)}),(0,_.jsx)(`p`,{className:`text-xs text-bambu-gray`,children:n(`spoolbuddy.ams.assignDesc`,`Track a spool from your inventory`)})]})]})),T&&(r?.id?(0,_.jsxs)(`button`,{onClick:()=>je.mutate(r.id),disabled:je.isPending,className:`w-full flex items-center gap-3 p-3 rounded-lg bg-bambu-dark border border-bambu-dark-tertiary hover:border-amber-500 transition-colors text-left active:opacity-50`,children:[(0,_.jsx)(d,{className:`w-5 h-5 text-amber-400 flex-shrink-0`}),(0,_.jsxs)(`div`,{children:[(0,_.jsx)(`p`,{className:`text-amber-400 font-medium`,children:n(`inventory.unassignSpool`)}),(0,_.jsx)(`p`,{className:`text-xs text-bambu-gray`,children:n(`spoolbuddy.ams.unlinkDesc`,`Remove Spoolman link from this slot`)})]})]}):a?(0,_.jsxs)(`button`,{onClick:()=>Me.mutate(a.id),disabled:Me.isPending,className:`w-full flex items-center gap-3 p-3 rounded-lg bg-bambu-dark border border-bambu-dark-tertiary hover:border-amber-500 transition-colors text-left active:opacity-50`,children:[(0,_.jsx)(d,{className:`w-5 h-5 text-amber-400 flex-shrink-0`}),(0,_.jsxs)(`div`,{children:[(0,_.jsx)(`p`,{className:`text-amber-400 font-medium`,children:n(`inventory.unassignSpool`)}),(0,_.jsx)(`p`,{className:`text-xs text-bambu-gray`,children:n(`spoolbuddy.ams.unassignDesc`,`Remove inventory spool from this slot`)})]})]}):(0,_.jsxs)(`button`,{onClick:Ie,className:`w-full flex items-center gap-3 p-3 rounded-lg bg-bambu-dark border border-bambu-dark-tertiary hover:border-bambu-green transition-colors text-left`,children:[(0,_.jsx)(l,{className:`w-5 h-5 text-bambu-green flex-shrink-0`}),(0,_.jsxs)(`div`,{children:[(0,_.jsx)(`p`,{className:`text-white font-medium`,children:n(`inventory.assignSpool`)}),(0,_.jsx)(`p`,{className:`text-xs text-bambu-gray`,children:n(`spoolbuddy.ams.linkDesc`,`Link a Spoolman spool to this slot`)})]})]}))]})]})]})})(),Y&&(0,_.jsx)(_e,{isOpen:!!Y,onClose:()=>{De(null),f.invalidateQueries({queryKey:[`spool-assignments`,e]}),f.invalidateQueries({queryKey:[`spool-assignments`]})},printerId:Y.printerId,amsId:Y.amsId,trayId:Y.trayId,trayInfo:Y.trayInfo,spoolmanEnabled:!!T}),X&&(0,_.jsx)(ve,{isOpen:!!X,onClose:()=>Oe(null),tagUid:X.tagUid,trayUuid:X.trayUuid,printerId:X.printerId,amsId:X.amsId,trayId:X.trayId})]})}export{y as SpoolBuddyAmsPage};
|