@accounter/client
Version:
Accounter client application
1 lines • 2.99 kB
JavaScript
import{Al as e,C as t,Cu as n,Du as r,Ft as i,Id as a,Kl as o,Mi as s,Zu as c,_a as l,er as u,jd as d,tt as f,ut as p,wd as m}from"./index-DUZECcXr.js";import{t as h}from"./use-url-query-Ds69k5Os.js";import{t as g}from"./page-layout-BfWJC_SV.js";import{t as _}from"./business-header-DgBYotxP.js";var v=a(d(),1),y=n();function b({activePage:e,setPage:n,totalPages:r=1,businessName:i,setBusinessName:a}){let{get:o,set:c}=h(),[l,u]=(0,v.useState)(i);(0,v.useEffect)(()=>{let t=e>0?e.toFixed(0):void 0;t!==o(`page`)&&t!==`0`&&c(`page`,t)},[e,o,c]),(0,v.useEffect)(()=>{let e=setTimeout(()=>{a(l)},600);return()=>{clearTimeout(e)}},[l,a]);let d=e=>{u(e)};return(0,y.jsxs)(`div`,{className:`flex flex-row gap-5 items-center`,children:[(0,y.jsx)(t,{className:`flex-fit w-fit mx-0`,currentPageIndex:e,onChange:n,totalPages:r}),(0,y.jsx)(s,{className:`w-72`,placeholder:`Business Name`,defaultValue:i??void 0,onChange:e=>d(e.target.value===``?void 0:e.target.value)})]})}var x=()=>{let{get:t}=h(),[n,a]=(0,v.useState)(t(`page`)?Number(t(`page`)):0),[s,d]=(0,v.useState)(t(`name`)?t(`name`):void 0),{setFiltersContext:x}=(0,v.useContext)(u),[{data:S,fetching:C},w]=e({query:l,variables:{page:n,limit:100,name:s}}),T=m(),[E,D]=(0,v.useState)([]),O=(0,v.useCallback)((e,t)=>{E.map(e=>e.id).includes(e)?D(E.filter(t=>t.id!==e)):D([...E,{id:e,onChange:t}])},[E]);function k(){D([])}(0,v.useEffect)(()=>{x((0,y.jsxs)(`div`,{className:`flex flex-row gap-x-5`,children:[(0,y.jsx)(b,{activePage:n,setPage:a,businessName:s,setBusinessName:d,totalPages:S?.allBusinesses?.pageInfo.totalPages}),(0,y.jsx)(i,{selected:E,resetMerge:k})]}))},[S,n,s,x,a,d,E]);let A=S?.allBusinesses?.nodes.filter(e=>e.__typename===`LtdFinancialEntity`).sort((e,t)=>e.name.toLowerCase()>t.name.toLowerCase()?1:-1)??[],j=new Set(E.map(e=>e.id));return(0,y.jsx)(g,{title:`Businesses (${S?.allBusinesses?.pageInfo.totalRecords??``})`,description:`All businesses`,headerActions:(0,y.jsx)(`div`,{className:`flex items-center py-4 gap-4`,children:(0,y.jsx)(p,{description:``,onAdd:()=>w()})}),children:C?(0,y.jsx)(`div`,{className:`flex flex-row justify-center`,children:(0,y.jsx)(c,{className:o(`h-10 w-10 animate-spin mr-2`)})}):(0,y.jsx)(`div`,{className:`space-y-2`,children:A.map(e=>(0,y.jsx)(`div`,{className:`group relative border rounded-lg hover:shadow-md transition-shadow`,children:(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(`div`,{className:`pl-4 flex items-center`,children:(0,y.jsx)(f,{checked:j.has(e.id),onCheckedChange:()=>{O(e.id,()=>{})},className:`h-4 w-4 rounded border-gray-300 cursor-pointer`,onClick:e=>e.stopPropagation()})}),(0,y.jsx)(`div`,{role:`button`,tabIndex:0,className:`flex-1 cursor-pointer`,onClick:()=>{T(r.BUSINESSES.DETAIL(e.id),{state:{from:r.BUSINESSES.ALL}})},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),T(r.BUSINESSES.DETAIL(e.id),{state:{from:r.BUSINESSES.ALL}}))},children:(0,y.jsx)(_,{data:e})})]})},e.id))})})};export{x as Businesses};