| 1 |
- import{i as e}from"./chunk-aKtaBQYM.js";import{C as t,D as n,a as r,w as i}from"./client-BdOyoZJz.js";import{n as a}from"./QueryClientProvider-Clbyr4Jg.js";import{t as o}from"./useQuery-CCy0EwsM.js";import{t as s}from"./useMutation-qh3Iyscy.js";import{t as c}from"./createLucideIcon-Yo2YoYjm.js";import{t as l}from"./box-BIRPxdgi.js";import{n as u,t as d}from"./fan-DSlOeWAh.js";import{t as f}from"./calendar-DiVEdzUw.js";import{t as p}from"./check-D1Pn8T1J.js";import{a as m,i as h}from"./info-DcT0QU8O.js";import{n as g}from"./ToastContext-VFOrCCoA.js";import{t as _}from"./cog-pa-nvQzt.js";import{t as v}from"./droplet-PpnaB65N.js";import{t as y}from"./funnel-BtI48m95.js";import{t as ee}from"./loader-circle-CB4leTZa.js";import{t as b}from"./pen-line-DYnjxVtS.js";import{t as x}from"./sparkles-AUof3WTI.js";import{t as S}from"./target-PpftuQXz.js";import{n as C,t as w}from"./wind-CsHQYbhI.js";import{t as T}from"./timer-BYBW_ysJ.js";import{t as E}from"./triangle-alert-gIik0G2C.js";import{n as D,t as O}from"./Card-OUAj0Ayh.js";import{t as k}from"./Button-pwVKPiYn.js";import{At as te,Cn as A,Gt as j,Jt as ne,Kt as M,Lt as re,On as N,Vt as P,Zt as ie,_t as ae,bn as F,bt as I,cn as L,xt as R,yt as oe}from"./index-BoVbGTav.js";import{t as z}from"./Toggle-CwMiiK0g.js";var B=c(`circle-dot`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}]]),V=c(`ruler`,[[`path`,{d:`M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z`,key:`icamh8`}],[`path`,{d:`m14.5 12.5 2-2`,key:`inckbg`}],[`path`,{d:`m11.5 9.5 2-2`,key:`fmmyf7`}],[`path`,{d:`m8.5 6.5 2-2`,key:`vc6u1g`}],[`path`,{d:`m17.5 15.5 2-2`,key:`wo5hmg`}]]),H=e(n(),1);function U(e,t){let n=(t||``).toUpperCase().replace(/[- ]/g,``),r=n.includes(`X1`),i=n.includes(`P1`),a=n.includes(`A1MINI`),o=n.includes(`A1`)&&!a,s=n.includes(`H2D`),c=n.includes(`H2C`),l=n.includes(`H2S`),u=s||c||l,d=n.includes(`P2S`),f=n.includes(`X2D`),p=d||f;switch(e){case`Lubricate Steel Rods`:return p?`https://wiki.bambulab.com/en/p2s/maintenance/lubricate-x-y-z-axis`:null;case`Clean Steel Rods`:return p?`https://wiki.bambulab.com/en/p2s/maintenance/lubricate-x-y-z-axis`:null;case`Lubricate Linear Rails`:return a?`https://wiki.bambulab.com/en/a1-mini/maintenance/lubricate-y-axis`:o?`https://wiki.bambulab.com/en/a1/maintenance/lubricate-y-axis`:u?`https://wiki.bambulab.com/en/h2/maintenance/x-axis-lubrication`:null;case`Clean Nozzle/Hotend`:return r||i?`https://wiki.bambulab.com/en/x1/troubleshooting/nozzle-clog`:a||o?`https://wiki.bambulab.com/en/a1-mini/troubleshooting/nozzle-clog`:u?`https://wiki.bambulab.com/en/h2/maintenance/nozzl-cold-pull-maintenance-and-cleaning`:p?`https://wiki.bambulab.com/en/p2s/maintenance/cold-pull-maintenance-hotend`:`https://wiki.bambulab.com/en/x1/troubleshooting/nozzle-clog`;case`Check Belt Tension`:return r?`https://wiki.bambulab.com/en/x1/maintenance/belt-tension`:i?`https://wiki.bambulab.com/en/p1/maintenance/p1p-maintenance`:a?`https://wiki.bambulab.com/en/a1-mini/maintenance/belt_tension`:o?`https://wiki.bambulab.com/en/a1/maintenance/belt_tension`:s?`https://wiki.bambulab.com/en/h2/maintenance/belt-tension`:c?`https://wiki.bambulab.com/en/h2c/maintenance/belt-tension`:l?`https://wiki.bambulab.com/en/h2s/maintenance/belt-tension`:p?`https://wiki.bambulab.com/en/p2s/maintenance/belt-tension`:`https://wiki.bambulab.com/en/x1/maintenance/belt-tension`;case`Clean Carbon Rods`:return r||i?`https://wiki.bambulab.com/en/general/carbon-rods-clearance`:null;case`Clean Linear Rails`:return a?`https://wiki.bambulab.com/en/a1-mini/maintenance/lubricate-y-axis`:o?`https://wiki.bambulab.com/en/a1/maintenance/lubricate-y-axis`:u?`https://wiki.bambulab.com/en/h2/maintenance/x-axis-lubrication`:null;case`Clean Build Plate`:return`https://wiki.bambulab.com/en/filament-acc/acc/pei-plate-clean-guide`;case`Check PTFE Tube`:return r||i?`https://wiki.bambulab.com/en/x1/maintenance/replace-ptfe-tube`:a||o?`https://wiki.bambulab.com/en/a1-mini/maintenance/ptfe-tube`:s?`https://wiki.bambulab.com/en/h2/maintenance/replace-ptfe-tube-on-h2d-printer`:l?`https://wiki.bambulab.com/en/h2s/maintenance/replace-ptfe-tube-on-h2s-printer`:c?`https://wiki.bambulab.com/en/h2/maintenance/replace-ptfe-tube-on-h2d-printer`:`https://wiki.bambulab.com/en/x1/maintenance/replace-ptfe-tube`;case`Replace HEPA Filter`:case`HEPA Filter`:case`Replace Carbon Filter`:case`Carbon Filter`:return u?`https://wiki.bambulab.com/en/h2/maintenance/replace-smoke-purifier-air-filte`:`https://wiki.bambulab.com/en/x1/maintenance/replace-carbon-filter`;case`Lubricate Left Nozzle Rail`:case`Left Nozzle Rail`:return u?`https://wiki.bambulab.com/en/h2/maintenance/x-axis-lubrication`:null;default:return null}}var W=t(),G={Droplet:v,Flame:F,Ruler:V,Sparkles:x,Square:re,Cable:u,Wrench:R,Calendar:f,Timer:T,Cog:_,Fan:d,Zap:I,Wind:w,Thermometer:C,Layers:L,Box:l,Target:S,RefreshCw:M,Settings:P,Filter:y,CircleDot:B};function K(e){return e&&G[e]||R}function q(e,t,n){if(t===`days`){if(e<1)return n?n(`common.today`):`Today`;if(e===1)return n?n(`maintenance.day`):`1 day`;if(e<7){let t=Math.round(e);return n?n(`maintenance.days`,{count:t}):`${t} days`}if(e<180){let t=Math.round(e/7);return t===1?n?n(`maintenance.week`):`1 week`:n?n(`maintenance.weeks`,{count:t}):`${t} weeks`}let t=Math.round(e/30);return t===1?n?n(`maintenance.month`):`1 month`:n?n(`maintenance.months`,{count:t}):`${t} months`}else{if(e<1)return`${Math.round(e*60)}m`;if(e<24)return`${e<10?e.toFixed(1):Math.round(e)}h`;let t=e/24;if(t<7)return`${t<2?t.toFixed(1):Math.round(t)}d`;let n=t/7;return n<12?`${n<2?n.toFixed(1):Math.round(n)}w`:`${Math.round(n/4)}mo`}}function J(e,t,n){return t===`days`?e===1?n?n(`maintenance.day`):`1 day`:e===7?n?n(`maintenance.week`):`1 week`:e===14?n?n(`maintenance.weeks`,{count:2}):`2 weeks`:e===30?n?n(`maintenance.month`):`1 month`:e===60?n?n(`maintenance.months`,{count:2}):`2 months`:e===90?n?n(`maintenance.months`,{count:3}):`3 months`:e===180?n?n(`maintenance.months`,{count:6}):`6 months`:e===365?n?n(`maintenance.year`):`1 year`:n?n(`maintenance.days`,{count:e}):`${e} days`:`${e}h`}function Y({item:e,onPerform:t,onToggle:n,hasPermission:r,t:i}){let a=K(e.maintenance_type_icon),o=e.interval_type||`hours`,s=(()=>{if(o===`days`){let t=e.days_since_maintenance??0;return Math.max(0,Math.min(100,t/e.interval_hours*100))}return Math.max(0,Math.min(100,(e.interval_hours-e.hours_until_due)/e.interval_hours*100))})(),c=()=>e.enabled?e.is_due?`text-red-700 dark:text-red-400`:e.is_warning?`text-amber-700 dark:text-amber-400`:`text-bambu-green`:`text-bambu-gray`;return(0,W.jsx)(`div`,{className:`rounded-xl border p-4 transition-all ${e.enabled?e.is_due?`bg-red-500/5 border-red-500/20`:e.is_warning?`bg-amber-500/5 border-amber-500/20`:`bg-bambu-dark-secondary border-bambu-dark-tertiary`:`bg-bambu-dark-secondary/50`}`,children:(0,W.jsxs)(`div`,{className:`flex items-start gap-3 max-[550px]:flex-wrap`,children:[(0,W.jsxs)(`div`,{className:`relative p-2.5 rounded-lg shrink-0 ${e.is_due?`bg-red-500/20`:e.is_warning?`bg-amber-500/20`:e.enabled?`bg-bambu-dark`:`bg-bambu-dark/50`}`,children:[(0,W.jsx)(a,{className:`w-5 h-5 ${c()}`}),e.enabled&&(e.is_due||e.is_warning)&&(0,W.jsx)(`span`,{className:`absolute -top-1 -right-1 w-2.5 h-2.5 rounded-full ${e.is_due?`bg-red-500`:`bg-amber-500`} animate-pulse`})]}),(0,W.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`h3`,{className:`font-medium truncate ${e.enabled?`text-white`:`text-bambu-gray`}`,children:e.maintenance_type_name}),o===`days`&&(0,W.jsx)(`span`,{title:i(`maintenance.timeBasedInterval`),children:(0,W.jsx)(f,{className:`w-3.5 h-3.5 text-bambu-gray shrink-0`})}),(()=>{let t=e.maintenance_type_wiki_url||U(e.maintenance_type_name,e.printer_model);return t?(0,W.jsx)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,className:`text-bambu-gray hover:text-bambu-green transition-colors shrink-0`,title:i(`maintenance.viewDocumentation`),onClick:e=>e.stopPropagation(),children:(0,W.jsx)(A,{className:`w-3.5 h-3.5`})}):null})()]}),(0,W.jsx)(`div`,{className:`mt-2 mb-1.5`,children:(0,W.jsx)(`div`,{className:`w-full h-1.5 bg-bambu-dark rounded-full overflow-hidden`,children:(0,W.jsx)(`div`,{className:`h-full rounded-full transition-all duration-500 ${e.enabled?e.is_due?`bg-red-500`:e.is_warning?`bg-amber-500`:`bg-bambu-green`:`bg-bambu-gray/30`}`,style:{width:`${s}%`}})})}),(0,W.jsxs)(`div`,{className:`text-xs flex items-center gap-1 ${c()}`,children:[e.is_due&&(0,W.jsx)(E,{className:`w-3 h-3`}),e.is_warning&&!e.is_due&&(0,W.jsx)(N,{className:`w-3 h-3`}),!e.is_due&&!e.is_warning&&e.enabled&&(0,W.jsx)(p,{className:`w-3 h-3`}),(()=>{if(!e.enabled)return i(`common.disabled`);if(o===`days`){let t=e.days_until_due??0;return e.is_due?i(`maintenance.overdueBy`,{duration:q(Math.abs(t),`days`,i)}):e.is_warning?i(`maintenance.dueIn`,{duration:q(t,`days`,i)}):i(`maintenance.timeLeft`,{duration:q(t,`days`,i)})}else return e.is_due?i(`maintenance.overdueBy`,{duration:q(Math.abs(e.hours_until_due),`hours`,i)}):e.is_warning?i(`maintenance.dueIn`,{duration:q(e.hours_until_due,`hours`,i)}):i(`maintenance.timeLeft`,{duration:q(e.hours_until_due,`hours`,i)})})()]})]}),(0,W.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0 max-[550px]:w-full max-[550px]:justify-end max-[550px]:mt-1`,children:[(0,W.jsx)(`span`,{title:r(`maintenance:update`)?void 0:i(`maintenance.noPermissionUpdate`),children:(0,W.jsx)(z,{checked:e.enabled,onChange:t=>n(e.id,t),disabled:!r(`maintenance:update`)})}),(0,W.jsxs)(k,{size:`sm`,variant:e.is_due?`primary`:`secondary`,onClick:()=>t(e.id),disabled:!e.enabled||!r(`maintenance:update`),title:r(`maintenance:update`)?void 0:i(`maintenance.noPermissionPerform`),className:`!px-3`,children:[(0,W.jsx)(j,{className:`w-3.5 h-3.5`}),i(`common.reset`)]})]})]})})}function X({overview:e,onPerform:t,onToggle:n,onSetHours:r,hasPermission:i,t:a}){let[o,s]=(0,H.useState)(!1),[c,l]=(0,H.useState)(!1),[u,d]=(0,H.useState)(e.total_print_hours.toFixed(1)),f=[...e.maintenance_items].sort((e,t)=>e.is_due&&!t.is_due?-1:!e.is_due&&t.is_due?1:e.is_warning&&!t.is_warning?-1:!e.is_warning&&t.is_warning?1:e.maintenance_type_id-t.maintenance_type_id),g=f.find(e=>e.enabled&&(e.is_due||e.is_warning)),_=()=>{let t=parseFloat(u);!isNaN(t)&&t>=0&&(r(e.printer_id,t),l(!1))};return(0,W.jsxs)(O,{className:`overflow-hidden`,children:[(0,W.jsxs)(`div`,{className:`p-5`,children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,W.jsx)(`h2`,{className:`text-xl font-semibold text-white`,children:e.printer_name}),(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.due_count>0&&(0,W.jsxs)(`span`,{className:`px-2.5 py-1 bg-red-100 text-red-700 dark:bg-red-500/20 dark:text-red-400 text-xs font-medium rounded-full flex items-center gap-1.5`,children:[(0,W.jsx)(E,{className:`w-3 h-3`}),a(`maintenance.overdueCount`,{count:e.due_count})]}),e.warning_count>0&&(0,W.jsxs)(`span`,{className:`px-2.5 py-1 bg-amber-100 text-amber-700 dark:bg-amber-500/20 dark:text-amber-400 text-xs font-medium rounded-full flex items-center gap-1.5`,children:[(0,W.jsx)(N,{className:`w-3 h-3`}),a(`maintenance.dueSoonCount`,{count:e.warning_count})]}),e.due_count===0&&e.warning_count===0&&(0,W.jsxs)(`span`,{className:`px-2.5 py-1 bg-bambu-green/20 text-bambu-green text-xs font-medium rounded-full flex items-center gap-1.5`,children:[(0,W.jsx)(p,{className:`w-3 h-3`}),a(`maintenance.allGood`)]})]})]}),(0,W.jsxs)(`button`,{onClick:()=>s(!o),className:`flex items-center gap-1.5 px-3 py-1.5 text-sm text-bambu-gray hover:text-white hover:bg-bambu-dark rounded-lg transition-colors`,children:[o?(0,W.jsx)(h,{className:`w-4 h-4`}):(0,W.jsx)(m,{className:`w-4 h-4`}),a(o?`common.collapse`:`common.expand`)]})]}),(0,W.jsxs)(`div`,{className:`flex items-center gap-6 mt-4`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,W.jsx)(`div`,{className:`p-2 bg-bambu-dark/50 rounded-lg`,children:(0,W.jsx)(T,{className:`w-4 h-4 text-bambu-gray`})}),c?(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`input`,{type:`number`,value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&_(),e.key===`Escape`&&l(!1)},className:`w-24 px-2 py-1 bg-bambu-dark border border-bambu-dark-tertiary rounded text-white text-sm`,min:`0`,step:`1`,autoFocus:!0}),(0,W.jsx)(`span`,{className:`text-xs text-bambu-gray`,children:a(`common.hours`)}),(0,W.jsx)(k,{size:`sm`,onClick:_,children:a(`common.save`)}),(0,W.jsx)(k,{size:`sm`,variant:`secondary`,onClick:()=>l(!1),children:a(`common.cancel`)})]}):(0,W.jsxs)(`button`,{onClick:()=>{i(`maintenance:update`)&&(d(Math.round(e.total_print_hours).toString()),l(!0))},className:`group ${i(`maintenance:update`)?``:`cursor-not-allowed opacity-60`}`,title:i(`maintenance:update`)?void 0:a(`maintenance.noPermissionEditHours`),children:[(0,W.jsxs)(`div`,{className:`text-sm font-medium text-white ${i(`maintenance:update`)?`group-hover:text-bambu-green`:``} transition-colors flex items-center gap-1`,children:[Math.round(e.total_print_hours),` `,a(`common.hours`),(0,W.jsx)(b,{className:`w-3 h-3 text-bambu-gray ${i(`maintenance:update`)?`group-hover:text-bambu-green`:``}`})]}),(0,W.jsx)(`div`,{className:`text-xs text-bambu-gray`,children:a(`maintenance.totalPrintTime`)})]})]}),(0,W.jsx)(`div`,{className:`w-px h-10 bg-bambu-dark-tertiary`}),g&&(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,W.jsx)(`div`,{className:`p-2 rounded-lg ${g.is_due?`bg-red-500/20`:`bg-amber-500/20`}`,children:(0,W.jsx)(K(g.maintenance_type_icon),{className:`w-4 h-4 ${g.is_due?`text-red-600 dark:text-red-400`:`text-amber-600 dark:text-amber-400`}`})}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`text-sm font-medium ${g.is_due?`text-red-700 dark:text-red-400`:`text-amber-700 dark:text-amber-400`}`,children:g.maintenance_type_name}),(0,W.jsx)(`div`,{className:`text-xs ${g.is_due?`text-red-700/80 dark:text-red-400/70`:`text-amber-700/80 dark:text-amber-400/70`}`,children:g.is_due?a(`common.overdue`):a(`maintenance.dueSoon`)})]})]})]})]}),o&&(0,W.jsx)(D,{className:`pt-0 border-t border-bambu-dark-tertiary`,children:(0,W.jsx)(`div`,{className:`grid grid-cols-1 lg:grid-cols-2 gap-3 pt-4`,children:f.map(e=>(0,W.jsx)(Y,{item:e,onPerform:t,onToggle:n,hasPermission:i,t:a},e.id))})})]})}function Z({overview:e,types:t,onUpdateInterval:n,onAddType:r,onUpdateType:i,onDeleteType:a,onRestoreDefaults:o,isRestoringDefaults:s,onAssignType:c,onRemoveItem:l,hasPermission:u,t:d}){let[p,h]=(0,H.useState)(null),[g,_]=(0,H.useState)(``),[v,y]=(0,H.useState)(`hours`),[ee,x]=(0,H.useState)(!1),[S,C]=(0,H.useState)(``),[w,E]=(0,H.useState)(`100`),[A,j]=(0,H.useState)(`hours`),[M,re]=(0,H.useState)(`Wrench`),[P,F]=(0,H.useState)(``),[I,L]=(0,H.useState)(new Set),[R,oe]=(0,H.useState)(null),[z,B]=(0,H.useState)(null),V=(0,H.useMemo)(()=>e?e.map(e=>({id:e.printer_id,name:e.printer_name})):[],[e]),U=t=>e?e.filter(e=>e.maintenance_items.some(e=>e.maintenance_type_id===t)).map(e=>({printerId:e.printer_id,printerName:e.printer_name,itemId:e.maintenance_items.find(e=>e.maintenance_type_id===t)?.id})):[],q=t=>{if(!e)return[];let n=new Set(U(t).map(e=>e.printerId));return V.filter(e=>!n.has(e.id))},[Y,X]=(0,H.useState)(null),[Z,Q]=(0,H.useState)(``),[$,se]=(0,H.useState)(``),[ce,le]=(0,H.useState)(`hours`),[ue,de]=(0,H.useState)(`Wrench`),[fe,pe]=(0,H.useState)(``),me=e=>{X(e),Q(e.name),se(e.default_interval_hours.toString()),le(e.interval_type||`hours`),de(e.icon||`Wrench`),pe(e.wiki_url||``)},he=()=>{Y&&Z.trim()&&parseFloat($)>0&&(i(Y.id,{name:Z.trim(),default_interval_hours:parseFloat($),interval_type:ce,icon:ue,wiki_url:fe.trim()||null}),X(null))},ge=(e,t,r)=>{let i=parseFloat(g);!isNaN(i)&&i>0&&n(e,{custom_interval_hours:Math.abs(i-t)<.01?null:i,custom_interval_type:v===r?null:v}),h(null)},_e=e=>{e.preventDefault(),S.trim()&&parseFloat(w)>0&&I.size>0&&(r({name:S.trim(),default_interval_hours:parseFloat(w),interval_type:A,icon:M,wiki_url:P.trim()||null},Array.from(I)),C(``),E(`100`),j(`hours`),F(``),L(new Set),x(!1))},ve=e=>{L(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},ye=e?.map(e=>({printerId:e.printer_id,printerName:e.printer_name,items:e.maintenance_items.sort((e,t)=>e.maintenance_type_id-t.maintenance_type_id)})).sort((e,t)=>e.printerName.localeCompare(t.printerName))||[],be=t.filter(e=>e.is_system),xe=t.filter(e=>!e.is_system);return(0,W.jsxs)(`div`,{className:`space-y-8`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between mb-4`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h2`,{className:`text-lg font-semibold text-white`,children:d(`maintenance.maintenanceTypes`)}),(0,W.jsx)(`p`,{className:`text-sm text-bambu-gray mt-1`,children:d(`maintenance.maintenanceTypesDescription`)})]}),(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(k,{variant:`secondary`,onClick:o,disabled:!u(`maintenance:delete`)||s,title:u(`maintenance:delete`)?void 0:d(`maintenance.noPermissionDeleteTypes`),children:d(`maintenance.restoreDefaults`)}),(0,W.jsxs)(k,{onClick:()=>x(!ee),disabled:!u(`maintenance:create`),title:u(`maintenance:create`)?void 0:d(`maintenance.noPermissionEditTypes`),children:[(0,W.jsx)(ie,{className:`w-4 h-4`}),d(`maintenance.addCustomType`)]})]})]}),ee&&(0,W.jsx)(O,{className:`mb-6`,children:(0,W.jsx)(D,{className:`py-4`,children:(0,W.jsxs)(`form`,{onSubmit:_e,children:[(0,W.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4`,children:[(0,W.jsxs)(`div`,{className:`lg:col-span-2`,children:[(0,W.jsx)(`label`,{className:`block text-xs text-bambu-gray mb-1.5`,children:d(`common.name`)}),(0,W.jsx)(`input`,{type:`text`,value:S,onChange:e=>C(e.target.value),className:`w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none`,placeholder:d(`maintenance.exampleName`),autoFocus:!0})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`label`,{className:`block text-xs text-bambu-gray mb-1.5`,children:d(`maintenance.intervalType`)}),(0,W.jsxs)(`select`,{value:A,onChange:e=>{j(e.target.value),e.target.value===`days`?E(`30`):E(`100`)},className:`w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none`,children:[(0,W.jsx)(`option`,{value:`hours`,children:d(`maintenance.printHours`)}),(0,W.jsx)(`option`,{value:`days`,children:d(`maintenance.calendarDays`)})]})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`label`,{className:`block text-xs text-bambu-gray mb-1.5`,children:d(`maintenance.intervalValue`,{type:A===`days`?d(`maintenance.calendarDays`).toLowerCase():d(`common.hours`)})}),(0,W.jsx)(`input`,{type:`number`,value:w,onChange:e=>E(e.target.value),className:`w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none`,min:`1`})]})]}),(0,W.jsx)(`div`,{className:`mt-4 flex items-end justify-between`,children:(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`label`,{className:`block text-xs text-bambu-gray mb-1.5`,children:d(`maintenance.icon`)}),(0,W.jsx)(`div`,{className:`flex gap-1`,children:Object.keys(G).map(e=>{let t=G[e];return(0,W.jsx)(`button`,{type:`button`,onClick:()=>re(e),className:`p-2 rounded-lg transition-colors ${M===e?`bg-bambu-green text-white`:`bg-bambu-dark text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary`}`,children:(0,W.jsx)(t,{className:`w-4 h-4`})},e)})})]})}),(0,W.jsxs)(`div`,{className:`mt-4`,children:[(0,W.jsx)(`label`,{className:`block text-xs text-bambu-gray mb-1.5`,children:d(`maintenance.documentationLink`)}),(0,W.jsx)(`input`,{type:`url`,value:P,onChange:e=>F(e.target.value),className:`w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none`,placeholder:`https://wiki.bambulab.com/...`})]}),(0,W.jsxs)(`div`,{className:`mt-4`,children:[(0,W.jsx)(`label`,{className:`block text-xs text-bambu-gray mb-1.5`,children:d(`maintenance.assignToPrinters`)}),(0,W.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:V.map(e=>(0,W.jsx)(`button`,{type:`button`,onClick:()=>ve(e.id),className:`px-3 py-1.5 rounded-lg text-sm transition-colors ${I.has(e.id)?`bg-bambu-green text-white`:`bg-bambu-dark text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary`}`,children:e.name},e.id))}),I.size===0&&(0,W.jsx)(`p`,{className:`text-xs text-orange-700 dark:text-orange-400 mt-1`,children:d(`maintenance.selectAtLeastOnePrinter`)})]}),(0,W.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[(0,W.jsx)(k,{type:`button`,variant:`secondary`,onClick:()=>{x(!1),L(new Set)},children:d(`common.cancel`)}),(0,W.jsx)(k,{type:`submit`,disabled:!S.trim()||I.size===0,children:d(`maintenance.addType`)})]})]})})}),(0,W.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3`,children:[be.map(e=>{let t=K(e.icon),n=e.interval_type||`hours`;return(0,W.jsx)(`div`,{className:`bg-bambu-dark-secondary rounded-xl p-4 border border-bambu-dark-tertiary`,children:(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,W.jsx)(`div`,{className:`p-2.5 bg-bambu-dark rounded-lg`,children:(0,W.jsx)(t,{className:`w-5 h-5 text-bambu-gray`})}),(0,W.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,W.jsx)(`div`,{className:`text-sm font-medium text-white truncate`,children:e.name}),(0,W.jsxs)(`div`,{className:`text-xs text-bambu-gray mt-0.5 flex items-center gap-1`,children:[n===`days`?(0,W.jsx)(f,{className:`w-3 h-3`}):(0,W.jsx)(T,{className:`w-3 h-3`}),J(e.default_interval_hours,n,d)]})]}),(0,W.jsx)(`button`,{onClick:()=>{u(`maintenance:delete`)&&B(e)},disabled:!u(`maintenance:delete`),title:u(`maintenance:delete`)?void 0:d(`maintenance.noPermissionDeleteTypes`),className:`p-2 rounded-lg hover:bg-bambu-dark text-bambu-gray hover:text-red-600 dark:hover:text-red-400 transition-colors ${u(`maintenance:delete`)?``:`opacity-50 cursor-not-allowed`}`,children:(0,W.jsx)(te,{className:`w-4 h-4`})})]})},e.id)}),xe.map(e=>{let t=K(e.icon),n=e.interval_type||`hours`;if(Y?.id===e.id)return(0,W.jsx)(`div`,{className:`bg-bambu-dark-secondary rounded-xl p-4 border border-bambu-green`,children:(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsx)(`input`,{type:`text`,value:Z,onChange:e=>Q(e.target.value),className:`w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none`,placeholder:d(`common.name`),autoFocus:!0}),(0,W.jsxs)(`div`,{className:`flex gap-2`,children:[(0,W.jsxs)(`select`,{value:ce,onChange:e=>le(e.target.value),className:`flex-1 px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none`,children:[(0,W.jsx)(`option`,{value:`hours`,children:d(`maintenance.printHours`)}),(0,W.jsx)(`option`,{value:`days`,children:d(`maintenance.calendarDays`)})]}),(0,W.jsx)(`input`,{type:`number`,value:$,onChange:e=>se(e.target.value),className:`w-24 px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none`,min:`1`})]}),(0,W.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:Object.keys(G).map(e=>{let t=G[e];return(0,W.jsx)(`button`,{type:`button`,onClick:()=>de(e),className:`p-1.5 rounded transition-colors ${ue===e?`bg-bambu-green text-white`:`bg-bambu-dark text-bambu-gray hover:text-white`}`,children:(0,W.jsx)(t,{className:`w-3.5 h-3.5`})},e)})}),(0,W.jsx)(`input`,{type:`url`,value:fe,onChange:e=>pe(e.target.value),className:`w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none`,placeholder:d(`maintenance.documentationLink`)}),(0,W.jsxs)(`div`,{className:`flex gap-2`,children:[(0,W.jsx)(k,{size:`sm`,onClick:he,disabled:!Z.trim(),children:d(`common.save`)}),(0,W.jsx)(k,{size:`sm`,variant:`secondary`,onClick:()=>X(null),children:d(`common.cancel`)})]})]})},e.id);let r=U(e.id),i=q(e.id),o=R===e.id;return(0,W.jsxs)(`div`,{className:`bg-bambu-dark-secondary rounded-xl p-4 border border-bambu-green/30`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,W.jsx)(`div`,{className:`p-2.5 bg-bambu-green/20 rounded-lg`,children:(0,W.jsx)(t,{className:`w-5 h-5 text-bambu-green`})}),(0,W.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`text-sm font-medium text-white truncate`,children:e.name}),(0,W.jsx)(`span`,{className:`px-1.5 py-0.5 bg-bambu-green/20 text-bambu-green text-[10px] font-medium rounded`,children:d(`maintenance.custom`)})]}),(0,W.jsxs)(`div`,{className:`text-xs text-bambu-gray mt-0.5 flex items-center gap-1`,children:[n===`days`?(0,W.jsx)(f,{className:`w-3 h-3`}):(0,W.jsx)(T,{className:`w-3 h-3`}),J(e.default_interval_hours,n,d)]})]}),(0,W.jsxs)(`button`,{onClick:()=>oe(o?null:e.id),className:`px-2 py-1 rounded-lg border transition-colors flex items-center gap-1 ${r.length>0?`border-bambu-green/50 bg-bambu-green/10 text-bambu-green hover:bg-bambu-green/20`:`border-orange-300 bg-orange-50 text-orange-700 hover:bg-orange-100 dark:border-orange-400/50 dark:bg-orange-400/10 dark:text-orange-400 dark:hover:bg-orange-400/20`}`,title:d(`maintenance.printersAssignedClick`,{count:r.length}),children:[(0,W.jsx)(ne,{className:`w-3 h-3`}),(0,W.jsx)(`span`,{className:`text-xs font-medium`,children:r.length}),(0,W.jsx)(m,{className:`w-3 h-3 transition-transform ${o?`rotate-180`:``}`})]}),(0,W.jsx)(`button`,{onClick:()=>me(e),disabled:!u(`maintenance:update`),title:u(`maintenance:update`)?void 0:d(`maintenance.noPermissionEditTypes`),className:`p-2 rounded-lg hover:bg-bambu-dark text-bambu-gray hover:text-white transition-colors ${u(`maintenance:update`)?``:`opacity-50 cursor-not-allowed`}`,children:(0,W.jsx)(b,{className:`w-4 h-4`})}),(0,W.jsx)(`button`,{onClick:()=>{confirm(d(`maintenance.deleteTypeConfirm`,{name:e.name}))&&a(e.id)},disabled:!u(`maintenance:delete`),title:u(`maintenance:delete`)?void 0:d(`maintenance.noPermissionDeleteTypes`),className:`p-2 rounded-lg hover:bg-bambu-dark text-bambu-gray hover:text-red-600 dark:hover:text-red-400 transition-colors ${u(`maintenance:delete`)?``:`opacity-50 cursor-not-allowed`}`,children:(0,W.jsx)(te,{className:`w-4 h-4`})})]}),o&&(0,W.jsxs)(`div`,{className:`mt-3 pt-3 border-t border-bambu-dark-tertiary`,children:[(0,W.jsx)(`p`,{className:`text-xs text-bambu-gray mb-2`,children:d(`maintenance.assignedToPrinters`)}),r.length===0?(0,W.jsx)(`p`,{className:`text-xs text-orange-700 dark:text-orange-400`,children:d(`maintenance.noPrintersAssigned`)}):(0,W.jsx)(`div`,{className:`flex flex-wrap gap-1 mb-2`,children:r.map(e=>(0,W.jsxs)(`span`,{className:`inline-flex items-center gap-1 px-2 py-1 bg-bambu-dark rounded text-xs text-white`,children:[e.printerName,(0,W.jsx)(`button`,{onClick:()=>e.itemId&&l(e.itemId),disabled:!u(`maintenance:delete`),title:u(`maintenance:delete`)?d(`maintenance.removeFromPrinter`):d(`maintenance.noPermissionRemovePrinter`),className:`ml-1 ${u(`maintenance:delete`)?`hover:text-red-600 dark:hover:text-red-400`:`opacity-50 cursor-not-allowed`}`,children:`×`})]},e.printerId))}),i.length>0&&(0,W.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[(0,W.jsx)(`span`,{className:`text-xs text-bambu-gray mr-1`,children:d(`maintenance.addPrinterShort`)}),i.map(t=>(0,W.jsxs)(`button`,{onClick:()=>c(t.id,e.id),disabled:!u(`maintenance:create`),title:u(`maintenance:create`)?void 0:d(`maintenance.noPermissionAssignPrinter`),className:`px-2 py-1 bg-bambu-dark rounded text-xs transition-colors ${u(`maintenance:create`)?`hover:bg-bambu-green/20 text-bambu-gray hover:text-bambu-green`:`opacity-50 cursor-not-allowed text-bambu-gray`}`,children:[`+ `,t.name]},t.id))]})]})]},e.id)})]})]}),ye.length>0&&(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(`div`,{className:`mb-4`,children:[(0,W.jsx)(`h2`,{className:`text-lg font-semibold text-white`,children:d(`maintenance.intervalOverrides`)}),(0,W.jsx)(`p`,{className:`text-sm text-bambu-gray mt-1`,children:d(`maintenance.intervalOverridesDescription`)})]}),(0,W.jsx)(`div`,{className:`space-y-4`,children:ye.map(e=>(0,W.jsx)(O,{children:(0,W.jsxs)(D,{className:`py-4`,children:[(0,W.jsx)(`h3`,{className:`text-sm font-medium text-white mb-3`,children:e.printerName}),(0,W.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-2`,children:e.items.map(e=>{let n=K(e.maintenance_type_icon),r=t.find(t=>t.id===e.maintenance_type_id),i=r?.default_interval_hours||e.interval_hours,a=r?.interval_type||`hours`,o=e.interval_type||`hours`,s=p===e.id;return(0,W.jsxs)(`div`,{className:`flex items-center gap-2 p-2.5 bg-bambu-dark rounded-lg`,children:[(0,W.jsx)(n,{className:`w-4 h-4 text-bambu-gray shrink-0`}),(0,W.jsx)(`span`,{className:`text-xs text-bambu-gray flex-1 truncate`,children:e.maintenance_type_name}),s?(0,W.jsxs)(`div`,{className:`flex items-center gap-1`,children:[v===`days`?(0,W.jsx)(f,{className:`w-3.5 h-3.5 text-bambu-gray shrink-0`}):(0,W.jsx)(T,{className:`w-3.5 h-3.5 text-bambu-gray shrink-0`}),(0,W.jsxs)(`select`,{value:v,onChange:e=>y(e.target.value),className:`px-1.5 py-1 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded text-white text-xs`,children:[(0,W.jsx)(`option`,{value:`hours`,children:d(`maintenance.printHours`)}),(0,W.jsx)(`option`,{value:`days`,children:d(`maintenance.calendarDays`)})]}),(0,W.jsx)(`input`,{type:`number`,value:g,onChange:e=>_(e.target.value),onKeyDown:t=>{t.key===`Enter`&&ge(e.id,i,a),t.key===`Escape`&&h(null)},className:`w-16 px-2 py-1 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded text-white text-xs`,min:`1`}),(0,W.jsx)(k,{size:`sm`,onClick:()=>ge(e.id,i,a),children:`OK`})]}):(0,W.jsxs)(`button`,{onClick:()=>{u(`maintenance:update`)&&(h(e.id),_(e.interval_hours.toString()),y(o))},disabled:!u(`maintenance:update`),title:u(`maintenance:update`)?void 0:d(`maintenance.noPermissionEditIntervals`),className:`px-2 py-1 bg-bambu-dark-tertiary border border-bambu-dark-tertiary rounded text-xs font-medium text-white transition-colors flex items-center gap-1 ${u(`maintenance:update`)?`hover:bg-bambu-dark-secondary hover:border-bambu-green`:`opacity-50 cursor-not-allowed`}`,children:[o===`days`?(0,W.jsx)(f,{className:`w-3 h-3`}):(0,W.jsx)(T,{className:`w-3 h-3`}),J(e.interval_hours,o,d),(0,W.jsx)(b,{className:`w-3 h-3 text-bambu-gray`})]})]},e.id)})})]})},e.printerId))})]}),ye.length===0&&(0,W.jsx)(O,{children:(0,W.jsxs)(D,{className:`text-center py-12`,children:[(0,W.jsx)(N,{className:`w-12 h-12 mx-auto mb-4 text-bambu-gray/30`}),(0,W.jsx)(`p`,{className:`text-bambu-gray`,children:d(`common.noPrinters`)}),(0,W.jsx)(`p`,{className:`text-sm text-bambu-gray/70 mt-1`,children:d(`maintenance.intervalOverridesDescription`)})]})}),z&&(0,W.jsx)(ae,{title:d(`maintenance.deleteSystemTypeTitle`),message:d(`maintenance.deleteSystemTypeMessage`,{name:z.name}),confirmText:d(`common.delete`),cancelText:d(`common.cancel`),variant:`danger`,cancelVariant:`primary`,cardClassName:`bg-red-950/70 border border-red-800/70`,onConfirm:()=>{a(z.id),B(null)},onCancel:()=>B(null)})]})}function Q(){let{t:e}=i(),t=a(),{showToast:n}=g(),{hasPermission:c}=oe(),[l,u]=(0,H.useState)(`status`),{data:d,isLoading:f}=o({queryKey:[`maintenanceOverview`],queryFn:r.getMaintenanceOverview}),{data:p}=o({queryKey:[`maintenanceTypes`],queryFn:r.getMaintenanceTypes}),m=s({mutationFn:({id:e,notes:t})=>r.performMaintenance(e,t),onSuccess:()=>{t.invalidateQueries({queryKey:[`maintenanceOverview`]}),t.invalidateQueries({queryKey:[`maintenanceSummary`]}),n(e(`maintenance.maintenanceComplete`))},onError:e=>{n(e.message,`error`)}}),h=s({mutationFn:({id:e,data:t})=>r.updateMaintenanceItem(e,t),onSuccess:()=>{t.invalidateQueries({queryKey:[`maintenanceOverview`]})},onError:e=>{n(e.message,`error`)}}),_=s({mutationFn:({id:e,data:t})=>r.updateMaintenanceType(e,t),onSuccess:()=>{t.invalidateQueries({queryKey:[`maintenanceTypes`]}),t.invalidateQueries({queryKey:[`maintenanceOverview`]}),n(e(`maintenance.typeUpdated`))},onError:e=>{n(e.message,`error`)}}),v=s({mutationFn:r.deleteMaintenanceType,onSuccess:()=>{t.invalidateQueries({queryKey:[`maintenanceTypes`]}),t.invalidateQueries({queryKey:[`maintenanceOverview`]}),n(e(`maintenance.typeDeleted`))},onError:e=>{n(e.message,`error`)}}),y=s({mutationFn:r.restoreDefaultMaintenanceTypes,onSuccess:r=>{t.invalidateQueries({queryKey:[`maintenanceTypes`]}),t.invalidateQueries({queryKey:[`maintenanceOverview`]}),n(e(`maintenance.defaultsRestored`,{count:r.restored}))},onError:e=>{n(e.message,`error`)}}),b=s({mutationFn:({printerId:e,hours:t})=>r.setPrinterHours(e,t),onSuccess:()=>{t.invalidateQueries({queryKey:[`maintenanceOverview`]}),t.invalidateQueries({queryKey:[`maintenanceSummary`]}),n(e(`maintenance.printHoursUpdated`))},onError:e=>{n(e.message,`error`)}}),x=s({mutationFn:({printerId:e,typeId:t})=>r.assignMaintenanceType(e,t),onSuccess:()=>{t.invalidateQueries({queryKey:[`maintenanceOverview`]}),n(e(`maintenance.printerAssigned`))},onError:e=>{n(e.message,`error`)}}),S=s({mutationFn:r.removeMaintenanceItem,onSuccess:()=>{t.invalidateQueries({queryKey:[`maintenanceOverview`]}),n(e(`maintenance.printerRemoved`))},onError:e=>{n(e.message,`error`)}}),C=e=>{m.mutate({id:e})},w=(e,t)=>{h.mutate({id:e,data:{enabled:t}})},T=(e,t)=>{b.mutate({printerId:e,hours:t})};if(f)return(0,W.jsx)(`div`,{className:`p-4 md:p-8 flex justify-center`,children:(0,W.jsx)(ee,{className:`w-8 h-8 text-bambu-green animate-spin`})});let E=d?.reduce((e,t)=>e+t.due_count,0)||0,k=d?.reduce((e,t)=>e+t.warning_count,0)||0;return(0,W.jsxs)(`div`,{className:`p-4 md:p-8`,children:[(0,W.jsxs)(`div`,{className:`mb-6`,children:[(0,W.jsxs)(`h1`,{className:`text-2xl font-bold text-white flex items-center gap-3`,children:[(0,W.jsx)(R,{className:`w-7 h-7 text-bambu-green`}),e(`maintenance.title`)]}),(0,W.jsx)(`p`,{className:`text-bambu-gray mt-1`,children:l===`status`?(0,W.jsxs)(W.Fragment,{children:[E>0&&(0,W.jsx)(`span`,{className:`text-red-700 dark:text-red-400`,children:e(`maintenance.dueCount`,{count:E})}),E>0&&k>0&&` · `,k>0&&(0,W.jsx)(`span`,{className:`text-amber-700 dark:text-amber-400`,children:e(`maintenance.warningCount`,{count:k})}),E===0&&k===0&&(0,W.jsx)(`span`,{className:`text-bambu-green`,children:e(`maintenance.allOk`)})]}):e(`maintenance.configureSettings`)})]}),(0,W.jsxs)(`div`,{className:`flex gap-1 mb-6 border-b border-bambu-dark-tertiary`,children:[(0,W.jsx)(`button`,{onClick:()=>u(`status`),className:`px-4 py-2 text-sm font-medium border-b-2 -mb-px transition-colors ${l===`status`?`text-bambu-green border-bambu-green`:`text-bambu-gray border-transparent hover:text-white`}`,children:e(`maintenance.statusTab`)}),(0,W.jsx)(`button`,{onClick:()=>u(`settings`),className:`px-4 py-2 text-sm font-medium border-b-2 -mb-px transition-colors ${l===`settings`?`text-bambu-green border-bambu-green`:`text-bambu-gray border-transparent hover:text-white`}`,children:e(`maintenance.settingsTab`)})]}),l===`status`?(0,W.jsx)(`div`,{className:`space-y-6`,children:d&&d.length>0?[...d].sort((e,t)=>{let n=e.due_count*10+e.warning_count,r=t.due_count*10+t.warning_count;return n===r?e.printer_name.localeCompare(t.printer_name):r-n}).map(t=>(0,W.jsx)(X,{overview:t,onPerform:C,onToggle:w,onSetHours:T,hasPermission:c,t:e},t.printer_id)):(0,W.jsx)(O,{children:(0,W.jsxs)(D,{className:`text-center py-16`,children:[(0,W.jsx)(R,{className:`w-16 h-16 mx-auto mb-4 text-bambu-gray/30`}),(0,W.jsx)(`p`,{className:`text-lg font-medium text-white mb-2`,children:e(`common.noPrinters`)}),(0,W.jsx)(`p`,{className:`text-bambu-gray`,children:e(`maintenance.configureSettings`)})]})})}):(0,W.jsx)(Z,{overview:d,types:p||[],onUpdateInterval:(e,t)=>h.mutate({id:e,data:t}),onAddType:async(i,a)=>{let o=await r.createMaintenanceType(i);for(let e of a)await r.assignMaintenanceType(e,o.id);t.invalidateQueries({queryKey:[`maintenanceTypes`]}),t.invalidateQueries({queryKey:[`maintenanceOverview`]}),n(e(`maintenance.typeUpdated`))},onUpdateType:(e,t)=>_.mutate({id:e,data:t}),onDeleteType:e=>v.mutate(e),onRestoreDefaults:()=>y.mutate(),isRestoringDefaults:y.isPending,onAssignType:(e,t)=>x.mutate({printerId:e,typeId:t}),onRemoveItem:e=>S.mutate(e),hasPermission:c,t:e})]})}export{Q as MaintenancePage};
|