import{j as e,m as k}from"./vendor-animation-0s3FMHwK.js";import{r as l,L as a}from"./vendor-react-BVs3cwbi.js";import{a as z,u as C,d as _,e as B,g as D,C as A,c as L}from"./index-CnEy_BDh.js";import{F as T}from"./Forbidden-D25jV3Oq.js";import{u as $,a as E,S as j}from"./useListData-DYVKBrr4.js";import{P as M}from"./Pagination-B1sbY6V7.js";import"./vendor-utils-Dyr8OjFr.js";const P="/api/admin",V={prijata:"Přijatá",v_realizaci:"V realizaci",dokoncena:"Dokončená",stornovana:"Stornována"},O={prijata:"admin-badge-order-prijata",v_realizaci:"admin-badge-order-realizace",dokoncena:"admin-badge-order-dokoncena",stornovana:"admin-badge-order-stornovana"};function U(){const r=z(),{hasPermission:d}=C(),{sort:y,order:i,handleSort:o,activeSort:c}=$("order_number"),[v,N]=l.useState(""),[g,u]=l.useState(1),[n,m]=l.useState({show:!1,order:null}),[b,p]=l.useState(!1),{items:t,loading:f,pagination:h,refetch:w}=E("orders.php",{dataKey:"orders",search:v,sort:y,order:i,page:g,errorMsg:"Nepodařilo se načíst objednávky"});if(!d("orders.view"))return e.jsx(T,{});const S=async()=>{if(n.order){p(!0);try{const x=await(await L(`${P}/orders.php?id=${n.order.id}`,{method:"DELETE"})).json();x.success?(m({show:!1,order:null}),r.success(x.message||"Objednávka byla smazána"),w()):r.error(x.error||"Nepodařilo se smazat objednávku")}catch{r.error("Chyba připojení")}finally{p(!1)}}};return f?e.jsx("div",{children:e.jsxs("div",{className:"admin-skeleton",style:{padding:0,gap:"1.5rem"},children:[e.jsxs("div",{className:"admin-skeleton-row",style:{justifyContent:"space-between"},children:[e.jsxs("div",{children:[e.jsx("div",{className:"admin-skeleton-line h-8",style:{width:"200px",marginBottom:"0.5rem"}}),e.jsx("div",{className:"admin-skeleton-line",style:{width:"140px"}})]}),e.jsx("div",{className:"admin-skeleton-line h-10",style:{width:"140px",borderRadius:"8px"}})]}),e.jsx("div",{className:"admin-card",children:e.jsxs("div",{className:"admin-skeleton",style:{gap:"1.25rem"},children:[e.jsxs("div",{className:"admin-skeleton-row",children:[e.jsx("div",{className:"admin-skeleton-line circle"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"admin-skeleton-line w-1/3",style:{marginBottom:"0.5rem"}}),e.jsx("div",{className:"admin-skeleton-line w-1/4",style:{height:"10px"}})]}),e.jsx("div",{className:"admin-skeleton-line w-1/4"})]}),e.jsxs("div",{className:"admin-skeleton-row",children:[e.jsx("div",{className:"admin-skeleton-line circle"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"admin-skeleton-line w-1/2",style:{marginBottom:"0.5rem"}}),e.jsx("div",{className:"admin-skeleton-line w-1/3",style:{height:"10px"}})]}),e.jsx("div",{className:"admin-skeleton-line w-1/4"})]}),e.jsxs("div",{className:"admin-skeleton-row",children:[e.jsx("div",{className:"admin-skeleton-line circle"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"admin-skeleton-line w-3/4",style:{marginBottom:"0.5rem"}}),e.jsx("div",{className:"admin-skeleton-line w-1/4",style:{height:"10px"}})]}),e.jsx("div",{className:"admin-skeleton-line w-1/4"})]}),e.jsxs("div",{className:"admin-skeleton-row",children:[e.jsx("div",{className:"admin-skeleton-line circle"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"admin-skeleton-line w-1/2",style:{marginBottom:"0.5rem"}}),e.jsx("div",{className:"admin-skeleton-line w-1/3",style:{height:"10px"}})]}),e.jsx("div",{className:"admin-skeleton-line w-1/4"})]}),e.jsxs("div",{className:"admin-skeleton-row",children:[e.jsx("div",{className:"admin-skeleton-line circle"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"admin-skeleton-line w-1/3",style:{marginBottom:"0.5rem"}}),e.jsx("div",{className:"admin-skeleton-line w-1/4",style:{height:"10px"}})]}),e.jsx("div",{className:"admin-skeleton-line w-1/4"})]})]})})]})}):e.jsxs("div",{children:[e.jsx(k.div,{className:"admin-page-header",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.4},children:e.jsxs("div",{children:[e.jsx("h1",{className:"admin-page-title",children:"Objednávky"}),e.jsxs("p",{className:"admin-page-subtitle",children:[h?.total??t.length," ",_(h?.total??t.length,"objednávka","objednávky","objednávek")]})]})}),e.jsx(k.div,{className:"admin-card",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.4,delay:.1},children:e.jsxs("div",{className:"admin-card-body",children:[e.jsx("div",{className:"admin-search-bar mb-4",children:e.jsx("input",{type:"text",value:v,onChange:s=>{N(s.target.value),u(1)},className:"admin-form-input",placeholder:"Hledat podle čísla, nabídky, projektu nebo zákazníka..."})}),t.length===0?e.jsxs("div",{className:"admin-empty-state",children:[e.jsx("div",{className:"admin-empty-icon",children:e.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("path",{d:"M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"}),e.jsx("line",{x1:"3",y1:"6",x2:"21",y2:"6"}),e.jsx("path",{d:"M16 10a4 4 0 0 1-8 0"})]})}),e.jsx("p",{children:"Zatím nejsou žádné objednávky."}),e.jsx("p",{className:"text-tertiary",style:{fontSize:"0.875rem"},children:"Objednávky se vytvářejí z nabídek."})]}):e.jsx("div",{className:"admin-table-responsive",children:e.jsxs("table",{className:"admin-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsxs("th",{style:{cursor:"pointer"},onClick:()=>o("order_number"),children:["Číslo ",e.jsx(j,{column:"order_number",sort:c,order:i})]}),e.jsx("th",{children:"Nabídka"}),e.jsx("th",{children:"Zákazník"}),e.jsxs("th",{style:{cursor:"pointer"},onClick:()=>o("status"),children:["Stav ",e.jsx(j,{column:"status",sort:c,order:i})]}),e.jsxs("th",{style:{cursor:"pointer"},onClick:()=>o("created_at"),children:["Datum ",e.jsx(j,{column:"created_at",sort:c,order:i})]}),e.jsx("th",{className:"text-right",children:"Celkem"}),e.jsx("th",{children:"Akce"})]})}),e.jsx("tbody",{children:t.map(s=>e.jsxs("tr",{children:[e.jsx("td",{className:"admin-mono",children:e.jsx(a,{to:`/orders/${s.id}`,className:"link-accent",children:s.order_number})}),e.jsx("td",{children:e.jsx(a,{to:`/offers/${s.quotation_id}`,className:"text-secondary",style:{textDecoration:"none"},children:s.quotation_number})}),e.jsx("td",{children:s.customer_name||"—"}),e.jsx("td",{children:e.jsx("span",{className:`admin-badge ${O[s.status]||""}`,children:V[s.status]||s.status})}),e.jsx("td",{className:"admin-mono",children:B(s.created_at)}),e.jsx("td",{className:"admin-mono text-right fw-500",children:D(s.total,s.currency)}),e.jsx("td",{children:e.jsxs("div",{className:"admin-table-actions",children:[e.jsx(a,{to:`/orders/${s.id}`,className:"admin-btn-icon",title:"Detail","aria-label":"Detail",children:e.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),e.jsx("circle",{cx:"12",cy:"12",r:"3"})]})}),s.invoice_id?e.jsx(a,{to:`/invoices/${s.invoice_id}`,className:"admin-btn-icon accent",title:"Zobrazit fakturu","aria-label":"Zobrazit fakturu",children:e.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),e.jsx("polyline",{points:"14 2 14 8 20 8"}),e.jsx("text",{x:"12",y:"16.5",textAnchor:"middle",fill:"currentColor",stroke:"none",fontSize:"9",fontWeight:"700",children:"F"})]})}):d("invoices.create")&&e.jsx(a,{to:`/invoices/new?fromOrder=${s.id}`,className:"admin-btn-icon",title:"Vytvořit fakturu","aria-label":"Vytvořit fakturu",children:e.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),e.jsx("polyline",{points:"14 2 14 8 20 8"}),e.jsx("line",{x1:"12",y1:"11",x2:"12",y2:"17"}),e.jsx("line",{x1:"9",y1:"14",x2:"15",y2:"14"})]})}),d("orders.delete")&&e.jsx("button",{onClick:()=>m({show:!0,order:s}),className:"admin-btn-icon danger",title:"Smazat",children:e.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("polyline",{points:"3 6 5 6 21 6"}),e.jsx("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]})})]})})]},s.id))})]})}),e.jsx(M,{pagination:h,onPageChange:u})]})}),e.jsx(A,{isOpen:n.show,onClose:()=>m({show:!1,order:null}),onConfirm:S,title:"Smazat objednávku",message:`Opravdu chcete smazat objednávku "${n.order?.order_number}"? Bude smazán i přidružený projekt. Tato akce je nevratná.`,confirmText:"Smazat",cancelText:"Zrušit",type:"danger",loading:b})]})}export{U as default};