1import{j as e,n as D,u as W,a as X,U as Y,r as n,f$ as q,f as S,z as d,h as M,B as g,S as J,g0 as K,g1 as O}from"./index-BvNIJ_c2.js";import{L as Q}from"./index-Dd_NvOz0.js";import{C as V}from"./index-Bm3NU2im.js";import{G as B}from"./index-IEJD0KmR.js";import{f as T}from"./currencyChanger-BChQpDJQ.js";import{R as Z}from"./index-Cza-r62S.js";/* empty css */import{N as y}from"./Nav-Tj50dJFm.js";import{T as ee}from"./Table-DguSmn-i.js";import{D as o}from"./profile1-DX-Es6KB.js";import{B as se}from"./NavbarContext-C9kG8e2O.js";import"./index-Laxbxmnr.js";import"./navigationConfig-DMPz6vwn.js";import"./NavIcon-CE0lX41N.js";import"./Image-y3xwkAif.js";import"./Anchor-C0wshJja.js";import"./Tab-B5OAj-R1.js";import"./useAiChatStore-DgcBp8ir.js";import"./CardHeaderContext-CfKayEkG.js";function te(t){return B({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M10 18a7.952 7.952 0 0 0 4.897-1.688l4.396 4.396 1.414-1.414-4.396-4.396A7.952 7.952 0 0 0 18 10c0-4.411-3.589-8-8-8s-8 3.589-8 8 3.589 8 8 8zm0-14c3.309 0 6 2.691 6 6s-2.691 6-6 6-6-2.691-6-6 2.691-6 6-6z"},child:[]}]})(t)}function ae(t){return B({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"m16.192 6.344-4.243 4.242-4.242-4.242-1.414 1.414L10.535 12l-4.242 4.242 1.414 1.414 4.242-4.242 4.243 4.242 1.414-1.414L13.364 12l4.242-4.242z"},child:[]}]})(t)}const ne=({value:t,onChange:i,onClear:l,placeholder:m="Search...",className:f=""})=>e.jsxs(D.Group,{className:`admin-search mb-3 position-relative ${f}`,children:[e.jsx(D.Control,{type:"text",placeholder:m,value:t,onChange:i}),e.jsx("span",{className:"search-icon-static",children:e.jsx(te,{className:"search-icon"})}),t&&e.jsx("button",{type:"button",className:"clear-icon-button",onClick:l,"aria-label":"Clear search",children:e.jsx(ae,{className:"search-icon"})})]}),re=["all","draft","sent","partially_received","received","cancelled"],ye=()=>{const{t}=W(),i=X(),{user:l}=Y(),[m,f]=n.useState([]),[$,C]=n.useState(!1),[h,A]=n.useState(""),[u,I]=n.useState("all"),[p,v]=n.useState(1),[L,E]=n.useState(1),[w,k]=n.useState(!1),[R,b]=n.useState(!1),[G,P]=n.useState(!1),[x,N]=n.useState(null),j=n.useCallback(async()=>{var s,r;if(l!=null&&l.id){C(!0);try{let a=`${q.endPoint()}?page=${p}&limit=15`;u!=="all"&&(a+=`&listStatus=${u}`),h&&(a+=`&search=${encodeURIComponent(h)}`);const{data:c}=await S.get(a);f(((s=c==null?void 0:c.result)==null?void 0:s.purchaseLists)||[]),E(((r=c==null?void 0:c.result)==null?void 0:r.totalPages)||1)}catch(a){d.error(M(a))}finally{C(!1)}}},[l==null?void 0:l.id,p,u,h]);n.useEffect(()=>{j()},[j]),n.useEffect(()=>{v(1)},[u,h]);const F=async()=>{var s,r;k(!0);try{const{data:a}=await S.post(K.endPoint()),c=(s=a==null?void 0:a.result)==null?void 0:s.items;if(c&&c.length===0){d.success(t("purchaseListManagement.noLowStockItems"));return}d.success((a==null?void 0:a.message)||t("purchaseListManagement.generated")),(r=a==null?void 0:a.result)!=null&&r._id?i(`/purchase-list-details/${a.result._id}`):j()}catch(a){d.error(M(a))}finally{k(!1)}},U=async()=>{if(x){P(!0);try{const{data:s}=await S.delete(O.endPoint(x._id));d.success(s==null?void 0:s.message),b(!1),N(null),j()}catch(s){d.error(M(s))}finally{P(!1)}}},_=s=>{const r={draft:"secondary",sent:"primary",partially_received:"warning",received:"success",cancelled:"danger"},a={draft:t("purchaseListManagement.statusDraft"),sent:t("purchaseListManagement.statusSent"),partially_received:t("purchaseListManagement.statusPartiallyReceived"),received:t("purchaseListManagement.statusReceived"),cancelled:t("purchaseListManagement.statusCancelled")};return e.jsx(se,{bg:r[s]||"secondary",children:a[s]||s})},H=s=>({all:t("purchaseListManagement.statusAll"),draft:t("purchaseListManagement.statusDraft"),sent:t("purchaseListManagement.statusSent"),partially_received:t("purchaseListManagement.statusPartiallyReceived"),received:t("purchaseListManagement.statusReceived"),cancelled:t("purchaseListManagement.statusCancelled")})[s]||s,z=s=>s?new Date(s).toLocaleDateString("sv-SE"):"â";return e.jsx(Q,{children:e.jsxs("div",{className:"customer-management-page",children:[e.jsxs("div",{className:"d-flex flex-wrap justify-content-between align-items-center mb-3 gap-2",children:[e.jsx("h4",{className:"mb-0",children:t("purchaseListManagement.pageTitle")}),e.jsxs("div",{className:"d-flex gap-2 flex-wrap",children:[e.jsxs(g,{variant:"outline-success",size:"sm",onClick:F,disabled:w,children:[w?e.jsx(J,{size:"sm",animation:"border",className:"me-1"}):e.jsx("i",{className:"bi bi-lightning-charge me-1"}),t("purchaseListManagement.generateFromLowStock")]}),e.jsxs(g,{variant:"success",size:"sm",onClick:()=>i("/purchase-list-add"),children:[e.jsx("i",{className:"bi bi-plus-lg me-1"}),t("purchaseListManagement.createPurchaseList")]})]})]}),e.jsx(y,{variant:"tabs",className:"mb-3",children:re.map(s=>e.jsx(y.Item,{children:e.jsx(y.Link,{active:u===s,onClick:()=>I(s),style:{cursor:"pointer"},children:H(s)})},s))}),e.jsx("div",{className:"mb-3",style:{maxWidth:350},children:e.jsx(ne,{value:h,onChange:s=>A(s.target.value),placeholder:t("purchaseListManagement.searchPlaceholder")})}),$?e.jsx(V,{}):m.length===0?e.jsxs("div",{className:"text-center text-muted py-5",children:[e.jsx("i",{className:"bi bi-clipboard-data",style:{fontSize:48}}),e.jsx("p",{className:"mt-3",children:t("purchaseListManagement.noListsYet")}),e.jsx(g,{variant:"outline-success",size:"sm",onClick:()=>i("/purchase-list-add"),children:t("purchaseListManagement.startByCreating")})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"customer-table-view",children:e.jsxs(ee,{hover:!0,responsive:!0,children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:t("purchaseListManagement.reference")}),e.jsx("th",{children:t("purchaseListManagement.supplier")}),e.jsx("th",{children:t("purchaseListManagement.status")}),e.jsx("th",{children:t("purchaseListManagement.items")}),e.jsx("th",{children:t("purchaseListManagement.estimatedCost")}),e.jsx("th",{children:t("purchaseListManagement.created")}),e.jsx("th",{})]})}),e.jsx("tbody",{children:m.map(s=>e.jsxs("tr",{style:{cursor:"pointer"},onClick:()=>i(`/purchase-list-details/${s._id}`),children:[e.jsx("td",{children:s.referenceNo}),e.jsx("td",{children:s.supplierName||"â"}),e.jsx("td",{children:_(s.listStatus)}),e.jsx("td",{children:s.itemCount||0}),e.jsx("td",{children:T(s.totalEstimatedCost||0)}),e.jsx("td",{children:z(s.createdAt)}),e.jsx("td",{onClick:r=>r.stopPropagation(),children:e.jsxs(o,{children:[e.jsx(o.Toggle,{variant:"link",size:"sm",className:"text-dark p-0",children:e.jsx("i",{className:"bi bi-three-dots-vertical"})}),e.jsxs(o.Menu,{children:[e.jsxs(o.Item,{onClick:()=>i(`/purchase-list-details/${s._id}`),children:[e.jsx("i",{className:"bi bi-eye me-2"}),t("purchaseListManagement.view")]}),s.listStatus==="draft"&&e.jsxs(e.Fragment,{children:[e.jsxs(o.Item,{onClick:()=>i(`/purchase-list-add?edit=${s._id}`),children:[e.jsx("i",{className:"bi bi-pencil me-2"}),t("purchaseListManagement.edit")]}),e.jsx(o.Divider,{}),e.jsxs(o.Item,{className:"text-danger",onClick:()=>{N(s),b(!0)},children:[e.jsx("i",{className:"bi bi-trash me-2"}),t("purchaseListManagement.delete")]})]})]})]})})]},s._id))})]})}),e.jsx("div",{className:"customer-card-view",children:m.map(s=>e.jsxs("div",{className:"customer-item-card",onClick:()=>i(`/purchase-list-details/${s._id}`),children:[e.jsxs("div",{className:"d-flex justify-content-between align-items-start",children:[e.jsxs("div",{children:[e.jsx("strong",{children:s.referenceNo}),e.jsx("div",{className:"text-muted small",children:s.supplierName||t("purchaseListManagement.noSupplier")})]}),e.jsxs("div",{className:"text-end",children:[_(s.listStatus),e.jsx("div",{className:"small mt-1",children:T(s.totalEstimatedCost||0)})]})]}),e.jsxs("div",{className:"d-flex justify-content-between mt-2 text-muted small",children:[e.jsxs("span",{children:[s.itemCount||0," ",t("purchaseListManagement.itemsShort")]}),e.jsx("span",{children:z(s.createdAt)})]})]},s._id))}),L>1&&e.jsxs("div",{className:"d-flex justify-content-center gap-2 mt-3",children:[e.jsx(g,{variant:"outline-secondary",size:"sm",disabled:p<=1,onClick:()=>v(s=>s-1),children:e.jsx("i",{className:"bi bi-chevron-left"})}),e.jsxs("span",{className:"align-self-center small",children:[p," / ",L]}),e.jsx(g,{variant:"outline-secondary",size:"sm",disabled:p>=L,onClick:()=>v(s=>s+1),children:e.jsx("i",{className:"bi bi-chevron-right"})})]})]}),e.jsx(Z,{show:R,onHide:()=>{b(!1),N(null)},title:t("purchaseListManagement.deleteTitle"),primaryButtonText:t("purchaseListManagement.delete"),onPrimaryAction:U,isSubmitting:G,variant:"danger",children:e.jsx("p",{children:t("purchaseListManagement.deleteConfirmMessage",{reference:(x==null?void 0:x.referenceNo)||""})})})]})})};export{ye as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.