@djb25/digit-ui-module-ekyc 1.0.63 → 1.0.65

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.
@@ -1,10 +1,10 @@
1
1
  import React, { useState, useRef, useEffect, useMemo, createContext, useContext, isValidElement, cloneElement, createElement, useCallback, useReducer, Fragment } from 'react';
2
2
  import { useTranslation } from 'react-i18next';
3
3
  import { useHistory, Link, useParams, useLocation, useRouteMatch, Switch, Route, Redirect } from 'react-router-dom';
4
- import { PersonIcon, EmployeeModuleCard, FaChartBar, MdDownloadIcon, Loader, InboxLinks, Card, Table, HomeIcon, TextInput, Header, SubmitBar, DetailsCard, FilterForm, FilterFormField, Dropdown, Label, CustomTooltip, CardLabelError, SearchField, RadioButtons, InboxComposer, CardSubHeader, StatusTable, Row, GenericFileIcon, CheckBox, ActionBar, Menu, LinkButton, Toast, EditIcon, UploadFile, FormComposer, VerticalTimeline, Modal, Close, CollapsibleCardPage, DatePicker, AppContainer, ModuleHeader, ArrowLeft, PrivateRoute, LayoutWrapper, CardHeader, CardText, CitizenHomeCard, DocumentIcon } from '@djb25/digit-ui-react-components';
4
+ import { PersonIcon, EmployeeModuleCard, FaChartBar, MdDownloadIcon, Loader, InboxLinks, Card, Table, HomeIcon, TextInput, Header, SubmitBar, DetailsCard, FilterForm, FilterFormField, Dropdown, FaDatabase, FaFileAlt, Label, CustomTooltip, CardLabelError, SearchField, RadioButtons, InboxComposer, CardSubHeader, StatusTable, Row, GenericFileIcon, CheckBox, ActionBar, Menu, LinkButton, Toast, EditIcon, UploadFile, FormComposer, VerticalTimeline, Modal, Close, CollapsibleCardPage, DatePicker, AppContainer, ModuleHeader, ArrowLeft, PrivateRoute, LayoutWrapper, CardHeader, CardText, CitizenHomeCard, DocumentIcon } from '@djb25/digit-ui-react-components';
5
5
  import * as Chartjs from 'chart.js/auto';
6
6
  import Chartjs__default, { Chart } from 'chart.js/auto';
7
- import { FaUsers, FaCheckCircle, FaClock, FaChartLine } from 'react-icons/fa';
7
+ import { FaCheckCircle, FaBuilding, FaUser, FaClock, FaChartLine, FaUsers } from 'react-icons/fa';
8
8
 
9
9
  const EKYCCard = () => {
10
10
  var _Digit$SessionStorage, _Digit$SessionStorage2;
@@ -469,32 +469,36 @@ const StatusCards = _ref => {
469
469
  const legendItems = [{
470
470
  color: "#77B6EA",
471
471
  label: t("EKYC_TOTAL"),
472
- value: countData === null || countData === void 0 ? void 0 : countData.total
472
+ value: (countData === null || countData === void 0 ? void 0 : countData.total) || 0
473
473
  }, {
474
- color: "#77B6EA",
474
+ color: "#4C8BF5",
475
+ label: t("EKYC_ASSIGNED"),
476
+ value: (countData === null || countData === void 0 ? void 0 : countData.totalAssignments) || 0
477
+ }, {
478
+ color: "#2E8B57",
475
479
  label: t("EKYC_COMPLETED"),
476
- value: countData === null || countData === void 0 ? void 0 : countData.completed
480
+ value: (countData === null || countData === void 0 ? void 0 : countData.completed) || 0
477
481
  }, {
478
482
  color: "#0c2a52",
479
483
  label: t("EKYC_PENDING"),
480
- value: countData === null || countData === void 0 ? void 0 : countData.pending
484
+ value: (countData === null || countData === void 0 ? void 0 : countData.pending) || 0
481
485
  }, {
482
- color: "#c8ddf5",
486
+ color: "#8B5CF6",
483
487
  label: t("EKYC_SUBMITTED_BY_VENDORS"),
484
- value: countData === null || countData === void 0 ? void 0 : countData.submittedCount
488
+ value: (countData === null || countData === void 0 ? void 0 : countData.submittedCount) || 0
485
489
  }, {
486
- color: "#c8ddf5",
490
+ color: "#F59E0B",
487
491
  label: t("EKYC_SUBMITTED_BY_CITIZEN"),
488
492
  value: (countData === null || countData === void 0 ? void 0 : countData.selfEkycCount) || 0
489
493
  }, {
490
- color: "#c8ddf5",
494
+ color: "#DC3545",
491
495
  label: t("EKYC_REJECTED"),
492
496
  value: (countData === null || countData === void 0 ? void 0 : countData.rejected) || 0
493
497
  }];
494
498
  return /*#__PURE__*/React.createElement("div", {
495
499
  className: "ekyc-employee-container"
496
500
  }, /*#__PURE__*/React.createElement("div", {
497
- className: "status-cards-wrapper"
501
+ className: "status-panel"
498
502
  }, /*#__PURE__*/React.createElement("div", {
499
503
  className: "status-cards-header"
500
504
  }, /*#__PURE__*/React.createElement("div", {
@@ -580,18 +584,6 @@ const StatusCards = _ref => {
580
584
  handleCustomDownload();
581
585
  }
582
586
  }, t("APPLY") || "Apply")))))), /*#__PURE__*/React.createElement("div", {
583
- className: "status-panels-grid"
584
- }, /*#__PURE__*/React.createElement("div", {
585
- className: "status-panel"
586
- }, /*#__PURE__*/React.createElement("div", {
587
- className: "panel-header"
588
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
589
- className: "panel-title"
590
- }, t("EKYC_STATUS_BREAKDOWN") || "Status Breakdown"), /*#__PURE__*/React.createElement("div", {
591
- className: "panel-subtitle"
592
- }, t("EKYC_VERIFICATION_LIFECYCLE") || "Verification lifecycle")), /*#__PURE__*/React.createElement("div", {
593
- className: "completion-badge"
594
- }, efficiency, "% Complete")), /*#__PURE__*/React.createElement("div", {
595
587
  className: "status-breakdown-content"
596
588
  }, /*#__PURE__*/React.createElement("div", {
597
589
  className: "chart-wrapper"
@@ -611,7 +603,10 @@ const StatusCards = _ref => {
611
603
  className: "status-boxes"
612
604
  }, legendItems.map(item => /*#__PURE__*/React.createElement("div", {
613
605
  className: "status-box",
614
- key: item.label
606
+ key: item.label,
607
+ style: {
608
+ "--status-color": item.color
609
+ }
615
610
  }, /*#__PURE__*/React.createElement("div", {
616
611
  className: "status-box-top"
617
612
  }, /*#__PURE__*/React.createElement("span", {
@@ -623,43 +618,33 @@ const StatusCards = _ref => {
623
618
  className: "status-name"
624
619
  }, item.label)), /*#__PURE__*/React.createElement("div", {
625
620
  className: "status-box-value"
626
- }, formatNumber(item.value))))))))));
621
+ }, formatNumber(item.value))))))));
627
622
  };
