UNPKG

@accounter/client

Version:
1 lines 2.99 kB
import{$u as e,C as t,Ed as n,Ft as r,Jl as i,Mi as a,Ml as o,Nd as s,Rd as c,Tu as l,_a as u,er as d,ku as f,tt as p,ut as m}from"./index-BdWApCqi.js";import{t as h}from"./use-url-query-8I97z9a3.js";import{t as g}from"./page-layout-9Fp4HhGU.js";import{t as _}from"./business-header-ByC7g_n_.js";var v=c(s(),1),y=l();function b({activePage:e,setPage:n,totalPages:r=1,businessName:i,setBusinessName:o}){let{get:s,set:c}=h(),[l,u]=(0,v.useState)(i);(0,v.useEffect)(()=>{let t=e>0?e.toFixed(0):void 0;t!==s(`page`)&&t!==`0`&&c(`page`,t)},[e,s,c]),(0,v.useEffect)(()=>{let e=setTimeout(()=>{o(l)},600);return()=>{clearTimeout(e)}},[l,o]);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)(a,{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(),[a,s]=(0,v.useState)(t(`page`)?Number(t(`page`)):0),[c,l]=(0,v.useState)(t(`name`)?t(`name`):void 0),{setFiltersContext:x}=(0,v.useContext)(d),[{data:S,fetching:C},w]=o({query:u,variables:{page:a,limit:100,name:c}}),T=n(),[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:a,setPage:s,businessName:c,setBusinessName:l,totalPages:S?.allBusinesses?.pageInfo.totalPages}),(0,y.jsx)(r,{selected:E,resetMerge:k})]}))},[S,a,c,x,s,l,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)(m,{description:``,onAdd:()=>w()})}),children:C?(0,y.jsx)(`div`,{className:`flex flex-row justify-center`,children:(0,y.jsx)(e,{className:i(`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)(p,{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(f.BUSINESSES.DETAIL(e.id),{state:{from:f.BUSINESSES.ALL}})},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),T(f.BUSINESSES.DETAIL(e.id),{state:{from:f.BUSINESSES.ALL}}))},children:(0,y.jsx)(_,{data:e})})]})},e.id))})})};export{x as Businesses};