@accounter/client 0.0.8-alpha-20251027135337-f79bd33d242a52dedb78869440eb1332cecb516f → 0.0.8-alpha-20251027160059-e9b68d02d14d04ec8244b80972712f758c9e8db7

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.
Files changed (66) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/assets/{Checkbox-DpgoGNEh.js → Checkbox-BPO8_jMH.js} +2 -2
  3. package/dist/assets/{Progress-CYZqv7SW.js → Progress-NZzZXmow.js} +1 -1
  4. package/dist/assets/{Typography-CkIoreka.js → Typography-IaNz_UpB.js} +1 -1
  5. package/dist/assets/{accordion-CaHOdrRP.js → accordion-DLhPc0rw.js} +1 -1
  6. package/dist/assets/accountant-approvals--bHmgziw.js +1 -0
  7. package/dist/assets/{all-charges-7emf__4c.js → all-charges-n5LCQpkn.js} +1 -1
  8. package/dist/assets/{arrow-up-down-B0c1T401.js → arrow-up-down-CM9bwo8G.js} +1 -1
  9. package/dist/assets/{building-2-Cgw5U9px.js → building-2-HRA8xsoA.js} +1 -1
  10. package/dist/assets/business-Cc9BXzpb.js +32 -0
  11. package/dist/assets/{business-header-Dr-cPjxi.js → business-header-D0Pi0ox5.js} +1 -1
  12. package/dist/assets/{business-transactions-single-CyFYlmJ1.js → business-transactions-single-CEYMQLQD.js} +1 -1
  13. package/dist/assets/{business-trip-gN2mmMZs.js → business-trip-CJO6fi9D.js} +1 -1
  14. package/dist/assets/{charges-filters-BFXTNJlR.js → charges-filters-hjHQC8jb.js} +1 -1
  15. package/dist/assets/{charges-ledger-validation-PLL72LF_.js → charges-ledger-validation-B-CsyNZK.js} +1 -1
  16. package/dist/assets/{chart-CW1hdLVW.js → chart-Dt1GKbU0.js} +1 -1
  17. package/dist/assets/{data-table-pagination-DGMzd5Ur.js → data-table-pagination-YsvftRMU.js} +1 -1
  18. package/dist/assets/{editable-business-trip-DO2VVnpQ.js → editable-business-trip-DVC29gsX.js} +2 -2
  19. package/dist/assets/{index-CwSHI3TR.js → index-9gE-VJnf.js} +1 -1
  20. package/dist/assets/{index-DuovWEWg.js → index-B6wS4Wxh.js} +1 -1
  21. package/dist/assets/{index-C3mMRi14.js → index-BC8lCcej.js} +1 -1
  22. package/dist/assets/{index-1WpeqtCj.js → index-BEDk77TL.js} +1 -1
  23. package/dist/assets/{index-B9J1vUWt.js → index-BgzvCxY1.js} +1 -1
  24. package/dist/assets/{index-CWKSy3gx.js → index-BmHIdR_i.js} +1 -1
  25. package/dist/assets/{index-BKOjJ4S2.js → index-BoRdLlCV.js} +1 -1
  26. package/dist/assets/{index-DLcR6D3A.js → index-BowN47so.js} +1 -1
  27. package/dist/assets/{index-DzpHfxyz.js → index-ByZ_pm4F.js} +1 -1
  28. package/dist/assets/{index-C1Lhx64B.js → index-BykvJIPg.js} +1 -1
  29. package/dist/assets/{index-BgaZ9SWH.js → index-C1QP_1hi.js} +2 -2
  30. package/dist/assets/{index-DkoK59wU.js → index-C5THrBcZ.js} +2 -2
  31. package/dist/assets/{index-DpWWjU9o.js → index-CAz755Vg.js} +1 -1
  32. package/dist/assets/index-CBPTpZHL.css +1 -0
  33. package/dist/assets/{index-DIilK_xX.js → index-CRMsr3ea.js} +1 -1
  34. package/dist/assets/{index-DVls0wZI.js → index-CRpqdixQ.js} +1 -1
  35. package/dist/assets/{index-df1n76_f.js → index-CebS9Rr6.js} +2 -2
  36. package/dist/assets/{index-DnJZ0kU3.js → index-CpAsLkZ-.js} +2 -2
  37. package/dist/assets/{index-DmeswmlH.js → index-D4QXCBac.js} +2 -2
  38. package/dist/assets/{index-BNVZgIhA.js → index-DFDi4HIa.js} +1 -1
  39. package/dist/assets/{index-CNYfsMvN.js → index-DYbojoX7.js} +2 -2
  40. package/dist/assets/{index-DxWD905F.js → index-O4Zp6w2B.js} +1 -1
  41. package/dist/assets/{index-ClQMK6pH.js → index-nOsVSS34.js} +7 -7
  42. package/dist/assets/{index-Mle6gZrH.js → index-xIO0bA36.js} +4 -4
  43. package/dist/assets/{index.es-CItPkO4N.js → index.es-B9NUKbEG.js} +1 -1
  44. package/dist/assets/{issue-document-OO4Zci4E.js → issue-document-CUSNTaeZ.js} +1 -1
  45. package/dist/assets/{login-page-BSQTX6W0.js → login-page-DmLdOH1y.js} +1 -1
  46. package/dist/assets/{missing-info-charges-opuTpAg9.js → missing-info-charges-DsgMcotI.js} +1 -1
  47. package/dist/assets/{page-not-found-CajD8Y-I.js → page-not-found-B8fy5aDg.js} +1 -1
  48. package/dist/assets/{pencil-30Ac_SOe.js → pencil-Dmfzg-6O.js} +1 -1
  49. package/dist/assets/{report-commentary-row-CMQfSAqR.js → report-commentary-row-BPh5_3g6.js} +1 -1
  50. package/dist/assets/{save-CepuoEj-.js → save-BPUtJeTy.js} +1 -1
  51. package/dist/assets/sub-CqZ9jxmt.js +1 -0
  52. package/dist/assets/subMonths-CwZPyK0k.js +1 -0
  53. package/dist/index.html +2 -2
  54. package/package.json +1 -1
  55. package/src/components/business/contracts-section.tsx +18 -4
  56. package/src/components/business/index.tsx +10 -26
  57. package/src/components/clients/contracts/modify-contract-dialog.tsx +65 -11
  58. package/src/gql/gql.ts +6 -6
  59. package/src/gql/graphql.ts +7 -7
  60. package/src/hooks/use-get-all-contracts.ts +1 -1
  61. package/dist/assets/accountant-approvals-DSj77RHk.js +0 -1
  62. package/dist/assets/business-gIm-2ScS.js +0 -37
  63. package/dist/assets/index-wCrXjHTc.css +0 -1
  64. package/dist/assets/sub-CHPOWTq8.js +0 -1
  65. package/dist/assets/subMonths-CnpmFwyh.js +0 -1
  66. package/src/components/business/financial-account-section.tsx +0 -658
