@accounter/client 0.0.8-alpha-20251023122652-765c7f951395441461726b3b4345eebd020632d7 → 0.0.8-alpha-20251023123704-5af903a2732fbfc73740e2810002ee0b9683cef2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -16
- package/dist/assets/{Checkbox-CpANMiXr.js → Checkbox-H3Qd4S1t.js} +2 -2
- package/dist/assets/{Progress-BEKiyNRK.js → Progress-_1EGB-Ud.js} +1 -1
- package/dist/assets/{Typography-C0c5augK.js → Typography-CuVqczIo.js} +1 -1
- package/dist/assets/{accordion-ZFVTCyDy.js → accordion-DUFvx4CN.js} +1 -1
- package/dist/assets/accountant-approvals-C7301eJO.js +1 -0
- package/dist/assets/{all-charges-BTyaAlp7.js → all-charges-Dx0Q4kZB.js} +1 -1
- package/dist/assets/{arrow-up-down-PQdrJdei.js → arrow-up-down-CehT3kEY.js} +1 -1
- package/dist/assets/building-2-CuwOX2TZ.js +6 -0
- package/dist/assets/business-CCi3RVvR.js +32 -0
- package/dist/assets/business-header-7F1UaeQp.js +1 -0
- package/dist/assets/{business-transactions-single-DJqvqlMO.js → business-transactions-single-94CVQ7c0.js} +1 -1
- package/dist/assets/{business-trip-BXAjI1mO.js → business-trip-cR3VWzx8.js} +1 -1
- package/dist/assets/charges-filters-DfoaNqnd.js +1 -0
- package/dist/assets/{charges-ledger-validation-CFc_zJFO.js → charges-ledger-validation-2A3wPF8j.js} +1 -1
- package/dist/assets/{chart-C5LuxRSv.js → chart-n1Grhp6o.js} +1 -1
- package/dist/assets/{data-table-pagination-g2cF8_uB.js → data-table-pagination-vl-bvd92.js} +1 -1
- package/dist/assets/{editable-business-trip-DyQsUJjl.js → editable-business-trip-B3CI9JMc.js} +2 -2
- package/dist/assets/index-8z9vrO7T.js +1 -0
- package/dist/assets/index-B0RQaZA4.js +1 -0
- package/dist/assets/{index-gBZ-7Z07.js → index-BAIrtSSd.js} +1 -1
- package/dist/assets/index-BBrtRPns.js +1 -0
- package/dist/assets/index-BU7S_VxQ.css +1 -0
- package/dist/assets/{index-C99l-a0m.js → index-BhJUmbsL.js} +1 -1
- package/dist/assets/{index-6-J73JPC.js → index-BuVXS77A.js} +1 -1
- package/dist/assets/index-C1x_UnLe.js +9 -0
- package/dist/assets/index-C9f-XFQb.js +1 -0
- package/dist/assets/{index-Is4LJW4y.js → index-CEXuDudr.js} +2 -2
- package/dist/assets/{index-C0OGGVXE.js → index-CPkFsfdv.js} +2 -2
- package/dist/assets/{index-Bpef3vuz.js → index-CaRLwZiB.js} +2 -2
- package/dist/assets/index-Cf3-ZPQo.js +1 -0
- package/dist/assets/{index-o_W5PWRq.js → index-Cm8oS2Wv.js} +6 -6
- package/dist/assets/{index-BSg8ocop.js → index-Cq6OcLVo.js} +2 -2
- package/dist/assets/{index-S6eSocQH.js → index-Csw94_Rv.js} +7 -7
- package/dist/assets/{index-CJdrnxxy.js → index-D7mzFB80.js} +2 -2
- package/dist/assets/{index-CN2818Wt.js → index-DGu24d2w.js} +233 -223
- package/dist/assets/index-DqCKwgnm.js +1 -0
- package/dist/assets/index-F3Rioz-t.js +1 -0
- package/dist/assets/index-PtT3cBhJ.js +1 -0
- package/dist/assets/index-YubUek6Y.js +1 -0
- package/dist/assets/index-fV50iczO.js +1 -0
- package/dist/assets/index-v0pHA7vt.js +1 -0
- package/dist/assets/{index.es-DZgQ4YcV.js → index.es-DdWlmUts.js} +1 -1
- package/dist/assets/{issue-document-D-JoFiMZ.js → issue-document-Dzhl0JwR.js} +1 -1
- package/dist/assets/login-page-D3LEhB5B.js +1 -0
- package/dist/assets/{missing-info-charges-CPnjfjfW.js → missing-info-charges-B4HgfJ2l.js} +1 -1
- package/dist/assets/page-not-found-CPpHfwNp.js +1 -0
- package/dist/assets/{pencil-BUwX_eHK.js → pencil-Ua-VQaqF.js} +1 -1
- package/dist/assets/report-commentary-row-BXqG5TF-.js +1 -0
- package/dist/assets/save-DxeJtmwS.js +6 -0
- package/dist/assets/{sub-C2zifPY5.js → sub-CvDx5dr5.js} +1 -1
- package/dist/assets/subMonths-DgP1GRUy.js +1 -0
- package/dist/index.html +2 -2
- package/package.json +4 -4
- package/src/components/business/business-header.tsx +21 -2
- package/src/components/businesses/index.tsx +56 -39
- package/src/components/common/forms/index.ts +0 -1
- package/src/components/common/modals/insert-business.tsx +659 -51
- package/src/gql/gql.ts +6 -30
- package/src/gql/graphql.ts +7 -30
- package/src/providers/urql-client.ts +3 -2
- package/src/providers/urql.tsx +0 -5
- package/src/router/loaders/business-loader.ts +4 -2
- package/src/router/loaders/charge-loader.ts +4 -2
- package/dist/assets/accountant-approvals-CpzuSBgK.js +0 -1
- package/dist/assets/business-DiQFqEHI.js +0 -42
- package/dist/assets/charges-filters-r7FjeZLc.js +0 -1
- package/dist/assets/index-2g0J28D2.js +0 -1
- package/dist/assets/index-B5j8Fmt8.js +0 -1
- package/dist/assets/index-BSBV6pv2.js +0 -9
- package/dist/assets/index-BziuNiXZ.js +0 -1
- package/dist/assets/index-C7KKktQ5.js +0 -1
- package/dist/assets/index-CE3kLG2a.js +0 -1
- package/dist/assets/index-CjDRKTTf.js +0 -1
- package/dist/assets/index-CzzfC-dD.css +0 -1
- package/dist/assets/index-D2xdQJAx.js +0 -1
- package/dist/assets/index-DGvh10a7.js +0 -1
- package/dist/assets/index-DLI6Z9VU.js +0 -1
- package/dist/assets/index-DXL1qPt9.js +0 -1
- package/dist/assets/index-T-JiUNDA.js +0 -1
- package/dist/assets/login-page-DsHy5amR.js +0 -1
- package/dist/assets/page-not-found-CYmXF0n2.js +0 -1
- package/dist/assets/report-commentary-row-Bpvvtwpd.js +0 -1
- package/dist/assets/save-Ck68rh6u.js +0 -11
- package/dist/assets/similar-charges-by-business-modal-bUtiFfAw.js +0 -1
- package/dist/assets/subMonths-uUfFviD2.js +0 -1
- package/src/components/businesses/all-businesses-row.tsx +0 -87
- package/src/components/businesses/cells/hebrew-name.tsx +0 -31
- package/src/components/businesses/cells/index.ts +0 -2
- package/src/components/businesses/cells/name.tsx +0 -31
- package/src/components/common/forms/business-card.tsx +0 -234
- package/src/providers/urql-error-handler.ts +0 -27
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { useCallback, useContext, useEffect, useState, type ReactElement } from 'react';
|
|
2
2
|
import { Loader2, PanelTopClose, PanelTopOpen } from 'lucide-react';
|
|
3
|
+
import { useNavigate } from 'react-router-dom';
|
|
3
4
|
import { useQuery } from 'urql';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
AllBusinessesForScreenDocument,
|
|
7
|
-
type AllBusinessesForScreenQuery,
|
|
8
|
-
} from '../../gql/graphql.js';
|
|
5
|
+
import { Tooltip } from '@mantine/core';
|
|
6
|
+
import { AllBusinessesForScreenDocument } from '../../gql/graphql.js';
|
|
9
7
|
import { useUrlQuery } from '../../hooks/use-url-query.js';
|
|
10
8
|
import { cn } from '../../lib/utils.js';
|
|
11
9
|
import { FiltersContext } from '../../providers/filters-context.js';
|
|
12
|
-
import {
|
|
10
|
+
import { ROUTES } from '../../router/routes.js';
|
|
11
|
+
import { BusinessHeader } from '../business/business-header.js';
|
|
12
|
+
import { InsertBusiness, MergeBusinessesButton } from '../common/index.js';
|
|
13
13
|
import { PageLayout } from '../layout/page-layout.js';
|
|
14
14
|
import { Button } from '../ui/button.js';
|
|
15
|
-
import {
|
|
15
|
+
import { Checkbox } from '../ui/checkbox.js';
|
|
16
16
|
import { BusinessesFilters } from './businesses-filters.js';
|
|
17
17
|
|
|
18
18
|
// eslint-disable-next-line @typescript-eslint/no-unused-expressions -- used by codegen
|
|
@@ -24,7 +24,7 @@ import { BusinessesFilters } from './businesses-filters.js';
|
|
|
24
24
|
id
|
|
25
25
|
name
|
|
26
26
|
... on LtdFinancialEntity {
|
|
27
|
-
...
|
|
27
|
+
...BusinessHeader
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
pageInfo {
|
|
@@ -43,7 +43,7 @@ export const Businesses = (): ReactElement => {
|
|
|
43
43
|
);
|
|
44
44
|
const { setFiltersContext } = useContext(FiltersContext);
|
|
45
45
|
|
|
46
|
-
const [{ data, fetching }] = useQuery({
|
|
46
|
+
const [{ data, fetching }, refetch] = useQuery({
|
|
47
47
|
query: AllBusinessesForScreenDocument,
|
|
48
48
|
variables: {
|
|
49
49
|
page: activePage,
|
|
@@ -52,6 +52,7 @@ export const Businesses = (): ReactElement => {
|
|
|
52
52
|
},
|
|
53
53
|
});
|
|
54
54
|
|
|
55
|
+
const navigate = useNavigate();
|
|
55
56
|
const [mergeSelectedBusinesses, setMergeSelectedBusinesses] = useState<
|
|
56
57
|
Array<{ id: string; onChange: () => void }>
|
|
57
58
|
>([]);
|
|
@@ -121,41 +122,57 @@ export const Businesses = (): ReactElement => {
|
|
|
121
122
|
const selectedIds = new Set(mergeSelectedBusinesses.map(selected => selected.id));
|
|
122
123
|
|
|
123
124
|
return (
|
|
124
|
-
<PageLayout
|
|
125
|
+
<PageLayout
|
|
126
|
+
title={`Businesses (${businesses.length})`}
|
|
127
|
+
description="All businesses"
|
|
128
|
+
headerActions={
|
|
129
|
+
<div className="flex items-center py-4 gap-4">
|
|
130
|
+
<InsertBusiness description="" onAdd={() => refetch()} />
|
|
131
|
+
</div>
|
|
132
|
+
}
|
|
133
|
+
>
|
|
125
134
|
{fetching ? (
|
|
126
135
|
<div className="flex flex-row justify-center">
|
|
127
136
|
<Loader2 className={cn('h-10 w-10 animate-spin mr-2')} />
|
|
128
137
|
</div>
|
|
129
138
|
) : (
|
|
130
|
-
<
|
|
131
|
-
|
|
132
|
-
<
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
139
|
+
<div className="space-y-2">
|
|
140
|
+
{businesses.map(business => (
|
|
141
|
+
<div
|
|
142
|
+
key={business.id}
|
|
143
|
+
className="group relative border rounded-lg hover:shadow-md transition-shadow"
|
|
144
|
+
>
|
|
145
|
+
<div className="flex items-center gap-3">
|
|
146
|
+
<div className="pl-4 flex items-center">
|
|
147
|
+
<Checkbox
|
|
148
|
+
checked={selectedIds.has(business.id)}
|
|
149
|
+
onCheckedChange={() => {
|
|
150
|
+
toggleMergeBusiness(business.id, () => {});
|
|
151
|
+
}}
|
|
152
|
+
className="h-4 w-4 rounded border-gray-300 cursor-pointer"
|
|
153
|
+
onClick={(e): void => e.stopPropagation()}
|
|
154
|
+
/>
|
|
155
|
+
</div>
|
|
156
|
+
<div
|
|
157
|
+
role="button"
|
|
158
|
+
tabIndex={0}
|
|
159
|
+
className="flex-1 cursor-pointer"
|
|
160
|
+
onClick={(): void => {
|
|
161
|
+
navigate(ROUTES.BUSINESSES.DETAIL(business.id));
|
|
162
|
+
}}
|
|
163
|
+
onKeyDown={(e): void => {
|
|
164
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
165
|
+
e.preventDefault();
|
|
166
|
+
navigate(ROUTES.BUSINESSES.DETAIL(business.id));
|
|
167
|
+
}
|
|
168
|
+
}}
|
|
169
|
+
>
|
|
170
|
+
<BusinessHeader data={business} />
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
</div>
|
|
174
|
+
))}
|
|
175
|
+
</div>
|
|
159
176
|
)}
|
|
160
177
|
</PageLayout>
|
|
161
178
|
);
|