628
623
 
629
624
  const Dashboard = () => {
630
625
  const tenantId = Digit.ULBService.getCurrentTenantId();
631
- const _Digit$Hooks$ekyc$use = Digit.Hooks.ekyc.useEkycSurveyorDashboard({}, {
632
- tenantId,
633
- offset: 0,
634
- limit: 10
635
- }, {
636
- enabled: !!tenantId
637
- }),
638
- isLoading = _Digit$Hooks$ekyc$use.isLoading,
639
- dashboardData = _Digit$Hooks$ekyc$use.data;
640
- const _Digit$Hooks$ekyc$use2 = Digit.Hooks.ekyc.useEkycAssignmentProgress({
626
+ const _Digit$Hooks$ekyc$use = Digit.Hooks.ekyc.useEkycAssignmentProgress({
641
627
  tenantId,
642
628
  allVendorsDetailed: true
643
629
  }, {
644
630
  enabled: true,
645
631
  keepPreviousData: true
646
632
  }),
647
- progressData = _Digit$Hooks$ekyc$use2.data,
648
- isProgressLoading = _Digit$Hooks$ekyc$use2.isLoading;
633
+ progressData = _Digit$Hooks$ekyc$use.data,
634
+ isProgressLoading = _Digit$Hooks$ekyc$use.isLoading;
649
635
  const countData = useMemo(() => {
650
- const info = (dashboardData === null || dashboardData === void 0 ? void 0 : dashboardData.dashboardInfo) || {};
651
636
  return {
652
- total: info.total || 0,
637
+ total: (progressData === null || progressData === void 0 ? void 0 : progressData.totalKnosInSystem) || 0,
653
638
  completed: (progressData === null || progressData === void 0 ? void 0 : progressData.submittedKnos) + (progressData === null || progressData === void 0 ? void 0 : progressData.selfEkycCount) || 0,
654
- pending: info.total - (progressData === null || progressData === void 0 ? void 0 : progressData.submittedKnos) - (progressData === null || progressData === void 0 ? void 0 : progressData.selfEkycCount) || 0,
639
+ pending: (progressData === null || progressData === void 0 ? void 0 : progressData.pendingKnos) || 0,
655
640
  rejected: (progressData === null || progressData === void 0 ? void 0 : progressData.rejectedKnos) || 0,
656
- active: (progressData === null || progressData === void 0 ? void 0 : progressData.active) || 0,
641
+ totalAssignments: (progressData === null || progressData === void 0 ? void 0 : progressData.totalAssignments) || 0,
657
642
  submittedCount: (progressData === null || progressData === void 0 ? void 0 : progressData.submittedKnos) || 0,
658
643
  selfEkycCount: (progressData === null || progressData === void 0 ? void 0 : progressData.selfEkycCount) || 0,
659
644
  overallProgressPercent: (progressData === null || progressData === void 0 ? void 0 : progressData.overallProgressPercent) || 0
660
645
  };
661
- }, [dashboardData, progressData]);
662
- return isProgressLoading || isLoading ? /*#__PURE__*/React.createElement(Loader, null) : /*#__PURE__*/React.createElement(StatusCards, {
646
+ }, [progressData]);
647
+ return isProgressLoading ? /*#__PURE__*/React.createElement(Loader, null) : /*#__PURE__*/React.createElement(StatusCards, {
663
648
  countData: countData
664
649
  });
665
650
  };
@@ -1077,483 +1062,6 @@ const Filter = _ref => {
1077
1062
  })));
1078
1063
  };
1079
1064
 