@@ -1,658 +0,0 @@
1
- 'use client';
2
-
3
- import type React from 'react';
4
- import { useState } from 'react';
5
- import { Bitcoin, Building2, CreditCard, Edit, Plus, X } from 'lucide-react';
6
- import { Badge } from '@/components/ui/badge.js';
7
- import { Button } from '@/components/ui/button.js';
8
- import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card.js';
9
- import {
10
- Dialog,
11
- DialogContent,
12
- DialogDescription,
13
- DialogFooter,
14
- DialogHeader,
15
- DialogTitle,
16
- } from '@/components/ui/dialog.js';
17
- import { Input } from '@/components/ui/input.js';
18
- import { Label } from '@/components/ui/label.js';
19
- import {
20
- Select,
21
- SelectContent,
22
- SelectItem,
23
- SelectTrigger,
24
- SelectValue,
25
- } from '@/components/ui/select.js';
26
- import { Switch } from '@/components/ui/switch.js';
27
- import type { Currency } from '@/gql/graphql';
28
-
29
- type AccountType = 'BANK' | 'CREDIT_CARD' | 'CRYPTO_WALLET';
30
-
31
- interface CurrencyTaxCategory {
32
- currency: Currency;
33
- taxCategory: string;
34
- }
35
-
36
- interface FinancialAccount {
37
- id: string;
38
- accountNumber: string;
39
- isBusiness: boolean;
40
- type: AccountType;
41
- currencies: CurrencyTaxCategory[];
42
- // Bank-specific fields
43
- bankNumber?: number;
44
- branchNumber?: number;
45
- extendedBankNumber?: number;
46
- partyPreferredIndication?: number;
47
- partyAccountInvolvementCode?: number;
48
- accountDealDate?: number;
49
- accountUpdateDate?: number;
50
- metegDoraNet?: number;
51
- kodHarshaatPeilut?: number;
52
- accountClosingReasonCode?: number;
53
- accountAgreementOpeningDate?: number;
54
- serviceAuthorizationDesc?: string;
55
- branchTypeCode?: number;
56
- mymailEntitlementSwitch?: number;
57
- productLabel?: string;
58
- }
59
-
60
- export function FinancialAccountsSection() {
61
- const [accounts, setAccounts] = useState<FinancialAccount[]>([
62
- {
63
- id: '1',
64
- accountNumber: '123456789',
65
- isBusiness: true,
66
- type: 'BANK',
67
- currencies: [
68
- { currency: 'ILS', taxCategory: 'Standard ILS' },
69
- { currency: 'USD', taxCategory: 'Foreign Currency' },
70
- ],
71
- bankNumber: 12,
72
- branchNumber: 345,
73
- extendedBankNumber: 123_456_789,
74
- partyPreferredIndication: 1,
75
- partyAccountInvolvementCode: 2,
76
- accountDealDate: 20_200_101,
77
- accountUpdateDate: 20_240_101,
78
- metegDoraNet: 1,
79
- kodHarshaatPeilut: 100,
80
- accountClosingReasonCode: 0,
81
- accountAgreementOpeningDate: 20_200_101,
82
- serviceAuthorizationDesc: 'Full access',
83
- branchTypeCode: 1,
84
- mymailEntitlementSwitch: 1,
85
- productLabel: 'Business Checking Account',
86
- },
87
- {
88
- id: '2',
89
- accountNumber: '9876543210',
90
- isBusiness: false,
91
- type: 'CREDIT_CARD',
92
- currencies: [
93
- { currency: 'ILS', taxCategory: 'A-ILS category' },
94
- { currency: 'USD', taxCategory: 'SOME CATEGORY' },
95
- ],
96
- },
97
- {
98
- id: '3',
99
- accountNumber: '0xABC123DEF456',
100
- isBusiness: false,
101
- type: 'CRYPTO_WALLET',
102
- currencies: [{ currency: 'ETH', taxCategory: 'Crypto Assets' }],
103
- },
104
- ]);
105
-
106
- const [isModalOpen, setIsModalOpen] = useState(false);
107
- const [editingAccount, setEditingAccount] = useState<FinancialAccount | null>(null);
108
- const [formData, setFormData] = useState<Partial<FinancialAccount>>({
109
- accountNumber: '',
110
- isBusiness: false,
111
- type: 'BANK',
112
- currencies: [],
113
- });
114
-
115
- const handleOpenModal = (account?: FinancialAccount) => {
116
- if (account) {
117
- setEditingAccount(account);
118
- setFormData(account);
119
- } else {
120
- setEditingAccount(null);
121
- setFormData({
122
- accountNumber: '',
123
- isBusiness: false,
124
- type: 'BANK',
125
- currencies: [],
126
- });
127
- }
128
- setIsModalOpen(true);
129
- };
130
-
131
- const handleCloseModal = () => {
132
- setIsModalOpen(false);
133
- setEditingAccount(null);
134
- setFormData({
135
- accountNumber: '',
136
- isBusiness: false,
137
- type: 'BANK',
138
- currencies: [],
139
- });
140
- };
141
-
142
- const handleSubmit = (e: React.FormEvent) => {
143
- e.preventDefault();
144
- if (editingAccount) {
145
- setAccounts(
146
- accounts.map(acc =>
147
- acc.id === editingAccount.id ? ({ ...formData, id: acc.id } as FinancialAccount) : acc,
148
- ),
149
- );
150
- } else {
151
- setAccounts([...accounts, { ...formData, id: Date.now().toString() } as FinancialAccount]);
152
- }
153
- handleCloseModal();
154
- };
155
-
156
- const addCurrency = () => {
157
- setFormData({
158
- ...formData,
159
- currencies: [...(formData.currencies || []), { currency: 'USD', taxCategory: '' }],
160
- });
161
- };
162
-
163
- const removeCurrency = (index: number) => {
164
- setFormData({
165
- ...formData,
166
- currencies: formData.currencies?.filter((_, i) => i !== index) || [],
167
- });
168
- };
169
-
170
- const updateCurrency = (index: number, field: keyof CurrencyTaxCategory, value: string) => {
171
- const updatedCurrencies = [...(formData.currencies || [])];
172
- updatedCurrencies[index] = { ...updatedCurrencies[index], [field]: value };
173
- setFormData({ ...formData, currencies: updatedCurrencies });
174
- };
175
-
176
- const getAccountIcon = (type: AccountType) => {
177
- switch (type) {
178
- case 'BANK':
179
- return <Building2 className="h-5 w-5" />;
180
- case 'CREDIT_CARD':
181
- return <CreditCard className="h-5 w-5" />;
182
- case 'CRYPTO_WALLET':
183
- return <Bitcoin className="h-5 w-5" />;
184
- }
185
- };
186
-
187
- const getAccountTypeLabel = (type: AccountType) => {
188
- switch (type) {
189
- case 'BANK':
190
- return 'Bank Account';
191
- case 'CREDIT_CARD':
192
- return 'Credit Card';
193
- case 'CRYPTO_WALLET':
194
- return 'Crypto Wallet';
195
- }
196
- };
197
-
198
- return (
199
- <div className="space-y-6">
200
- <div className="flex items-center justify-between">
201
- <div>
202
- <h2 className="text-2xl font-semibold tracking-tight">Financial Accounts</h2>
203
- <p className="text-sm text-muted-foreground">
204
- Manage bank accounts, credit cards, and crypto wallets
205
- </p>
206
- </div>
207
- <Button onClick={() => handleOpenModal()}>
208
- <Plus className="h-4 w-4 mr-2" />
209
- New Account
210
- </Button>
211
- </div>
212
-
213
- <div className="grid gap-4">
214
- {accounts.map(account => (
215
- <Card key={account.id}>
216
- <CardHeader>
217
- <div className="flex items-start justify-between">
218
- <div className="flex items-center gap-3">
219
- <div className="p-2 rounded-lg bg-primary/10 text-primary">
220
- {getAccountIcon(account.type)}
221
- </div>
222
- <div>
223
- <CardTitle className="text-lg">{account.accountNumber}</CardTitle>
224
- <CardDescription className="flex items-center gap-2 mt-1">
225
- <Badge variant="outline">{getAccountTypeLabel(account.type)}</Badge>
226
- {account.isBusiness && <Badge variant="secondary">Business</Badge>}
227
- </CardDescription>
228
- </div>
229
- </div>
230
- <Button variant="ghost" size="sm" onClick={() => handleOpenModal(account)}>
231
- <Edit className="h-4 w-4" />
232
- </Button>
233
- </div>
234
- </CardHeader>
235
- <CardContent className="space-y-4">
236
- {/* Currencies */}
237
- <div>
238
- <h4 className="text-sm font-medium mb-2">Currencies & Tax Categories</h4>
239
- <div className="flex flex-wrap gap-2">
240
- {account.currencies.map((curr, idx) => (
241
- <Badge key={idx} variant="secondary" className="text-xs">
242
- {curr.currency} → {curr.taxCategory}
243
- </Badge>
244
- ))}
245
- </div>
246
- </div>
247
-
248
- {/* Bank-specific fields */}
249
- {account.type === 'BANK' && (
250
- <div className="border-t pt-4">
251
- <h4 className="text-sm font-medium mb-3">Bank Details</h4>
252
- <div className="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-3 text-sm">
253
- <div>
254
- <span className="text-muted-foreground">Bank Number:</span>
255
- <p className="font-medium">{account.bankNumber}</p>
256
- </div>
257
- <div>
258
- <span className="text-muted-foreground">Branch Number:</span>
259
- <p className="font-medium">{account.branchNumber}</p>
260
- </div>
261
- <div>
262
- <span className="text-muted-foreground">Extended Bank Number:</span>
263
- <p className="font-medium">{account.extendedBankNumber}</p>
264
- </div>
265
- <div>
266
- <span className="text-muted-foreground">Party Preferred Indication:</span>
267
- <p className="font-medium">{account.partyPreferredIndication}</p>
268
- </div>
269
- <div>
270
- <span className="text-muted-foreground">Party Account Involvement:</span>
271
- <p className="font-medium">{account.partyAccountInvolvementCode}</p>
272
- </div>
273
- <div>
274
- <span className="text-muted-foreground">Account Deal Date:</span>
275
- <p className="font-medium">{account.accountDealDate}</p>
276
- </div>
277
- <div>
278
- <span className="text-muted-foreground">Account Update Date:</span>
279
- <p className="font-medium">{account.accountUpdateDate}</p>
280
- </div>
281
- <div>
282
- <span className="text-muted-foreground">Meteg Dora Net:</span>
283
- <p className="font-medium">{account.metegDoraNet}</p>
284
- </div>
285
- <div>
286
- <span className="text-muted-foreground">Kod Harshaot Peilut:</span>
287
- <p className="font-medium">{account.kodHarshaatPeilut}</p>
288
- </div>
289
- <div>
290
- <span className="text-muted-foreground">Closing Reason Code:</span>
291
- <p className="font-medium">{account.accountClosingReasonCode}</p>
292
- </div>
293
- <div>
294
- <span className="text-muted-foreground">Agreement Opening Date:</span>
295
- <p className="font-medium">{account.accountAgreementOpeningDate}</p>
296
- </div>
297
- <div>
298
- <span className="text-muted-foreground">Branch Type Code:</span>
299
- <p className="font-medium">{account.branchTypeCode}</p>
300
- </div>
301
- <div>
302
- <span className="text-muted-foreground">Mymail Entitlement:</span>
303
- <p className="font-medium">{account.mymailEntitlementSwitch}</p>
304
- </div>
305
- <div className="col-span-2">
306
- <span className="text-muted-foreground">Service Authorization:</span>
307
- <p className="font-medium">{account.serviceAuthorizationDesc}</p>
308
- </div>
309
- <div className="col-span-2">
310
- <span className="text-muted-foreground">Product Label:</span>
311
- <p className="font-medium">{account.productLabel}</p>
312
- </div>
313
- </div>
314
- </div>
315
- )}
316
- </CardContent>
317
- </Card>
318
- ))}
319
- </div>
320
-
321
- {/* Add/Edit Account Modal */}
322
- <Dialog open={isModalOpen} onOpenChange={setIsModalOpen}>
323
- <DialogContent className="max-w-4xl max-h-[90vh] overflow-y-auto">
324
- <DialogHeader>
325
- <DialogTitle>{editingAccount ? 'Edit Account' : 'New Account'}</DialogTitle>
326
- <DialogDescription>
327
- {editingAccount
328
- ? 'Update account details and settings'
329
- : 'Add a new financial account'}
330
- </DialogDescription>
331
- </DialogHeader>
332
-
333
- <form onSubmit={handleSubmit} className="space-y-6">
334
- {/* Basic Information */}
335
- <div className="space-y-4">
336
- <h3 className="text-sm font-semibold">Basic Information</h3>
337
- <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
338
- <div className="space-y-2">
339
- <Label htmlFor="accountNumber">Account Number *</Label>
340
- <Input
341
- id="accountNumber"
342
- value={formData.accountNumber}
343
- onChange={e => setFormData({ ...formData, accountNumber: e.target.value })}
344
- required
345
- />
346
- </div>
347
-
348
- <div className="space-y-2">
349
- <Label htmlFor="type">Account Type *</Label>
350
- <Select
351
- value={formData.type}
352
- onValueChange={(value: AccountType) =>
353
- setFormData({ ...formData, type: value })
354
- }
355
- >
356
- <SelectTrigger id="type">
357
- <SelectValue />
358
- </SelectTrigger>
359
- <SelectContent>
360
- <SelectItem value="BANK">Bank Account</SelectItem>
361
- <SelectItem value="CREDIT_CARD">Credit Card</SelectItem>
362
- <SelectItem value="CRYPTO_WALLET">Crypto Wallet</SelectItem>
363
- </SelectContent>
364
- </Select>
365
- </div>
366
-
367
- <div className="flex items-center space-x-2">
368
- <Switch
369
- id="isBusiness"
370
- checked={formData.isBusiness}
371
- onCheckedChange={checked => setFormData({ ...formData, isBusiness: checked })}
372
- />
373
- <Label htmlFor="isBusiness">Business Account</Label>
374
- </div>
375
- </div>
376
- </div>
377
-
378
- {/* Currencies & Tax Categories */}
379
- <div className="space-y-4">
380
- <div className="flex items-center justify-between">
381
- <h3 className="text-sm font-semibold">Currencies & Tax Categories</h3>
382
- <Button type="button" variant="outline" size="sm" onClick={addCurrency}>
383
- <Plus className="h-4 w-4 mr-2" />
384
- Add Currency
385
- </Button>
386
- </div>
387
- <div className="space-y-3">
388
- {formData.currencies?.map((curr, index) => (
389
- <div key={index} className="flex gap-2 items-start">
390
- <div className="flex-1 grid grid-cols-2 gap-2">
391
- <Input
392
- placeholder="Currency (e.g., ILS, USD)"
393
- value={curr.currency}
394
- onChange={e => updateCurrency(index, 'currency', e.target.value)}
395
- />
396
- <Input
397
- placeholder="Tax Category"
398
- value={curr.taxCategory}
399
- onChange={e => updateCurrency(index, 'taxCategory', e.target.value)}
400
- />
401
- </div>
402
- <Button
403
- type="button"
404
- variant="ghost"
405
- size="icon"
406
- onClick={() => removeCurrency(index)}
407
- >
408
- <X className="h-4 w-4" />
409
- </Button>
410
- </div>
411
- ))}
412
- </div>
413
- </div>
414
-
415
- {/* Bank-specific fields */}
416
- {formData.type === 'BANK' && (
417
- <div className="space-y-4 border-t pt-4">
418
- <h3 className="text-sm font-semibold">Bank-Specific Details</h3>
419
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
420
- <div className="space-y-2">
421
- <Label htmlFor="bankNumber">Bank Number</Label>
422
- <Input
423
- id="bankNumber"
424
- type="number"
425
- value={formData.bankNumber || ''}
426
- onChange={e =>
427
- setFormData({
428
- ...formData,
429
- bankNumber: Number.parseInt(e.target.value) || undefined,
430
- })
431
- }
432
- />
433
- </div>
434
-
435
- <div className="space-y-2">
436
- <Label htmlFor="branchNumber">Branch Number</Label>
437
- <Input
438
- id="branchNumber"
439
- type="number"
440
- value={formData.branchNumber || ''}
441
- onChange={e =>
442
- setFormData({
443
- ...formData,
444
- branchNumber: Number.parseInt(e.target.value) || undefined,
445
- })
446
- }
447
- />
448
- </div>
449
-
450
- <div className="space-y-2">
451
- <Label htmlFor="extendedBankNumber">Extended Bank Number</Label>
452
- <Input
453
- id="extendedBankNumber"
454
- type="number"
455
- value={formData.extendedBankNumber || ''}
456
- onChange={e =>
457
- setFormData({
458
- ...formData,
459
- extendedBankNumber: Number.parseInt(e.target.value) || undefined,
460
- })
461
- }
462
- />
463
- </div>
464
-
465
- <div className="space-y-2">
466
- <Label htmlFor="partyPreferredIndication">Party Preferred Indication</Label>
467
- <Input
468
- id="partyPreferredIndication"
469
- type="number"
470
- value={formData.partyPreferredIndication || ''}
471
- onChange={e =>
472
- setFormData({
473
- ...formData,
474
- partyPreferredIndication: Number.parseInt(e.target.value) || undefined,
475
- })
476
- }
477
- />
478
- </div>
479
-
480
- <div className="space-y-2">
481
- <Label htmlFor="partyAccountInvolvementCode">
482
- Party Account Involvement Code
483
- </Label>
484
- <Input
485
- id="partyAccountInvolvementCode"
486
- type="number"
487
- value={formData.partyAccountInvolvementCode || ''}
488
- onChange={e =>
489
- setFormData({
490
- ...formData,
491
- partyAccountInvolvementCode: Number.parseInt(e.target.value) || undefined,
492
- })
493
- }
494
- />
495
- </div>
496
-
497
- <div className="space-y-2">
498
- <Label htmlFor="accountDealDate">Account Deal Date</Label>
499
- <Input
500
- id="accountDealDate"
501
- type="number"
502
- placeholder="YYYYMMDD"
503
- value={formData.accountDealDate || ''}
504
- onChange={e =>
505
- setFormData({
506
- ...formData,
507
- accountDealDate: Number.parseInt(e.target.value) || undefined,
508
- })
509
- }
510
- />
511
- </div>
512
-
513
- <div className="space-y-2">
514
- <Label htmlFor="accountUpdateDate">Account Update Date</Label>
515
- <Input
516
- id="accountUpdateDate"
517
- type="number"
518
- placeholder="YYYYMMDD"
519
- value={formData.accountUpdateDate || ''}
520
- onChange={e =>
521
- setFormData({
522
- ...formData,
523
- accountUpdateDate: Number.parseInt(e.target.value) || undefined,
524
- })
525
- }
526
- />
527
- </div>
528
-
529
- <div className="space-y-2">
530
- <Label htmlFor="metegDoraNet">Meteg Dora Net</Label>
531
- <Input
532
- id="metegDoraNet"
533
- type="number"
534
- value={formData.metegDoraNet || ''}
535
- onChange={e =>
536
- setFormData({
537
- ...formData,
538
- metegDoraNet: Number.parseInt(e.target.value) || undefined,
539
- })
540
- }
541
- />
542
- </div>
543
-
544
- <div className="space-y-2">
545
- <Label htmlFor="kodHarshaatPeilut">Kod Harshaot Peilut</Label>
546
- <Input
547
- id="kodHarshaatPeilut"
548
- type="number"
549
- value={formData.kodHarshaatPeilut || ''}
550
- onChange={e =>
551
- setFormData({
552
- ...formData,
553
- kodHarshaatPeilut: Number.parseInt(e.target.value) || undefined,
554
- })
555
- }
556
- />
557
- </div>
558
-
559
- <div className="space-y-2">
560
- <Label htmlFor="accountClosingReasonCode">Account Closing Reason Code</Label>
561
- <Input
562
- id="accountClosingReasonCode"
563
- type="number"
564
- value={formData.accountClosingReasonCode || ''}
565
- onChange={e =>
566
- setFormData({
567
- ...formData,
568
- accountClosingReasonCode: Number.parseInt(e.target.value) || undefined,
569
- })
570
- }
571
- />
572
- </div>
573
-
574
- <div className="space-y-2">
575
- <Label htmlFor="accountAgreementOpeningDate">
576
- Account Agreement Opening Date
577
- </Label>
578
- <Input
579
- id="accountAgreementOpeningDate"
580
- type="number"
581
- placeholder="YYYYMMDD"
582
- value={formData.accountAgreementOpeningDate || ''}
583
- onChange={e =>
584
- setFormData({
585
- ...formData,
586
- accountAgreementOpeningDate: Number.parseInt(e.target.value) || undefined,
587
- })
588
- }
589
- />
590
- </div>
591
-
592
- <div className="space-y-2">
593
- <Label htmlFor="branchTypeCode">Branch Type Code</Label>
594
- <Input
595
- id="branchTypeCode"
596
- type="number"
597
- value={formData.branchTypeCode || ''}
598
- onChange={e =>
599
- setFormData({
600
- ...formData,
601
- branchTypeCode: Number.parseInt(e.target.value) || undefined,
602
- })
603
- }
604
- />
605
- </div>
606
-
607
- <div className="space-y-2">
608
- <Label htmlFor="mymailEntitlementSwitch">Mymail Entitlement Switch</Label>
609
- <Input
610
- id="mymailEntitlementSwitch"
611
- type="number"
612
- value={formData.mymailEntitlementSwitch || ''}
613
- onChange={e =>
614
- setFormData({
615
- ...formData,
616
- mymailEntitlementSwitch: Number.parseInt(e.target.value) || undefined,
617
- })
618
- }
619
- />
620
- </div>
621
-
622
- <div className="space-y-2 md:col-span-2">
623
- <Label htmlFor="serviceAuthorizationDesc">
624
- Service Authorization Description
625
- </Label>
626
- <Input
627
- id="serviceAuthorizationDesc"
628
- value={formData.serviceAuthorizationDesc || ''}
629
- onChange={e =>
630
- setFormData({ ...formData, serviceAuthorizationDesc: e.target.value })
631
- }
632
- />
633
- </div>
634
-
635
- <div className="space-y-2 md:col-span-2 lg:col-span-3">
636
- <Label htmlFor="productLabel">Product Label</Label>
637
- <Input
638
- id="productLabel"
639
- value={formData.productLabel || ''}
640
- onChange={e => setFormData({ ...formData, productLabel: e.target.value })}
641
- />
642
- </div>
643
- </div>
644
- </div>
645
- )}
646
-
647
- <DialogFooter>
648
- <Button type="button" variant="outline" onClick={handleCloseModal}>
649
- Cancel
650
- </Button>
651
- <Button type="submit">{editingAccount ? 'Update Account' : 'Create Account'}</Button>
652
- </DialogFooter>
653
- </form>
654
- </DialogContent>
655
- </Dialog>
656
- </div>
657
- );
658
- }