1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6280,16756,34730,39137,49613,61518,62947,71994,83899,85328,94375],{17461:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(95155);let a={success:"bg-green-50 text-green-700 border-green-200",warning:"bg-amber-50 text-amber-700 border-amber-200",danger:"bg-red-50 text-red-700 border-red-200",info:"bg-blue-50 text-blue-700 border-blue-200",default:"bg-gray-50 text-gray-700 border-gray-200"};function s(e){let{variant:t="default",children:r,className:s=""}=e;return(0,n.jsx)("span",{className:"\n inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium border\n ".concat(a[t]||a.default,"\n ").concat(s,"\n "),children:r})}},23846:(e,t,r)=>{r.d(t,{A:()=>a});var n=r(95155);function a(e){let{tabs:t=[],activeTab:r,onChange:a}=e;return(0,n.jsx)("div",{className:"border-b border-gray-200",children:(0,n.jsx)("nav",{className:"flex gap-0 -mb-px",children:t.map(e=>(0,n.jsx)("button",{onClick:()=>a(e.key),className:"\n px-4 py-2.5 text-sm font-medium border-b-2 transition-colors cursor-pointer\n ".concat(r===e.key?"border-blue-500 text-blue-600":"border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300","\n "),children:e.label},e.key))})})}},28542:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(95155);function a(e){let{columns:t}=e;return(0,n.jsx)("tr",{className:"animate-pulse",children:t.map((e,t)=>(0,n.jsx)("td",{className:"px-4 py-3",children:(0,n.jsx)("div",{className:"h-4 bg-gray-200 rounded w-3/4"})},t))})}function s(e){let{columns:t=[],data:r=[],loading:s=!1,emptyMessage:i="No data found",onRowClick:o}=e;return(0,n.jsx)("div",{className:"w-full overflow-x-auto border border-gray-200 rounded-lg",children:(0,n.jsxs)("table",{className:"w-full text-sm",children:[(0,n.jsx)("thead",{children:(0,n.jsx)("tr",{className:"bg-gray-50 border-b border-gray-200",children:t.map(e=>(0,n.jsx)("th",{className:"px-4 py-3 text-left text-xs font-semibold text-gray-500 uppercase tracking-wider",style:e.width?{width:e.width}:void 0,children:e.label},e.key))})}),(0,n.jsx)("tbody",{className:"divide-y divide-gray-100",children:s?Array.from({length:5}).map((e,r)=>(0,n.jsx)(a,{columns:t},r)):0===r.length?(0,n.jsx)("tr",{children:(0,n.jsx)("td",{colSpan:t.length,className:"px-4 py-12 text-center text-gray-400",children:i})}):r.map((e,r)=>(0,n.jsx)("tr",{className:"\n hover:bg-gray-50 transition-colors\n ".concat(o?"cursor-pointer":"","\n "),onClick:()=>o&&o(e),children:t.map(t=>(0,n.jsx)("td",{className:"px-4 py-3 text-gray-700",children:t.render?t.render(e[t.key],e):e[t.key]},t.key))},e.id||e._id||r))})]})})}},51644:(e,t,r)=>{r.d(t,{A:()=>a});var n=r(95155);function a(e){let{title:t,subtitle:r,actions:a}=e;return(0,n.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-xl font-semibold text-gray-900",children:t}),r&&(0,n.jsx)("p",{className:"text-sm text-gray-500 mt-0.5",children:r})]}),a&&(0,n.jsx)("div",{className:"flex items-center gap-2",children:a})]})}},56984:(e,t,r)=>{r.d(t,{A:()=>a});var n=r(95155);function a(e){let{icon:t,title:r,description:a,action:s}=e;return(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 px-4",children:[t&&(0,n.jsx)("div",{className:"w-16 h-16 bg-gray-100 rounded-full flex items-center justify-center mb-4",children:(0,n.jsx)(t,{className:"h-8 w-8 text-gray-400"})}),(0,n.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-1",children:r}),a&&(0,n.jsx)("p",{className:"text-sm text-gray-500 text-center max-w-sm mb-4",children:a}),s&&(0,n.jsx)("div",{children:s})]})}},77676:(e,t,r)=>{r.r(t),r.d(t,{default:()=>v});var n=r(95155),a=r(12115),s=r(20063),i=r(55490),o=r(90378),l=r(51644),c=r(28542),d=r(23846),u=r(17461),m=r(69158),x=r(56984),f=r(30308),b=r(71213);let g=[{key:"all",label:"All"},{key:"draft",label:"Draft"},{key:"sent",label:"Sent"},{key:"overdue",label:"Overdue"},{key:"paid",label:"Paid"},{key:"void",label:"Void"}],y={draft:{variant:"default",label:"Draft"},sent:{variant:"info",label:"Sent"},overdue:{variant:"danger",label:"Overdue"},paid:{variant:"success",label:"Paid"},void:{variant:"warning",label:"Void"}};function p(e){return e?new Date(e).toLocaleDateString("en-IN",{day:"2-digit",month:"short",year:"numeric"}):"-"}function v(){let e=(0,s.useRouter)(),{showToast:t}=(0,o.d)(),{getCurrencySymbol:r}=(0,b.H2)(),v=r();function h(e){return null==e?"".concat(v,"0.00"):"".concat(v).concat(Number(e).toLocaleStr
1ing("en-IN",{minimumFractionDigits:2,maximumFractionDigits:2}))}let[j,N]=(0,a.useState)("all"),[w,D]=(0,a.useState)([]),[k,I]=(0,a.useState)(!0),[B,S]=(0,a.useState)(""),[C,E]=(0,a.useState)(""),[A,L]=(0,a.useState)("");async function P(){I(!0);try{let e=new URLSearchParams;"all"!==j&&e.set("status",j),B&&e.set("search",B),C&&e.set("startDate",C),A&&e.set("endDate",A);let t=e.toString(),r=await i.default.getInvoices(t);D(r||[])}catch(e){t(e.message||"Failed to load invoices","error"),D([])}finally{I(!1)}}(0,a.useEffect)(()=>{let e=setTimeout(()=>P(),300*!!B);return()=>clearTimeout(e)},[j,B,C,A]);let M=[{key:"invoiceNumber",label:"Invoice#",render:e=>(0,n.jsx)("span",{className:"font-medium text-blue-600",children:e})},{key:"customerName",label:"Customer",render:(e,t)=>{var r;return(null==(r=t.customer)?void 0:r.name)||t.customerName||"-"}},{key:"invoiceDate",label:"Date",render:e=>p(e)},{key:"dueDate",label:"Due Date",render:e=>p(e)},{key:"total",label:"Amount",render:e=>(0,n.jsx)("span",{className:"font-medium",children:h(e)})},{key:"balanceDue",label:"Balance Due",render:e=>(0,n.jsx)("span",{className:"font-medium",children:h(e)})},{key:"status",label:"Status",render:e=>{let t=y[e]||y.draft;return(0,n.jsx)(u.A,{variant:t.variant,children:t.label})}}];return(0,n.jsxs)("div",{children:[(0,n.jsx)(l.A,{title:"Invoices",subtitle:"Manage your invoices",actions:(0,n.jsx)(m.A,{icon:f.s00,onClick:()=>e.push("/invoice/invoices/new"),children:"New Invoice"})}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-3 mt-4 mb-2 items-center",children:[(0,n.jsxs)("div",{className:"relative flex-1 min-w-[200px]",children:[(0,n.jsx)(f.o0Z,{className:"absolute left-3 top-1/2 -translate-y-1/2 text-gray-400 w-4 h-4"}),(0,n.jsx)("input",{type:"text",placeholder:"Search by invoice# or customer...",className:"w-full pl-9 pr-3 py-2 text-sm border border-gray-300 rounded-lg focus:outline-none focus:ring-1 focus:ring-blue-500",value:B,onChange:e=>S(e.target.value)})]}),(0,n.jsx)("input",{type:"date",value:C,onChange:e=>E(e.target.value),className:"px-3 py-2 text-sm border border-gray-300 rounded-lg focus:outline-none focus:ring-1 focus:ring-blue-500"}),(0,n.jsx)("input",{type:"date",value:A,onChange:e=>L(e.target.value),className:"px-3 py-2 text-sm border border-gray-300 rounded-lg focus:outline-none focus:ring-1 focus:ring-blue-500"}),(B||C||A)&&(0,n.jsxs)("button",{onClick:()=>{S(""),E(""),L("")},className:"flex items-center gap-1 px-3 py-2 text-sm text-gray-500 hover:text-gray-700",children:[(0,n.jsx)(f.U_s,{className:"w-4 h-4"})," Clear"]})]}),(0,n.jsx)(d.A,{tabs:g,activeTab:j,onChange:N}),(0,n.jsx)("div",{className:"mt-4",children:k||0!==w.length?(0,n.jsx)(c.A,{columns:M,data:w,loading:k,emptyMessage:"No invoices found",onRowClick:t=>e.push("/invoice/invoices/".concat(t.id))}):(0,n.jsx)(x.A,{icon:f.gpD,title:"No invoices found",description:"all"===j?"Create your first invoice to get started.":"No ".concat(j," invoices found."),action:(0,n.jsx)(m.A,{icon:f.s00,onClick:()=>e.push("/invoice/invoices/new"),children:"New Invoice"})})})]})}},83899:(e,t,r)=>{let n,a;r.d(t,{P2:()=>m});let s=(e,t)=>t.some(t=>e instanceof t),i=new WeakMap,o=new WeakMap,l=new WeakMap,c={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return i.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return d(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function d(e){if(e instanceof IDBRequest){let t=new Promise((t,r)=>{let n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",s)},a=()=>{t(d(e.result)),n()},s=()=>{r(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",s)});return l.set(t,e),t}if(o.has(e))return o.get(e);let t=function(e){if("function"==typeof e)return(a||(a=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(u(this),t),d(this.request)}:function(...t){return d(e.apply(u(this),t))};return(e instanceof IDBTransaction&&function(e){if(i.has(e))return;let t=new Promise((t,r)=>{let n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",s),e.removeEventListener("abort",s)},a=()=>{t(),n()},s=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",s),e.addEventListener("abort",s)});i.set(e,t)}(e),s(e,n||(n=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(e,c):e}(e);return t!==e&&(o.set(e,t),l.set(t,e)),t}let u=e=>l.get(e);function m(e,t,{blocked:r,upgrade:n,blocking:a,terminated:s}={}){let i=indexedDB.open(e,t),o=d(i);return n&&i.addEventListener("upgradeneeded",e=>{n(d(i.result),e.oldVersion,e.newVersion,d(i.transaction),e)}),r&&i.addEventListener("blocked",e=>r(e.oldVersion,e.newVersion,e)),o.then(e=>{s&&e.addEventListener("close",()=>s()),a&&e.addEventListener("versionchange",e=>a(e.oldVersion,e.newVersion,e))}).catch(()=>{}),o}let x=["get","getKey","getAll","getAllKeys","count"],f=["put","add","delete","clear"],b=new Map;function g(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(b.get(t))return b.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,a=f.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(a||x.includes(r)))return;let s=async function(e,...t){let s=this.transaction(e,a?"readwrite":"readonly"),i=s.store;
1return n&&(i=i.index(t.shift())),(await Promise.all([i[r](...t),a&&s.done]))[0]};return b.set(t,s),s}c=(e=>({...e,get:(t,r,n)=>g(t,r)||e.get(t,r,n),has:(t,r)=>!!g(t,r)||e.has(t,r)}))(c);let y=["continue","continuePrimaryKey","advance"],p={},v=new WeakMap,h=new WeakMap,j={get(e,t){if(!y.includes(t))return e[t];let r=p[t];return r||(r=p[t]=function(...e){v.set(this,h.get(this)[t](...e))}),r}};async function*N(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;let r=new Proxy(t,j);for(h.set(r,t),l.set(r,u(t));t;)yield r,t=await (v.get(r)||t.continue()),v.delete(r)}function w(e,t){return t===Symbol.asyncIterator&&s(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&s(e,[IDBIndex,IDBObjectStore])}c=(e=>({...e,get:(t,r,n)=>w(t,r)?N:e.get(t,r,n),has:(t,r)=>w(t,r)||e.has(t,r)}))(c)}}]);
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.