UNPKG

@accounter/client

Version:
1 lines 4.57 kB
import{t as e}from"./subMonths-BpBa52PH.js";import{Al as t,An as n,B as r,Cn as i,Cu as a,Dn as o,Du as s,En as c,F as l,G as u,Gu as d,H as f,Id as p,Li as m,Ml as h,Ni as g,Nu as _,On as v,Pi as y,Pt as b,Ri as x,Si as S,U as C,V as w,W as T,Wa as E,Wl as D,Xn as O,bi as k,ec as A,er as j,fn as M,ic as N,jd as P,ji as F,kn as I,nr as L,tc as R,un as z,wa as B,wn as V,xd as H,yi as U,zi as W}from"./index-CSYTUOOk.js";import{r as G,t as K}from"./use-issue-monthly-documents-pWq2dcmW.js";var q=p(P(),1),J=a();function Y({issueMonth:e,clients:r,onAdd:i}){let[a,s]=(0,q.useState)(!1),[u,f]=(0,q.useState)(``),[{data:p},h]=t({query:A,variables:{issueMonth:e,clientId:u},pause:!a}),_=(0,q.useCallback)(e=>{f(e),h()},[h,f]);return(0,q.useEffect)(()=>{u!==``&&p&&(i(l(O(N,p.clientMonthlyChargeDraft))),s(!1))},[u,p,i]),(0,J.jsxs)(g,{open:a,onOpenChange:s,children:[(0,J.jsx)(W,{asChild:!0,children:(0,J.jsx)(D,{variant:`outline`,size:`icon`,children:(0,J.jsx)(d,{})})}),(0,J.jsxs)(y,{className:`w-[400px] max-w-screen-md`,children:[(0,J.jsx)(m,{children:(0,J.jsx)(x,{children:`Select document recipient`})}),(0,J.jsxs)(c,{onValueChange:_,children:[(0,J.jsx)(I,{children:(0,J.jsx)(n,{placeholder:`Recipient`})}),(0,J.jsx)(o,{children:r.map(e=>(0,J.jsx)(v,{value:e.id,children:e.name},e.id))})]})]})]})}var X=({drafts:n})=>{let[a,o]=(0,q.useState)(n.map(e=>l(O(N,e)))),[c,d]=(0,q.useState)(h(e(new Date,1),`yyyy-MM-dd`)),[{data:p},m]=t({query:R,variables:{issueMonth:c},pause:!0});(0,q.useEffect)(()=>{p?.periodicalDocumentDrafts&&o(p.periodicalDocumentDrafts.map(e=>l(O(N,e))))},[p,o]),(0,q.useEffect)(()=>{m()},[c,m]);let g=V({values:{generateDocumentsInfo:a}}),{issueDocuments:v}=K(),[{data:y}]=t({query:B}),{fields:x,append:A,remove:j,update:P}=i({control:g.control,name:`generateDocumentsInfo`}),I=g.watch(`generateDocumentsInfo`),L=(0,q.useMemo)(()=>x.map((e,t)=>({...e,...I[t],id:e.client?.id})),[x,I]),W=(0,q.useCallback)(e=>{v(e)},[v]),X=(0,q.useMemo)(()=>y?.allOpenContracts.filter(e=>e.billingCycle===E.Monthly&&!L.some(t=>t.client?.id===e.client.id)),[L,y]);return(0,J.jsx)(`div`,{className:`p-2`,children:(0,J.jsx)(M,{...g,children:(0,J.jsxs)(`form`,{onSubmit:g.handleSubmit(W),children:[(0,J.jsxs)(`div`,{className:`flex gap-2 items-center mb-4`,children:[(0,J.jsx)(F,{children:`Issue Month:`}),(0,J.jsx)(z,{value:new Date(c),onChange:e=>{d(h(new Date(e.getFullYear(),e.getMonth(),15),`yyyy-MM-dd`))},popoverProps:{withinPortal:!0}})]}),(0,J.jsxs)(r,{children:[(0,J.jsx)(T,{children:(0,J.jsxs)(u,{children:[(0,J.jsx)(C,{children:`Name`}),(0,J.jsx)(C,{children:`Document`}),(0,J.jsx)(C,{children:`Amount`}),(0,J.jsx)(C,{children:`Remark`}),(0,J.jsx)(C,{children:`Recipients`}),(0,J.jsx)(C,{})]})}),(0,J.jsx)(w,{children:L.map(({id:e,...t},n)=>(0,J.jsxs)(u,{children:[(0,J.jsx)(f,{children:(0,J.jsx)(H,{to:e?s.BUSINESSES.DETAIL(e):s.BUSINESSES.ALL,target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`inline-flex items-center font-semibold`,children:t.client?.name})}),(0,J.jsx)(f,{children:t.type}),(0,J.jsxs)(f,{children:[t.income?.[0]?.price,` `,t.income?.[0]?.currency]}),(0,J.jsx)(f,{children:(0,J.jsx)(`span`,{className:`text-sm text-gray-500 whitespace-normal max-w-50`,children:t.remarks})}),(0,J.jsx)(f,{children:(0,J.jsx)(`div`,{className:`flex flex-col`,children:t.client?.emails?.map(e=>(0,J.jsx)(`span`,{className:`text-sm text-gray-500`,children:e},e))})}),(0,J.jsx)(f,{children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsxs)(U,{children:[(0,J.jsx)(S,{asChild:!0,type:`button`,children:(0,J.jsx)(D,{className:`size-7.5`,variant:`secondary`,onClick:()=>j(n),children:(0,J.jsx)(_,{size:16})})}),(0,J.jsx)(k,{children:(0,J.jsx)(`p`,{children:`Remove document`})})]}),(0,J.jsx)(G,{draft:t,onApprove:e=>{g.setValue(`generateDocumentsInfo.${n}`,e,{shouldDirty:!0,shouldTouch:!0,shouldValidate:!0}),P(n,{...e})}})]})})]},e))})]}),(0,J.jsxs)(`div`,{className:`flex justify-between items-center mt-4`,children:[(0,J.jsx)(Y,{clients:X?.map(e=>({id:e.client.originalBusiness.id,name:e.client.originalBusiness.name}))??[],onAdd:A,issueMonth:c}),(0,J.jsx)(b,{onConfirm:g.handleSubmit(W),title:`Are you sure you want to issue ${L.length} documents?`,children:(0,J.jsx)(D,{children:`Issue`})})]})]})})})},Z=()=>{let{setFiltersContext:n}=(0,q.useContext)(j),[{data:r,fetching:i}]=t({query:R,variables:{issueMonth:h(e(new Date,1),`yyyy-MM-dd`)}});return(0,q.useEffect)(()=>{r?.periodicalDocumentDrafts||n(null)},[r,n]),i?(0,J.jsx)(L,{}):(0,J.jsx)(X,{drafts:r?.periodicalDocumentDrafts??[]})};export{Z as IssueDocuments};