1080
- const ekycMockData = {
1081
- topKpis: {
1082
- totalWaterConnections: 2990996,
1083
- totalEkycCompleted: 2460810,
1084
- totalPending: 530186,
1085
- totalRejected: 224324,
1086
- agencyEkycCompleted: 2352069,
1087
- citizenSelfEkycCompleted: 638927,
1088
- todaysEkyc: 54684,
1089
- successRate: 82,
1090
- rejectionPercentage: 7
1091
- },
1092
- executiveMetrics: {
1093
- totalSurveyors: 186,
1094
- totalSupervisors: 56,
1095
- activeJurisdictions: 27,
1096
- todaysGrowth: 2.8,
1097
- selfEkycAdoption: 38,
1098
- avgApprovalTime: "2.3 Days",
1099
- riskZones: 7,
1100
- escalationsOpen: 18
1101
- },
1102
- alerts: [{
1103
- title: "North East District pending increased",
1104
- priority: "high",
1105
- change: "+22%",
1106
- district: "North East District"
1107
- }, {
1108
- title: "Agency 2 self eKYC adoption low",
1109
- priority: "medium",
1110
- change: "-12%",
1111
- district: "West District"
1112
- }, {
1113
- title: "Escalation raised in NWS Bhera Enclave",
1114
- priority: "high",
1115
- change: "+18",
1116
- district: "Outer North"
1117
- }, {
1118
- title: "Approval rate improved in East District",
1119
- priority: "low",
1120
- change: "+9%",
1121
- district: "East District"
1122
- }],
1123
- heatmapData: [{
1124
- district: "Outer North",
1125
- intensity: 82
1126
- }, {
1127
- district: "East District",
1128
- intensity: 48
1129
- }, {
1130
- district: "South District",
1131
- intensity: 67
1132
- }, {
1133
- district: "North East District",
1134
- intensity: 74
1135
- }],
1136
- dailyTrend: [{
1137
- label: "Mon",
1138
- completed: 270689,
1139
- pending: 491305,
1140
- rejected: 145810
1141
- }, {
1142
- label: "Tue",
1143
- completed: 442945,
1144
- pending: 466563,
1145
- rejected: 157026
1146
- }, {
1147
- label: "Wed",
1148
- completed: 615202,
1149
- pending: 441821,
1150
- rejected: 168243
1151
- }, {
1152
- label: "Thu",
1153
- completed: 812067,
1154
- pending: 413545,
1155
- rejected: 179459
1156
- }, {
1157
- label: "Fri",
1158
- completed: 1033540,
1159
- pending: 381733,
1160
- rejected: 190675
1161
- }, {
1162
- label: "Sat",
1163
- completed: 1279621,
1164
- pending: 346388,
1165
- rejected: 201891
1166
- }, {
1167
- label: "Sun",
1168
- completed: 1574918,
1169
- pending: 303973,
1170
- rejected: 213107
1171
- }],
1172
- selfVsAgency: [{
1173
- label: "Agency1",
1174
- agency: 201457,
1175
- citizen: 758414
1176
- }, {
1177
- label: "Agency 2",
1178
- agency: 164302,
1179
- citizen: 919322
1180
- }, {
1181
- label: "Agency 3",
1182
- agency: 328451,
1183
- citizen: 541772
1184
- }],
1185
- pendingVsCompleted: [{
1186
- label: "Agency1",
1187
- completed: 201457,
1188
- pending: 201457
1189
- }, {
1190
- label: "Agency 2",
1191
- completed: 164302,
1192
- pending: 164302
1193
- }, {
1194
- label: "Agency 3",
1195
- completed: 328451,
1196
- pending: 77278
1197
- }],
1198
- rejectionAnalysis: [{
1199
- label: "Agency1",
1200
- rejected: 71990,
1201
- success: 72
1202
- }, {
1203
- label: "Agency 2",
1204
- rejected: 81271,
1205
- success: 77
1206
- }, {
1207
- label: "Agency 3",
1208
- rejected: 71063,
1209
- success: 86
1210
- }],
1211
- vendors: [{
1212
- id: 1,
1213
- name: "Agency1",
1214
- assignedConnections: 959871,
1215
- completedEkyc: 201457,
1216
- selfEkyc: 758414,
1217
- pending: 201457,
1218
- rejected: 71990,
1219
- inactiveDemand: 1161328,
1220
- successRate: 72,
1221
- progress: 21,
1222
- supervisors: 23,
1223
- activeSurveyors: 64,
1224
- jurisdictions: ["Outer North", "North West District", "Model Town AC 18", "Cluster 2", "North District"],
1225
- dailyPerformance: [{
1226
- day: "Mon",
1227
- completed: 16116,
1228
- pending: 196084,
1229
- rejected: 53272
1230
- }, {
1231
- day: "Tue",
1232
- completed: 26189,
1233
- pending: 192727,
1234
- rejected: 55072
1235
- }, {
1236
- day: "Wed",
1237
- completed: 38276,
1238
- pending: 188698,
1239
- rejected: 57232
1240
- }, {
1241
- day: "Thu",
1242
- completed: 52378,
1243
- pending: 183997,
1244
- rejected: 59751
1245
- }, {
1246
- day: "Fri",
1247
- completed: 68495,
1248
- pending: 178625,
1249
- rejected: 62631
1250
- }, {
1251
- day: "Sat",
1252
- completed: 84611,
1253
- pending: 173253,
1254
- rejected: 65510
1255
- }, {
1256
- day: "Sun",
1257
- completed: 100728,
1258
- pending: 167880,
1259
- rejected: 68390
1260
- }],
1261
- zones: [{
1262
- agency: "Agency1",
1263
- district: "Outer North",
1264
- cluster: "NWS Bhera Enclave",
1265
- assignedConnections: 102669,
1266
- location: "102669",
1267
- zroOffice: "NWS Bhera Enclave",
1268
- assemblyConstituency: "Part of Mundka AC 08",
1269
- gpsLocation: null,
1270
- distanceFromFarthestPoint: null,
1271
- activeDemand: 202197,
1272
- pppZones: 15800,
1273
- inactiveDemand: 35265,
1274
- districtwiseInactiveTotal: 237462
1275
- }, {
1276
- agency: "Agency1",
1277
- district: "Outer North",
1278
- cluster: "Narela",
1279
- assignedConnections: 99528,
1280
- location: "99528",
1281
- zroOffice: "Narela",
1282
- assemblyConstituency: "Narela AC 01",
1283
- activeDemand: 99528,
1284
- pppZones: 19465,
1285
- inactiveDemand: 35265
1286
- }, {
1287
- agency: "Agency1",
1288
- district: "North West District",
1289
- cluster: "Rohini AC 13",
1290
- assignedConnections: 71041,
1291
- location: "71041",
1292
- zroOffice: "Rohini",
1293
- assemblyConstituency: "Rithala AC 06",
1294
- activeDemand: 247949,
1295
- pppZones: 28975,
1296
- inactiveDemand: 49494
1297
- }, {
1298
- agency: "Agency1",
1299
- district: "Mangol Puri AC 12",
1300
- cluster: "Model Town AC 18",
1301
- assignedConnections: 68957,
1302
- location: "68957",
1303
- zroOffice: "Central North District",
1304
- assemblyConstituency: "Ashok Vihar",
1305
- activeDemand: 231216,
1306
- pppZones: 16627,
1307
- inactiveDemand: 36915
1308
- }, {
1309
- agency: "Agency1",
1310
- district: "Timarpur AC 03",
1311
- cluster: "Cluster 2",
1312
- assignedConnections: 34862,
1313
- location: "34862",
1314
- zroOffice: "Old Delhi District",
1315
- assemblyConstituency: "Pratap Nagar",
1316
- activeDemand: 99694,
1317
- pppZones: 20011,
1318
- inactiveDemand: 48011
1319
- }, {
1320
- agency: "Agency1",
1321
- district: "Bali Maran AC 22",
1322
- cluster: "North District",
1323
- assignedConnections: 110507,
1324
- location: "110507",
1325
- zroOffice: "Burari",
1326
- assemblyConstituency: "Burari AC 2",
1327
- activeDemand: 178815,
1328
- pppZones: 14700,
1329
- inactiveDemand: 31772
1330
- }]
1331
- }, {
1332
- id: 2,
1333
- name: "Agency 2",
1334
- assignedConnections: 1083624,
1335
- completedEkyc: 164302,
1336
- selfEkyc: 919322,
1337
- pending: 164302,
1338
- rejected: 81271,
1339
- inactiveDemand: 1247926,
1340
- successRate: 77,
1341
- progress: 15,
1342
- supervisors: 14,
1343
- activeSurveyors: 64,
1344
- jurisdictions: ["West District", "Janak Puri", "South District"],
1345
- dailyPerformance: [{
1346
- day: "Mon",
1347
- completed: 13144,
1348
- pending: 159920,
1349
- rejected: 60140
1350
- }, {
1351
- day: "Tue",
1352
- completed: 21359,
1353
- pending: 157182,
1354
- rejected: 62172
1355
- }, {
1356
- day: "Wed",
1357
- completed: 31217,
1358
- pending: 153896,
1359
- rejected: 64610
1360
- }, {
1361
- day: "Thu",
1362
- completed: 42718,
1363
- pending: 150062,
1364
- rejected: 67454
1365
- }, {
1366
- day: "Fri",
1367
- completed: 55862,
1368
- pending: 145681,
1369
- rejected: 70705
1370
- }, {
1371
- day: "Sat",
1372
- completed: 69006,
1373
- pending: 141299,
1374
- rejected: 73956
1375
- }, {
1376
- day: "Sun",
1377
- completed: 82151,
1378
- pending: 136918,
1379
- rejected: 77207
1380
- }],
1381
- zones: [{
1382
- agency: "Agency 2",
1383
- district: "West District",
1384
- cluster: "Rajouri Garden AC 27",
1385
- assignedConnections: 84506,
1386
- location: "84506",
1387
- zroOffice: "Rajouri Garden AC 27",
1388
- assemblyConstituency: "Punjabi Bagh",
1389
- activeDemand: 470766,
1390
- pppZones: 13269,
1391
- inactiveDemand: 64564
1392
- }, {
1393
- agency: "Agency 2",
1394
- district: "West District",
1395
- cluster: "Tilak Nagar AC 29",
1396
- assignedConnections: 51428,
1397
- location: "51428",
1398
- zroOffice: "Tilak Nagar AC 29",
1399
- assemblyConstituency: "Paschim Vihar",
1400
- activeDemand: 470766,
1401
- pppZones: 6298,
1402
- inactiveDemand: 64564
1403
- }, {
1404
- agency: "Agency 2",
1405
- district: "Part of Uttam Nagar & Vikas puri",
1406
- cluster: "Janak Puri",
1407
- assignedConnections: 163041,
1408
- location: "163041",
1409
- zroOffice: "Janakpuri",
1410
- assemblyConstituency: "Janakpuri AC 30",
1411
- activeDemand: 369772,
1412
- pppZones: 25729,
1413
- inactiveDemand: 60534
1414
- }, {
1415
- agency: "Agency 2",
1416
- district: "South District",
1417
- cluster: "South District",
1418
- assignedConnections: 52803,
1419
- location: "52803",
1420
- zroOffice: "R K Puram",
1421
- assemblyConstituency: "Malviya Nagar AC 43",
1422
- activeDemand: 243086,
1423
- pppZones: 9678,
1424
- inactiveDemand: 39204
1425
- }, {
1426
- agency: "Agency 2",
1427
- district: "South District",
1428
- cluster: "Vasant Kunz",
1429
- assignedConnections: 58997,
1430
- location: "58997",
1431
- zroOffice: "Vasant Kunj",
1432
- assemblyConstituency: "Vasant Kunj",
1433
- activeDemand: 243086,
1434
- pppZones: 6691,
1435
- inactiveDemand: 39204
1436
- }]
1437
- }, {
1438
- id: 3,
1439
- name: "Agency 3",
1440
- assignedConnections: 947501,
1441
- completedEkyc: 328451,
1442
- selfEkyc: 541772,
1443
- pending: 77278,
1444
- rejected: 71063,
1445
- inactiveDemand: 1016841,
1446
- successRate: 86,
1447
- progress: 78,
1448
- supervisors: 19,
1449
- activeSurveyors: 58,
1450
- jurisdictions: ["East District", "North East District", "South East District", "MNWS"],
1451
- dailyPerformance: [{
1452
- day: "Mon",
1453
- completed: 44120,
1454
- pending: 130002,
1455
- rejected: 5711
1456
- }, {
1457
- day: "Tue",
1458
- completed: 58221,
1459
- pending: 121998,
1460
- rejected: 7104
1461
- }, {
1462
- day: "Wed",
1463
- completed: 70218,
1464
- pending: 113201,
1465
- rejected: 8842
1466
- }, {
1467
- day: "Thu",
1468
- completed: 85124,
1469
- pending: 104006,
1470
- rejected: 9911
1471
- }, {
1472
- day: "Fri",
1473
- completed: 102315,
1474
- pending: 94441,
1475
- rejected: 11214
1476
- }, {
1477
- day: "Sat",
1478
- completed: 121009,
1479
- pending: 85218,
1480
- rejected: 12902
1481
- }, {
1482
- day: "Sun",
1483
- completed: 142118,
1484
- pending: 77278,
1485
- rejected: 14101
1486
- }],
1487
- zones: [{
1488
- agency: "Agency 3",
1489
- district: "East District",
1490
- cluster: "Mayur Vihar",
1491
- assignedConnections: 72326,
1492
- location: "72326",
1493
- zroOffice: "Mayur Vihar",
1494
- assemblyConstituency: "Trilokpuri AC 55",
1495
- activeDemand: 328564,
1496
- pppZones: 9691,
1497
- inactiveDemand: 52477
1498
- }, {
1499
- agency: "Agency 3",
1500
- district: "East District",
1501
- cluster: "Yojna Vihar",
1502
- assignedConnections: 40651,
1503
- location: "40651",
1504
- zroOffice: "Yojna Vihar",
1505
- assemblyConstituency: "Vishwas Nagar AC 59",
1506
- activeDemand: 328564,
1507
- pppZones: 10097,
1508
- inactiveDemand: 52477
1509
- }, {
1510
- agency: "Agency 3",
1511
- district: "North East District",
1512
- cluster: "GTB Enclave",
1513
- assignedConnections: 80453,
1514
- location: "80453",
1515
- zroOffice: "GTB Enclave",
1516
- assemblyConstituency: "Seemapuri AC 63",
1517
- activeDemand: 323753,
1518
- pppZones: 10671,
1519
- inactiveDemand: 50575
1520
- }, {
1521
- agency: "Agency 3",
1522
- district: "North East District",
1523
- cluster: "Yamuna Vihar",
1524
- assignedConnections: 90599,
1525
- location: "90599",
1526
- zroOffice: "Yamuna Vihar",
1527
- assemblyConstituency: "Mustafabad AC 69",
1528
- activeDemand: 323753,
1529
- pppZones: 18185,
1530
- inactiveDemand: 50575
1531
- }, {
1532
- agency: "Agency 3",
1533
- district: "South East District",
1534
- cluster: "Kalkaji AC 51",
1535
- assignedConnections: 29188,
1536
- location: "29188",
1537
- zroOffice: "Kalkaji AC 51",
1538
- assemblyConstituency: "Saket",
1539
- activeDemand: 136102,
1540
- pppZones: 3675,
1541
- inactiveDemand: 23977
1542
- }, {
1543
- agency: "Agency 3",
1544
- district: "South East District",
1545
- cluster: "Okhla",
1546
- assignedConnections: 18473,
1547
- location: "18473",
1548
- zroOffice: "Sarita Vihar/Okhla",
1549
- assemblyConstituency: "Okhla AC 54",
1550
- activeDemand: 136102,
1551
- pppZones: 3703,
1552
- inactiveDemand: 23977
1553
- }]
1554
- }]
1555
- };
1556
-
1557
1065
  const downloadSurveyorPDF = function (_ref) {
1558
1066
  let rows = _ref.rows,
1559
1067
  surveyorName = _ref.surveyorName,
@@ -1876,21 +1384,30 @@ const downloadVendorPDF = function (_ref3) {
1876
1384
  };
1877
1385
 
1878
1386
  const VendorDetailsCard = () => {
1879
- var _Digit$SessionStorage, _vendor$owner, _vendor$owner2, _vendorName$charAt;
1387
+ var _vendor$owner, _vendor$owner2, _vendorName$charAt;
1880
1388
  const _useTranslation = useTranslation(),
1881
1389
  t = _useTranslation.t;
1882
1390
  const history = useHistory();
1883
1391
  const tenantId = Digit.ULBService.getCurrentTenantId() || "dl.djb";
1884
1392
  const _useParams = useParams(),
1885
1393
  vendorId = _useParams.vendorId;
1886
- const _Digit$Hooks$fsm$useD = Digit.Hooks.fsm.useDsoSearch(tenantId, {
1887
- status: "ACTIVE"
1888
- }, {
1889
- enabled: !!tenantId,
1890
- staleTime: 300000
1394
+ const _Digit$Hooks$fsm$useV = Digit.Hooks.fsm.useVendorSearch({
1395
+ tenantId,
1396
+ filters: {
1397
+ status: "ACTIVE",
1398
+ ids: vendorId
1399
+ },
1400
+ config: {
1401
+ enabled: !!tenantId,
1402
+ staleTime: 300000
1403
+ }
1891
1404
  }),
1892
- vendorSearchResponse = _Digit$Hooks$fsm$useD.data,
1893
- isVendorSearchLoading = _Digit$Hooks$fsm$useD.isLoading;
1405
+ _Digit$Hooks$fsm$useV2 = _Digit$Hooks$fsm$useV.data,
1406
+ _Digit$Hooks$fsm$useV3 = _Digit$Hooks$fsm$useV2 === void 0 ? {} : _Digit$Hooks$fsm$useV2,
1407
+ _Digit$Hooks$fsm$useV4 = _Digit$Hooks$fsm$useV3.vendor,
1408
+ _Digit$Hooks$fsm$useV5 = _Digit$Hooks$fsm$useV4 === void 0 ? [] : _Digit$Hooks$fsm$useV4,
1409
+ vendor = _Digit$Hooks$fsm$useV5[0],
1410
+ isVendorSearchLoading = _Digit$Hooks$fsm$useV.isLoading;
1894
1411
  const _Digit$Hooks$fsm$useS = Digit.Hooks.fsm.useSupervisorSearch(tenantId, {
1895
1412
  status: "ACTIVE"
1896
1413
  }, {
@@ -1899,43 +1416,9 @@ const VendorDetailsCard = () => {
1899
1416
  }),
1900
1417
  supervisorSearchResponse = _Digit$Hooks$fsm$useS.data,
1901
1418
  isSupervisorSearchLoading = _Digit$Hooks$fsm$useS.isLoading;
1902
- const loggedInUser = (_Digit$SessionStorage = Digit.SessionStorage.get("User")) === null || _Digit$SessionStorage === void 0 ? void 0 : _Digit$SessionStorage.info;
1903
- const vendor = useMemo(() => {
1904
- const userUuid = loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.uuid;
1905
- const userMobile = loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.mobileNumber;
1906
- const matchesUser = v => {
1907
- var _v$owner, _v$owner2, _v$owner3;
1908
- const ownerUuid = ((_v$owner = v.owner) === null || _v$owner === void 0 ? void 0 : _v$owner.uuid) || ((_v$owner2 = v.owner) === null || _v$owner2 === void 0 ? void 0 : _v$owner2.id);
1909
- const ownerMobile = ((_v$owner3 = v.owner) === null || _v$owner3 === void 0 ? void 0 : _v$owner3.mobileNumber) || v.mobileNumber;
1910
- return userUuid && ownerUuid === userUuid || userMobile && ownerMobile === userMobile;
1911
- };
1912
- if (vendorSearchResponse) {
1913
- if (vendorId) {
1914
- const matched = vendorSearchResponse.find(v => {
1915
- var _v$dsoDetails, _v$dsoDetails2;
1916
- return ((_v$dsoDetails = v.dsoDetails) === null || _v$dsoDetails === void 0 ? void 0 : _v$dsoDetails.id) === vendorId || ((_v$dsoDetails2 = v.dsoDetails) === null || _v$dsoDetails2 === void 0 ? void 0 : _v$dsoDetails2.vendorId) === vendorId || v.id === vendorId || v.vendorId === vendorId;
1917
- });
1918
- if (matched) return matched.dsoDetails || matched;
1919
- } else {
1920
- const matched = vendorSearchResponse.find(v => matchesUser(v.dsoDetails || v));
1921
- if (matched) return matched.dsoDetails || matched;
1922
- if (vendorSearchResponse.length > 0) return vendorSearchResponse[0].dsoDetails || vendorSearchResponse[0];
1923
- }
1924
- }
1925
- if (vendorId) {
1926
- return ekycMockData.vendors.find(v => v.id === Number(vendorId) || v.name === vendorId) || ekycMockData.vendors[0];
1927
- } else {
1928
- const matchedMock = ekycMockData.vendors.find(v => {
1929
- var _v$name, _loggedInUser$name;
1930
- return ((_v$name = v.name) === null || _v$name === void 0 ? void 0 : _v$name.toLowerCase()) === (loggedInUser === null || loggedInUser === void 0 ? void 0 : (_loggedInUser$name = loggedInUser.name) === null || _loggedInUser$name === void 0 ? void 0 : _loggedInUser$name.toLowerCase());
1931
- });
1932
- return matchedMock || ekycMockData.vendors[0];
1933
- }
1934
- }, [vendorSearchResponse, vendorId, loggedInUser]);
1935
1419
  const targetVendorId = vendorId || (vendor === null || vendor === void 0 ? void 0 : vendor.id) || (vendor === null || vendor === void 0 ? void 0 : vendor.vendorId);
1936
1420
  const _Digit$Hooks$ekyc$use = Digit.Hooks.ekyc.useEkycAssignmentProgress(targetVendorId ? {
1937
- vendorId: targetVendorId,
1938
- vendorIds: [targetVendorId]
1421
+ vendorId: targetVendorId
1939
1422
  } : {}, {
1940
1423
  enabled: !!tenantId,
1941
1424
  keepPreviousData: true
@@ -1994,32 +1477,43 @@ const VendorDetailsCard = () => {
1994
1477
  return vendor !== null && vendor !== void 0 && (_vendor$zoneIds = vendor.zoneIds) !== null && _vendor$zoneIds !== void 0 && _vendor$zoneIds.length ? vendor.zoneIds.filter(Boolean).map(zone => String(zone).trim().toUpperCase()) : [];
1995
1478
  }, [vendor]);
1996
1479
  const cards = useMemo(() => {
1997
- const hasRealData = vendorSupervisors.some(s => s.totalKnos > 0);
1998
- console.log("11111111111111111", vendorSupervisors);
1999
- console.log(progressData);
2000
- const totalKnos = hasRealData ? vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0) : (progressData === null || progressData === void 0 ? void 0 : progressData.totalKnos) || (vendor === null || vendor === void 0 ? void 0 : vendor.assignedConnections) || 0;
2001
- const totalAssignments = hasRealData ? vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0) : (progressData === null || progressData === void 0 ? void 0 : progressData.totalKnos) || (vendor === null || vendor === void 0 ? void 0 : vendor.assignedConnections) || 0;
2002
- const completedKnos = hasRealData ? vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0) : (progressData === null || progressData === void 0 ? void 0 : progressData.completedKnos) || (vendor === null || vendor === void 0 ? void 0 : vendor.completedEkyc) || 0;
2003
- const pendingKnos = hasRealData ? vendorSupervisors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0) : totalKnos - completedKnos;
2004
- const progressPercent = totalKnos > 0 ? Math.round(completedKnos / totalKnos * 100) : (vendor === null || vendor === void 0 ? void 0 : vendor.progress) || 0;
1480
+ const totalKnos = (progressData === null || progressData === void 0 ? void 0 : progressData.totalKnosInZones) || 0;
1481
+ const totalAssignments = (progressData === null || progressData === void 0 ? void 0 : progressData.totalKnos) || 0;
1482
+ const completedKnos = (progressData === null || progressData === void 0 ? void 0 : progressData.submittedKnos) || 0;
1483
+ const selfEkycCount = (progressData === null || progressData === void 0 ? void 0 : progressData.selfEkycCountInZones) || 0;
1484
+ const submittedKnos = (progressData === null || progressData === void 0 ? void 0 : progressData.submittedKnosInZones) || 0;
1485
+ const pendingKnos = (progressData === null || progressData === void 0 ? void 0 : progressData.pendingKnos) || 0;
1486
+ const progressPercent = (progressData === null || progressData === void 0 ? void 0 : progressData.overallProgressPercent) || 0;
2005
1487
  return [{
2006
- label: "TOTAL_EKYC_APPLICATIONS",
1488
+ label: "TOTAL_KNOS",
2007
1489
  count: totalKnos,
2008
1490
  color: "#0B2559",
2009
1491
  type: "today",
2010
- icon: /*#__PURE__*/React.createElement(FaUsers, null)
1492
+ icon: /*#__PURE__*/React.createElement(FaDatabase, null)
2011
1493
  }, {
2012
1494
  label: "TOTAL_EKYC_APPLICATIONS",
2013
1495
  count: totalAssignments,
2014
1496
  color: "#0B2559",
2015
1497
  type: "today",
2016
- icon: /*#__PURE__*/React.createElement(FaUsers, null)
1498
+ icon: /*#__PURE__*/React.createElement(FaFileAlt, null)
2017
1499
  }, {
2018
1500
  label: "EKYC_COMPLETED",
2019
1501
  count: completedKnos,
2020
1502
  color: "#10B981",
2021
1503
  type: "month",
2022
1504
  icon: /*#__PURE__*/React.createElement(FaCheckCircle, null)
1505
+ }, {
1506
+ label: "EKYC_SUBMITTED_BY_VENDORS",
1507
+ count: submittedKnos,
1508
+ color: "#10B981",
1509
+ type: "month",
1510
+ icon: /*#__PURE__*/React.createElement(FaBuilding, null)
1511
+ }, {
1512
+ label: "EKYC_SUBMITTED_BY_CITIZEN",
1513
+ count: selfEkycCount,
1514
+ color: "#10B981",
1515
+ type: "month",
1516
+ icon: /*#__PURE__*/React.createElement(FaUser, null)
2023
1517
  }, {
2024
1518
  label: "PENDING_APPLICATIONS",
2025
1519
  count: pendingKnos,
@@ -2267,9 +1761,9 @@ const VendorDetailsCard = () => {
2267
1761
  Header: t("SUPERVISOR_NAME") || "Supervisor Name",
2268
1762
  accessor: row => (row === null || row === void 0 ? void 0 : row.name) || "N/A",
2269
1763
  Cell: _ref => {
2270
- var _Digit$SessionStorage2, _Digit$SessionStorage3, _Digit$SessionStorage4, _row$original;
1764
+ var _Digit$SessionStorage, _Digit$SessionStorage2, _Digit$SessionStorage3, _row$original;
2271
1765
  let row = _ref.row;
2272
- const userType = ((_Digit$SessionStorage2 = Digit.SessionStorage.get("User")) === null || _Digit$SessionStorage2 === void 0 ? void 0 : (_Digit$SessionStorage3 = _Digit$SessionStorage2.info) === null || _Digit$SessionStorage3 === void 0 ? void 0 : (_Digit$SessionStorage4 = _Digit$SessionStorage3.type) === null || _Digit$SessionStorage4 === void 0 ? void 0 : _Digit$SessionStorage4.toLowerCase()) || "citizen";
1766
+ const userType = ((_Digit$SessionStorage = Digit.SessionStorage.get("User")) === null || _Digit$SessionStorage === void 0 ? void 0 : (_Digit$SessionStorage2 = _Digit$SessionStorage.info) === null || _Digit$SessionStorage2 === void 0 ? void 0 : (_Digit$SessionStorage3 = _Digit$SessionStorage2.type) === null || _Digit$SessionStorage3 === void 0 ? void 0 : _Digit$SessionStorage3.toLowerCase()) || "citizen";
2273
1767
  const targetPath = "/digit-ui/" + userType + "/ekyc/supervisor-dashboard/" + row.original.id;
2274
1768
  return /*#__PURE__*/React.createElement("a", {
2275
1769
  href: targetPath,
@@ -2492,25 +1986,7 @@ const VendorDetailsCard = () => {
2492
1986
  setShowReportMenu(p => !p);
2493
1987
  setShowCustomPicker(false);
2494
1988
  }
2495
- }, /*#__PURE__*/React.createElement("svg", {
2496
- width: "16",
2497
- height: "16",
2498
- viewBox: "0 0 24 24",
2499
- fill: "none",
2500
- stroke: "currentColor",
2501
- strokeWidth: "2.5",
2502
- strokeLinecap: "round",
2503
- strokeLinejoin: "round"
2504
- }, /*#__PURE__*/React.createElement("path", {
2505
- d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"
2506
- }), /*#__PURE__*/React.createElement("polyline", {
2507
- points: "7 10 12 15 17 10"
2508
- }), /*#__PURE__*/React.createElement("line", {
2509
- x1: "12",
2510
- y1: "15",
2511
- x2: "12",
2512
- y2: "3"
2513
- })), ekycDownloadLoading ? t("DOWNLOADING") || "Downloading..." : t("DOWNLOAD_EXCEL") || "Download Excel"), showReportMenu && /*#__PURE__*/React.createElement("div", {
1989
+ }, /*#__PURE__*/React.createElement(MdDownloadIcon, null), ekycDownloadLoading ? t("DOWNLOADING") || "Downloading..." : t("DOWNLOAD_EXCEL") || "Download Excel"), showReportMenu && /*#__PURE__*/React.createElement("div", {
2514
1990
  className: "report-menu"
2515
1991
  }, [{
2516
1992
  label: t("TODAY") || "Today",
@@ -2584,7 +2060,7 @@ const VendorDetailsCard = () => {
2584
2060
  }, zoneIds.map(zone => /*#__PURE__*/React.createElement("span", {
2585
2061
  key: zone,
2586
2062
  className: "selected-zone-chip"
2587
- }, t(zone) || zone))) : "N/A")))), /*#__PURE__*/React.createElement(Card, {
2063
+ }, t(zone) || zone))) : "N/A")))), /*#__PURE__*/React.createElement("div", {
2588
2064
  className: "dashboard-card"
2589
2065
  }, /*#__PURE__*/React.createElement(Table, {
2590
2066
  t: t,
@@ -2726,7 +2202,7 @@ const useInboxTableConfig = _ref => {
2726
2202
  manualPagination: true,
2727
2203
  initSortId: "applicationDate",
2728
2204
  onPageSizeChange: onPageSizeChange,
2729
- currentPage: offset,
2205
+ currentPage: Math.floor(offset / limit),
2730
2206
  onNextPage: () => {
2731
2207
  var _formState$tableForm3;
2732
2208
  return dispatch({
@@ -5355,66 +4831,73 @@ const AdminDashboard = () => {
5355
4831
  className: "section-title"
5356
4832
  }, t("EKYC_VENDORS_PERFORMANCE") || "eKYC Vendors Performance"), isVendorSearchLoading || isProgressLoading ? /*#__PURE__*/React.createElement(Loader, null) : /*#__PURE__*/React.createElement("div", {
5357
4833
  className: "vendors-grid"
5358
- }, Array.isArray(progressData === null || progressData === void 0 ? void 0 : progressData.vendorReports) && (progressData === null || progressData === void 0 ? void 0 : progressData.vendorReports.length) && (progressData === null || progressData === void 0 ? void 0 : progressData.vendorReports.map(vendor => /*#__PURE__*/React.createElement("div", {
5359
- key: vendor.vendorId,
5360
- className: "vendor-perf-card",
5361
- onClick: () => history.push("/digit-ui/employee/ekyc/vendors/" + vendor.vendorId)
5362
- }, /*#__PURE__*/React.createElement("div", {
5363
- className: "vendor-card-header"
5364
- }, /*#__PURE__*/React.createElement("div", {
5365
- className: "vendor-title"
5366
- }, /*#__PURE__*/React.createElement("div", {
5367
- className: "vendor-icon"
5368
- }, /*#__PURE__*/React.createElement("span", null, vendor.vendorName[0].toUpperCase())), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h4", null, vendor.vendorName), /*#__PURE__*/React.createElement("span", {
5369
- className: "vendor-subtitle"
5370
- }, t("EKYC_VENDOR") || "eKYC Vendor"))), /*#__PURE__*/React.createElement("div", {
5371
- className: "progress-badge"
5372
- }, vendor.progressPercent, "%")), /*#__PURE__*/React.createElement("div", {
5373
- className: "progress-section"
5374
- }, /*#__PURE__*/React.createElement("div", {
5375
- className: "progress-bar-container"
5376
- }, /*#__PURE__*/React.createElement("div", {
5377
- className: "progress-bar-fill",
5378
- style: {
5379
- width: vendor.progressPercent + "%"
5380
- }
5381
- })), /*#__PURE__*/React.createElement("div", {
5382
- className: "progress-label"
5383
- }, /*#__PURE__*/React.createElement("span", null, t("PROGRESS") || "Progress"), /*#__PURE__*/React.createElement("span", null, vendor.progressPercent, "%"))), /*#__PURE__*/React.createElement("div", {
5384
- className: "stats-grid"
5385
- }, /*#__PURE__*/React.createElement("div", {
5386
- className: "stat-item"
5387
- }, /*#__PURE__*/React.createElement("span", {
5388
- className: "stat-value"
5389
- }, vendor.totalSupervisors), /*#__PURE__*/React.createElement("span", {
5390
- className: "stat-label"
5391
- }, t("SUPERVISORS") || "Supervisors")), /*#__PURE__*/React.createElement("div", {
5392
- className: "stat-item"
5393
- }, /*#__PURE__*/React.createElement("span", {
5394
- className: "stat-value"
5395
- }, vendor.totalSurveyors), /*#__PURE__*/React.createElement("span", {
5396
- className: "stat-label"
5397
- }, t("SURVEYORS") || "Surveyors")), /*#__PURE__*/React.createElement("div", {
5398
- className: "stat-item"
5399
- }, /*#__PURE__*/React.createElement("span", {
5400
- className: "stat-value completed-val"
5401
- }, vendor.submittedKnos), /*#__PURE__*/React.createElement("span", {
5402
- className: "stat-label"
5403
- }, t("COMPLETED") || "Completed"))), /*#__PURE__*/React.createElement("div", {
5404
- className: "knos-summary"
5405
- }, /*#__PURE__*/React.createElement("div", {
5406
- className: "kno-stat"
5407
- }, /*#__PURE__*/React.createElement("span", {
5408
- className: "kno-label"
5409
- }, t("TOTAL") || "Total"), /*#__PURE__*/React.createElement("strong", null, vendor.totalKnos)), /*#__PURE__*/React.createElement("div", {
5410
- className: "kno-stat pending"
5411
- }, /*#__PURE__*/React.createElement("span", {
5412
- className: "kno-label"
5413
- }, t("PENDING") || "Pending"), /*#__PURE__*/React.createElement("strong", null, vendor.pendingKnos)), /*#__PURE__*/React.createElement("div", {
5414
- className: "kno-stat rejected"
5415
- }, /*#__PURE__*/React.createElement("span", {
5416
- className: "kno-label"
5417
- }, t("REJECTED") || "Rejected"), /*#__PURE__*/React.createElement("strong", null, vendor.rejectedKnos)))))))));
4834
+ }, Array.isArray(progressData === null || progressData === void 0 ? void 0 : progressData.vendorReports) && (progressData === null || progressData === void 0 ? void 0 : progressData.vendorReports.length) && (progressData === null || progressData === void 0 ? void 0 : progressData.vendorReports.map(vendor => {
4835
+ var _vendor$vendorName, _vendor$vendorName$;
4836
+ return /*#__PURE__*/React.createElement("div", {
4837
+ key: vendor.vendorId,
4838
+ className: "vendor-perf-card",
4839
+ onClick: () => history.push("/digit-ui/employee/ekyc/vendors/" + vendor.vendorId)
4840
+ }, /*#__PURE__*/React.createElement("div", {
4841
+ className: "vendor-card-header"
4842
+ }, /*#__PURE__*/React.createElement("div", {
4843
+ className: "vendor-title"
4844
+ }, /*#__PURE__*/React.createElement("div", {
4845
+ className: "vendor-icon"
4846
+ }, /*#__PURE__*/React.createElement("span", null, (_vendor$vendorName = vendor.vendorName) === null || _vendor$vendorName === void 0 ? void 0 : (_vendor$vendorName$ = _vendor$vendorName[0]) === null || _vendor$vendorName$ === void 0 ? void 0 : _vendor$vendorName$.toUpperCase())), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h4", null, vendor.vendorName), /*#__PURE__*/React.createElement("span", {
4847
+ className: "vendor-subtitle"
4848
+ }, t("EKYC_VENDOR") || "eKYC Vendor"))), /*#__PURE__*/React.createElement("div", {
4849
+ className: "kno-count-badge"
4850
+ }, /*#__PURE__*/React.createElement("span", {
4851
+ className: "kno-count-label"
4852
+ }, t("TOTAL_KNOS") || "Total KNOs", " -"), /*#__PURE__*/React.createElement("span", {
4853
+ className: "kno-count-value"
4854
+ }, vendor.totalKnosInZones))), /*#__PURE__*/React.createElement("div", {
4855
+ className: "progress-section"
4856
+ }, /*#__PURE__*/React.createElement("div", {
4857
+ className: "progress-bar-container"
4858
+ }, /*#__PURE__*/React.createElement("div", {
4859
+ className: "progress-bar-fill",
4860
+ style: {
4861
+ width: vendor.progressPercent + "%"
4862
+ }
4863
+ })), /*#__PURE__*/React.createElement("div", {
4864
+ className: "progress-label"
4865
+ }, /*#__PURE__*/React.createElement("span", null, t("PROGRESS") || "Progress"), /*#__PURE__*/React.createElement("span", null, vendor.progressPercent, "%"))), /*#__PURE__*/React.createElement("div", {
4866
+ className: "stats-grid"
4867
+ }, /*#__PURE__*/React.createElement("div", {
4868
+ className: "stat-item"
4869
+ }, /*#__PURE__*/React.createElement("span", {
4870
+ className: "stat-value"
4871
+ }, vendor.totalSupervisors), /*#__PURE__*/React.createElement("span", {
4872
+ className: "stat-label"
4873
+ }, t("SUPERVISORS") || "Supervisors")), /*#__PURE__*/React.createElement("div", {
4874
+ className: "stat-item"
4875
+ }, /*#__PURE__*/React.createElement("span", {
4876
+ className: "stat-value"
4877
+ }, vendor.totalSurveyors), /*#__PURE__*/React.createElement("span", {
4878
+ className: "stat-label"
4879
+ }, t("SURVEYORS") || "Surveyors")), /*#__PURE__*/React.createElement("div", {
4880
+ className: "stat-item"
4881
+ }, /*#__PURE__*/React.createElement("span", {
4882
+ className: "stat-value"
4883
+ }, vendor.totalKnos), /*#__PURE__*/React.createElement("span", {
4884
+ className: "stat-label"
4885
+ }, t("TOTAL_KNOS") || "Total KNOs"))), /*#__PURE__*/React.createElement("div", {
4886
+ className: "knos-summary"
4887
+ }, /*#__PURE__*/React.createElement("div", {
4888
+ className: "kno-stat"
4889
+ }, /*#__PURE__*/React.createElement("span", {
4890
+ className: "kno-label"
4891
+ }, t("SUBMITTED") || "Submitted"), /*#__PURE__*/React.createElement("strong", null, vendor.submittedKnos)), /*#__PURE__*/React.createElement("div", {
4892
+ className: "kno-stat pending"
4893
+ }, /*#__PURE__*/React.createElement("span", {
4894
+ className: "kno-label"
4895
+ }, t("PENDING") || "Pending"), /*#__PURE__*/React.createElement("strong", null, vendor.pendingKnos)), /*#__PURE__*/React.createElement("div", {
4896
+ className: "kno-stat rejected"
4897
+ }, /*#__PURE__*/React.createElement("span", {
4898
+ className: "kno-label"
4899
+ }, t("REJECTED") || "Rejected"), /*#__PURE__*/React.createElement("strong", null, vendor.rejectedKnos))));
4900
+ })))));
5418
4901
  };
5419
4902
 
5420
4903
  const SupervisorDetailsCard = () => {
@@ -7374,7 +6857,8 @@ const SurveyorDetailsDashboard = () => {
7374
6857
  isPaginationRequired: true,
7375
6858
  onNextPage: () => {
7376
6859
  var _dashboardData$dashbo7;
7377
- if (currentPage < ((dashboardData === null || dashboardData === void 0 ? void 0 : (_dashboardData$dashbo7 = dashboardData.dashboardInfo) === null || _dashboardData$dashbo7 === void 0 ? void 0 : _dashboardData$dashbo7.totalPages) || 1) - 1) {
6860
+ const total = (dashboardData === null || dashboardData === void 0 ? void 0 : (_dashboardData$dashbo7 = dashboardData.dashboardInfo) === null || _dashboardData$dashbo7 === void 0 ? void 0 : _dashboardData$dashbo7.total) || 0;
6861
+ if (currentPage < Math.ceil(total / pageSize) - 1) {
7378
6862
  setCurrentPage(prev => prev + 1);
7379
6863
  }
7380
6864
  },
@@ -7388,7 +6872,8 @@ const SurveyorDetailsDashboard = () => {
7388
6872
  },
7389
6873
  onLastPage: () => {
7390
6874
  var _dashboardData$dashbo8;
7391
- setCurrentPage(Math.max(((dashboardData === null || dashboardData === void 0 ? void 0 : (_dashboardData$dashbo8 = dashboardData.dashboardInfo) === null || _dashboardData$dashbo8 === void 0 ? void 0 : _dashboardData$dashbo8.totalPages) || 1) - 1, 0));
6875
+ const total = (dashboardData === null || dashboardData === void 0 ? void 0 : (_dashboardData$dashbo8 = dashboardData.dashboardInfo) === null || _dashboardData$dashbo8 === void 0 ? void 0 : _dashboardData$dashbo8.total) || 0;
6876
+ setCurrentPage(Math.max(Math.ceil(total / pageSize) - 1, 0));
7392
6877
  },
7393
6878
  onPageSizeChange: e => {
7394
6879
  setPageSize(Number(e.target.value));