@djb25/digit-ui-module-ekyc 1.0.47 → 1.0.49

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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/EKYCCard.js","../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/components/StatusCards.js","../src/components/Dashboard.js","../src/components/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/components/mockData.js","../src/components/analytics/charts/ExecutiveLineChart.jsx","../src/components/analytics/charts/ExecutiveBarChart.jsx","../src/components/analytics/charts/ExecutivePieChart.jsx","../src/components/CeoDashboard.jsx","../src/utils/reportDownloader.js","../src/components/VendorDetailsCard.js","../src/hook/useInboxTableConfig.js","../src/components/SearchFormFieldsComponent.js","../src/hook/useInboxMobileCardsData.js","../src/pages/employee/Inbox.js","../src/pages/employee/Mapping.js","../src/components/ConnectionDetailsView.js","../src/pages/employee/Create.js","../src/components/Review.js","../src/config/AadhaarVerificationConfig.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../../vendor/src/config/tableConfig.js","../src/hook/SupervisorInboxTableConfig.js","../src/components/AssignEkyc.js","../src/components/AdminDashboard.js","../src/components/SupervisorDetailsCard.js","../src/components/AssignEkycModal.js","../src/components/SurveyorDetailsCard.js","../src/components/CeoDashboard.js","../src/config/Routes.js","../src/pages/employee/index.js","../src/config/PropertyInfoConfig.js","../src/components/PropertyInfo.js","../src/config/MeterDetailsConfig.js","../src/components/MeterDetails.js","../src/pages/citizen/Inbox.js","../src/pages/citizen/EkycStatus.js","../src/pages/citizen/index.js","../src/Module.js"],"sourcesContent":["import { PersonIcon, EmployeeModuleCard } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst EKYCCard = () => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code || ele) : [];\n\n const { data: listData, isLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {},\n { tenantId, offset: 0, limit: 1 },\n { enabled: !!tenantId }\n );\n\n const totalCount = isLoading ? \"-\" : listData?.totalCount || 0;\n\n const isCitizen = window.location.pathname.includes(\"/citizen\");\n const prefix = isCitizen ? \"/digit-ui/citizen/ekyc\" : \"/digit-ui/employee/ekyc\";\n\n let links = [];\n if (isCitizen) {\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `${prefix}/surveyor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n links.push(\n {\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `${prefix}/supervisor-dashboard`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n }\n );\n }\n if (roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `${prefix}/vendor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n if (links.length === 0 || (roles.length === 1 && roles.includes(\"CITIZEN\"))) {\n links.push({\n label: t(\"EKYC_STATUS\"),\n link: `${prefix}/:id`,\n });\n }\n } else {\n // Employee links\n links = [\n {\n label: t(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n link: `${prefix}/ceo-dashboard`,\n },\n {\n label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\",\n link: `${prefix}/admin-dashboard`,\n },\n {\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n },\n ...(!roles.includes(\"EMPLOYEE\")\n ? [\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n },\n ]\n : []),\n ];\n }\n\n const propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: isCitizen\n ? []\n : [\n {\n count: totalCount,\n label: t(\"TOTAL_EKYC\"),\n link: `${prefix}/admin-dashboard`,\n },\n ],\n links: links,\n };\n\n return <EmployeeModuleCard {...propsForModuleCard} />;\n};\n\nexport default EKYCCard;\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Chartjs from \"chart.js/auto\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const fullName = loggedInUser?.name || \"Admin\";\n\n const hasExternalData = countData && typeof countData.total === \"number\" && typeof countData.submittedCount === \"number\";\n\n const { data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n ekycStatus: \"submitted\"\n },\n {\n enabled: !!tenantId && !hasExternalData,\n }\n );\n\n const apiCountData = React.useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n submittedCount: info.submittedCount || 0,\n inProgressCount: info.inProgressCount || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n };\n }, [dashboardData]);\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true,\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n // Fields where original value must be preserved (identifiers, numbers, emails, dates)\n const skipTitleCase = [\"kno\", \"mobileNumber\", \"emailId\", \"pincode\", \"mrkey\", \"dob\", \"createdTime\", \"lastModifiedTime\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const name = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (name) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(name);\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n // Apply Title Case to ALL string fields except identifiers/numbers/dates\n if (typeof val === \"string\" && !skipTitleCase.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_All_Data_Admin_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n const total = hasExternalData ? countData.total : (apiCountData?.total || countData?.total || countData?.totalCount || 0);\n const pending = hasExternalData ? countData.pending : (apiCountData?.pending || countData?.pending || 0);\n const active = hasExternalData ? countData.active : (apiCountData?.active || countData?.active || 0);\n const completed = hasExternalData ? countData.completed : (apiCountData?.completed || countData?.completed || 0);\n const inprocess = hasExternalData ? countData.inProgressCount : (apiCountData?.inProgressCount || countData?.inProgressCount || 0);\n const submitted = hasExternalData ? countData.submittedCount : (apiCountData?.submittedCount || countData?.submittedCount || 0);\n const actualCompleted = completed;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round(((submitted+completed)/ total) * 100) : 0;\n // const healthPct = total > 0 ? Math.round((approved / total) * 100) : 0;\n const healthPct = submitted > 0 ? Math.round((approved / submitted) * 100) : 0;\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n \n \n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\"), t(\"EKYC_SUBMITTED\"), t(\"EKYC_INPROCESS\")],\n datasets: [\n {\n data: [pending, completed, submitted, inprocess],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\", \"#49a3fb\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n },\n ],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: false,\n responsive: true,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n };\n }, [pending, completed, active, t]);\n\n const legendItems = [\n { color: \"#77B6EA\", label: t(\"EKYC_COMPLETED\"), value: completed },\n { color: \"#0c2a52\", label: t(\"EKYC_PENDING\"), value: pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_SUBMITTED\"), value: submitted },\n { color: \"#49a3fb\", label: t(\"EKYC_INPROCESS\"), value: inprocess }\n\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-cards-wrapper\">\n {/* Header */}\n <div className=\"status-cards-header\">\n <div>\n <div className=\"eyebrow\">\n <span className=\"eyebrow-dot\" />\n {t(\"EKYC_INSTITUTIONAL_OVERVIEW\") || \"Institutional Performance Overview\"}\n </div>\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n <p className=\"status-cards-subtitle\">\n {t(\"EKYC_DASHBOARD_SUBTITLE\") || \"Real-time monitoring of consumer verification workflows across all administrative zones.\"}\n </p>\n </div>\n <div className=\"total-applications-card\">\n <div className=\"total-label\">{t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Processed\"}</div>\n <div className=\"total-number\">{formatNumber(total)}</div>\n {/* <div className=\"total-badge\">↗ +12.4% {t(\"EKYC_FROM_LAST_QUARTER\") || \"from last quarter\"}</div> */}\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n\n {/* Panels */}\n <div className=\"status-panels-grid\">\n {/* Panel 1: Status Breakdown */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">{t(\"EKYC_STATUS_BREAKDOWN\") || \"Status Breakdown\"}</div>\n <div className=\"panel-subtitle\">{t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle distribution\"}</div>\n <div className=\"breakdown-body\">\n <div className=\"status-legend\">\n {legendItems.map((item) => (\n <div key={item.label} className=\"legend-row\">\n <span className=\"legend-label\">\n <span className=\"indicator-dot\" style={{ background: item.color }} />\n {item.label}\n </span>\n <span className=\"legend-value\">{formatNumber(item.value)}</span>\n </div>\n ))}\n </div>\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n <div className=\"chart-center\">\n <div className=\"chart-percentage\">{efficiency}%</div>\n <div className=\"chart-label\">{t(\"EKYC_COMPLETE\") || \"Complete\"}</div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Panel 2: Submission Health */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">\n {t(\"EKYC_SUBMISSION_HEALTH\") || \"Submission Health\"}\n {/* <span className=\"optimal-badge\">{t(\"EKYC_OPTIMAL\") || \"Optimal\"}</span> */}\n </div>\n <div className=\"panel-subtitle\">{t(\"EKYC_PLATFORM_EFFICIENCY\") || \"Platform operational efficiency\"}</div>\n <div className=\"health-metrics-row\">\n <div className=\"health-percentage\">{healthPct}%</div>\n {/* <div className=\"health-trend\">↗ +2.1%</div> */}\n </div>\n <div className=\"status-progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${healthPct}%` }} />\n </div>\n <div className=\"mini-metrics-grid\">\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_AVG_LATENCY\") || \"Avg Latency\"}</div>\n <div className=\"metric-value\">0s</div>\n </div>\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_ERROR_RATE\") || \"Error Rate\"}</div>\n <div className=\"metric-value\">0.0%</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;\n","import React, { useMemo } from \"react\";\nimport StatusCards from \"./StatusCards\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\n\n// Mock data removed in favor of API integration\n\nconst Dashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 2. API Data Fetching\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const countData = useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n submittedCount: info.submittedCount || 0,\n inProgressCount: info.inProgressCount || 0,\n };\n }, [dashboardData]);\n\n return isLoading ? (\n <Loader />\n ) : (\n <Card className=\"min-width-full\">\n <StatusCards countData={countData} />\n </Card>\n );\n};\n\nexport default Dashboard;\n","import React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, Card, Loader, InboxLinks } from \"@djb25/digit-ui-react-components\";\nimport { useHistory } from \"react-router-dom\";\nimport StatusCards from \"./StatusCards\";\n\nconst DesktopInbox = ({ tableConfig, filterComponent, ...props }) => {\n const {\n data,\n isLoading,\n onSort,\n onNextPage,\n onPrevPage,\n currentPage,\n pageSizeLimit,\n onPageSizeChange,\n parentRoute,\n searchParams,\n sortParams,\n totalRecords,\n countData,\n } = props;\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const FilterComponent = Digit.ComponentRegistryService?.getComponent(filterComponent);\n\n // State for Review Modal\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(\"/digit-ui/employee/ekyc/review\", { kNumber: selectedKno, aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const columns = useMemo(\n () => [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n // {\n // Header: t(\"EKYC_MOBILE_NO\"),\n // accessor: \"mobileNumber\",\n // Cell: ({ row }) => <span>{row.original?.mobileNumber || \"NA\"}</span>,\n // },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n {\n Header: t(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","export const ekycMockData = {\n topKpis: {\n totalWaterConnections: 2990996,\n totalEkycCompleted: 2460810,\n totalPending: 530186,\n totalRejected: 224324,\n agencyEkycCompleted: 2352069,\n citizenSelfEkycCompleted: 638927,\n todaysEkyc: 54684,\n successRate: 82,\n rejectionPercentage: 7,\n },\n\n executiveMetrics: {\n totalSurveyors: 186,\n totalSupervisors: 56,\n activeJurisdictions: 27,\n todaysGrowth: 2.8,\n selfEkycAdoption: 38,\n avgApprovalTime: \"2.3 Days\",\n riskZones: 7,\n escalationsOpen: 18,\n },\n\n alerts: [\n {\n title: \"North East District pending increased\",\n priority: \"high\",\n change: \"+22%\",\n district: \"North East District\",\n },\n {\n title: \"Agency 2 self eKYC adoption low\",\n priority: \"medium\",\n change: \"-12%\",\n district: \"West District\",\n },\n {\n title: \"Escalation raised in NWS Bhera Enclave\",\n priority: \"high\",\n change: \"+18\",\n district: \"Outer North\",\n },\n {\n title: \"Approval rate improved in East District\",\n priority: \"low\",\n change: \"+9%\",\n district: \"East District\",\n },\n ],\n\n heatmapData: [\n {\n district: \"Outer North\",\n intensity: 82,\n },\n {\n district: \"East District\",\n intensity: 48,\n },\n {\n district: \"South District\",\n intensity: 67,\n },\n {\n district: \"North East District\",\n intensity: 74,\n },\n ],\n\n dailyTrend: [\n {\n label: \"Mon\",\n completed: 270689,\n pending: 491305,\n rejected: 145810,\n },\n {\n label: \"Tue\",\n completed: 442945,\n pending: 466563,\n rejected: 157026,\n },\n {\n label: \"Wed\",\n completed: 615202,\n pending: 441821,\n rejected: 168243,\n },\n {\n label: \"Thu\",\n completed: 812067,\n pending: 413545,\n rejected: 179459,\n },\n {\n label: \"Fri\",\n completed: 1033540,\n pending: 381733,\n rejected: 190675,\n },\n {\n label: \"Sat\",\n completed: 1279621,\n pending: 346388,\n rejected: 201891,\n },\n {\n label: \"Sun\",\n completed: 1574918,\n pending: 303973,\n rejected: 213107,\n },\n ],\n\n selfVsAgency: [\n {\n label: \"Agency1\",\n agency: 201457,\n citizen: 758414,\n },\n {\n label: \"Agency 2\",\n agency: 164302,\n citizen: 919322,\n },\n {\n label: \"Agency 3\",\n agency: 328451,\n citizen: 541772,\n },\n ],\n\n pendingVsCompleted: [\n {\n label: \"Agency1\",\n completed: 201457,\n pending: 201457,\n },\n {\n label: \"Agency 2\",\n completed: 164302,\n pending: 164302,\n },\n {\n label: \"Agency 3\",\n completed: 328451,\n pending: 77278,\n },\n ],\n\n rejectionAnalysis: [\n {\n label: \"Agency1\",\n rejected: 71990,\n success: 72,\n },\n {\n label: \"Agency 2\",\n rejected: 81271,\n success: 77,\n },\n {\n label: \"Agency 3\",\n rejected: 71063,\n success: 86,\n },\n ],\n\n vendors: [\n {\n id: 1,\n name: \"Agency1\",\n\n assignedConnections: 959871,\n\n completedEkyc: 201457,\n\n selfEkyc: 758414,\n\n pending: 201457,\n\n rejected: 71990,\n\n inactiveDemand: 1161328,\n\n successRate: 72,\n\n progress: 21,\n\n supervisors: 23,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"Outer North\", \"North West District\", \"Model Town AC 18\", \"Cluster 2\", \"North District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 16116,\n pending: 196084,\n rejected: 53272,\n },\n {\n day: \"Tue\",\n completed: 26189,\n pending: 192727,\n rejected: 55072,\n },\n {\n day: \"Wed\",\n completed: 38276,\n pending: 188698,\n rejected: 57232,\n },\n {\n day: \"Thu\",\n completed: 52378,\n pending: 183997,\n rejected: 59751,\n },\n {\n day: \"Fri\",\n completed: 68495,\n pending: 178625,\n rejected: 62631,\n },\n {\n day: \"Sat\",\n completed: 84611,\n pending: 173253,\n rejected: 65510,\n },\n {\n day: \"Sun\",\n completed: 100728,\n pending: 167880,\n rejected: 68390,\n },\n ],\n\n zones: [\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n cluster: \"NWS Bhera Enclave\",\n\n assignedConnections: 102669,\n\n location: \"102669\",\n\n zroOffice: \"NWS Bhera Enclave\",\n\n assemblyConstituency: \"Part of Mundka AC 08\",\n\n gpsLocation: null,\n\n distanceFromFarthestPoint: null,\n\n activeDemand: 202197,\n\n pppZones: 15800,\n\n inactiveDemand: 35265,\n\n districtwiseInactiveTotal: 237462,\n },\n\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n\n cluster: \"Narela\",\n\n assignedConnections: 99528,\n\n location: \"99528\",\n\n zroOffice: \"Narela\",\n\n assemblyConstituency: \"Narela AC 01\",\n\n activeDemand: 99528,\n\n pppZones: 19465,\n\n inactiveDemand: 35265,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"North West District\",\n\n cluster: \"Rohini AC 13\",\n\n assignedConnections: 71041,\n\n location: \"71041\",\n\n zroOffice: \"Rohini\",\n\n assemblyConstituency: \"Rithala AC 06\",\n\n activeDemand: 247949,\n\n pppZones: 28975,\n\n inactiveDemand: 49494,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Mangol Puri AC 12\",\n\n cluster: \"Model Town AC 18\",\n\n assignedConnections: 68957,\n\n location: \"68957\",\n\n zroOffice: \"Central North District\",\n\n assemblyConstituency: \"Ashok Vihar\",\n\n activeDemand: 231216,\n\n pppZones: 16627,\n\n inactiveDemand: 36915,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Timarpur AC 03\",\n\n cluster: \"Cluster 2\",\n\n assignedConnections: 34862,\n\n location: \"34862\",\n\n zroOffice: \"Old Delhi District\",\n\n assemblyConstituency: \"Pratap Nagar\",\n\n activeDemand: 99694,\n\n pppZones: 20011,\n\n inactiveDemand: 48011,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Bali Maran AC 22\",\n\n cluster: \"North District\",\n\n assignedConnections: 110507,\n\n location: \"110507\",\n\n zroOffice: \"Burari\",\n\n assemblyConstituency: \"Burari AC 2\",\n\n activeDemand: 178815,\n\n pppZones: 14700,\n\n inactiveDemand: 31772,\n },\n ],\n },\n\n {\n id: 2,\n\n name: \"Agency 2\",\n\n assignedConnections: 1083624,\n\n completedEkyc: 164302,\n\n selfEkyc: 919322,\n\n pending: 164302,\n\n rejected: 81271,\n\n inactiveDemand: 1247926,\n\n successRate: 77,\n\n progress: 15,\n\n supervisors: 14,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"West District\", \"Janak Puri\", \"South District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 13144,\n pending: 159920,\n rejected: 60140,\n },\n {\n day: \"Tue\",\n completed: 21359,\n pending: 157182,\n rejected: 62172,\n },\n {\n day: \"Wed\",\n completed: 31217,\n pending: 153896,\n rejected: 64610,\n },\n {\n day: \"Thu\",\n completed: 42718,\n pending: 150062,\n rejected: 67454,\n },\n {\n day: \"Fri\",\n completed: 55862,\n pending: 145681,\n rejected: 70705,\n },\n {\n day: \"Sat\",\n completed: 69006,\n pending: 141299,\n rejected: 73956,\n },\n {\n day: \"Sun\",\n completed: 82151,\n pending: 136918,\n rejected: 77207,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Rajouri Garden AC 27\",\n\n assignedConnections: 84506,\n\n location: \"84506\",\n\n zroOffice: \"Rajouri Garden AC 27\",\n\n assemblyConstituency: \"Punjabi Bagh\",\n\n activeDemand: 470766,\n\n pppZones: 13269,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Tilak Nagar AC 29\",\n\n assignedConnections: 51428,\n\n location: \"51428\",\n\n zroOffice: \"Tilak Nagar AC 29\",\n\n assemblyConstituency: \"Paschim Vihar\",\n\n activeDemand: 470766,\n\n pppZones: 6298,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"Part of Uttam Nagar & Vikas puri\",\n\n cluster: \"Janak Puri\",\n\n assignedConnections: 163041,\n\n location: \"163041\",\n\n zroOffice: \"Janakpuri\",\n\n assemblyConstituency: \"Janakpuri AC 30\",\n\n activeDemand: 369772,\n\n pppZones: 25729,\n\n inactiveDemand: 60534,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"South District\",\n\n assignedConnections: 52803,\n\n location: \"52803\",\n\n zroOffice: \"R K Puram\",\n\n assemblyConstituency: \"Malviya Nagar AC 43\",\n\n activeDemand: 243086,\n\n pppZones: 9678,\n\n inactiveDemand: 39204,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"Vasant Kunz\",\n\n assignedConnections: 58997,\n\n location: \"58997\",\n\n zroOffice: \"Vasant Kunj\",\n\n assemblyConstituency: \"Vasant Kunj\",\n\n activeDemand: 243086,\n\n pppZones: 6691,\n\n inactiveDemand: 39204,\n },\n ],\n },\n\n {\n id: 3,\n\n name: \"Agency 3\",\n\n assignedConnections: 947501,\n\n completedEkyc: 328451,\n\n selfEkyc: 541772,\n\n pending: 77278,\n\n rejected: 71063,\n\n inactiveDemand: 1016841,\n\n successRate: 86,\n\n progress: 78,\n\n supervisors: 19,\n\n activeSurveyors: 58,\n\n jurisdictions: [\"East District\", \"North East District\", \"South East District\", \"MNWS\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 44120,\n pending: 130002,\n rejected: 5711,\n },\n {\n day: \"Tue\",\n completed: 58221,\n pending: 121998,\n rejected: 7104,\n },\n {\n day: \"Wed\",\n completed: 70218,\n pending: 113201,\n rejected: 8842,\n },\n {\n day: \"Thu\",\n completed: 85124,\n pending: 104006,\n rejected: 9911,\n },\n {\n day: \"Fri\",\n completed: 102315,\n pending: 94441,\n rejected: 11214,\n },\n {\n day: \"Sat\",\n completed: 121009,\n pending: 85218,\n rejected: 12902,\n },\n {\n day: \"Sun\",\n completed: 142118,\n pending: 77278,\n rejected: 14101,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Mayur Vihar\",\n\n assignedConnections: 72326,\n\n location: \"72326\",\n\n zroOffice: \"Mayur Vihar\",\n\n assemblyConstituency: \"Trilokpuri AC 55\",\n\n activeDemand: 328564,\n\n pppZones: 9691,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Yojna Vihar\",\n\n assignedConnections: 40651,\n\n location: \"40651\",\n\n zroOffice: \"Yojna Vihar\",\n\n assemblyConstituency: \"Vishwas Nagar AC 59\",\n\n activeDemand: 328564,\n\n pppZones: 10097,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"GTB Enclave\",\n\n assignedConnections: 80453,\n\n location: \"80453\",\n\n zroOffice: \"GTB Enclave\",\n\n assemblyConstituency: \"Seemapuri AC 63\",\n\n activeDemand: 323753,\n\n pppZones: 10671,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"Yamuna Vihar\",\n\n assignedConnections: 90599,\n\n location: \"90599\",\n\n zroOffice: \"Yamuna Vihar\",\n\n assemblyConstituency: \"Mustafabad AC 69\",\n\n activeDemand: 323753,\n\n pppZones: 18185,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Kalkaji AC 51\",\n\n assignedConnections: 29188,\n\n location: \"29188\",\n\n zroOffice: \"Kalkaji AC 51\",\n\n assemblyConstituency: \"Saket\",\n\n activeDemand: 136102,\n\n pppZones: 3675,\n\n inactiveDemand: 23977,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Okhla\",\n\n assignedConnections: 18473,\n\n location: \"18473\",\n\n zroOffice: \"Sarita Vihar/Okhla\",\n\n assemblyConstituency: \"Okhla AC 54\",\n\n activeDemand: 136102,\n\n pppZones: 3703,\n\n inactiveDemand: 23977,\n },\n ],\n },\n ],\n};\n","// import React from \"react\";\n// import { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\n// const ExecutiveLineChart = ({ data = [], dataKey = \"completed\", name = \"Value\" }) => {\n// return (\n// <div className=\"chart-card\" style={{ minHeight: 320 }}>\n// <ResponsiveContainer width=\"100%\" height={320}>\n// <LineChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n// <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n// <XAxis dataKey=\"label\" axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} itemStyle={{ color: \"#f8fafc\" }} />\n// <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n// <Line\n// type=\"monotone\"\n// dataKey={dataKey}\n// name={name}\n// stroke=\"#38bdf8\"\n// strokeWidth={3}\n// dot={{ r: 4 }}\n// activeDot={{ r: 6, strokeWidth: 2, fill: \"#60a5fa\" }}\n// />\n// </LineChart>\n// </ResponsiveContainer>\n// </div>\n// );\n// };\n\n// export default ExecutiveLineChart;\n\nimport React from \"react\";\nimport { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveLineChart = ({ data = [] }) => {\n const formattedData = data.map((item) => ({\n ...item,\n\n agencyKyc: item.completed || 0,\n\n selfKyc: Math.round((item.completed || 0) * 0.42),\n\n totalKyc: (item.completed || 0) + Math.round((item.completed || 0) * 0.42),\n }));\n\n return (\n <div className=\"chart-card executive-line-chart\">\n <ResponsiveContainer width=\"100%\" height={340}>\n <LineChart\n data={formattedData}\n margin={{\n top: 20,\n right: 12,\n left: 0,\n bottom: 0,\n }}\n >\n <CartesianGrid stroke=\"#e2e8f0\" strokeDasharray=\"3 3\" vertical={false} />\n\n <XAxis\n dataKey=\"label\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n fontWeight: 600,\n }}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n }}\n />\n\n <Tooltip\n cursor={{\n stroke: \"#cbd5e1\",\n strokeWidth: 1,\n }}\n contentStyle={{\n background: \"#ffffff\",\n border: \"1px solid #e2e8f0\",\n borderRadius: 18,\n boxShadow: \"0 10px 30px rgba(15,23,42,0.08)\",\n }}\n labelStyle={{\n color: \"#0f172a\",\n fontWeight: 700,\n marginBottom: 10,\n }}\n />\n\n <Legend\n verticalAlign=\"top\"\n align=\"right\"\n iconType=\"circle\"\n wrapperStyle={{\n paddingBottom: 18,\n color: \"#475569\",\n fontWeight: 600,\n }}\n />\n\n {/* TOTAL */}\n\n <Line\n type=\"monotone\"\n dataKey=\"totalKyc\"\n name=\"Total eKYC\"\n stroke=\"#0f172a\"\n strokeWidth={4}\n dot={false}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* AGENCY */}\n\n <Line\n type=\"monotone\"\n dataKey=\"agencyKyc\"\n name=\"Agency eKYC\"\n stroke=\"#3b82f6\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* SELF */}\n\n <Line\n type=\"monotone\"\n dataKey=\"selfKyc\"\n name=\"Self eKYC\"\n stroke=\"#10b981\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n </LineChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveLineChart;\n","import React from \"react\";\nimport { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveBarChart = ({ data = [], categories = [], xKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <BarChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n <XAxis dataKey={xKey} axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14 }} itemStyle={{ color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n {categories.map((series, index) => (\n <Bar\n key={series.key}\n dataKey={series.key}\n name={series.name}\n fill={index === 0 ? \"#34d399\" : \"#60a5fa\"}\n radius={[12, 12, 0, 0]}\n barSize={24}\n />\n ))}\n </BarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveBarChart;\n","import React from \"react\";\nimport { ResponsiveContainer, PieChart, Pie, Cell, Tooltip, Legend } from \"recharts\";\n\nconst colors = [\"#22c55e\", \"#38bdf8\", \"#f97316\", \"#facc15\", \"#f43f5e\"];\n\nconst ExecutivePieChart = ({ data = [], dataKey = \"value\", labelKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <PieChart>\n <Pie data={data} dataKey={dataKey} nameKey={labelKey} cx=\"50%\" cy=\"50%\" outerRadius={110} innerRadius={60} paddingAngle={3} label={{ fill: \"#f8fafc\", fontSize: 12 }}>\n {data.map((entry, index) => (\n <Cell key={`cell-${index}`} fill={colors[index % colors.length]} />\n ))}\n </Pie>\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"bottom\" align=\"center\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\", marginTop: 10 }} />\n </PieChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutivePieChart;\n","import React, { useMemo, useState } from \"react\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport {\n FaChartLine,\n FaUsers,\n FaCheckCircle,\n FaClock,\n FaExclamationTriangle,\n FaUserTie,\n FaMapMarkedAlt,\n FaSearch,\n FaArrowRight,\n} from \"react-icons/fa\";\nimport { ekycMockData } from \"./mockData\";\nimport ExecutiveLineChart from \"./analytics/charts/ExecutiveLineChart\";\nimport ExecutiveBarChart from \"./analytics/charts/ExecutiveBarChart\";\nimport ExecutivePieChart from \"./analytics/charts/ExecutivePieChart\";\n\nconst CeoDashboard = () => {\n const history = useHistory();\n const location = useLocation();\n const [query, setQuery] = useState(\"\");\n const [statusFilter, setStatusFilter] = useState(\"All\");\n\n const basePath = location.pathname.replace(/\\/ceo-dashboard$/, \"\");\n const filters = [\"All\", \"High Priority\", \"Stable\", \"Watchlist\"];\n\n const vendors = useMemo(() => ekycMockData.vendors || [], []);\n const topKpis = useMemo(() => ekycMockData.topKpis || {}, []);\n const dailyTrend = useMemo(() => ekycMockData.dailyTrend || [], []);\n const selfVsAgency = useMemo(() => ekycMockData.selfVsAgency || [], []);\n const pendingVsCompleted = useMemo(() => ekycMockData.pendingVsCompleted || [], []);\n // const rejectionAnalysis = ekycMockData.rejectionAnalysis || [];\n\n const filteredVendors = useMemo(() => {\n return vendors\n .filter((vendor) => {\n if (statusFilter === \"High Priority\") return vendor.successRate < 70;\n if (statusFilter === \"Watchlist\") return vendor.pending > 35000;\n if (statusFilter === \"Stable\") return vendor.successRate >= 70;\n return true;\n })\n .filter((vendor) => {\n if (!query) return true;\n const keyword = query.toLowerCase();\n return (\n vendor.name.toLowerCase().includes(keyword) ||\n vendor.jurisdictions.some((zone) => zone.toLowerCase().includes(keyword)) ||\n vendor.zones.some((zone) => zone.location?.toLowerCase().includes(keyword))\n );\n });\n }, [vendors, query, statusFilter]);\n\n const zoneRows = useMemo(() => {\n return vendors\n .flatMap((vendor) => vendor.zones.map((zone) => ({ ...zone, agency: vendor.name })))\n .filter((row) => row.location)\n .sort((a, b) => (b.activeDemand || 0) - (a.activeDemand || 0));\n }, [vendors]);\n\n const alerts = [\n \"North East District has 22% more pending accounts than last week\",\n \"Agency 2 has a 12% improvement opportunity in Self eKYC adoption\",\n \"Urgent: 18 supervisor escalations raised for NWS Bhera Enclave\",\n \"Risk alert: Rejection trends are rising in Outer North clusters\",\n ];\n\n const routeToVendor = (vendorId) => {\n history.push(`${basePath}/vendors/${vendorId}`);\n };\n\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell\">\n <section className=\"kpi-grid\">\n {[\n {\n title: \"Total Water Connections\",\n value: topKpis.totalWaterConnections,\n icon: <FaUsers />,\n variant: \"primary\",\n },\n {\n title: \"Total eKYC Completed\",\n value: topKpis.totalEkycCompleted,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Total Pending\",\n value: topKpis.totalPending,\n icon: <FaClock />,\n variant: \"warning\",\n },\n {\n title: \"Total Rejected\",\n value: topKpis.totalRejected,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n {\n title: \"Agency eKYC Completed\",\n value: topKpis.agencyEkycCompleted,\n icon: <FaUserTie />,\n variant: \"info\",\n },\n {\n title: \"Citizen Self eKYC Completed\",\n value: topKpis.citizenSelfEkycCompleted,\n icon: <FaUsers />,\n variant: \"secondary\",\n },\n {\n title: \"Today's eKYC\",\n value: topKpis.todaysEkyc,\n icon: <FaChartLine />,\n variant: \"muted\",\n },\n {\n title: \"Success Rate\",\n value: `${topKpis.successRate}%`,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Rejection Percentage\",\n value: `${topKpis.rejectionPercentage}%`,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n ].map((card) => (\n <article key={card.title} className={`kpi-card card-${card.variant}`}>\n <div className=\"kpi-icon\">{card.icon}</div>\n <div>\n <p className=\"kpi-title\">{card.title}</p>\n <h2>{card.value?.toLocaleString?.() ?? card.value}</h2>\n </div>\n </article>\n ))}\n </section>\n\n <section className=\"vendor-section\">\n <div className=\"section-top\">\n <div>\n <h2>Agency Performance Snapshot</h2>\n <p>Search, filter, and navigate into detailed analytics for every assigned vendor.</p>\n </div>\n <div className=\"vendor-filters\">\n <div className=\"search-box\">\n <FaSearch />\n <input type=\"text\" placeholder=\"Search agency, jurisdiction, location\" value={query} onChange={(e) => setQuery(e.target.value)} />\n </div>\n <div className=\"status-pill-group\">\n {filters.map((status) => (\n <button key={status} className={`status-pill ${statusFilter === status ? \"active\" : \"\"}`} onClick={() => setStatusFilter(status)}>\n {status}\n </button>\n ))}\n </div>\n </div>\n </div>\n\n <div className=\"vendor-grid\">\n {filteredVendors.map((vendor) => (\n <div key={vendor.id} className=\"vendor-card glass-card\" onClick={() => routeToVendor(vendor.id)}>\n <div className=\"vendor-card-top\">\n <div>\n <p className=\"vendor-chip\">{vendor.name}</p>\n <h3>{vendor.assignedConnections.toLocaleString()}</h3>\n <p className=\"vendor-subtitle\">Assigned connections across {vendor.jurisdictions.length} jurisdiction(s)</p>\n </div>\n <div className=\"vendor-progress-value\">{vendor.progress}%</div>\n </div>\n <div className=\"progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${vendor.progress}%` }} />\n </div>\n <div className=\"vendor-stats-grid\">\n <div>\n <strong>{vendor.completedEkyc.toLocaleString()}</strong>\n <span>Agency eKYC</span>\n </div>\n <div>\n <strong>{vendor.selfEkyc.toLocaleString()}</strong>\n <span>Self eKYC</span>\n </div>\n <div>\n <strong>{vendor.pending.toLocaleString()}</strong>\n <span>Pending</span>\n </div>\n <div>\n <strong>{vendor.rejected.toLocaleString()}</strong>\n <span>Rejected</span>\n </div>\n </div>\n <div className=\"vendor-card-footer\">\n <span>{vendor.activeSurveyors} Surveyors</span>\n <span>{vendor.supervisors} Supervisors</span>\n <span>{vendor.jurisdictions.join(\", \")}</span>\n </div>\n <div className=\"vendor-card-action\">\n <span>Explore analytics</span>\n <FaArrowRight />\n </div>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"analytics-grid\">\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Daily eKYC Trend</h2>\n <span className=\"badge success\">Live index</span>\n </div>\n <ExecutiveLineChart data={dailyTrend} dataKey=\"completed\" name=\"Completed\" />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Self vs Agency eKYC</h2>\n <span className=\"badge info\">Adoption</span>\n </div>\n <ExecutiveBarChart\n data={selfVsAgency}\n categories={[\n { key: \"agency\", name: \"Agency\" },\n { key: \"citizen\", name: \"Citizen\" },\n ]}\n />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Pending vs Completed</h2>\n <span className=\"badge warning\">Operational pulse</span>\n </div>\n <ExecutivePieChart data={pendingVsCompleted} dataKey=\"completed\" labelKey=\"label\" />\n </div>\n </section>\n\n <section className=\"zone-section\">\n <div className=\"section-header\">\n <div>\n <h2>\n <FaMapMarkedAlt /> Jurisdiction Performance\n </h2>\n <p>Top zones evaluated from the full agency dataset.</p>\n </div>\n <button className=\"secondary-button\">Export Zone Data</button>\n </div>\n\n <div className=\"table-wrapper glass-card\">\n <table>\n <thead>\n <tr>\n <th>Agency</th>\n <th>Location</th>\n <th>District</th>\n <th>Assigned</th>\n <th>Agency eKYC</th>\n <th>Pending</th>\n <th>Progress</th>\n </tr>\n </thead>\n <tbody>\n {zoneRows.slice(0, 10).map((zone, index) => (\n <tr key={`${zone.agency}-${zone.location}-${index}`}>\n <td>{zone.agency}</td>\n <td>{zone.location}</td>\n <td>{zone.district || zone.cluster}</td>\n <td>{zone.activeDemand?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.pppZones?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.inactiveDemand?.toLocaleString() ?? \"—\"}</td>\n <td>\n <span className=\"status-badge success\">\n {Math.min(100, Math.round(((zone.pppZones || 0) / Math.max(zone.activeDemand || 1, 1)) * 100))}%\n </span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <section className=\"bottom-grid\">\n <div className=\"alerts-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaExclamationTriangle /> Critical Alerts\n </h2>\n </div>\n <div className=\"alerts-list\">\n {alerts.map((alert) => (\n <div key={alert} className=\"alert-card\">\n <FaExclamationTriangle />\n <p>{alert}</p>\n </div>\n ))}\n </div>\n </div>\n\n <div className=\"efficiency-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaUserTie /> Workforce & Efficiency\n </h2>\n </div>\n <div className=\"efficiency-grid\">\n <div className=\"efficiency-box\">\n <h3>48</h3>\n <p>Supervisors Online</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>168</h3>\n <p>Surveyors Active</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.todayEkyc?.toLocaleString()}</h3>\n <p>eKYC Completed Today</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.successRate}%</h3>\n <p>Operational Efficiency</p>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n );\n};\n\nexport default CeoDashboard;\n","export const downloadSurveyorPDF = async ({\n rows,\n surveyorName,\n employeeId,\n mobileNumber,\n vendorName,\n supervisorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const initData = Digit.SessionStorage.get(\"initData\");\n const tenants = initData?.tenants || [];\n const tenantInfo = tenants.find((tenant) => tenant.code === tenantId);\n\n const capitalize = (text) =>\n text && text.substr(0, 1).toUpperCase() + text.substr(1);\n const ulbCamel = (ulb) =>\n ulb &&\n ulb\n .toLowerCase()\n .split(\" \")\n .map(capitalize)\n .join(\" \");\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SURVEYOR_DETAILS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"SURVEYOR_NAME\"), value: surveyorName },\n { title: t(\"MOBILE_NUMBER\"), value: mobileNumber },\n { title: t(\"VENDOR_NAME\"), value: vendorName },\n { title: t(\"SUPERVISOR_NAME\"), value: supervisorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\"), value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\"), value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\"), value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\"), value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SURVEYOR_REPORT\"),\n details,\n applicationNumber: employeeId,\n rows,\n t,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n};\n\n\nexport const downloadSupervisorPDF = async ({\n rows,\n supervisorName,\n mobileNumber,\n vendorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SUPERVISOR_DETAILS\") || \"Supervisor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\", value: supervisorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from surveyors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || row.owner?.name || \"N/A\",\n firstName: row.owner?.mobileNumber || row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SURVEYOR_NAME\") || \"Surveyor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SUPERVISOR_REPORT\") || \"eKYC Supervisor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\nexport const downloadVendorPDF = async ({\n rows,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const emailContact = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"VENDOR_DETAILS\") || \"Vendor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"EMAIL\") || \"Email\", value: email }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from supervisors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || \"N/A\",\n firstName: row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SUPERVISOR_NAME\") || \"Supervisor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email: emailContact,\n phoneNumber,\n heading: t(\"EKYC_VENDOR_REPORT\") || \"eKYC Vendor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\n\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport { downloadVendorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst VendorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { vendorId } = useParams();\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Fetch all supervisors to filter by vendor\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Match vendor details\n const vendor = useMemo(() => {\n const userUuid = loggedInUser?.uuid;\n const userMobile = loggedInUser?.mobileNumber;\n\n // Helper to check if a vendor matches the logged in user\n const matchesUser = (v) => {\n const ownerUuid = v.owner?.uuid || v.owner?.id;\n const ownerMobile = v.owner?.mobileNumber || v.mobileNumber;\n return (userUuid && ownerUuid === userUuid) || (userMobile && ownerMobile === userMobile);\n };\n\n // Find in real API search first\n if (vendorSearchResponse) {\n if (vendorId) {\n const matched = vendorSearchResponse.find(\n (v) => v.dsoDetails?.id === vendorId || v.dsoDetails?.vendorId === vendorId || v.id === vendorId || v.vendorId === vendorId\n );\n if (matched) return matched.dsoDetails || matched;\n } else {\n // Try matching logged in user\n const matched = vendorSearchResponse.find((v) => matchesUser(v.dsoDetails || v));\n if (matched) return matched.dsoDetails || matched;\n // Default to first vendor if no match found\n if (vendorSearchResponse.length > 0) return vendorSearchResponse[0].dsoDetails || vendorSearchResponse[0];\n }\n }\n\n // Fall back to ekycMockData vendors\n if (vendorId) {\n return ekycMockData.vendors.find((v) => v.id === Number(vendorId) || v.name === vendorId) || ekycMockData.vendors[0];\n } else {\n // Match mock vendor with user name or return first\n const matchedMock = ekycMockData.vendors.find((v) => v.name?.toLowerCase() === loggedInUser?.name?.toLowerCase());\n return matchedMock || ekycMockData.vendors[0];\n }\n }, [vendorSearchResponse, vendorId, loggedInUser]);\n\n // Supervisors belonging to this vendor\n const vendorSupervisors = useMemo(() => {\n if (!supervisorSearchResponse?.supervisors) {\n // Mock fallback if supervisors count is present\n if (vendor && Array.isArray(ekycMockData.vendors)) {\n // Return dummy supervisors based on vendor name or id\n const mockSupList = Array.from({ length: vendor.supervisors || 5 }, (_, i) => ({\n id: `SUP_V_${vendor.id || 1}_${i}`,\n name: `Supervisor ${i + 1} (${vendor.name})`,\n mobileNo: `99999120${i}`,\n status: \"ACTIVE\",\n totalKnos: Math.round(1000 + Math.random() * 4000),\n submittedKnos: Math.round(500 + Math.random() * 2000),\n pendingKnos: Math.round(200 + Math.random() * 1000),\n progressPercent: Math.round(40 + Math.random() * 50),\n }));\n return mockSupList;\n }\n return [];\n }\n\n // Filter real supervisors belonging to this vendor\n const currentVendorId = vendor?.id || vendor?.vendorId || vendorId;\n const matchedSups = supervisorSearchResponse.supervisors.filter(\n (s) => s.vendorId === currentVendorId\n );\n\n return matchedSups.map((sup) => {\n // Find progress report for this supervisor in progressData\n const report = progressData?.supervisorReport?.find(\n (r) => r.supervisorId === sup.id || r.supervisorId === sup.owner?.uuid\n );\n\n return {\n id: sup.id || sup.owner?.uuid,\n name: sup.name || sup.owner?.name || \"N/A\",\n mobileNo: sup.owner?.mobileNumber || sup.mobileNo || \"N/A\",\n status: sup.status || \"ACTIVE\",\n totalKnos: report?.totalKnos || 0,\n submittedKnos: report?.submittedKnos || 0,\n pendingKnos: report?.pendingKnos || 0,\n progressPercent: report?.progressPercent || 0,\n };\n });\n }, [supervisorSearchResponse, vendor, progressData, vendorId]);\n\n const vendorName = vendor?.name || \"N/A\";\n const mobileNumber = vendor?.mobileNumber || vendor?.owner?.mobileNumber || \"N/A\";\n const email = vendor?.owner?.emailId || \"N/A\";\n const status = vendor ? \"ACTIVE\" : \"N/A\";\n const jurisdictions = useMemo(() => {\n if (Array.isArray(vendor?.jurisdictions)) {\n return vendor.jurisdictions.join(\", \");\n }\n return \"N/A\";\n }, [vendor]);\n const zoneIds = useMemo(() => {\n return vendor?.zoneIds?.length ? vendor.zoneIds.filter(Boolean).map(zone => String(zone).toUpperCase().replace(\"\", \" \")).join(\", \") : \"N/A\";\n }, [vendor]);\n\n // KPI stats calculation\n const cards = useMemo(() => {\n const hasRealData = vendorSupervisors.some((s) => s.totalKnos > 0);\n\n const totalKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0)\n : (progressData?.totalKnos || vendor?.assignedConnections || 0);\n\n const completedKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0)\n : (progressData?.completedKnos || vendor?.completedEkyc || 0);\n\n const pendingKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0)\n : (totalKnos - completedKnos);\n\n const progressPercent = totalKnos > 0 ? Math.round((completedKnos / totalKnos) * 100) : (vendor?.progress || 0);\n\n return [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: totalKnos,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n // {\n // label: \"TOTAL_ASSIGNMENTS\",\n // count: totalKnos,\n // color: \"#3B82F6\",\n // type: \"week\",\n // icon: <FaMapMarkedAlt />,\n // },\n {\n label: \"EKYC_COMPLETED\",\n count: completedKnos,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: pendingKnos,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${progressPercent}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n }, [vendorSupervisors, vendor, progressData]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true\n });\n\n const consumerList = response?.consumerList || [];\n\n if (!consumerList || consumerList.length === 0) {\n alert(t(\"NO_EKYC_DATA_FOUND\") || \"No eKYC data found to download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = fullName;\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n cleanObj[friendlyHeader] = val;\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${vendorName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Failed to download eKYC data:\", error);\n alert(t(\"EKYC_DOWNLOAD_FAILED\") || \"Failed to download eKYC data. Please try again.\");\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const paginatedSupervisors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return vendorSupervisors.slice(start, end);\n }, [vendorSupervisors, currentPage, pageSize]);\n\n const supervisorColumns = useMemo(\n () => [\n {\n Header: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\",\n accessor: (row) => row?.name || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/supervisor-dashboard/${row.original.id}`;\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.name || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: (row) => row?.status || \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || row?.progressPercent === 0 ? row.progressPercent : row.progress}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = vendorSupervisors.map((s) => ({\n name: s.name,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0) || vendor?.assignedConnections || 0;\n const completedKnos = vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0) || vendor?.completedEkyc || 0;\n\n downloadVendorPDF({\n rows: rowsWithStats,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate report:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handlePresetDownload = (filter) => {\n handleDownload();\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n handleDownload();\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isVendorSearchLoading || isSupervisorSearchLoading;\n\n if (isPageLoading && !vendor) {\n return <Loader />;\n }\n\n if (!vendor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_VENDOR_FOUND\") || \"No Vendor Found\"}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{vendorName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{vendorName}</h2>\n <div className=\"designation\">{t(\"VENDOR_AGENCY\") || \"Agency / Vendor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {\n cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isPageLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div>\n\n {/* <div className=\"detail-item\">\n <span className=\"label\">{t(\"JURISDICTIONS\") || \"Jurisdictions\"}</span>\n <span className=\"value\">{jurisdictions}</span>\n </div> */}\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONES\") || \"Assigned Zones\"}</span>\n <span className=\"value\">{zoneIds}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\"}\n tableClass=\"ekycTable\"\n data={paginatedSupervisors}\n columns={supervisorColumns}\n isLoading={isPageLoading}\n totalRecords={vendorSupervisors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(vendorSupervisors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(vendorSupervisors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default VendorDetailsCard;\n","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header } from \"@djb25/digit-ui-react-components\";\n\nconst useInboxTableConfig = ({\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n checkPathName,\n onSortingByData,\n tenantId,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const tableColumnConfig = [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n disableSortBy: true,\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"SUBMITTED_AT\") || \"Submitted At\",\n accessor: \"submittedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"ASSIGNED_AT\") || \"Assigned At\",\n accessor: \"assignedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n ];\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n initSortId: \"applicationDate\",\n onPageSizeChange: onPageSizeChange,\n currentPage: offset,\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) + limit },\n checkPathName,\n }),\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) - limit },\n checkPathName,\n }),\n pageSizeLimit: limit,\n onSort: onSortingByData,\n // sortParams: [{id: getValues(\"sortBy\"), desc: getValues(\"sortOrder\") === \"DESC\" ? true : false}],\n totalRecords: totalCount,\n onSearch: formState?.searchForm?.message,\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: Math.max(0, Math.floor((totalCount - 1) / limit) * limit) },\n checkPathName,\n }),\n onFirstPage: () => dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, offset: 0 }, checkPathName }),\n // globalSearch: {searchForItemsInTable},\n // searchQueryForTable,\n data: table,\n columns: tableColumnConfig,\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default useInboxTableConfig;\n","import React from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport { CardLabelError, TextInput, CustomTooltip, Label } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchFormFieldsComponents = ({ searchFormState, controlSearchForm, searchType }) => {\n const { t } = useTranslation();\n const { errors } = searchFormState;\n\n if (searchType === \"mobile\") {\n return (\n <React.Fragment>\n {/* MOBILE NUMBER */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"ES_COMMON_MOBILE_NUM\") || \"Mobile Number\"}\n <CustomTooltip message={t(\"EKYC_MOBILE_NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"mobileNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[6-9]\\d{9}$/,\n message: t(\"ERR_INVALID_MOBILE_NUMBER\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.mobileNumber && <CardLabelError>{errors.mobileNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment>\n {/* K NUMBER (KNO) */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"EKYC_K.NUMBER\") || \"K Number\"}\n <CustomTooltip message={t(\"EKYC_K.NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"kNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[0-9]{10}$/,\n message: t(\"ERR_INVALID_KNO\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.kNumber && <CardLabelError>{errors.kNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n};\n\nexport default SearchFormFieldsComponents;\n","import { RadioButtons, SearchField } from \"@djb25/digit-ui-react-components\";\nimport React, { useState } from \"react\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nconst useInboxMobileCardsData = ({ table, tenantId, isSupervisor = false }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (!isSupervisor && reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData, isSupervisor]);\n\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const handleSupervisorReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const dataForMobileInboxCards = table?.map((item) => {\n if (isSupervisor) {\n const id = item.id;\n const status = item.status || \"DEFAULT\";\n\n return {\n [t(\"SURVEYOR_NAME\")]: (\n <span className=\"link\" onClick={() => handleSupervisorReview(id)}>\n {item.surveyorName || item.name || \"NA\"}\n </span>\n ),\n [t(\"MOBILE_NUMBER\")]: item.mobileNo || item.owner?.mobileNumber || \"NA\",\n [t(\"STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>,\n [t(\"SERVICE_TYPE\")]: item.serviceType || \"NA\",\n };\n } else {\n const kno = item.kno || item.applicationNumber || \"NA\";\n const status = (item.status || \"DEFAULT\").toUpperCase();\n const ekycStatus = (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase();\n\n return {\n [t(\"EKYC_APPLICATION_NO\")]: (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n ),\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName || \"NA\",\n [t(\"EKYC_STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>,\n [t(\"SUBMITTED_AT\")]: item.submittedAt ? Digit.DateUtils.ConvertEpochToDate(item.submittedAt) : \"-\",\n [t(\"ASSIGNED_AT\")]: item.assignedAt ? Digit.DateUtils.ConvertEpochToDate(item.assignedAt) : \"-\",\n [t(\"EKYC_EKYC_STATUS\")]: <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>,\n };\n }\n });\n\n const MobileSortFormValues = () => {\n const sortOrderOptions = [\n {\n code: \"DESC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_FIRST\",\n },\n {\n code: \"ASC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_LAST\",\n },\n ];\n const { control: controlSortForm } = useFormContext();\n return (\n <SearchField>\n <Controller\n name=\"sortOrder\"\n control={controlSortForm}\n render={({ onChange, value }) => (\n <RadioButtons\n onSelect={(e) => {\n onChange(e.code);\n }}\n selectedOption={sortOrderOptions.filter((option) => option.code === value)[0]}\n optionsKey=\"i18nKey\"\n name=\"sortOrder\"\n options={sortOrderOptions}\n />\n )}\n />\n </SearchField>\n );\n };\n\n return {\n data: dataForMobileInboxCards,\n isTwoDynamicPrefix: true,\n getRedirectionLink: () => {},\n handleClickEnabled: false,\n serviceRequestIdKey: isSupervisor ? \"id\" : \"applicationNo\",\n MobileSortFormValues,\n };\n};\n\nexport default useInboxMobileCardsData;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit]);\n\n const { isLoading: isListLoading, data: listData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return listData?.consumerList || [];\n }, [isSearchActive, searchData, listData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (\n item.connectionDetails?.ekycStatus ||\n item.connectionDetails?.ekycstatus ||\n item.ekycStatus ||\n item.ekycstatus ||\n \"NA\"\n ).toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.kno || \"\",\n owner: fullName || item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName || item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = listData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n function formReducer(state, payload) {\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isListLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: listData,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useMemo } from \"react\";\nimport {\n Header,\n Card,\n CardHeader,\n CardText,\n CardLabel,\n Dropdown,\n SubmitBar,\n ActionBar,\n Table,\n Toast,\n LabelFieldPair,\n Modal,\n DeleteIcon,\n EditIcon,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\n// ─── Static Mock Data ─────────────────────────────────────────────────────────\n\nconst MOCK_SURVEYORS = [\n { name: \"Amit Kumar\", id: \"SVR001\", role: \"Surveyor\" },\n { name: \"Sanjay Singh\", id: \"SVR002\", role: \"Surveyor\" },\n { name: \"Rahul Sharma\", id: \"SVR003\", role: \"Surveyor\" },\n { name: \"Priya Verma\", id: \"SVR004\", role: \"Surveyor\" },\n];\n\nconst MOCK_MRDS = [\n { name: \"MRD - 01 (Central Zone)\", code: \"MRD01\", zone: \"Central\" },\n { name: \"MRD - 02 (North Zone)\", code: \"MRD02\", zone: \"North\" },\n { name: \"MRD - 03 (South Zone)\", code: \"MRD03\", zone: \"South\" },\n { name: \"MRD - 04 (West Zone)\", code: \"MRD04\", zone: \"West\" },\n { name: \"MRD - 05 (East Zone)\", code: \"MRD05\", zone: \"East\" },\n { name: \"MRD - 06 (Rohini)\", code: \"MRD06\", zone: \"Rohini\" },\n { name: \"MRD - 07 (Dwarka)\", code: \"MRD07\", zone: \"Dwarka\" },\n];\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst Mapping = () => {\n const { t } = useTranslation();\n\n // Form state\n const [selectedSurveyor, setSelectedSurveyor] = useState(null);\n const [selectedMRD, setSelectedMRD] = useState(null);\n\n // Mappings list\n const [mappings, setMappings] = useState([]);\n\n // Edit state: stores the id of the row being edited + its draft values\n const [editingId, setEditingId] = useState(null);\n const [editSurveyor, setEditSurveyor] = useState(null);\n const [editMRD, setEditMRD] = useState(null);\n\n // Delete confirm modal\n const [deleteTarget, setDeleteTarget] = useState(null);\n\n const [toast, setToast] = useState(null);\n\n // ── Handlers ──────────────────────────────────────────────────────────────\n\n const handleAddMapping = () => {\n if (!selectedSurveyor || !selectedMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD\" });\n return;\n }\n const exists = mappings.some(\n m => m.surveyorId === selectedSurveyor.id && m.mrdCode === selectedMRD.code\n );\n if (exists) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => [...prev, {\n id: Date.now(),\n surveyorName: selectedSurveyor.name,\n surveyorId: selectedSurveyor.id,\n mrdName: selectedMRD.name,\n mrdCode: selectedMRD.code,\n zone: selectedMRD.zone,\n }]);\n setSelectedMRD(null);\n setSelectedSurveyor(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_ADDED\") || \"Mapping added successfully\" });\n };\n\n const handleEditStart = (row) => {\n setEditingId(row.id);\n setEditSurveyor(MOCK_SURVEYORS.find(s => s.id === row.surveyorId) || null);\n setEditMRD(MOCK_MRDS.find(m => m.code === row.mrdCode) || null);\n };\n\n const handleEditSave = (id) => {\n if (!editSurveyor || !editMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD to save\" });\n return;\n }\n // Check duplicate (excluding self)\n const duplicate = mappings.some(\n m => m.id !== id && m.surveyorId === editSurveyor.id && m.mrdCode === editMRD.code\n );\n if (duplicate) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => prev.map(m => m.id !== id ? m : {\n ...m,\n surveyorName: editSurveyor.name,\n surveyorId: editSurveyor.id,\n mrdName: editMRD.name,\n mrdCode: editMRD.code,\n zone: editMRD.zone,\n }));\n setEditingId(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_UPDATED\") || \"Mapping updated successfully\" });\n };\n\n const handleEditCancel = () => {\n setEditingId(null);\n setEditSurveyor(null);\n setEditMRD(null);\n };\n\n const handleDeleteConfirm = () => {\n setMappings(prev => prev.filter(m => m.id !== deleteTarget.id));\n setDeleteTarget(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_REMOVED\") || \"Mapping removed\" });\n };\n\n const handleSaveMappings = () => {\n if (mappings.length === 0) {\n setToast({ type: \"error\", message: t(\"EKYC_NO_MAPPINGS_TO_SAVE\") || \"No mappings to save\" });\n return;\n }\n // TODO: replace with real API call\n setToast({ type: \"success\", message: t(\"EKYC_MAPPINGS_SAVED_SUCCESS\") || \"Surveyor mappings saved successfully!\" });\n };\n\n // ── Table columns ─────────────────────────────────────────────────────────\n\n const columns = useMemo(() => [\n {\n Header: t(\"EKYC_SURVEYOR_NAME\") || \"Surveyor\",\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editSurveyor}\n select={setEditSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose surveyor...\"}\n />\n );\n }\n return (\n <div>\n <span className=\"link\">{row.original.surveyorName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.surveyorId}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"EKYC_MRD_ASSIGNED\") || \"MRD Assigned\",\n accessor: \"mrdName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editMRD}\n select={setEditMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose MRD...\"}\n />\n );\n }\n return (\n <div>\n <span>{row.original.mrdName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.zone}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"ES_COMMON_ACTION\") || \"Actions\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <div style={{ display: \"flex\", gap: \"10px\" }}>\n <span\n style={{ cursor: \"pointer\", color: \"#f47738\", fontWeight: \"bold\" }}\n onClick={() => handleEditSave(row.original.id)}\n >\n {t(\"ES_COMMON_SAVE\")}\n </span>\n <span\n style={{ cursor: \"pointer\", color: \"#505A5F\", fontWeight: \"bold\" }}\n onClick={handleEditCancel}\n >\n {t(\"ES_COMMON_CANCEL\")}\n </span>\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", gap: \"16px\" }}>\n <span onClick={() => handleEditStart(row.original)} style={{ cursor: \"pointer\" }}>\n <EditIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n <span onClick={() => setDeleteTarget(row.original)} style={{ cursor: \"pointer\" }}>\n <DeleteIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n </div>\n );\n },\n },\n ], [editingId, editSurveyor, editMRD, mappings, t]);\n\n // ── Render ────────────────────────────────────────────────────────────────\n\n return (\n <React.Fragment>\n <div className=\"side-panel-item\">\n <Card className=\"employeeCard filter inboxLinks\" style={{ marginTop: \"16px\" }}>\n <div className=\"complaint-links-container\">\n <div className=\"header\" style={{ marginBottom: \"0px\" }}>\n <span className=\"logo\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M6.5 2H20V22H6.5A2.5 2.5 0 0 1 4 19.5V4.5A2.5 2.5 0 0 1 6.5 2Z\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n <span className=\"text\">{t(\"EKYC_SURVEYOR_MAPPING\") || \"Surveyor Mapping\"}</span>\n </div>\n </div>\n </Card>\n </div>\n\n <Card>\n <CardHeader>{t(\"EKYC_NEW_MAPPING\") || \"New Mapping\"}</CardHeader>\n <CardText>\n {t(\"EKYC_MAPPING_SUBHEADER\") || \"Assign Meter Reading Dairies to surveyors to manage their data access.\"}\n </CardText>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_SURVEYOR\") || \"Select Surveyor\"} *</CardLabel>\n <div className=\"\">\n <Dropdown\n selected={selectedSurveyor}\n select={setSelectedSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose a surveyor...\"}\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_MRD\") || \"Select MRD\"} *</CardLabel>\n <div className=\"field\">\n <Dropdown\n selected={selectedMRD}\n select={setSelectedMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose an MRD...\"}\n />\n </div>\n </LabelFieldPair>\n\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"EKYC_ADD_TO_LIST\") || \"Add to Mapping List\"}\n onSubmit={handleAddMapping}\n disabled={!selectedSurveyor || !selectedMRD}\n />\n </div>\n </Card>\n\n {mappings.length > 0 && (\n <Card>\n <CardHeader>\n {t(\"EKYC_MAPPING_SUMMARY\") || \"Mapping Summary\"} ({mappings.length})\n </CardHeader>\n <Table\n t={t}\n data={mappings}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n padding: \"10px\",\n fontSize: \"16px\",\n }\n };\n }}\n tableClassName=\"table digit-table\"\n />\n </Card>\n )}\n\n {mappings.length > 0 && (\n <ActionBar>\n <SubmitBar\n label={t(\"EKYC_SAVE_MAPPINGS\") || \"Save Mappings\"}\n onSubmit={handleSaveMappings}\n />\n </ActionBar>\n )}\n\n {deleteTarget && (\n <Modal\n headerBarMain={t(\"EKYC_REMOVE_MAPPING\") || \"Remove Mapping\"}\n headerBarEnd={\n <span onClick={() => setDeleteTarget(null)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_REMOVE\")}\n actionSaveOnSubmit={handleDeleteConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setDeleteTarget(null)}\n style={{ borderRadius: \"12px\" }}\n >\n <CardText style={{ marginTop: \"16px\", marginBottom: \"16px\" }}>\n {t(\"EKYC_REMOVE_MAPPING_CONFIRM_MSG\") || \"Are you sure you want to remove the mapping between \"}\n <strong>{deleteTarget?.surveyorName}</strong> and <strong>{deleteTarget?.mrdName}</strong>?\n </CardText>\n </Modal>\n )}\n\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n warning={toast.type === \"warning\"}\n info={toast.type === \"info\"}\n isDsc={true}\n onClose={() => setToast(null)}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport default Mapping;","import React, { useState } from \"react\";\nimport { Loader, Modal, RadioButtons } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\n\nconst ConnectionDetailsView = ({ kNumber, kName, connectionDetails, isLoading }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { path } = useRouteMatch();\n\n const [showModal, setShowModal] = useState(false);\n const [selectedOption, setSelectedOption] = useState({ code: \"SELF\", name: \"EKYC_SELF\" });\n\n const options = [\n { code: \"SELF\", name: \"EKYC_SELF\" },\n { code: \"OTHER\", name: \"EKYC_OTHER\" },\n ];\n\n const handleStartVerification = () => setShowModal(true);\n\n const onModalConfirm = () => {\n const parentPath = path.includes(\"/create-kyc\")\n ? path.replace(\"/create-kyc\", \"\")\n : path.replace(\"/k-details\", \"\");\n history.push(`${parentPath}/consumer-details`, { kNumber, selectedOption, connectionDetails });\n setShowModal(false);\n };\n\n if (isLoading) return <Loader />;\n if (!connectionDetails) return null;\n\n const details = connectionDetails?.connectionDetails || {};\n const statusFlag = details.statusflag || \"\";\n const isActive = statusFlag?.toLowerCase() === \"active\" || statusFlag === \"A\";\n\n return (\n <React.Fragment>\n <div className=\"ekyc-employee-container\">\n {/* Main Card */}\n <div className=\"connection-details-card\">\n {/* Card Header */}\n <div className=\"details-card-header\">\n <div className=\"header-title-wrapper\">\n <div className=\"header-icon-bg\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </div>\n <span className=\"header-title-text\">\n {t(\"EKYC_K_NUMBER_DETAILS\") || \"Consumer Identity Details\"}\n </span>\n </div>\n\n {/* Status Badge */}\n <span className={`status-badge ${isActive ? \"active\" : \"inactive\"}`}>\n {isActive ? (t(\"EKYC_ACTIVE_CONNECTION\") || \"Active Connection\") : (statusFlag || t(\"CS_NA\"))}\n </span>\n </div>\n\n {/* Card Body */}\n <div className=\"details-card-body\">\n <div className=\"body-content-row\">\n {/* Left: Verification Parameters */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_VERIFICATION_PARAMETERS\") || \"Verification Parameters\"}\n </div>\n\n <div className=\"data-grid\">\n {/* Consumer Name */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONSUMER_NAME\") || \"Consumer Name\"}\n </div>\n <div className=\"data-value\">\n {details.consumerName || kName || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* K Number */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n </div>\n <div className=\"data-value blue\">\n {kNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Meter Serial No */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_METER_NO\") || \"Meter Serial No.\"}\n </div>\n <div className=\"data-value\">\n {details.meterNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Connection Type */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONNECTION_TYPE\") || \"Connection Type\"}\n </div>\n <div className=\"data-value\">\n {details.connectionType || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n\n {/* Divider */}\n <div className=\"vertical-divider\" />\n\n {/* Right: Address & Contact */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_ADDRESS_AND_CONTACT\") || \"Address & Contact\"}\n </div>\n\n {/* Service Address */}\n <div className=\"address-block\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0z\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_ADDRESS\") || \"Service Address\"}\n </div>\n <div className=\"address-text\">\n {details.address || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Contact + Email row */}\n <div className=\"contact-row\">\n {/* Contact */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\" />\n <line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_PHONE_NO\") || \"Contact\"}\n </div>\n <div className=\"address-text\">\n {details.phoneNumber || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Email */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_EMAIL\") || \"Email Address\"}\n </div>\n <div className=\"address-text\">\n {details.email || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Card Footer */}\n <div className=\"details-card-footer\">\n {/* Last Verified */}\n <div className=\"footer-meta-text\">\n {connectionDetails?.lastVerified\n ? `${t(\"EKYC_LAST_VERIFIED\") || \"Last verified:\"} ${connectionDetails.lastVerified}`\n : \"\"}\n </div>\n\n {/* Action Buttons */}\n <div className=\"action-btns-container\" style={{ fontSize: \"12px\" }}>\n <button\n onClick={handleStartVerification}\n className=\"primary-action-btn\"\n style={{ fontSize: \"12px\" }}\n >\n {t(\"EKYC_START_REVIEW\") || \"Start Review\"}\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n <polyline points=\"12 5 19 12 12 19\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n {/* Modal */}\n {showModal && (\n <Modal\n headerBarMain={t(\"EKYC_SELECT_VERIFICATION_TYPE\")}\n headerBarEnd={\n <span onClick={() => setShowModal(false)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_CONFIRM\")}\n actionSaveOnSubmit={onModalConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setShowModal(false)}\n style={{ borderRadius: \"12px\" }}\n >\n <div style={{ padding: \"24px\" }}>\n <RadioButtons\n name=\"verificationType\"\n options={options}\n optionsKey=\"name\"\n selectedOption={selectedOption}\n onSelect={setSelectedOption}\n style={{ display: \"flex\", flexDirection: \"column\", gap: \"12px\", buttonStyle: { borderRadius: \"5px\" } }}\n t={t}\n />\n </div>\n </Modal>\n )}\n </React.Fragment>\n );\n};\n\nexport default ConnectionDetailsView;","import React, { useState, useEffect } from \"react\";\nimport { Card, HomeIcon, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport SearchConsumer from \"../../components/SearchConsumer\";\nimport ConnectionDetailsView from \"../../components/ConnectionDetailsView\";\n\nconst Create = () => {\n const { t } = useTranslation();\n const [searchParams, setSearchParams] = useState(() => {\n const saved = sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n return saved ? JSON.parse(saved) : { kNumber: \"\", kName: \"\" };\n });\n const [searchPerformed, setSearchPerformed] = useState(() => {\n return sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PERFORMED\") === \"true\";\n });\n const [showToast, setShowToast] = useState(null);\n const [formParams, setFormParams, clearParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const { isLoading: isSearching, data: connectionDetails, error, revalidate } = Digit.Hooks.ekyc.useSearchConnection({\n tenantId,\n details: { kno: searchParams.kNumber, name: searchParams.kName }\n }, {\n enabled: searchPerformed && !!searchParams.kNumber && !!searchParams.kName,\n onError: (error) => {\n setShowToast({ error: true, label: error?.response?.data?.Errors?.[0]?.message || t(\"EKYC_SEARCH_ERROR_PLEASE_ENTER_THE_CORRECT_CREDENTIALS\") });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n }\n });\n\n const handleSearch = (params) => {\n if (!params.kNumber && !params.kName) {\n // This is the \"Clear\" case\n setSearchParams({ kNumber: \"\", kName: \"\" });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n clearParams(); // Clear consolidated EKYC data\n return;\n }\n\n if (!params.kNumber || !params.kName) {\n setShowToast({ error: true, label: t(\"EKYC_FILL_ALL_FIELDS\") });\n return;\n }\n setSearchParams(params);\n setSearchPerformed(true);\n\n // Clear previous EKYC session data if K-number changes\n const currentKno = sessionStorage.getItem(\"EKYC_K_NUMBER\");\n if (currentKno !== params.kNumber) {\n clearParams();\n // Clear any other EKYC keys if they exist\n Object.keys(sessionStorage).forEach(key => {\n if (key.startsWith(\"EKYC_\") && key !== \"EKYC_CREATE\") sessionStorage.removeItem(key);\n });\n }\n\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PARAMS\", JSON.stringify(params));\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PERFORMED\", \"true\");\n sessionStorage.setItem(\"EKYC_K_NUMBER\", params.kNumber);\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n return (\n <SearchConsumer\n onSearch={handleSearch}\n searchParams={searchParams}\n >\n {searchPerformed && (\n <ConnectionDetailsView\n kNumber={searchParams.kNumber}\n kName={searchParams.kName}\n connectionDetails={connectionDetails}\n isLoading={isSearching}\n />\n )}\n\n {!searchPerformed && !isSearching && (\n <Card style={{ textAlign: \"center\", padding: \"40px\" }}>\n <div style={{ color: \"#667085\" }}>{t(\"EKYC_SEARCH_TO_VIEW_DETAILS\")}</div>\n </Card>\n )}\n {showToast && <Toast error={showToast.error} label={showToast.label} onClose={closeToast} isDsc={true} />}\n </SearchConsumer>\n );\n};\n\nexport default Create;\n","import React, { Fragment, useState } from \"react\";\nimport {\n Card,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n Menu,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\n\n// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />} style={{ margin: 0, padding: 0 }} onClick={routeTo} />\n );\n};\n\nconst checkForNA = (value) => (value !== null && value !== undefined && value !== \"\" ? value : \"N/A\");\n\nconst boolToYesNo = (value, t) => {\n if (value === true || value === \"true\" || String(value).toLowerCase() === \"yes\") return t(\"CORE_COMMON_YES\");\n if (value === false || value === \"false\" || String(value).toLowerCase() === \"no\") return t(\"CORE_COMMON_NO\");\n if (value === \"true\") return t(\"CORE_COMMON_YES\");\n if (value === \"false\") return t(\"CORE_COMMON_NO\");\n};\n/**\n * Robust data extraction for comparison.\n * The API returns { applicationReviewInfo: { newData: { ... }, oldData: { ... } } }\n */\nconst extractReviewData = (searchData, flowState) => {\n const rawData = searchData && Object.keys(searchData).length > 0 ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReviewInfo -> newData/oldData\n const reviewWrapper = rawData?.applicationReviewInfo || rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n\n return {\n newData: applicationData?.newData || applicationData,\n oldData: applicationData?.oldData || null,\n };\n};\n\nconst ReviewSection = ({ title, fields, newData, oldData, t, jumpTo, state, hideEditButton }) => {\n return (\n <div\n className=\"review-section-wrapper\"\n style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}\n >\n <div\n style={{\n padding: \"20px 24px\",\n background: \"#F9FAFB\",\n borderBottom: \"1px solid #EAECF0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && !hideEditButton && <ActionButton jumpTo={jumpTo} state={state} />}\n </div>\n\n <div style={{ padding: \"0 24px\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", tableLayout: \"fixed\" }}>\n <thead>\n <tr>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"30%\",\n }}\n >\n {t(\"EKYC_FIELD_NAME\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_EXISTING_INFORMATION\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_PROPOSED_UPDATES\")}\n </th>\n </tr>\n </thead>\n <tbody>\n {fields.map((field, idx) => {\n const valNew = newData?.[field.key];\n const valOld = oldData?.[field.key];\n const isChanged = oldData && String(valNew) !== String(valOld) && valOld !== undefined && valOld !== null;\n\n return (\n <tr key={idx} style={{ borderTop: \"1px solid #F2F4F7\" }}>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#344054\", fontWeight: \"500\" }}>{t(field.label)}</td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#667085\" }}>\n {field.isBool ? boolToYesNo(valOld, t) : checkForNA(valOld)}\n </td>\n <td\n style={{ padding: \"16px 0\", fontSize: \"14px\", color: isChanged ? \"#1B8B32\" : \"#101828\", fontWeight: isChanged ? \"700\" : \"400\" }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {field.isBool ? boolToYesNo(valNew, t) : checkForNA(valNew)}\n {isChanged && (\n <span\n style={{\n background: \"#ECFDF3\",\n color: \"#067647\",\n padding: \"2px 8px\",\n borderRadius: \"12px\",\n fontSize: \"10px\",\n fontWeight: \"600\",\n }}\n >\n {t(\"EKYC_CHANGED\")}\n </span>\n )}\n </div>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nconst Review = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n let { kno, applicationId } = useParams();\n\n const [agree, setAgree] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [showPreview, setShowPreview] = useState(false);\n const [previewUrl, setPreviewUrl] = useState(\"\");\n const [showOptions, setShowOptions] = useState(false);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({ error: false, label: \"\" });\n\n const options = [\n { action: t(\"APPROVE\") },\n { action: t(\"REJECT\") }\n ];\n\n const flowState = location.state || {};\n const { edits = {} } = flowState;\n const activeKno = kno || applicationId;\n\n const { aadhaarData = {}, addressDetails: editedAddress = {}, propertyDetails: editedProperty = {}, meterDetails: editedMeter = {} } = edits;\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const workflowMutation = Digit.Hooks.ekyc.useEkycWorkflow(tenantId);\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const { data: searchData, isLoading: isSearchLoading } = Digit.Hooks.ekyc.useEkycSearchReview({ kno: activeKno, fetchType: \"REVIEW\" }, tenantId, {\n enabled: !!activeKno,\n });\n\n const userRoles = Digit.SessionStorage.get(\"User\")?.info?.roles?.map((ele) => ele.code) || [];\n const isZRO = userRoles.includes(\"EKYC_ZRO\") || userRoles.includes(\"ZRO\");\n const isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SUPERVISOR\") || userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n const isStatusView = location.pathname.includes(\"/status/\");\n const hideEditButton = (isSupervisorOrSurveyorOrVendor && !isZRO) || isStatusView;\n\n // ── Data Consolidation ──────────────────────────────────────────────────\n const { newData: apiNewData, oldData: apiOldData } = extractReviewData(searchData, flowState);\n\n const prepareConsolidatedData = (data) => {\n if (!data) return null;\n const apiConn = data?.connectionDetails || data || {};\n const apiAddr = data?.addressDetails || data || {};\n const apiProp = data?.propertyInfo || data || {};\n const apiMeter = data?.meterDetails || data || {};\n\n return {\n connection: {\n consumerName:\n apiConn?.consumerName || (apiConn?.firstName ? [apiConn.firstName, apiConn.middleName, apiConn.lastName].filter(Boolean).join(\" \") : null),\n address: apiConn?.address || apiConn?.addressRaw,\n connectionType: apiConn?.connectionType || apiConn?.connectionCategory,\n meterNumber: apiConn?.meterNumber || apiConn?.meterNo,\n phoneNumber: apiConn?.phoneNumber || apiConn?.mobileNo || apiConn?.mobileNumber,\n email: apiConn?.email,\n statusflag: apiConn?.statusflag || apiConn?.statusFlag,\n ekycStatus: apiConn?.ekycStatus,\n knumber: apiConn?.knumber || apiConn?.kno,\n },\n address: {\n fullAddress: apiAddr?.fullAddress || apiAddr?.addressRaw,\n flatHouseNumber: apiAddr?.flatHouseNumber || apiAddr?.flatNo,\n buildingTower: apiAddr?.buildingTower || apiAddr?.building,\n landmark: apiAddr?.landmark,\n pinCode: apiAddr?.pinCode || apiAddr?.pincode,\n ward: apiAddr?.ward || apiAddr?.locality,\n assembly: apiAddr?.assembly,\n gpsValid: apiAddr?.gpsValid,\n latitude: apiAddr?.latitude,\n longitude: apiAddr?.longitude,\n mobileNo: apiAddr?.mobileNo || apiAddr?.mobileNumber,\n whatsappNo: apiAddr?.whatsappNo,\n email: apiAddr?.email,\n noOfPerson: apiAddr?.noOfPerson || apiAddr?.noOfPersons,\n knumber: apiAddr?.knumber || apiAddr?.kno,\n doorPhotoFilestoreId: apiAddr?.doorPhotoFilestoreId,\n },\n property: {\n kno: apiProp?.kno,\n pidNumber: apiProp?.pidNumber,\n typeOfConnection: apiProp?.typeOfConnection,\n connectionCategory: apiProp?.connectionCategory,\n userType: apiProp?.userType,\n numberOfFloors: apiProp?.numberOfFloors || apiProp?.noOfFloor,\n tenantName: apiProp?.tenantName,\n tenantMobile: apiProp?.tenantMobile,\n ekycStatus: apiProp?.ekycStatus,\n propertyDocumentFileStoreId: apiProp?.propertyDocumentFileStoreId,\n buildingImageFileStoreId: apiProp?.buildingImageFileStoreId,\n },\n meter: {\n kno: apiMeter?.kno,\n metered: apiMeter?.meterStatus === \"METERED\" || apiMeter?.metered,\n meterNumber: apiMeter?.meterNumber || apiMeter?.meterNo,\n meterMake: apiMeter?.meterMake,\n meterLocationAddress: apiMeter?.meterLocationAddress,\n meterLatitude: apiMeter?.meterLatitude,\n meterLongitude: apiMeter?.meterLongitude,\n workingStatus: apiMeter?.workingStatus,\n lastBillRaised: apiMeter?.lastBillRaised,\n systemMeterId: apiMeter?.systemMeterId,\n meterPhotoFileStoreId: apiMeter?.meterPhotoFileStoreId,\n },\n };\n };\n\n const newDataRaw = prepareConsolidatedData(apiNewData);\n const oldDataRaw = prepareConsolidatedData(apiOldData);\n\n // Apply edits to newData if present\n const connectionData = {\n ...newDataRaw?.connection,\n consumerName: aadhaarData?.name || newDataRaw?.connection?.consumerName,\n phoneNumber: aadhaarData?.mobileNumber || newDataRaw?.connection?.phoneNumber,\n knumber: newDataRaw?.connection?.knumber || activeKno,\n };\n\n const addressData = {\n ...newDataRaw?.address,\n fullAddress: editedAddress?.fullAddress || newDataRaw?.address?.fullAddress,\n flatHouseNumber: editedAddress?.flatHouseNumber || editedAddress?.flatNo || newDataRaw?.address?.flatHouseNumber,\n buildingTower: editedAddress?.buildingTower || editedAddress?.building || newDataRaw?.address?.buildingTower,\n landmark: editedAddress?.landmark || newDataRaw?.address?.landmark,\n pinCode: editedAddress?.pinCode || editedAddress?.pincode || newDataRaw?.address?.pinCode,\n ward: editedAddress?.ward || newDataRaw?.address?.ward,\n assembly: editedAddress?.assembly || newDataRaw?.address?.assembly,\n gpsValid: editedAddress?.gpsValid !== undefined ? editedAddress.gpsValid : newDataRaw?.address?.gpsValid,\n latitude: editedAddress?.latitude || newDataRaw?.address?.latitude,\n longitude: editedAddress?.longitude || newDataRaw?.address?.longitude,\n mobileNo: editedAddress?.mobileNo || aadhaarData?.mobileNumber || newDataRaw?.address?.mobileNo,\n whatsappNo: editedAddress?.whatsappNo || aadhaarData?.whatsappNumber || newDataRaw?.address?.whatsappNo,\n email: editedAddress?.email || newDataRaw?.address?.email,\n noOfPerson: editedAddress?.noOfPerson || aadhaarData?.noOfPersons || newDataRaw?.address?.noOfPerson,\n knumber: editedAddress?.knumber || newDataRaw?.address?.knumber || activeKno,\n doorPhotoFilestoreId: editedAddress?.doorPhotoFileStoreId || newDataRaw?.address?.doorPhotoFilestoreId,\n };\n\n const propertyData = {\n ...newDataRaw?.property,\n kno: newDataRaw?.property?.kno || activeKno,\n pidNumber: editedProperty?.pidNumber || newDataRaw?.property?.pidNumber,\n typeOfConnection: editedProperty?.connectionTypeData?.label || newDataRaw?.property?.typeOfConnection,\n connectionCategory: editedProperty?.connectionCategoryData?.label || newDataRaw?.property?.connectionCategory,\n userType: editedProperty?.userTypeData?.label || newDataRaw?.property?.userType,\n numberOfFloors: editedProperty?.noOfFloorsData?.label || newDataRaw?.property?.numberOfFloors,\n propertyDocumentFileStoreId: editedProperty?.propertyDocumentFileStoreId || newDataRaw?.property?.propertyDocumentFileStoreId,\n };\n\n const meterData = {\n ...newDataRaw?.meter,\n kno: editedMeter?.kno || newDataRaw?.meter?.kno || activeKno,\n metered: editedMeter?.meterStatusData?.value === \"Metered\" || newDataRaw?.meter?.metered,\n meterNumber: newDataRaw?.meter?.meterNumber,\n meterMake: editedMeter?.meterMake || newDataRaw?.meter?.meterMake,\n meterLocationAddress: editedMeter?.meterLocation || newDataRaw?.meter?.meterLocationAddress,\n workingStatus: editedMeter?.workingStatusData?.value === \"Working\" || newDataRaw?.meter?.workingStatus,\n lastBillRaised: editedMeter?.lastBillRaisedData?.value === \"Yes\" || newDataRaw?.meter?.lastBillRaised,\n meterPhotoFileStoreId: editedMeter?.meterPhotoFileStoreId || newDataRaw?.meter?.meterPhotoFileStoreId,\n };\n\n // ── Section Fields Configuration ─────────────────────────────────────\n const connectionFields = [\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n { label: \"EKYC_CONSUMER_NAME\", key: \"consumerName\" },\n { label: \"EKYC_ADDRESS\", key: \"address\" },\n { label: \"EKYC_CONNECTION_TYPE\", key: \"connectionType\" },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_MOBILE_NO\", key: \"phoneNumber\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_STATUS_FLAG\", key: \"statusflag\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const addressFields = [\n { label: \"EKYC_FULL_ADDRESS\", key: \"fullAddress\" },\n { label: \"EKYC_FLAT_HOUSE_NO\", key: \"flatHouseNumber\" },\n { label: \"EKYC_BUILDING_TOWER\", key: \"buildingTower\" },\n { label: \"EKYC_LANDMARK\", key: \"landmark\" },\n { label: \"EKYC_PINCODE\", key: \"pinCode\" },\n { label: \"EKYC_LOCALITY\", key: \"ward\" },\n { label: \"EKYC_ASSEMBLY\", key: \"assembly\" },\n { label: \"EKYC_GPS_VALID\", key: \"gpsValid\", isBool: true },\n { label: \"EKYC_LATITUDE\", key: \"latitude\" },\n { label: \"EKYC_LONGITUDE\", key: \"longitude\" },\n { label: \"EKYC_MOBILE_NO\", key: \"mobileNo\" },\n { label: \"EKYC_WHATSAPP_NO\", key: \"whatsappNo\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_NO_OF_PERSONS\", key: \"noOfPerson\" },\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n ];\n\n const propertyFields = [\n { label: \"EKYC_CONNECTION_CATEGORY\", key: \"connectionCategory\" },\n { label: \"EKYC_PID_NUMBER\", key: \"pidNumber\" },\n { label: \"EKYC_TYPE_OF_CONNECTION\", key: \"typeOfConnection\" },\n { label: \"EKYC_USER_TYPE\", key: \"userType\" },\n { label: \"EKYC_FLOOR_COUNT\", key: \"numberOfFloors\" },\n { label: \"EKYC_TENANT_NAME\", key: \"tenantName\" },\n { label: \"EKYC_TENANT_MOBILE\", key: \"tenantMobile\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const meterFields = [\n { label: \"EKYC_METERED\", key: \"metered\", isBool: true },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_METER_MAKE\", key: \"meterMake\" },\n { label: \"EKYC_METER_LOCATION_ADDRESS\", key: \"meterLocationAddress\" },\n { label: \"EKYC_METER_LATITUDE\", key: \"meterLatitude\" },\n { label: \"EKYC_METER_LONGITUDE\", key: \"meterLongitude\" },\n { label: \"EKYC_WORKING_STATUS\", key: \"workingStatus\", isBool: true },\n { label: \"EKYC_LAST_BILL_RAISED\", key: \"lastBillRaised\", isBool: true },\n { label: \"EKYC_SYSTEM_METER_ID\", key: \"systemMeterId\" },\n ];\n\n const handleDeclaration = () => setAgree(!agree);\n\n const handleReject = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"REJECTED\",\n remarks: \"Application rejected by reviewer\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Reject Error:\", err);\n }\n };\n\n const handleApprove = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"APPROVED\",\n remarks: \"All documents verified\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: false,\n label: t(\"EKYC_APPLICATION_APPROVE_SUCCESSFUL\") || \"Application Approved Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Approve Error:\", err);\n setToastData({\n error: true,\n label: err?.message || err?.response?.data?.message || \"Approve Error\",\n });\n setShowToast(true);\n }\n };\n\n const handleFinalSubmit = async () => {\n setIsSubmitting(true);\n try {\n const payload = {\n kno: activeKno,\n tenantId: tenantId,\n newData: {\n connectionDetails: connectionData,\n addressDetails: addressData,\n propertyInfo: propertyData,\n meterDetails: meterData,\n },\n };\n\n const result = await updateMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Submit Error:\", err);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleViewDocument = (fileStoreId) => {\n if (!fileStoreId) return;\n const documentUrl = `https://dev-djberp.nitcon.in/filestore/v1/files/id?tenantId=dl.djb&fileStoreId=${fileStoreId}`;\n setPreviewUrl(documentUrl);\n setShowPreview(true);\n };\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n if (option.action === t(\"Approve\")) {\n handleApprove();\n } else if (option.action === t(\"Reject\")) {\n handleReject();\n }\n };\n\n if (isSearchLoading || isSubmitting) return <Loader />;\n\n const baseUrl = \"/digit-ui/employee/ekyc\";\n\n return (\n <Fragment>\n <Card className=\"overflow-y-scroll\">\n {/* ── 1. Connection Details ────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_CONNECTION_DETAILS\")}\n fields={connectionFields}\n newData={connectionData}\n oldData={oldDataRaw?.connection}\n t={t}\n jumpTo={`${baseUrl}/consumer-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 2. Address Details ──────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_ADDRESS_DETAILS\")}\n fields={addressFields}\n newData={addressData}\n oldData={oldDataRaw?.address}\n t={t}\n jumpTo={`${baseUrl}/address-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 3. Property Info ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_PROPERTY_INFO\")}\n fields={propertyFields}\n newData={propertyData}\n oldData={oldDataRaw?.property}\n t={t}\n jumpTo={`${baseUrl}/property-info?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 4. Meter Details ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_METER_DETAILS\")}\n fields={meterFields}\n newData={meterData}\n oldData={oldDataRaw?.meter}\n t={t}\n jumpTo={`${baseUrl}/meter-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 5. Documents ────────────────────────────────────────────── */}\n <div style={{ marginTop: \"40px\" }}>\n <CardSubHeader style={{ marginBottom: \"20px\" }}>{t(\"EKYC_DOCUMENTS\")}</CardSubHeader>\n <StatusTable style={{ maxWidth: \"600px\" }}>\n <Row\n label={t(\"EKYC_DOOR_PHOTO\")}\n text={addressData.doorPhotoFilestoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n addressData.doorPhotoFilestoreId && (\n <div onClick={() => handleViewDocument(addressData.doorPhotoFilestoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n meterData.meterPhotoFileStoreId && (\n <div onClick={() => handleViewDocument(meterData.meterPhotoFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.buildingImageFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.buildingImageFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.propertyDocumentFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.propertyDocumentFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n </StatusTable>\n </div>\n\n {!hideEditButton && (\n <div style={{ marginTop: \"40px\", paddingTop: \"30px\", borderTop: \"1px solid #EAECF0\" }}>\n <CheckBox\n id=\"agreeDeclaration\"\n name=\"agreeDeclaration\"\n label={<span style={{ fontSize: \"16px\", color: \"#344054\" }}>{t(\"EKYC_FINAL_DECLARATION\")}</span>}\n onChange={handleDeclaration}\n checked={agree}\n />\n </div>\n )}\n\n {/* <ActionBar>\n <SubmitBar label={t(\"EKYC_REJECT\")} onSubmit={handleReject} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_APPROVE\")} onSubmit={handleApprove} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_SUBMIT_APPLICATION\")} onSubmit={handleFinalSubmit} disabled={!agree} />\n </ActionBar> */}\n {!hideEditButton && (\n <ActionBar>\n <SubmitBar\n label={t(\"TAKE_ACTION_FOR_APPROVE_REJECT\")}\n onSubmit={() => setShowOptions((prev) => !prev)}\n disabled={!agree}\n />\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n </Card>\n\n {/* ── Document Preview Modal ────────────────────────────────────── */}\n {showPreview && (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0,0,0,0.7)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 10000,\n }}\n >\n <div\n style={{\n position: \"relative\",\n backgroundColor: \"#fff\",\n padding: \"30px\",\n borderRadius: \"12px\",\n maxWidth: \"600px\",\n width: \"100%\",\n maxHeight: \"70vh\",\n overflow: \"auto\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n }}\n >\n <div\n onClick={() => setShowPreview(false)}\n style={{\n position: \"absolute\",\n top: \"10px\",\n right: \"10px\",\n cursor: \"pointer\",\n fontWeight: \"bold\",\n fontSize: \"20px\",\n color: \"#333\",\n background: \"#eee\",\n width: \"30px\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: \"50%\",\n }}\n >\n ×\n </div>\n <img\n src={previewUrl}\n alt=\"Document Preview\"\n style={{ maxWidth: \"100%\", height: \"auto\", display: \"block\" }}\n onError={(e) => {\n e.target.style.display = \"none\";\n e.target.nextSibling.style.display = \"block\";\n }}\n />\n <div style={{ display: \"none\", padding: \"40px\", textAlign: \"center\" }}>\n <p>{t(\"EKYC_DOCUMENT_PREVIEW_NOT_AVAILABLE\")}</p>\n <LinkButton label={t(\"EKYC_OPEN_IN_NEW_TAB\")} onClick={() => window.open(previewUrl, \"_blank\")} />\n </div>\n </div>\n </div>\n )}\n {showToast && (\n <Toast\n error={toastData.error}\n label={toastData.label}\n onClose={() => setShowToast(false)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { UploadFile, CheckBox, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst AadhaarVerificationConfig = (t, formData = {}, uploadFile, setDocumentId, documentId) => {\n const consumerType = formData?.consumerType?.name || formData?.consumerType;\n const occupantType = formData?.occupantType?.name || formData?.occupantType;\n const informantIsConsumer = formData?.informantIsConsumer ?? true;\n\n const fields = [\n {\n label: t(\"Consumer Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consumerType\",\n populators: {\n name: \"consumerType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Individual\" }, { name: \"Govt\" }, { name: \"Company_Society_Org\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Occupant Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"occupantType\",\n populators: {\n name: \"occupantType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Self\" }, { name: \"Tenanted\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Category Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"categoryType\",\n populators: {\n name: \"categoryType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Bulk\" }, { name: \"Non-Bulk\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"First Name\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"firstName\",\n validation: { required: true },\n },\n },\n {\n label: t(\"Middle Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"middleName\",\n },\n },\n {\n label: t(\"Last Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"lastName\",\n },\n },\n {\n label: t(\"Gender\"),\n isMandatory: false,\n type: \"custom\",\n key: \"gender\",\n populators: {\n name: \"gender\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Male\" }, { name: \"Female\" }, { name: \"Others\" }, { name: \"Not prefer to say\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Parent/Spouse Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"parentSpouseName\",\n },\n },\n {\n label: t(\"Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"mobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n error: t(\"Invalid mobile number\"),\n },\n },\n {\n label: t(\"WhatsApp\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"whatsapp\",\n },\n },\n {\n label: t(\"Email\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"email\",\n validation: {\n pattern: /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9.-]+$/,\n },\n error: t(\"Invalid email address\"),\n },\n },\n {\n label: t(\"No. of Residents\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"residents\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Type of Identity\"),\n isMandatory: true,\n type: \"custom\",\n key: \"identityType\",\n populators: {\n name: \"identityType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Aadhaar Card\" }, { name: \"Driving License\" }, { name: \"Passport\" }, { name: \"Voter ID\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Proof of Identity\"),\n isMandatory: false,\n type: \"custom\",\n key: \"idFile\",\n populators: {\n name: \"idFile\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n },\n {\n label: t(\"Document Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"documentNumber\",\n },\n },\n {\n label: t(\"Informant Is Consumer\"),\n isMandatory: false,\n type: \"custom\",\n key: \"informantIsConsumer\",\n populators: {\n name: \"informantIsConsumer\",\n component: (props) => (\n <CheckBox\n label={t(\"Yes, the informant is the consumer\")}\n checked={props.value ?? true}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n },\n ];\n\n // Informant conditional fields\n if (!informantIsConsumer) {\n fields.push(\n {\n label: t(\"Informant Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantName\",\n },\n },\n {\n label: t(\"Informant Relation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantRelation\",\n },\n }\n );\n }\n\n // Tenant conditional fields\n if (occupantType === \"Tenanted\") {\n fields.push({\n label: t(\"Document Proof\"),\n isMandatory: false,\n type: \"custom\",\n key: \"documentProof\",\n populators: {\n name: \"documentProof\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n });\n\n if (!documentId) {\n fields.push(\n {\n label: t(\"Owner Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"ownerMobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n },\n },\n {\n label: t(\"Tenant Verification\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"tenantVerification\",\n },\n }\n );\n }\n }\n\n // Govt conditional fields\n if (consumerType === \"Govt\") {\n fields.push(\n {\n label: t(\"Designation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"designation\",\n },\n },\n {\n label: t(\"Department\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"department\",\n },\n },\n {\n label: t(\"Employee ID\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"employeeId\",\n },\n }\n );\n }\n\n // Company / Society / Org conditional fields\n if (consumerType === \"Company_Society_Org\") {\n fields.push(\n {\n label: t(\"Entity Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"entityName\",\n },\n },\n {\n label: t(\"Contact Person\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"contactPerson\",\n },\n }\n );\n }\n\n // Consent checkbox field\n fields.push({\n label: t(\"Consent\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consent\",\n populators: {\n name: \"consent\",\n validation: { required: true },\n component: (props) => (\n <CheckBox\n label={t(\"I hereby consent to verify my Aadhaar details.\")}\n checked={props.value ?? false}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n });\n\n return [\n {\n head: t(\"EKYC_CONSUMER_CONNECTION\"),\n body: fields,\n },\n ];\n};\n\nexport default AadhaarVerificationConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport AadhaarVerificationConfig from \"../config/AadhaarVerificationConfig\";\n\nconst AadhaarVerification = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\") ||\n \"\";\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"CONNECTION\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.aadhaarVerification || {};\n\n // 🔹 STATES\n const [documentId, setDocumentId] = useState(savedData.documentId || null);\n const [documentProof, setDocumentProof] = useState(savedData.documentProof || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType ? { name: savedData.consumerType } : null,\n occupantType: savedData.occupantType ? { name: savedData.occupantType } : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || \"\",\n middleName: savedData.middleName || \"\",\n lastName: savedData.lastName || \"\",\n gender: savedData.gender ? { name: savedData.gender } : null,\n parentSpouseName: savedData.parentSpouseName || \"\",\n mobile: savedData.mobile || \"\",\n whatsapp: savedData.whatsapp || \"\",\n email: savedData.email || \"\",\n residents: savedData.residents || \"\",\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || \"\",\n informantRelation: savedData.informantRelation || \"\",\n documentId: savedData.documentId || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const details = rawData?.connectionDetails || rawData || {};\n const addrDetails = rawData?.addressDetails || {};\n\n if (details && Object.keys(details).length > 0 && !isDataLoaded) {\n let fName = \"\";\n let mName = \"\";\n let lName = \"\";\n\n if (details.firstName) {\n fName = details.firstName;\n mName = details.middleName || \"\";\n lName = details.lastName || \"\";\n } else if (details.consumerName) {\n const parts = details.consumerName.trim().split(/\\s+/);\n fName = parts[0] || \"\";\n if (parts.length === 2) lName = parts[1];\n if (parts.length > 2) {\n mName = parts.slice(1, -1).join(\" \");\n lName = parts[parts.length - 1];\n }\n }\n\n const updatedDefaults = {\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType\n ? { name: savedData.consumerType }\n : details.consumerType\n ? { name: details.consumerType }\n : null,\n occupantType: savedData.occupantType\n ? { name: savedData.occupantType }\n : details.occupantType\n ? { name: details.occupantType }\n : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || fName,\n middleName: savedData.middleName || mName,\n lastName: savedData.lastName || lName,\n gender: savedData.gender\n ? { name: savedData.gender }\n : details.gender\n ? { name: details.gender }\n : null,\n parentSpouseName: savedData.parentSpouseName || details.parentSpouse || \"\",\n mobile: savedData.mobile || details.phoneNumber || addrDetails.mobileNo || \"\",\n whatsapp: savedData.whatsapp || addrDetails.whatsappNo || \"\",\n email: savedData.email || details.email || addrDetails.email || \"\",\n residents: savedData.residents || (addrDetails.noOfPerson ? String(addrDetails.noOfPerson) : \"\"),\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || details.informantName || \"\",\n informantRelation: savedData.informantRelation || details.informantRelation || \"\",\n documentId: savedData.documentId || details.documentNumber || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.documentId) {\n setDocumentId(updatedDefaults.documentId);\n }\n if (updatedDefaults.documentProof) {\n setDocumentProof(updatedDefaults.documentProof);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUploadProof = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n if (fileStoreId) {\n onChange(file.name);\n setDocumentProof(file.name);\n setDocumentId(fileStoreId);\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Avoid updating states on every keypress unless they affect conditional visibility\n const consumerTypeChanged =\n (data?.consumerType?.name || data?.consumerType) !==\n (localFormData?.consumerType?.name || localFormData?.consumerType);\n const occupantTypeChanged =\n (data?.occupantType?.name || data?.occupantType) !==\n (localFormData?.occupantType?.name || localFormData?.occupantType);\n const informantIsConsumerChanged = data?.informantIsConsumer !== localFormData?.informantIsConsumer;\n\n if (consumerTypeChanged || occupantTypeChanged || informantIsConsumerChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const knoVal = data?.kno || searchKno;\n const consumerTypeVal = data?.consumerType;\n const occupantTypeVal = data?.occupantType;\n const categoryTypeVal = data?.categoryType;\n const firstNameVal = data?.firstName;\n const mobileVal = data?.mobile;\n const residentsVal = data?.residents;\n const consentVal = data?.consent;\n const docId = data?.documentId || documentId;\n const ownerMobileVal = data?.ownerMobile;\n\n let valid = true;\n if (!knoVal) valid = false;\n if (!consumerTypeVal) valid = false;\n if (!occupantTypeVal) valid = false;\n if (!categoryTypeVal) valid = false;\n if (!firstNameVal) valid = false;\n if (!mobileVal || !/^[6-9]\\d{9}$/.test(mobileVal)) valid = false;\n if (!residentsVal || Number(residentsVal) <= 0) valid = false;\n if (occupantTypeVal?.name === \"Tenanted\" && !docId && !ownerMobileVal) valid = false;\n if (!consentVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n kno: data.kno || searchKno,\n consumerType: data.consumerType?.name || data.consumerType,\n occupantType: data.occupantType?.name || data.occupantType,\n categoryType: data.categoryType?.name || data.categoryType,\n consumerName: data.consumerName || `${data.firstName || \"\"} ${data.middleName || \"\"} ${data.lastName || \"\"}`.trim(),\n firstName: data.firstName,\n middleName: data.middleName,\n lastName: data.lastName,\n gender: data.gender?.name || data.gender,\n parentSpouseName: data.parentSpouseName,\n relation: data.relation || savedData.relation || \"\",\n mobile: data.mobile,\n whatsapp: data.whatsapp,\n email: data.email,\n residents: data.residents,\n documentId: documentId,\n documentProof: documentProof,\n ownerMobile: data.ownerMobile,\n tenantVerification: data.tenantVerification,\n designation: data.designation,\n department: data.department,\n employeeId: data.employeeId,\n landline: data.landline || savedData.landline || \"\",\n entityRelation: data.entityRelation || savedData.entityRelation || \"\",\n contactPerson: data.contactPerson,\n entityName: data.entityName,\n idProof: data.identityType?.name || data.identityType,\n idNumber: data.documentNumber,\n consent: data.consent,\n informantIsConsumer: data.informantIsConsumer ?? true,\n informantName: data.informantName,\n informantRelation: data.informantRelation,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"CONSUMER\",\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Data updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update consumer details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = AadhaarVerificationConfig(t, localFormData, handleUploadProof, setDocumentId, documentId);\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default AadhaarVerification;\n","import AadhaarVerification from \"../components/AadhaarVerification\";\n\nexport const ekycConfig = [\n {\n body: [\n {\n route: \"consumer-details\",\n component: AadhaarVerification,\n key: \"aadhaarVerification\",\n texts: {\n header: \"EKYC_CONSUMER_CONNECTION\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 1,\n actions: \"EKYC_CONSUMER_CONNECTION\",\n },\n ],\n },\n {\n route: \"address-details\",\n component: \"AddressDetails\",\n key: \"addressDetails\",\n doorImage: true,\n showMapActualLocation: false,\n texts: {\n header: \"EKYC_ADDRESS_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 2,\n actions: \"EKYC_ADDRESS_DETAILS\",\n },\n ],\n },\n {\n route: \"property-info\",\n component: \"PropertyInfo\",\n key: \"propertyDetails\",\n texts: {\n header: \"EKYC_PROPERTY_INFO\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 3,\n actions: \"EKYC_PROPERTY_INFO\",\n },\n ],\n },\n {\n route: \"meter-details\",\n component: \"MeterDetails\",\n key: \"meterDetails\",\n texts: {\n header: \"EKYC_METER_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 4,\n actions: \"EKYC_METER_DETAILS\",\n },\n ],\n },\n ],\n },\n];\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n// import { useQueryClient } from \"react-query\";\nimport { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from \"react-router-dom\";\nimport { VerticalTimeline } from \"@djb25/digit-ui-react-components\";\nimport { ekycConfig } from \"../../config/config\";\n\nconst EKYCForm = ({ path: passedPath }) => {\n // const queryClient = useQueryClient();\n const match = useRouteMatch();\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const history = useHistory();\n\n let config = [];\n const [params, setParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n useEffect(() => {\n if (location.state && Object.keys(location.state).length > 0) {\n const { edits, ...rest } = location.state;\n setParams({ ...params, ...rest, ...edits });\n }\n }, [location.state]);\n\n const goNext = (skipStep, index, isAddMultiple, key) => {\n let currentPath = pathname.split(\"/\").pop();\n let routeObj = config.find((routeObj) => (key ? routeObj.key === key : routeObj.route === currentPath));\n if (!routeObj) routeObj = config.find((routeObj) => routeObj.route === currentPath);\n\n let nextStep = null;\n const currentIndex = config.findIndex((c) => c.route === routeObj.route);\n if (currentIndex > -1 && currentIndex < config.length - 1) {\n nextStep = config[currentIndex + 1].route;\n }\n\n let redirectWithHistory = history.push;\n if (skipStep) {\n redirectWithHistory = history.replace;\n }\n\n const base = passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\");\n if (nextStep === null) {\n return redirectWithHistory(`${base}/review`, { ...params, edits: params });\n }\n\n redirectWithHistory(`${base}/${nextStep}`, { ...params });\n };\n\n function handleSelect(key, data, skipStep, index, isAddMultiple = false, silent = false) {\n setParams((prev) => ({ ...prev, [key]: { ...params[key], ...data } }));\n if (!silent) {\n goNext(skipStep, index, isAddMultiple, key);\n }\n }\n\n // const onSuccess = () => {\n // clearParams();\n // queryClient.invalidateQueries(\"EKYC_CREATE\");\n // };\n\n ekycConfig.forEach((obj) => {\n config = config.concat(obj.body);\n });\n\n config.indexRoute = \"consumer-details\";\n\n const formStepRoutes = config.map((c) => c.route);\n const isFormStep = formStepRoutes.some((route) => pathname.includes(route));\n\n const sectionRefs = useRef({});\n\n useEffect(() => {\n if (isFormStep) {\n const currentRoute = pathname.split(\"/\").pop();\n if (sectionRefs.current[currentRoute]) {\n sectionRefs.current[currentRoute].scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }\n }\n }, [pathname, isFormStep]);\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={config} showFinalStep={true} />\n <div className=\"employee-form-section\">\n <Switch>\n <Route path={formStepRoutes.map((route) => `${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${route}`)}>\n <div className=\"single-page-form-container\">\n {config.map((routeObj, index) => {\n const { component } = routeObj;\n const Component = typeof component === \"string\" ? Digit.ComponentRegistryService.getComponent(component) : component;\n\n return (\n <div key={index} ref={(el) => (sectionRefs.current[routeObj.route] = el)} className=\"form-section-unit\">\n <Component\n config={{ ...routeObj, isCollapsible: true, defaultOpen: true }}\n onSelect={handleSelect}\n t={t}\n formData={params}\n // formData={{ ...params, address: params.addressDetails }}\n />\n </div>\n );\n })}\n </div>\n </Route>\n <Route>\n <Redirect to={`${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${config.indexRoute}`} />\n </Route>\n </Switch>\n </div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default EKYCForm;\n","import React from \"react\";\nexport function formReducer(state, payload) {\n const storageKey = \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n}\n\nexport const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n};\n\nexport const tableColumnConfig = (t, handleReview) => [\n {\n Header: t(\"SURVEYOR_NAME\"),\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const id = row.original?.id;\n return (\n <span className=\"link\" onClick={() => handleReview(id)}>\n {row.original?.surveyorName || row.original?.name || \"NA\"}\n </span>\n );\n },\n },\n // {\n // Header: t(\"SURVEYOR_NAME\"),\n // accessor: \"surveyorName\",\n // Cell: ({ row }) => <span>{row.original?.surveyorName || row.original?.name || \"NA\"}</span>,\n // },\n {\n Header: t(\"MOBILE_NUMBER\"),\n accessor: \"mobileNo\",\n Cell: ({ row }) => <span>{row.original?.mobileNo || row.original?.owner?.mobileNumber || \"NA\"}</span>,\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>;\n },\n },\n {\n Header: t(\"SERVICE_TYPE\"),\n accessor: \"serviceType\",\n Cell: ({ row }) => <span>{row.original?.serviceType || \"NA\"}</span>,\n },\n];\n","import { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { tableColumnConfig } from \"../../../vendor/src/config/tableConfig\";\n\nconst SupervisorInboxTableConfig = ({\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n onSortingByData,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n const handleReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n\n currentPage: Math.floor(offset / limit),\n\n onPageSizeChange,\n\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) + Number(limit),\n },\n }),\n\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) - Number(limit),\n },\n }),\n\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Math.ceil(totalCount / limit) * limit - Number(limit),\n },\n }),\n\n onFirstPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: 0 },\n }),\n\n totalRecords: totalCount,\n onSort: onSortingByData,\n\n data: table,\n columns: tableColumnConfig(t, handleReview),\n\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default SupervisorInboxTableConfig;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport SupervisorInboxTableConfig from \"../hook/SupervisorInboxTableConfig\";\nimport SearchFormFieldsComponents from \"./SearchFormFieldsComponent\";\nimport { formInitValue, formReducer } from \"../../../vendor/src/config/tableConfig\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\nimport useInboxMobileCardsData from \"../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst AssignEkyc = () => {\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\"; // Force tenantId to dl.djb for EKYC APIs in citizen portal\n }\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n let paginationParms = {\n limit: formState?.tableForm?.limit || 10,\n offset: formState?.tableForm?.offset || 0,\n sortBy: formState?.tableForm?.sortBy || \"createdTime\",\n sortOrder: formState?.tableForm?.sortOrder || \"DESC\",\n };\n\n const mobileNumber = formState?.searchForm?.mobileNumber || \"\";\n const isSearchActive = !!mobileNumber;\n\n const filters = {\n ...paginationParms,\n status: \"ACTIVE,DISABLED\",\n };\n\n if (isSearchActive) {\n filters.mobileNumber = mobileNumber;\n }\n\n const { data: dashboardData, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, filters, { enabled: !!tenantId, keepPreviousData: true });\n\n const { isLoading: isDataSearchLoading, data } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const sourceData = useMemo(() => {\n return dashboardData?.surveyors || [];\n }, [dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n const owner = item?.owner || {};\n const roleCodes = owner?.roles?.map((role) => role.code)?.join(\", \") || \"\";\n\n return {\n ...item,\n id: item?.id || \"\",\n surveyorName: item?.name || owner?.name || \"\",\n mobileNo: item?.mobileNo || owner?.mobileNumber || \"\",\n email: owner?.emailId || \"\",\n vendorId: item?.vendorId || \"\",\n tenantId: item?.tenantId || \"\",\n supervisorId: item?.supervisorId || \"\",\n status: item?.status || \"\",\n roleCodes,\n userName: owner?.userName || \"\",\n gender: owner?.gender || \"\",\n serviceType: item?.additionalDetails?.serviceType || \"\",\n createdTime: item?.auditDetails?.createdTime || 0,\n lastModifiedTime: item?.auditDetails?.lastModifiedTime || 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"mobile\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues } });\n dispatch({ action: \"mutateSearchForm\", data });\n };\n\n const searchFormDefaultValues = {\n mobileNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"mobileNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n });\n }\n }\n };\n\n const propsForInboxTable = SupervisorInboxTableConfig({\n ...{\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading;\n\n const cards = [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: data?.totalKnos || 0,\n color: \"#0B2559\",\n filter: null,\n active: true,\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: data?.totalAssignments || 0,\n color: \"#3B82F6\",\n filter: [\"ASSIGNED\"],\n type: \"week\",\n icon: <FaMapMarkedAlt />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: data?.completedKnos || 0,\n color: \"#10B981\",\n filter: [\"COMPLETED\"],\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: (data?.totalKnos || 0) - (data?.completedKnos || 0),\n color: \"#F59E0B\",\n filter: [\"PENDING\"],\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${data?.overallProgressPercent || 0}%`,\n color: \"#A855F7\",\n filter: [\"IN_PROGRESS\"],\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, isSupervisor: true });\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: dashboardData?.dashboardInfo,\n // cards,\n isCardLoading: isDataSearchLoading,\n showSearchOnMobile: true,\n forceTable: true,\n }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\n","import React, { useMemo, useState } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport Dashboard from \"./Dashboard\";\n\nconst parseAdditionalDetails = (additionalDetails) => {\n if (!additionalDetails) return {};\n if (typeof additionalDetails === \"object\") return additionalDetails;\n if (typeof additionalDetails !== \"string\") return {};\n try {\n return JSON.parse(additionalDetails);\n } catch (error) {\n return {};\n }\n};\n\nconst AdminDashboard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const vendorsList = useMemo(() => {\n if (vendorSearchResponse && vendorSearchResponse.length > 0) {\n const filteredVendors = vendorSearchResponse.filter((v) => {\n const dso = v.dsoDetails || v;\n const additionalDetails = parseAdditionalDetails(dso.additionalDetails || v.additionalDetails);\n return additionalDetails?.serviceType?.toLowerCase() === \"ekyc\";\n });\n\n return filteredVendors.map((v) => {\n const dso = v.dsoDetails || v;\n const supervisorsList = dso.supervisors || [];\n const surveyorsList = dso.surveyors || [];\n\n // Extract supervisor IDs for this vendor\n const supervisorIds = supervisorsList.map((s) => s.id || s.owner?.uuid).filter(Boolean);\n\n // Find supervisor reports in progressData matching these IDs\n const matchedReports = progressData?.supervisorReport?.filter(\n (r) => supervisorIds.includes(r.supervisorId)\n ) || [];\n\n const completed = matchedReports.reduce((acc, r) => acc + (r.submittedKnos || 0), 0);\n const pending = matchedReports.reduce((acc, r) => acc + (r.pendingKnos || 0), 0);\n const total = matchedReports.reduce((acc, r) => acc + (r.totalKnos || 0), 0);\n const progress = total > 0 ? Math.round((completed / total) * 100) : 0;\n const rejected = 0; // Default to 0 or calculate if data exists\n\n return {\n id: dso.id || dso.vendorId || v.id || v.vendorId,\n name: dso.name || dso.displayName || v.name || \"N/A\",\n ownerName: dso.owner?.name || v.owner?.name || \"N/A\",\n mobileNumber: dso.mobileNumber || dso.owner?.mobileNumber || v.mobileNumber || \"N/A\",\n supervisors: supervisorsList.length,\n surveyors: surveyorsList.length,\n completed: completed,\n progress: progress,\n pending: pending,\n rejected: rejected,\n };\n });\n }\n return [];\n }, [vendorSearchResponse, progressData]);\n\n return (\n <Card className=\"surveyor-dashboard\">\n <Dashboard />\n <div className=\"admin-performance-section\">\n <h3 className=\"section-title\">\n {t(\"EKYC_VENDORS_PERFORMANCE\") || \"eKYC Vendors Performance\"}\n </h3>\n\n {isVendorSearchLoading || isProgressLoading ? (\n <Loader />\n ) : (\n <div className=\"vendors-grid\">\n {vendorsList.length === 0 ? (\n <div className=\"no-vendors\">\n {t(\"NO_VENDORS_FOUND\") || \"No vendors found.\"}\n </div>\n ) : (\n vendorsList.map((vendor) => (\n <div\n key={vendor.id}\n className=\"vendor-perf-card\"\n onClick={() => history.push(`/digit-ui/employee/ekyc/vendors/${vendor.id}`)}\n >\n <div className=\"card-header\">\n <div className=\"vendor-info\">\n <h4>{vendor.name}</h4>\n <p>{t(\"MOBILE\") || \"Mobile\"}: {vendor.mobileNumber}</p>\n </div>\n <span className=\"progress-badge\">\n {vendor.progress}%\n </span>\n </div>\n\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${vendor.progress}%` }}></div>\n </div>\n\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.supervisors}</div>\n <div className=\"label\">{t(\"SUPERVISORS\") || \"Supervisors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.surveyors}</div>\n <div className=\"label\">{t(\"SURVEYORS\") || \"Surveyors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value completed-val\">{vendor.completed}</div>\n <div className=\"label\">{t(\"COMPLETED\") || \"Completed\"}</div>\n </div>\n </div>\n\n <div className=\"card-footer\">\n <span>{t(\"PENDING\") || \"Pending\"}: <span className=\"pending-count\">{vendor.pending}</span></span>\n <span>{t(\"REJECTED\") || \"Rejected\"}: <span className=\"rejected-count\">{vendor.rejected}</span></span>\n </div>\n </div>\n ))\n )}\n </div>\n )}\n </div>\n\n </Card>\n );\n};\n\nexport default AdminDashboard;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { downloadSupervisorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst SupervisorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { id: supervisorId } = useParams();\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // Fetch all supervisors to get details if assignment progress fails\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Fetch all surveyors to get details of connected surveyors if assignment progress fails\n const { data: surveyorSearchResponse, isLoading: isSurveyorSearchLoading } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n const supervisor = useMemo(() => {\n // 1. Try to get supervisor from progressData if it succeeded\n if (progressData?.supervisorReport) {\n let found = null;\n const targetId = supervisorId || loggedInUser?.uuid;\n if (targetId) {\n found = progressData.supervisorReport.find((s) =>\n s.supervisorId?.toLowerCase() === targetId?.toLowerCase() ||\n s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n if (found) return found;\n }\n\n // 2. Fallback to supervisorSearchResponse\n if (supervisorSearchResponse?.supervisors) {\n let matchedSup = null;\n const targetId = supervisorId || loggedInUser?.uuid;\n if (targetId) {\n matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n if (matchedSup) {\n // Find surveyors belonging to this supervisor from surveyorSearchResponse\n const matchedSurveyors = surveyorSearchResponse?.surveyors\n ? surveyorSearchResponse.surveyors\n .filter((surv) => surv.supervisorId === (matchedSup.id || matchedSup.owner?.uuid))\n .map((surv) => {\n // Find surveyor in progressData to get real statistics if available\n let realStats = null;\n if (progressData?.supervisorReport) {\n for (const report of progressData.supervisorReport) {\n const matchedSurv = report.surveyors?.find(\n (s) =>\n (s.surveyorId && (s.surveyorId === surv.id || s.surveyorId === surv.owner?.uuid)) ||\n (s.id && (s.id === surv.id || s.id === surv.owner?.uuid))\n );\n if (matchedSurv) {\n realStats = matchedSurv;\n break;\n }\n }\n }\n\n return {\n surveyorId: surv.id || surv.owner?.uuid,\n surveyorName: surv.name || surv.owner?.name || \"N/A\",\n mobileNo: surv.owner?.mobileNumber || surv.mobileNo || \"N/A\",\n status: surv.status || \"ACTIVE\",\n totalKnos: realStats?.totalKnos || 0,\n submittedKnos: realStats?.submittedKnos || 0,\n pendingKnos: realStats?.pendingKnos || 0,\n progressPercent: realStats?.progressPercent || 0,\n };\n })\n : [];\n\n const totalKnos = matchedSurveyors.reduce((acc, s) => acc + (s.totalKnos || 0), 0);\n const submittedKnos = matchedSurveyors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0);\n const pendingKnos = matchedSurveyors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0);\n const progressPercent = totalKnos > 0 ? Math.round((submittedKnos / totalKnos) * 100) : 0;\n\n return {\n supervisorId: matchedSup.id || matchedSup.owner?.uuid,\n supervisorName: matchedSup.name || matchedSup.owner?.name || \"N/A\",\n mobileNo: matchedSup.owner?.mobileNumber || matchedSup.mobileNo || \"N/A\",\n status: matchedSup.status || \"ACTIVE\",\n assignedZoneId: matchedSup.assignedZoneId || \"N/A\",\n vendorId: matchedSup.vendorId,\n surveyors: matchedSurveyors,\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }\n }\n\n return null;\n }, [progressData, supervisorSearchResponse, surveyorSearchResponse, supervisorId, loggedInUser?.uuid]);\n\n const fullName = supervisor?.supervisorName || \"N/A\";\n const mobileNumber = supervisor?.mobileNo || \"N/A\";\n const email = loggedInUser?.emailId || \"N/A\";\n const gender = loggedInUser?.gender || \"N/A\";\n const status = supervisor?.status || \"N/A\";\n const assignedZone = supervisor?.assignedZoneId || \"N/A\";\n\n const vendorName = useMemo(() => {\n if (!vendorSearchResponse || !supervisor) return \"N/A\";\n const targetVendorId = supervisor.vendorId;\n if (!targetVendorId) return \"N/A\";\n const matchedVendor = vendorSearchResponse.find(\n (v) => v.dsoDetails?.id === targetVendorId || v.dsoDetails?.vendorId === targetVendorId || v.id === targetVendorId || v.vendorId === targetVendorId\n );\n return matchedVendor?.dsoDetails?.name || matchedVendor?.name || \"N/A\";\n }, [vendorSearchResponse, supervisor]);\n\n const surveyors = useMemo(() => {\n return supervisor?.surveyors || [];\n }, [supervisor]);\n\n const cards = useMemo(() => [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: supervisor?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: supervisor?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: supervisor?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${supervisor?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ], [supervisor]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const paginatedSurveyors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return surveyors.slice(start, end);\n }, [surveyors, currentPage, pageSize]);\n\n const surveyorColumns = useMemo(\n () => [\n {\n Header: t(\"SURVEYOR_NAME\") || \"Surveyor Name\",\n accessor: (row) => row?.surveyorName || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/surveyor-dashboard/${row.original.surveyorId}`\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.surveyorName || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: () => \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || 0}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = surveyors.map((s) => ({\n name: s.surveyorName,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = supervisor?.totalKnos || 0;\n const completedKnos = supervisor?.submittedKnos || 0;\n\n downloadSupervisorPDF({\n rows: rowsWithStats,\n supervisorName: fullName,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate supervisor report:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handlePresetDownload = (filter) => {\n handleDownload();\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n handleDownload();\n };\n\n const handleDownloadEkycData = async () => {\n if (!surveyors || surveyors.length === 0) {\n alert(t(\"NO_SURVEYORS_ASSIGNED\") || \"No surveyors assigned to this supervisor.\");\n return;\n }\n\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n reportDownload: true\n });\n\n const consumerList = response?.consumerList || [];\n\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n // Text fields that should be Title Cased (incl. dot-notation like CONSUMERTYPE.INDIVIDUAL)\n const titleCaseFields = [\"ekycStatus\", \"zoneName\", \"gender\", \"relationship\", \"assembly\", \"ward\", \"consumerType\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && titleCaseFields.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_Supervisor_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isSupervisorSearchLoading || isSurveyorSearchLoading || isVendorSearchLoading;\n\n if (isPageLoading && !supervisor) {\n return <Loader />;\n }\n\n if (!supervisor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SUPERVISOR_FOUND\")}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n <div className=\"designation\">{t(\"FIELD_SUPERVISOR\") || \"Field Supervisor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isProgressLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{gender}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONE\") || \"Assigned Zone\"}</span>\n <span className=\"value\">{assignedZone}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\"}\n tableClass=\"ekycTable\"\n data={paginatedSurveyors}\n columns={surveyorColumns}\n isLoading={isProgressLoading}\n totalRecords={surveyors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(surveyors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(surveyors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default SupervisorDetailsCard;","import React, { useMemo, useState, useEffect } from \"react\";\nimport { Modal, Close, Table, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nconst AssignEkycModal = ({ surveyor, closeModal, refetchDashboard, tenantId: propsTenantId }) => {\n const { t } = useTranslation();\n const tenantId = propsTenantId || Digit.ULBService.getCurrentTenantId();\n const [selectedKnos, setSelectedKnos] = useState([]);\n const [isBulkSelection, setIsBulkSelection] = useState(false);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(10);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({\n error: false,\n label: \"\",\n });\n const [filters, setFilters] = useState({\n kno: \"\", // search value\n pincode: \"\",\n zoneCode: \"\",\n zoneName: \"\",\n ward: \"\",\n assembly: \"\",\n mrkey: \"\",\n ekycStatus: \"\",\n });\n\n const [debouncedFilters, setDebouncedFilters] = useState(filters);\n\n const { data: zroLocationsData, isLoading: isZroLoading } = Digit.Hooks.ws.useWSConfigMDMS.ZROLocation(tenantId);\n const mappedZROLocation = useMemo(() => {\n return (zroLocationsData || []).map((item) => ({\n code: item.code,\n name: item.name,\n }));\n }, [zroLocationsData]);\n\n const { data: egovLocationData } = Digit.Hooks.useCommonMDMS(tenantId, \"egov-location\", [\"TenantBoundary\"]);\n\n const boundaryData = useMemo(() => {\n const tenantBoundary = egovLocationData?.[\"egov-location\"]?.TenantBoundary || [];\n const revenueData = tenantBoundary.find((item) => item?.hierarchyType?.code === \"REVENUE\");\n const boundary = revenueData?.boundary || [];\n return Array.isArray(boundary) ? boundary : [boundary];\n }, [egovLocationData]);\n\n const { assemblyOptions, wardOptions } = useMemo(() => {\n const assemblies = new Map();\n const wards = new Map();\n\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const traverse = (node) => {\n if (!node) return;\n if (node.label === \"Ward\" || node.label === \"WARD\" || node.label === \"Block\" || node.label === \"BLOCK\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) wards.set(code, { code, name: name });\n }\n if (node.label === \"Assembly Constituency\" || node.label === \"ASSEMBLY_CONSTITUENCY\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) assemblies.set(code, { code, name: name });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach(traverse);\n }\n };\n\n boundaries.forEach(traverse);\n\n return {\n assemblyOptions: Array.from(assemblies.values()).sort((a, b) => a.name.localeCompare(b.name)),\n wardOptions: Array.from(wards.values()).sort((a, b) => a.name.localeCompare(b.name)),\n };\n }, [boundaryData]);\n\n const structuredLocalityData = useMemo(() => {\n let localities = [];\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const extractLocalities = (node) => {\n if (!node) return;\n\n if (node.label === \"Locality\" || node.label === \"LOCALITY\") {\n localities.push({\n ...node,\n name: node.localname || node.name || node.code,\n });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach((child) => extractLocalities(child));\n }\n };\n\n boundaries.forEach((rootNode) => extractLocalities(rootNode));\n\n return localities;\n }, [boundaryData]);\n\n const fetchedPincodes = useMemo(() => {\n const pinSet = new Set();\n\n structuredLocalityData.forEach((loc) => {\n if (loc.pincode) {\n const pins = Array.isArray(loc.pincode) ? loc.pincode : [loc.pincode];\n pins.forEach((p) => {\n if (p) {\n const sanitizedPin = p.toString().split(\".\")[0];\n pinSet.add(sanitizedPin);\n }\n });\n }\n });\n\n return Array.from(pinSet).sort();\n }, [structuredLocalityData]);\n\n const { data: filterOptionsData } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: true,\n fetchFilterOptions: true,\n },\n {\n tenantId: tenantId,\n offset: 0,\n limit: 1000,\n },\n {\n staleTime: Infinity,\n }\n );\n\n const pincodeOptions = useMemo(() => {\n if (!filterOptionsData) return fetchedPincodes || [];\n const pins = filterOptionsData.pincodeOptions || [];\n return Array.isArray(pins) ? pins.filter(Boolean).map(String).sort() : [];\n }, [filterOptionsData, fetchedPincodes]);\n\n const mrkeyOptions = useMemo(() => {\n if (!filterOptionsData) return [];\n const keys = filterOptionsData.mrkeyOptions || [];\n return Array.isArray(keys) ? keys.filter(Boolean).map(String).sort() : [];\n }, [filterOptionsData]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedFilters(filters);\n }, 500);\n\n return () => clearTimeout(timer);\n }, [filters]);\n\n useEffect(() => {\n setCurrentPage(0);\n }, [debouncedFilters, filters.kno]);\n\n const { data: applicationData, isFetching: isLoading, refetch: refetchApplicationList } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: true,\n /*\n ...(debouncedFilters.kno && {\n kno: debouncedFilters.kno,\n }),\n */\n ...(filters.kno && {\n kno: filters.kno,\n }),\n\n ...(debouncedFilters.ekycStatus && {\n ekycStatus: debouncedFilters.ekycStatus,\n }),\n\n ...(debouncedFilters.zoneName && {\n zoneName: debouncedFilters.zoneName,\n }),\n\n ...(debouncedFilters.assembly && {\n assembly: debouncedFilters.assembly,\n }),\n\n ...(debouncedFilters.ward && {\n ward: debouncedFilters.ward,\n }),\n\n ...(debouncedFilters.mrkey && {\n mrkey: debouncedFilters.mrkey,\n }),\n\n ...(debouncedFilters.pincode && {\n pincode: debouncedFilters.pincode,\n }),\n },\n {\n tenantId: tenantId,\n offset: currentPage * pageSize,\n limit: pageSize,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const handleAssignmentError = (errMsg, variables) => {\n const isAlreadyAssigned =\n errMsg.toLowerCase().includes(\"already assigned\") ||\n errMsg.toLowerCase().includes(\"already assign\") ||\n errMsg.toLowerCase().includes(\"active assignment\") ||\n errMsg.toLowerCase().includes(\"mrkey\") ||\n errMsg.toLowerCase().includes(\"mr key\") ||\n errMsg.toLowerCase().includes(\"kno\") ||\n errMsg.toLowerCase().includes(\"already exists\");\n\n if (isAlreadyAssigned) {\n const isMrKeyType = variables?.assignmentType === \"MRKEY\";\n\n if (isMrKeyType) {\n setToastData({\n error: true,\n label: t(\"EKYC_MR_KEY_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"mr key is already assign with another surveyor\",\n });\n } else {\n setToastData({\n error: true,\n label: t(\"EKYC_KNO_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"kno is already assign with another surveyor\",\n });\n }\n } else {\n setToastData({\n error: true,\n label: t(errMsg) || errMsg || t(\"EKYC_SOMETHING_WENT_WRONG\") || \"Something went wrong\",\n });\n }\n setShowToast(true);\n };\n\n const assignmentMutation = Digit.Hooks.ekyc.useEkycAssignmentCreate({\n onSuccess: (response, variables) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n return;\n }\n\n // Check for skipped assignments (e.g. 200 OK but skipped)\n if (response?.skipped && response.skipped.length > 0) {\n const reason = response.skipped[0]?.reason || \"\";\n handleAssignmentError(reason, variables);\n return;\n }\n\n setToastData({\n error: false,\n label: t(\"EKYC_ASSIGNMENT_SUCCESSFUL\") || \"Assignment successful\",\n });\n\n setShowToast(true);\n\n // optional delay so user can see the success toast\n setTimeout(async () => {\n if (refetchDashboard) {\n await refetchDashboard();\n }\n if (refetchApplicationList) {\n await refetchApplicationList();\n }\n closeModal();\n }, 1000);\n },\n\n onError: (error, variables) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n },\n });\n\n const tableData = applicationData?.consumerList || [];\n\n const getAssignmentPayload = () => {\n if (isBulkSelection) {\n const filterMappings = [\n { key: \"ekycStatus\", type: \"EKYCSTATUS\" },\n { key: \"zoneName\", type: \"ZONENAME\" },\n { key: \"assembly\", type: \"ASSEMBLY\" },\n { key: \"ward\", type: \"WARD\" },\n { key: \"mrkey\", type: \"MRKEY\" },\n { key: \"pincode\", type: \"PINCODE\" },\n ];\n\n const appliedFilter = filterMappings.find(({ key }) => debouncedFilters[key]);\n\n if (appliedFilter) {\n return {\n assignmentType: appliedFilter.type,\n assignmentValue: debouncedFilters[appliedFilter.key],\n };\n }\n }\n\n return {\n assignmentType: \"KNO\",\n assignmentValue: selectedKnos,\n };\n };\n\n const handleAssign = () => {\n const { assignmentType, assignmentValue } = getAssignmentPayload();\n\n assignmentMutation.mutate({\n tenantId: tenantId,\n surveyorId: surveyor?.owner?.uuid,\n assignmentType,\n assignmentValue,\n });\n };\n\n const handleSelectAll = () => {\n setIsBulkSelection(true);\n\n const pageKnos = tableData.map((item) => item.kno);\n\n const allSelected = pageKnos.length > 0 && pageKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos((prev) => (allSelected ? prev.filter((kno) => !pageKnos.includes(kno)) : [...new Set([...prev, ...pageKnos])]));\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => (\n <input\n type=\"checkbox\"\n checked={tableData.length > 0 && tableData.every((item) => selectedKnos.includes(item.kno))}\n onChange={handleSelectAll}\n />\n ),\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return <input type=\"checkbox\" checked={selectedKnos.includes(kno)} onChange={() => handleSelect(kno)} />;\n },\n },\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n {\n Header: \"Pincode\",\n accessor: \"pincode\",\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{t(status)}</span> : \"-\";\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedKnos, tableData]\n );\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n return (\n <Modal\n headerBarMain={`Assign KNOs to ${surveyor?.name}`}\n headerBarEnd={<Close onClick={closeModal} />}\n actionCancelLabel=\"Cancel\"\n actionCancelOnSubmit={closeModal}\n actionSaveLabel={t(\"EKYC_ASSIGN_KNOS\") || \"Assign KNOs\"}\n actionSaveOnSubmit={handleAssign}\n isDisabled={!selectedKnos?.length}\n >\n <div className=\"assign-knos-modal\">\n {/* Filters */}\n <div className=\"filters-grid\">\n <input className=\"form-control\" placeholder=\"KNO\" value={filters.kno} onChange={(e) => handleFilterChange(\"kno\", e.target.value)} />\n\n <select className=\"form-control\" value={filters.pincode} onChange={(e) => handleFilterChange(\"pincode\", e.target.value)}>\n <option value=\"\">Select Pincode</option>\n {pincodeOptions.map((pin) => (\n <option key={pin} value={pin}>\n {pin}\n </option>\n ))}\n </select>\n\n {/* <select\n className=\"form-control\"\n value={filters.zoneName}\n onChange={(e) => {\n const val = e.target.value;\n setFilters((prev) => ({\n ...prev,\n zoneCode: val,\n zoneName: val,\n }));\n }}\n disabled={isZroLoading}\n >\n <option value=\"\">{isZroLoading ? \"Loading ZRO Locations...\" : \"Select ZRO Location\"}</option>\n {mappedZROLocation.map((loc) => (\n <option key={loc.code} value={loc.name}>\n {loc.name}\n </option>\n ))}\n </select> */}\n\n <select className=\"form-control\" value={filters.ward} onChange={(e) => handleFilterChange(\"ward\", e.target.value)}>\n <option value=\"\">Select Ward</option>\n {wardOptions\n .filter((ward) => {\n const stripped = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return stripped.trim().length > 0;\n })\n .map((ward) => {\n const displayName = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return (\n <option key={ward.code} value={ward.name}>\n {displayName}\n </option>\n );\n })}\n </select>\n\n <select className=\"form-control\" value={filters.assembly} onChange={(e) => handleFilterChange(\"assembly\", e.target.value)}>\n <option value=\"\">Select Assembly</option>\n {assemblyOptions.map((assembly) => (\n <option key={assembly.code} value={assembly.name}>\n {assembly.name}\n </option>\n ))}\n </select>\n\n <select className=\"form-control\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)}>\n <option value=\"\">Select MR Key</option>\n {mrkeyOptions.map((key) => (\n <option key={key} value={key}>\n {key}\n </option>\n ))}\n </select>\n\n {selectedKnos.length > 0 && (\n <button className=\"clear-selected-btn\" type=\"button\" onClick={() => setSelectedKnos([])}>\n {t(\"EKYC_CLEAR_SELECTION\") || \"Clear Selected\"}\n </button>\n )}\n\n {/* <select className=\"form-control\" value={filters.ekycStatus} onChange={(e) => handleFilterChange(\"ekycStatus\", e.target.value)}>\n <option value=\"\">All eKYC Status</option>\n <option value=\"PENDING\">Pending</option>\n <option value=\"APPROVED\">Approved</option>\n <option value=\"REJECTED\">Rejected</option>\n </select> */}\n </div>\n\n {/* Table */}\n <Table\n tableTitle=\"eKYC Applications\"\n tableClass=\"ekycTable\"\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n totalRecords={applicationData?.totalCount || 0}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n manualPagination={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (applicationData?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((applicationData?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n {showToast && <Toast error={toastData.error} label={toastData.label} onClose={() => setShowToast(false)} />}\n </Modal>\n );\n};\n\nexport default AssignEkycModal;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\n// import { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, PieChart, Pie, Cell, Legend } from \"recharts\";\n\nimport { Card, SubmitBar, ActionBar, Menu, Loader, Table } from \"@djb25/digit-ui-react-components\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\n\nimport AssignEkycModal from \"./AssignEkycModal\";\nimport { downloadSurveyorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\n\nconst SurveyorDetailsDashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const [showModal, setShowModal] = useState(false);\n const [showOptions, setShowOptions] = useState(false);\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const { id: surveyorId } = useParams();\n const ownerIds = Digit.SessionStorage.get(\"User\")?.info?.uuid;\n\n const { t } = useTranslation();\n\n const { data: surveyorSearchById, isLoading: isLoadingId } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { ids: surveyorId },\n { enabled: !!surveyorId, staleTime: Infinity }\n );\n\n const hasFoundById = !!(surveyorSearchById?.surveyors?.length);\n\n const { data: surveyorSearchByOwner, isLoading: isLoadingOwner } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n surveyorId ? { ownerIds: surveyorId } : { ownerIds },\n { enabled: !surveyorId || (!isLoadingId && !hasFoundById), staleTime: Infinity }\n );\n\n const surveyorSearchResponse = useMemo(() => {\n if (surveyorId && hasFoundById) {\n return surveyorSearchById;\n }\n return surveyorSearchByOwner;\n }, [surveyorId, hasFoundById, surveyorSearchById, surveyorSearchByOwner]);\n\n const isLoading = surveyorId ? (isLoadingId || (isLoadingOwner && !hasFoundById)) : isLoadingOwner;\n\n const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n\n const surveyor = useMemo(() => {\n return surveyorSearchResponse?.surveyors?.[0] || null;\n }, [surveyorSearchResponse]);\n\n const { data: vendorData, isLoading: isVendorLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n const vendorName = useMemo(() => {\n if (surveyor?.vendorName) return surveyor.vendorName;\n if (!vendorData || !surveyor?.vendorId) return \"N/A\";\n const mappedVendor = vendorData.find((v) => v.dsoDetails?.id === surveyor.vendorId || v.dsoDetails?.vendorId === surveyor.vendorId);\n return mappedVendor?.dsoDetails?.name || surveyor.vendorId || \"N/A\";\n }, [vendorData, surveyor?.vendorId, surveyor?.vendorName]);\n\n const supervisorName = useMemo(() => {\n if (surveyor?.supervisorName) return surveyor.supervisorName;\n if (!supervisorSearchResponse?.supervisors || !surveyor?.supervisorId) return \"N/A\";\n const mappedSupervisor = supervisorSearchResponse.supervisors.find(\n (s) => s.id === surveyor.supervisorId || s.owner?.uuid === surveyor.supervisorId\n );\n return mappedSupervisor?.name || mappedSupervisor?.owner?.name || surveyor.supervisorId || \"N/A\";\n }, [supervisorSearchResponse, surveyor?.supervisorId, surveyor?.supervisorName]);\n const fullName = surveyor?.owner?.name || surveyor?.name || \"N/A\";\n const employeeId = surveyor?.employeeId || surveyor?.owner?.uuid || surveyor?.id;\n const mobileNumber = surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\";\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const queryParams = {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n surveyorId: surveyor?.owner?.uuid,\n };\n\n const { isFetching: isDashboardLoading, data: dashboardData = {}, refetch: refetchDashboard } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n queryParams,\n {\n enabled: !!queryParams.tenantId && !!queryParams.surveyorId,\n keepPreviousData: true,\n }\n );\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const knoColumns = useMemo(\n () => [\n {\n Header: t(\"KNO\") || \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: t(\"CONSUMER_NAME\") || \"Consumer Name\",\n accessor: (row) => toTitleCase(`${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim()),\n id: \"consumerName\",\n },\n {\n Header: t(\"ZONE\") || \"Zone\",\n accessor: (row) => toTitleCase(row.zoneName),\n id: \"zoneName\",\n },\n {\n Header: t(\"EKYC_STATUS\") || \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{toTitleCase(value)}</span> : \"-\";\n },\n },\n {\n Header: t(\"SUBMITTED_AT\") || \"Submitted At\",\n accessor: \"submittedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"ASSIGNED_AT\") || \"Assigned At\",\n accessor: \"assignedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n ],\n [t]\n );\n\n // ─── Download Report hooks (must be before any early returns) ───────\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const isPageLoading = isLoading || isVendorLoading || isSupervisorSearchLoading;\n\n if (isPageLoading && !surveyor) {\n return <Loader />;\n }\n\n if (!surveyor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SURVEYOR_FOUND\")}</div>\n </Card>\n );\n }\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: range.from.getTime(),\n toDate: range.to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: from.getTime(),\n toDate: to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch custom dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const options = [{ action: \"Assign\" }];\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n setShowModal(true);\n };\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n surveyorId: surveyor?.owner?.uuid,\n reportDownload: true,\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n // Text fields that should be Title Cased (incl. dot-notation like CONSUMERTYPE.INDIVIDUAL)\n const titleCaseFields = [\"ekycStatus\", \"zoneName\", \"gender\", \"relationship\", \"assembly\", \"ward\", \"consumerType\"];\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n // Apply Title Case to known text fields; leave numbers, KNO, mobile, pincode as-is\n if (typeof val === \"string\" && titleCaseFields.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const closeModal = async () => {\n setShowModal(false);\n };\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n\n <div className=\"designation\">{surveyor?.description || t(\"FIELD_SURVEYOR\")}</div>\n\n {/* <div className=\"employee-id\">\n {t(\"EMPLOYEE_ID\")}: {employeeId}\n </div> */}\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"FROM_DATE\") || \"From\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) => setCustomDate((d) => ({ ...d, from: e.target.value }))}\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"TO_DATE\") || \"To\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) => setCustomDate((d) => ({ ...d, to: e.target.value }))}\n />\n </div>\n\n <button className=\"download-action-btn\" onClick={handleCustomDownload}>\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n <StatCard title={t(\"TOTAL_ASSIGNED\")} value={dashboardData?.dashboardInfo?.total || 0} type=\"today\" isLoading={isDashboardLoading} icon={<FaUsers />} />\n <StatCard title={t(\"COMPLETED\")} value={dashboardData?.dashboardInfo?.completed || 0} type=\"week\" isLoading={isDashboardLoading} icon={<FaCheckCircle />} />\n <StatCard title={t(\"PENDING\")} value={dashboardData?.dashboardInfo?.pending || 0} type=\"pending\" isLoading={isDashboardLoading} icon={<FaClock />} />\n <StatCard title={t(\"SUBMITTED\")} value={dashboardData?.dashboardInfo?.submittedCount || 0} type=\"month\" isLoading={isDashboardLoading} icon={<FaChartLine />} />\n </div>\n\n {/* Charts */}\n <div className=\"charts-wrapper\">\n {/* Weekly Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"WEEKLY_SURVEY_PROGRESS\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart data={weeklyData}>\n <CartesianGrid strokeDasharray=\"3 3\" />\n\n <XAxis dataKey=\"day\" />\n\n <YAxis />\n\n <Tooltip />\n\n <Bar dataKey=\"completed\" fill=\"#0B2559\" radius={[6, 6, 0, 0]} />\n </BarChart>\n </ResponsiveContainer>\n </div> */}\n\n {/* Pie Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"CASE_DISTRIBUTION\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <PieChart>\n <Pie data={statusData} dataKey=\"value\" nameKey=\"name\" outerRadius={90} label>\n {statusData.map((entry, index) => (\n <Cell key={index} fill={entry.color} />\n ))}\n </Pie>\n\n <Tooltip />\n\n <Legend />\n </PieChart>\n </ResponsiveContainer>\n </div> */}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{surveyor?.owner?.emailId || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{surveyor?.owner?.gender || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{surveyor?.status || \"N/A\"}</span>\n </div>\n\n {/* <div className=\"detail-item\">\n <span className=\"label\">{t(\"SERVICE_TYPE\")}</span>\n <span className=\"value\">{surveyor?.additionalDetails?.serviceType || \"N/A\"}</span>\n </div> */}\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SUPERVISOR_NAME\") || \"Supervisor Name\"}</span>\n <span className=\"value\">{supervisorName}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"ASSIGNED_KNOS\")}\n tableClass=\"ekycTable\"\n data={dashboardData?.dashboardInfo?.consumerList || []}\n columns={knoColumns}\n isLoading={isDashboardLoading}\n totalRecords={dashboardData?.dashboardInfo?.total}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n showAutoSerialNo={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (dashboardData?.dashboardInfo?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((dashboardData?.dashboardInfo?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n {/* Actions */}\n {roles.includes(\"EKYC_SUPERVISOR\") && (\n <ActionBar>\n <SubmitBar label={t(\"EKYC_ASSIGN_KNOS\")} onSubmit={() => setShowOptions((prev) => !prev)} />\n\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n\n {showModal && <AssignEkycModal surveyor={surveyor} closeModal={closeModal} refetchDashboard={refetchDashboard} />}\n </Card>\n );\n};\n\nexport default SurveyorDetailsDashboard;\n","import React from \"react\";\nimport { FaUsers, FaUserTie, FaMapMarkedAlt, FaCheckCircle, FaClock, FaExclamationTriangle, FaChartLine } from \"react-icons/fa\";\n\nconst vendors = [\n {\n id: 1,\n name: \"Vendor Alpha\",\n progress: 78,\n supervisors: 12,\n surveyors: 148,\n completed: 154200,\n pending: 43200,\n rejected: 3200,\n },\n {\n id: 2,\n name: \"Vendor Beta\",\n progress: 64,\n supervisors: 10,\n surveyors: 122,\n completed: 121000,\n pending: 68500,\n rejected: 2800,\n },\n {\n id: 3,\n name: \"Vendor Gamma\",\n progress: 91,\n supervisors: 15,\n surveyors: 182,\n completed: 201500,\n pending: 19800,\n rejected: 1800,\n },\n];\n\nconst zones = [\n {\n zone: \"North Delhi\",\n totalConnections: 220000,\n ekycDone: 172000,\n liveSurveyors: 58,\n todayCompleted: 2800,\n },\n {\n zone: \"South Delhi\",\n totalConnections: 198000,\n ekycDone: 154500,\n liveSurveyors: 42,\n todayCompleted: 2100,\n },\n {\n zone: \"East Delhi\",\n totalConnections: 175000,\n ekycDone: 132800,\n liveSurveyors: 37,\n todayCompleted: 1740,\n },\n {\n zone: \"West Delhi\",\n totalConnections: 212000,\n ekycDone: 188300,\n liveSurveyors: 48,\n todayCompleted: 2560,\n },\n];\n\nconst alerts = [\n \"15 Surveyors inactive for more than 2 hours\",\n \"Vendor Beta completion dropped by 12% this week\",\n \"North Delhi has highest pending backlog\",\n \"2,843 eKYC applications rejected today\",\n];\n\nconst CeoDashboard = () => {\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"ceo-dashboard\">\n <main className=\"main-content\">\n <div className=\"kpi-grid\">\n <div className=\"kpi-card primary\">\n <div className=\"icon-box\">\n <FaUsers />\n </div>\n <div>\n <h3>7,85,000</h3>\n <p>Total Water Connections</p>\n </div>\n </div>\n\n <div className=\"kpi-card success\">\n <div className=\"icon-box\">\n <FaCheckCircle />\n </div>\n <div>\n <h3>6,47,300</h3>\n <p>eKYC Completed</p>\n </div>\n </div>\n\n <div className=\"kpi-card warning\">\n <div className=\"icon-box\">\n <FaClock />\n </div>\n <div>\n <h3>1,31,500</h3>\n <p>Pending eKYC</p>\n </div>\n </div>\n\n <div className=\"kpi-card danger\">\n <div className=\"icon-box\">\n <FaExclamationTriangle />\n </div>\n <div>\n <h3>7,200</h3>\n <p>Rejected Applications</p>\n </div>\n </div>\n </div>\n <section className=\"dashboard-section\">\n <div className=\"section-header\">\n <h2>\n <FaChartLine /> Vendor Performance Overview\n </h2>\n <button>View All</button>\n </div>\n\n <div className=\"vendor-grid\">\n {vendors.map((vendor) => (\n <div className=\"vendor-card\" key={vendor.id}>\n <div className=\"vendor-top\">\n <div>\n <h3>{vendor.name}</h3>\n <p>Jurisdiction Assigned Vendor</p>\n </div>\n\n <span>{vendor.progress}%</span>\n </div>\n\n <div className=\"progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${vendor.progress}%` }}></div>\n </div>\n\n <div className=\"vendor-stats\">\n <div>\n <h4>{vendor.supervisors}</h4>\n <p>Supervisors</p>\n </div>\n\n <div>\n <h4>{vendor.surveyors}</h4>\n <p>Surveyors</p>\n </div>\n\n <div>\n <h4>{vendor.completed}</h4>\n <p>Completed</p>\n </div>\n </div>\n\n <div className=\"vendor-footer\">\n <span>Pending: {vendor.pending}</span>\n <span>Rejected: {vendor.rejected}</span>\n </div>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"dashboard-section\">\n <div className=\"section-header\">\n <h2>\n <FaMapMarkedAlt /> Jurisdiction Monitoring\n </h2>\n <button>Export Data</button>\n </div>\n\n <div className=\"table-wrapper\">\n <table>\n <thead>\n <tr>\n <th>Zone</th>\n <th>Total Connections</th>\n <th>eKYC Done</th>\n <th>Live Surveyors</th>\n <th>Today's Completion</th>\n <th>Status</th>\n </tr>\n </thead>\n\n <tbody>\n {zones.map((item, index) => (\n <tr key={index}>\n <td>{item.zone}</td>\n <td>{item.totalConnections}</td>\n <td>{item.ekycDone}</td>\n <td>{item.liveSurveyors}</td>\n <td>{item.todayCompleted}</td>\n <td>\n <span className=\"status-badge success\">Active</span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <div className=\"bottom-grid\">\n <section className=\"dashboard-section alerts-section\">\n <div className=\"section-header\">\n <h2>\n <FaExclamationTriangle /> Critical Alerts\n </h2>\n </div>\n\n <div className=\"alerts-list\">\n {alerts.map((alert, index) => (\n <div className=\"alert-card\" key={index}>\n <FaExclamationTriangle />\n <p>{alert}</p>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"dashboard-section team-section\">\n <div className=\"section-header\">\n <h2>\n <FaUserTie /> Workforce Monitoring\n </h2>\n </div>\n\n <div className=\"team-stats-grid\">\n <div className=\"team-box\">\n <h3>37</h3>\n <p>Total Supervisors Online</p>\n </div>\n\n <div className=\"team-box\">\n <h3>154</h3>\n <p>Surveyors Active</p>\n </div>\n\n <div className=\"team-box\">\n <h3>12,430</h3>\n <p>Today's eKYC Completed</p>\n </div>\n\n <div className=\"team-box\">\n <h3>92%</h3>\n <p>Operational Efficiency</p>\n </div>\n </div>\n </section>\n </div>\n </main>\n </div>\n </div>\n );\n};\n\nexport default CeoDashboard;\n","import Dashboard from \"../components/Dashboard\";\nimport Inbox from \"../pages/employee/Inbox\";\nimport Create from \"../pages/employee/Create\";\nimport Mapping from \"../pages/employee/Mapping\";\nimport EKYCForm from \"../pages/employee/EKYCForm\";\nimport Review from \"../components/Review\";\nimport AssignEkyc from \"../components/AssignEkyc\";\nimport AdminDashboard from \"../components/AdminDashboard\";\nimport CeoDashboard from \"../components/CeoDashboard\";\nimport VendorDetailsCard from \"../components/VendorDetailsCard\";\nimport SupervisorDetailsCard from \"../components/SupervisorDetailsCard\";\nimport SurveyorDetailsCard from \"../components/SurveyorDetailsCard\";\n\n\n// yeh function role (employee/citizen) leta hai aur uske hisaab se\n// breadcrumb ka URL bana deta hai. Baaki sab kuch same rehta hai.\nconst breadcrumb = (userType, listLabel, listPath, detailLabel) => [\n { label: listLabel, path: `/digit-ui/${userType}/ekyc/${listPath}` },\n { label: detailLabel },\n];\n\n// 👇 isi function ko employee ke liye bhi call karenge, citizen ke liye bhi\nexport const getEkycRoutes = (userType) => [\n // ---- simple pages ----\n { path: \"/dashboard\", component: Dashboard, layout: \"normal\", breadcrumb: \"EKYC_DASHBOARD\" },\n { path: \"/inbox\", component: Inbox, layout: \"normal\", breadcrumb: \"EKYC_INBOX\" },\n { path: \"/review/:kno\", component: Review, layout: \"normal\", breadcrumb: \"EKYC_REVIEW\" },\n { path: \"/create-kyc\", component: Create, layout: \"normal\", breadcrumb: \"EKYC_CREATE_KYC\" },\n { path: \"/mapping\", component: Mapping, layout: \"normal\", breadcrumb: \"EKYC_MAPPING\" },\n { path: \"/admin-dashboard\", component: AdminDashboard, layout: \"normal\", breadcrumb: \"EKYC_ADMIN_DASHBOARD\" },\n { path: \"/ceo-dashboard\", component: CeoDashboard, layout: \"normal\", breadcrumb: \"CEO_M.F_DOR_FINANCE_VIEW\" },\n\n // ---- EKYC form ke 4 steps ----\n { path: \"/consumer-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_CONSUMER_DETAILS\" },\n { path: \"/address-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_ADDRESS_DETAILS\" },\n { path: \"/property-info\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_PROPERTY_INFO\" },\n { path: \"/meter-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_METER_DETAILS\" },\n\n // ---- assign ----\n {\n path: [\"/assign\"],\n component: AssignEkyc,\n layout: \"normal\",\n breadcrumb: [{ label: \"EKYC_ASSIGN\", path: `/digit-ui/${userType}/ekyc/assign` }],\n },\n\n // ---- detail-card wale routes ----\n // {\n // path: [\"/review/:kno\", \"/review\"],\n // component: Review,\n // layout: \"action\",\n // breadcrumb: breadcrumb(userType, \"EKYC_INBOX\", \"inbox:kno\", \"EKYC_REVIEW\"),\n // },\n {\n path: [\"/vendors/:vendorId\", \"/vendors\"],\n component: VendorDetailsCard,\n layout: \"normal\",\n breadcrumb: breadcrumb(userType, \"EKYC_VENDORS\", \"vendors:vendorId\", \"EKYC_VENDOR_DETAILS\"),\n },\n {\n path: [\"/supervisor-dashboard/:id\", \"/supervisor-dashboard\"],\n component: SupervisorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SUPERVISOR_DASHBOARD\", \"supervisor-dashboard:id\", \"EKYC_SUPERVISOR_DETAILS\"),\n },\n {\n path: [\"/surveyor-dashboard/:id\", \"/surveyor-dashboard\"],\n component: SurveyorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SURVEYOR_DASHBOARD\", \"surveyor-dashboard/:id\", \"EKYC_SURVEYOR_DETAILS\"),\n },\n];\n\n// dono role ke liye ready-made arrays — jaha jaruratho wahi import karo\nexport const ekycRoutes = getEkycRoutes(\"employee\"); // employee ke liye\nexport const citizenEkycRoutes = getEkycRoutes(\"citizen\"); // citizen ke liye","import { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation } from \"react-router-dom\";\nimport Dashboard from \"../../components/Dashboard\";\nimport CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard.js\";\nimport Inbox from \"./Inbox\";\nimport Mapping from \"./Mapping\";\nimport Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\nimport AssignEkyc from \"../../components/AssignEkyc.js\";\nimport AdminDashboard from \"../../components/AdminDashboard.js\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard.js\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\"\nimport { ekycRoutes } from \"../../config/Routes\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n // const getDynamicBreadcrumbs = () => {\n // const pathname = location.pathname;\n\n // // Parent crumb — always present and clickable → redirects to eKYC inbox\n // const crumbs = [\n // { icon: HomeIcon, path: \"/digit-ui/employee\" },\n // { label: t(\"ACTION_TEST_EKYC\"), path: `/digit-ui/employee/module/details` },\n // ];\n\n // // Child crumb — only appended when on a sub-page (not inbox/dashboard itself)\n // if (pathname.includes(\"/create-kyc\")) {\n // crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n // } else if (pathname.includes(\"/consumer-details\")) {\n // crumbs.push({ label: t(\"EKYC_CONSUMER_DETAILS\") });\n // } else if (pathname.includes(\"/address-details\")) {\n // crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n // } else if (pathname.includes(\"/property-info\")) {\n // crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n // } else if (pathname.includes(\"/meter-details\")) {\n // crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n // } else if (pathname.includes(\"/review\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/employee/ekyc/inbox` });\n // crumbs.push({ label: t(\"EKYC_REVIEW\") });\n // } else if (pathname.includes(\"/surveyor-dashboard\") || pathname.includes(\"/assign/surveyor-details\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") || \"Surveyor Dashboard\" });\n // } else if (pathname.includes(\"/assign\")) {\n // crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n // } else if (pathname.includes(\"/ceo-dashboard\")) {\n // crumbs.push({ label: t(\"CEO_M.F_DOR_FINANCE_VIEW\") });\n // } else if (pathname.includes(\"/admin-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\" });\n // } else if (pathname.includes(\"/supervisor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") || \"Supervisor Dashboard\" });\n // } else if (pathname.includes(\"/surveyor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n // } else if (pathname.includes(\"/vendors/\")) {\n // crumbs.push({ label: t(\"EKYC_VENDOR_DETAILS\") });\n // } else if (pathname.includes(\"/mapping\")) {\n // crumbs.push({ label: t(\"EKYC_MAPPING\") });\n // } else if (pathname.includes(\"/dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n // } else if (pathname.includes(\"/inbox\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\") });\n // }\n // // dashboard & inbox → no child crumb (only \"eKYC Admin\" shown)\n\n // return crumbs;\n // };\n\n const getDynamicBreadcrumbs = () => {\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(\"ACTION_TEST_EKYC\"), path: \"/digit-ui/employee/module/details\" },\n ];\n const pathSegments = location.pathname.split(\"/\").filter(Boolean);\n const ekycIndex = pathSegments.indexOf(\"ekyc\");\n const relativeSegments = ekycIndex !== -1 ? pathSegments.slice(ekycIndex + 1) : [];\n\n let matchedPath = \"\";\n const currentRoute = ekycRoutes.find((route) => {\n const paths = Array.isArray(route.path) ? route.path : [route.path];\n return paths.some((singlePath) => {\n const routeSegments = singlePath.split(\"/\").filter(Boolean);\n if (routeSegments.length === relativeSegments.length && routeSegments.every((seg, i) => seg.startsWith(\":\") || seg === relativeSegments[i])) {\n matchedPath = singlePath;\n return true;\n }\n return false;\n });\n });\n\n if (currentRoute) {\n if (Array.isArray(currentRoute.breadcrumb)) {\n currentRoute.breadcrumb.forEach((crumb) => {\n let crumbPath = crumb.path;\n if (crumbPath && matchedPath) {\n matchedPath.split(\"/\").filter(Boolean).forEach((segment, idx) => {\n if (segment.startsWith(\":\")) {\n const val = relativeSegments[idx];\n crumbPath = crumbPath.replace(new RegExp(`\\\\/${segment}`, \"g\"), `/${val}`)\n .replace(new RegExp(`(\\\\w+)${segment}`, \"g\"), `$1/${val}`)\n .replace(new RegExp(segment, \"g\"), val);\n }\n });\n }\n crumbs.push({ label: t(crumb.label), ...(crumbPath ? { path: crumbPath } : {}) });\n });\n } else {\n crumbs.push({ label: t(currentRoute.breadcrumb) });\n }\n }\n return crumbs;\n };\n const formStepRoutes = [\"consumer-details\", \"address-details\", \"property-info\", \"meter-details\"];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n Back\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <div className=\"employee-form\">\n <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Create />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/mapping`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Mapping />\n </LayoutWrapper>\n )}\n />\n {/* <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n /> */}\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={formStepRoutes.map((route) => `${path}/${route}`)}\n component={(props) => (\n <LayoutWrapper layoutClass=\"normal\">\n <EKYCForm {...props} path={path} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review/:kno`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/ceo-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <CeoDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/admin-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AdminDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/vendors/:vendorId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/surveyor-dashboard/:id`, `${path}/surveyor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n /> */}\n </Switch>\n </div>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst PropertyInfoConfig = (t, formData = {}, uploadFile, buildingImage, buildingImageId, setBuildingImage, setBuildingImageId) => {\n const propertyType = formData?.propertyType?.name || formData?.propertyType;\n const isHotel = propertyType === \"Hotel\";\n const isHospitalOrNursing = propertyType === \"Hospital\" || propertyType === \"Nursing Home\";\n\n const fields = [\n {\n label: t(\"PID Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"pidNumber\",\n },\n },\n {\n label: t(\"Property Type\"),\n isMandatory: false,\n type: \"custom\",\n key: \"propertyType\",\n populators: {\n name: \"propertyType\",\n component: (props) => (\n <Dropdown\n option={[\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sub Property Category\"),\n isMandatory: false,\n type: \"custom\",\n key: \"subPropertyCategory\",\n populators: {\n name: \"subPropertyCategory\",\n component: (props) => (\n <Dropdown\n option={[]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"No. of Floors\"),\n isMandatory: true,\n type: \"number\",\n populators: {\n name: \"noOfFloors\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Floor No. of this KNO\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"floorNo\",\n },\n },\n {\n label: isHospitalOrNursing ? t(\"No of Beds\") : t(\"No of Beds\"),\n isMandatory: isHospitalOrNursing,\n type: \"number\",\n populators: {\n name: \"noOfBeds\",\n validation: isHospitalOrNursing ? { required: true, min: 1 } : {},\n },\n },\n {\n label: isHotel ? t(\"No. of Rooms\") : t(\"No. of Rooms\"),\n isMandatory: isHotel,\n type: \"number\",\n populators: {\n name: \"noOfRooms\",\n validation: isHotel ? { required: true, min: 1 } : {},\n },\n },\n {\n label: t(\"Number of Dwelling Units\"),\n isMandatory: false,\n type: \"number\",\n populators: {\n name: \"dwellingUnits\",\n },\n },\n {\n label: t(\"Building Image\"),\n isMandatory: true,\n type: \"custom\",\n key: \"buildingImage\",\n populators: {\n name: \"buildingImage\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {buildingImage && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n },\n ];\n\n return [\n {\n head: t(\"EKYC_PROPERTY_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default PropertyInfoConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport PropertyInfoConfig from \"../config/PropertyInfoConfig\";\n\nconst PropertyInfo = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"PROPERTY\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.propertyDetails || {};\n\n // 🔹 STATES\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n pidNumber: savedData.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : null,\n subPropertyCategory: savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null,\n noOfFloors: savedData.noOfFloors || \"\",\n floorNo: savedData.floorNo || \"\",\n noOfRooms: savedData.noOfRooms || \"\",\n noOfBeds: savedData.noOfBeds || \"\",\n dwellingUnits: savedData.dwellingUnits || \"\",\n buildingImage: savedData.buildingImageId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || rawData || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !isDataLoaded) {\n let propType = null;\n let subPropCat = null;\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ].find((type) => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) propType = matchingType;\n else propType = { name: propertyInfo.subPropertyCategory };\n subPropCat = { name: propertyInfo.subPropertyCategory };\n }\n\n if (propertyInfo.propertyType) {\n subPropCat = { name: propertyInfo.propertyType };\n if (!propertyInfo.subPropertyCategory) propType = { name: propertyInfo.propertyType };\n }\n\n const updatedDefaults = {\n pidNumber: savedData.pidNumber || propertyInfo.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : propType,\n subPropertyCategory: savedData.subPropertyCategory\n ? { name: savedData.subPropertyCategory }\n : subPropCat,\n noOfFloors:\n savedData.noOfFloors ||\n (propertyInfo.numberOfFloors || propertyInfo.noOfFloor\n ? String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor)\n : \"\"),\n floorNo: savedData.floorNo || propertyInfo.floorNo || \"\",\n noOfRooms:\n savedData.noOfRooms ||\n (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined\n ? String(propertyInfo.numberOfRooms)\n : \"\"),\n noOfBeds:\n savedData.noOfBeds ||\n (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined\n ? String(propertyInfo.numberOfBeds)\n : \"\"),\n dwellingUnits:\n savedData.dwellingUnits ||\n (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined\n ? String(propertyInfo.numberOfDwellingUnits)\n : \"\"),\n buildingImage: savedData.buildingImageId || propertyInfo.buildingImageFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.buildingImage) {\n setBuildingImageId(updatedDefaults.buildingImage);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setBuildingImageId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setBuildingImage(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Check if propertyType changed to re-evaluate mandatory validation or conditional visibility\n const propertyTypeChanged =\n (data?.propertyType?.name || data?.propertyType) !==\n (localFormData?.propertyType?.name || localFormData?.propertyType);\n\n if (propertyTypeChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const propTypeVal = data?.propertyType;\n const subPropCatVal = data?.subPropertyCategory;\n const noOfFloorsVal = data?.noOfFloors;\n const buildingImgId = buildingImageId || data?.buildingImage;\n const noOfRoomsVal = data?.noOfRooms;\n const noOfBedsVal = data?.noOfBeds;\n\n let valid = true;\n if (!propTypeVal) valid = false;\n if (!subPropCatVal) valid = false;\n if (!noOfFloorsVal || Number(noOfFloorsVal) < 1) valid = false;\n if (!buildingImgId) valid = false;\n\n if (propTypeVal?.name === \"Hotel\" && !noOfRoomsVal) valid = false;\n if (\n (propTypeVal?.name === \"Hospital\" || propTypeVal?.name === \"Nursing Home\") &&\n !noOfBedsVal\n )\n valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n pidNumber: data.pidNumber,\n propertyType: data.propertyType?.name || data.propertyType,\n subPropertyCategory: data.subPropertyCategory?.name || data.subPropertyCategory,\n noOfFloors: data.noOfFloors,\n floorNo: data.floorNo,\n noOfRooms: data.noOfRooms,\n noOfBeds: data.noOfBeds,\n dwellingUnits: data.dwellingUnits,\n buildingImageId: buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Property details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update property details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = PropertyInfoConfig(\n t,\n localFormData,\n handleUpload,\n buildingImage,\n buildingImageId,\n setBuildingImage,\n setBuildingImageId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetailsConfig = (t, formData = {}, uploadPhoto, meterPhoto, meterPhotoId, setMeterPhoto, setMeterPhotoId) => {\n const meterStatus = formData?.meterStatus?.name || formData?.meterStatus;\n const lastBillReceived = formData?.lastBillReceived?.name || formData?.lastBillReceived;\n const sewerConnection = formData?.sewerConnection?.name || formData?.sewerConnection;\n\n const isFrozen = meterStatus === \"Can not be identified\";\n\n // Generate Month-Year Options (1998–2026)\n const monthYearOptions = [];\n for (let y = 1998; y <= 2026; y++) {\n for (let m = 1; m <= 12; m++) {\n monthYearOptions.push({ name: `${m}/${y}` });\n }\n }\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const fields = [\n {\n label: t(\"Connection Category\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"connectionCategory\",\n validation: { required: true },\n },\n },\n {\n label: t(\"SA Type\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"saType\",\n },\n },\n {\n label: t(\"Status\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"status\",\n },\n },\n {\n label: t(\"MR Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrCode\",\n },\n },\n {\n label: t(\"Area Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"areaCode\",\n },\n },\n {\n label: t(\"MR Key\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrKey\",\n },\n },\n ];\n\n // 🔹 Non-frozen fields\n if (!isFrozen) {\n fields.push(\n {\n label: t(\"Meter Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterNumber\",\n },\n },\n {\n label: t(\"Meter Maker\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterMaker\",\n },\n },\n {\n label: t(\"Meter Condition\"),\n isMandatory: false,\n type: \"custom\",\n key: \"meterCondition\",\n populators: {\n name: \"meterCondition\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Damaged\" }, { name: \"Not-Damaged\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (meterStatus === \"Metered\") {\n fields.push({\n label: t(\"Meter Photo\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterPhoto\",\n populators: {\n name: \"meterPhoto\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadPhoto(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setMeterPhoto(null);\n setMeterPhotoId(null);\n }}\n message={meterPhotoId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {meterPhoto && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={meterPhoto}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n });\n }\n }\n\n // 🔹 Standard fields after the conditional section\n fields.push(\n {\n label: t(\"Meter Status\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterStatus\",\n populators: {\n name: \"meterStatus\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Metered\" }, { name: \"Unmetered\" }, { name: \"Can not be identified\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Meter Location\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterLocation\",\n populators: {\n name: \"meterLocation\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Inside\" }, { name: \"Outside\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Last Bill Received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"lastBillReceived\",\n populators: {\n name: \"lastBillReceived\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n // 🔹 Bill-received fields\n if (lastBillReceived === \"Yes\") {\n fields.push({\n label: t(\"When was the last bill received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"billMonthYear\",\n populators: {\n name: \"billMonthYear\",\n component: (props) => (\n <Dropdown\n option={monthYearOptions}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n } else if (lastBillReceived === \"No\") {\n fields.push({\n label: t(\"Reason *\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"reason\",\n validation: { required: true },\n },\n });\n }\n\n fields.push(\n {\n label: t(\"Access to Meter\"),\n isMandatory: false,\n type: \"custom\",\n key: \"accessToMeter\",\n populators: {\n name: \"accessToMeter\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sewer Connection\"),\n isMandatory: true,\n type: \"custom\",\n key: \"sewerConnection\",\n populators: {\n name: \"sewerConnection\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (sewerConnection === \"No\") {\n fields.push({\n label: t(\"Septic Tank\"),\n isMandatory: true,\n type: \"custom\",\n key: \"septicTank\",\n populators: {\n name: \"septicTank\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n }\n\n return [\n {\n head: t(\"EKYC_METER_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default MeterDetailsConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport MeterDetailsConfig from \"../config/MeterDetailsConfig\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"METER\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.meterDetails || {};\n\n // 🔹 STATES\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n connectionCategory: savedData.connectionCategory || \"\",\n saType: savedData.saType || \"\",\n status: savedData.status || \"\",\n mrCode: savedData.mrCode || \"\",\n areaCode: savedData.areaCode || \"\",\n mrKey: savedData.mrKey || \"\",\n meterNumber: savedData.meterNumber || \"\",\n meterMaker: savedData.meterMaker || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : null,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : null,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : null,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : null,\n reason: savedData.reason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : null,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : null,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : null,\n meterPhoto: savedData.meterPhotoId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !isDataLoaded) {\n let mStatus = null;\n let mCondition = null;\n let mLoc = null;\n let billRec = null;\n let billMonYr = null;\n let accToMeter = null;\n let sewerConn = null;\n let sepTank = null;\n\n if (apiMeter.meterStatus) {\n const matchingStatus = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ].find((o) => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) mStatus = matchingStatus;\n else mStatus = { name: apiMeter.meterStatus };\n } else if (apiMeter.metered !== undefined) {\n mStatus = { name: apiMeter.metered ? \"Metered\" : \"Unmetered\" };\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = [{ name: \"Damaged\" }, { name: \"Not-Damaged\" }].find(\n (o) => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase()\n );\n if (matchingCond) mCondition = matchingCond;\n else mCondition = { name: apiMeter.meterCondition };\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = [{ name: \"Inside\" }, { name: \"Outside\" }].find(\n (o) =>\n o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() ||\n apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase())\n );\n if (matchingLoc) mLoc = matchingLoc;\n else mLoc = { name: apiMeter.meterLocation };\n }\n\n if (apiMeter.lastBillRaised !== undefined && apiMeter.lastBillRaised !== null) {\n const strVal = String(apiMeter.lastBillRaised).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") billRec = { name: \"Yes\" };\n else billRec = { name: \"No\" };\n }\n\n if (apiMeter.lastBillReceivedDate) {\n const formatted = apiMeter.lastBillReceivedDate.replace(\"-\", \"/\");\n const parsedParts = formatted.split(\"/\");\n if (parsedParts.length === 2) {\n const mon = parseInt(parsedParts[0], 10);\n const yr = parseInt(parsedParts[1], 10);\n billMonYr = { name: `${mon}/${yr}` };\n } else {\n billMonYr = { name: apiMeter.lastBillReceivedDate };\n }\n }\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") accToMeter = { name: \"Yes\" };\n else accToMeter = { name: \"No\" };\n }\n\n if (apiMeter.sewerConnection !== undefined && apiMeter.sewerConnection !== null) {\n const strVal = String(apiMeter.sewerConnection).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sewerConn = { name: \"Yes\" };\n else sewerConn = { name: \"No\" };\n }\n\n if (apiMeter.septicTank !== undefined && apiMeter.septicTank !== null) {\n const strVal = String(apiMeter.septicTank).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sepTank = { name: \"Yes\" };\n else sepTank = { name: \"No\" };\n }\n\n const updatedDefaults = {\n connectionCategory: savedData.connectionCategory || apiMeter.connectionCategory || \"\",\n saType: savedData.saType || apiMeter.saType || \"\",\n status: savedData.status || apiMeter.statusFlag || \"\",\n mrCode: savedData.mrCode || (apiMeter.mrcode ? String(apiMeter.mrcode) : \"\"),\n areaCode: savedData.areaCode || (apiMeter.areacode ? String(apiMeter.areacode) : \"\"),\n mrKey: savedData.mrKey || (apiMeter.mrkey ? String(apiMeter.mrkey) : \"\"),\n meterNumber: savedData.meterNumber || apiMeter.meterNumber || \"\",\n meterMaker: savedData.meterMaker || apiMeter.meterMake || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : mStatus,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : mCondition,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : mLoc,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : billRec,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : billMonYr,\n reason: savedData.reason || apiMeter.lastBillNotRaisedReason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : accToMeter,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : sewerConn,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : sepTank,\n meterPhoto: savedData.meterPhotoId || apiMeter.meterPhotoFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.meterPhoto) {\n setMeterPhotoId(updatedDefaults.meterPhoto);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setMeterPhotoId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n const meterStatusChanged =\n (data?.meterStatus?.name || data?.meterStatus) !==\n (localFormData?.meterStatus?.name || localFormData?.meterStatus);\n\n const lastBillReceivedChanged =\n (data?.lastBillReceived?.name || data?.lastBillReceived) !==\n (localFormData?.lastBillReceived?.name || localFormData?.lastBillReceived);\n\n const sewerConnectionChanged =\n (data?.sewerConnection?.name || data?.sewerConnection) !==\n (localFormData?.sewerConnection?.name || localFormData?.sewerConnection);\n\n if (meterStatusChanged || lastBillReceivedChanged || sewerConnectionChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const connCatVal = data?.connectionCategory;\n const mStatusVal = data?.meterStatus;\n const mLocVal = data?.meterLocation;\n const billRecVal = data?.lastBillReceived;\n const sewerConnVal = data?.sewerConnection;\n const mPhotoId = meterPhotoId || data?.meterPhoto;\n const reasonVal = data?.reason;\n const billMonYrVal = data?.billMonthYear;\n const sepTankVal = data?.septicTank;\n\n let valid = true;\n if (!connCatVal) valid = false;\n if (!mStatusVal) valid = false;\n if (!mLocVal) valid = false;\n if (!billRecVal) valid = false;\n if (!sewerConnVal) valid = false;\n\n if (mStatusVal?.name === \"Metered\" && !mPhotoId) valid = false;\n if (billRecVal?.name === \"No\" && !reasonVal) valid = false;\n if (billRecVal?.name === \"Yes\" && !billMonYrVal) valid = false;\n if (sewerConnVal?.name === \"No\" && !sepTankVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n connectionCategory: data.connectionCategory,\n saType: data.saType,\n status: data.status,\n mrCode: data.mrCode,\n areaCode: data.areaCode,\n mrKey: data.mrKey,\n meterNumber: data.meterNumber,\n meterMaker: data.meterMaker,\n meterStatus: data.meterStatus?.name || data.meterStatus,\n meterCondition: data.meterCondition?.name || data.meterCondition,\n meterLocation: data.meterLocation?.name || data.meterLocation,\n lastBillReceived: data.lastBillReceived?.name || data.lastBillReceived,\n billMonthYear: data.billMonthYear?.name || data.billMonthYear,\n reason: data.reason,\n accessToMeter: data.accessToMeter?.name || data.accessToMeter,\n sewerConnection: data.sewerConnection?.name || data.sewerConnection,\n septicTank: data.septicTank?.name || data.septicTank,\n meterPhotoId: meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Meter details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update meter details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = MeterDetailsConfig(\n t,\n localFormData,\n handleUpload,\n meterPhoto,\n meterPhotoId,\n setMeterPhoto,\n setMeterPhotoId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 20,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 20,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return dashboardData?.consumerList || [];\n }, [isSearchActive, searchData, dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n const searchDetails = item.connectionDetails || {};\n const fullName = (searchDetails.firstName || searchDetails.middleName || searchDetails.lastName)\n ? `${searchDetails.firstName || \"\"} ${searchDetails.middleName || \"\"} ${searchDetails.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : searchDetails.consumerName || \"\";\n\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: fullName,\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: fullName,\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = (item.firstName || item.middleName || item.lastName)\n ? `${item.firstName || \"\"} ${item.middleName || \"\"} ${item.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : item.consumerName || item.citizenName || \"\";\n\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: fullName,\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName,\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 20,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useEffect, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport {\n Card,\n CardHeader,\n CardText,\n Loader,\n StatusTable,\n Row,\n InboxComposer,\n VerticalTimeline,\n SubmitBar,\n} from \"@djb25/digit-ui-react-components\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\nconst EkycStatus = () => {\n const { t } = useTranslation();\n const { id } = useParams();\n const history = useHistory();\n\n // Separate states for the input form state and the triggered search query\n const [formState, setFormState] = useState({\n searchForm: {\n kNumber: id && id !== \":id\" ? id : \"\",\n },\n filterForm: {},\n });\n const [searchQuery, setSearchQuery] = useState(id && id !== \":id\" ? id : \"\");\n const [errorMsg, setErrorMsg] = useState(\"\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // Sync states with URL id parameter change (e.g. back navigation or page load)\n // Added strict equality check to prevent infinite re-render loop\n useEffect(() => {\n const currentKNumber = formState?.searchForm?.kNumber || \"\";\n const targetKNumber = id && id !== \":id\" ? id : \"\";\n if (currentKNumber !== targetKNumber) {\n setFormState({\n searchForm: { kNumber: targetKNumber },\n filterForm: {},\n });\n setSearchQuery(targetKNumber);\n }\n }, [id]);\n\n // Fetch eKYC review/status data - only triggers on 'searchQuery' state\n const { data: searchData, isLoading: isReviewLoading } = Digit.Hooks.ekyc.useEkycSearchReview(\n { kno: searchQuery, fetchType: \"REVIEW\" },\n tenantId,\n {\n enabled: !!searchQuery,\n retry: false,\n onError: (err) => {\n setErrorMsg(err?.message || t(\"EKYC_STATUS_NOT_FOUND\", \"eKYC Application not found.\"));\n },\n }\n );\n\n // Fetch connection/application details via useSearchConnection\n const { data: connectionSearchData, isLoading: isConnectionLoading } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchQuery } },\n { enabled: !!searchQuery, retry: false }\n );\n\n const isLoading = isReviewLoading || isConnectionLoading;\n\n const onSearchFormSubmit = (data) => {\n const val = data?.kNumber?.trim();\n if (!val) {\n setErrorMsg(t(\"EKYC_PLEASE_ENTER_KNO\", \"Please enter a valid K-Number.\"));\n return;\n }\n setErrorMsg(\"\");\n setFormState({\n searchForm: data,\n filterForm: {},\n });\n setSearchQuery(val);\n history.push(`/digit-ui/citizen/ekyc/${val}`);\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", \"\");\n setErrorMsg(\"\");\n setFormState({\n searchForm: { kNumber: \"\" },\n filterForm: {},\n });\n setSearchQuery(\"\");\n history.push(\"/digit-ui/citizen/ekyc/:id\");\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n const propsForInboxTable = {\n columns: [],\n data: [],\n limit: 10,\n offset: 0,\n };\n\n const propsForInboxMobileCards = {\n data: [],\n };\n\n const getStatusDetails = () => {\n if (!searchData) return null;\n const reviewWrapper = searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const appData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n const newData = appData?.newData || appData;\n const connection = newData?.connectionDetails || newData || {};\n\n const naText = t(\"CS_NA\", \"N/A\");\n const connRaw = connectionSearchData?.connectionDetails || connectionSearchData || {};\n const addrRaw = connectionSearchData?.addressDetails || {};\n const propRaw = connectionSearchData?.propertyInfo || {};\n const meterRaw = connectionSearchData?.meterDetails || {};\n\n const rawStatus = (connection?.ekycStatus || connection?.ekycstatus || connRaw?.ekycStatus || propRaw?.ekycStatus || meterRaw?.ekycStatus || \"NA\").toUpperCase();\n\n const reviewName = connection?.consumerName || [newData?.firstName, newData?.middleName, newData?.lastName].filter(Boolean).join(\" \");\n const connName = connRaw?.consumerName || [connRaw?.firstName, connRaw?.middleName, connRaw?.lastName].filter(Boolean).join(\" \");\n\n const reviewPhone = connection?.phoneNumber || connection?.mobileNo || connection?.mobileNumber;\n const connPhone = connRaw?.phoneNumber || connRaw?.mobileNo || connRaw?.mobileNumber || addrRaw?.mobileNo || addrRaw?.phoneNumber || addrRaw?.mobileNumber;\n\n const reviewType = connection?.connectionType || connection?.connectionCategory;\n const connType = connRaw?.connectionType || connRaw?.connectionCategory || connRaw?.knoCategory || propRaw?.connectionType || propRaw?.connectionCategory || meterRaw?.connectionCategory;\n\n return {\n kno: connection?.knumber || connection?.kno || connRaw?.knumber || connRaw?.kno || searchQuery,\n consumerName: (reviewName && reviewName !== naText && reviewName !== \"\") ? reviewName : (connName || naText),\n phoneNumber: (reviewPhone && reviewPhone !== naText && reviewPhone !== \"\") ? reviewPhone : (connPhone || naText),\n connectionType: (reviewType && reviewType !== naText && reviewType !== \"\") ? reviewType : (connType || naText),\n status: rawStatus,\n };\n };\n\n const details = getStatusDetails();\n\n // Visual Stepper configuration for VerticalTimeline\n const timelineConfig = [\n {\n route: \"submitted\",\n timeLine: [\n {\n currentStep: 1,\n actions: t(\"EKYC_STEP_SUBMITTED\", \"eKYC Survey Submitted\"),\n },\n ],\n },\n {\n route: \"verification\",\n timeLine: [\n {\n currentStep: 2,\n actions: t(\"EKYC_STEP_UNDER_VERIFICATION\", \"Under Verification\"),\n },\n ],\n },\n {\n route: \"zro-decision\",\n timeLine: [\n {\n currentStep: 3,\n actions: t(\"EKYC_STEP_ZRO_DECISION\", \"ZRO Decision\"),\n },\n ],\n },\n ];\n\n let activeStepIndex = 0;\n if (details) {\n if (details.status === \"APPROVED\") {\n activeStepIndex = 3;\n } else if (details.status === \"REJECTED\") {\n activeStepIndex = 2;\n } else if (details.status === \"PENDING_FOR_VERIFICATION\") {\n activeStepIndex = 1;\n } else {\n activeStepIndex = 1;\n }\n }\n\n const getStatusText = (status) => {\n const key = `EKYC_STATUS_${status}`;\n const val = t(key);\n if (val === key) {\n if (status === \"APPROVED\") return \"Approved\";\n if (status === \"REJECTED\") return \"Rejected\";\n if (status === \"PENDING_FOR_VERIFICATION\") return \"Pending For Verification\";\n return status;\n }\n return val;\n };\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n {!isLoading && details && (\n <VerticalTimeline config={timelineConfig} currentActiveIndex={activeStepIndex} />\n )}\n <div className=\"employee-form-section\">\n <div className=\"single-page-form-container\">\n {/* 1. Search Form Card rendered with InboxComposer */}\n <Card className=\"ekyc-status-search-card\">\n <CardHeader className=\"ekyc-status-card-header\">\n {t(\"EKYC_APPLICATION_STATUS_TRACKER\", \"eKYC Application Status\")}\n </CardHeader>\n <CardText className=\"ekyc-status-card-text\">\n {t(\"EKYC_STATUS_TRACKER_SUBHEADER\", \"Enter your K-Number below to track the real-time status of your eKYC application.\")}\n </CardText>\n\n <div className=\"status-search-composer-wrapper\">\n <InboxComposer\n {...{\n isInboxLoading: false,\n ...propsForSearchForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n showSearchOnMobile: true,\n }}\n />\n </div>\n </Card>\n\n {errorMsg && (\n <div className=\"ekyc-status-error-msg\">\n {errorMsg}\n </div>\n )}\n\n {/* 2. Results Card */}\n {isLoading && <Loader />}\n\n {!isLoading && details && (\n <Card className=\"ekyc-status-results-card\">\n {/* Status overview and badge */}\n <div className=\"ekyc-status-overview-header\">\n <div>\n <span className=\"ekyc-status-label-title\">\n {t(\"EKYC_CURRENT_STATUS\", \"Current Status\")}\n </span>\n <div className=\"ekyc-status-value-text\">\n {getStatusText(details.status)}\n </div>\n </div>\n <span className={`ekyc-status-badge ${details.status.toLowerCase()}`}>\n {details.status}\n </span>\n </div>\n\n {/* Details Table */}\n <div className=\"ekyc-status-details-section\">\n <h3 className=\"ekyc-status-details-title\">\n {t(\"EKYC_CONNECTION_SUMMARY\", \"Connection Summary\")}\n </h3>\n <StatusTable>\n <Row label={t(\"EKYC_K_NUMBER\", \"K-Number\")} text={details.kno} />\n <Row label={t(\"EKYC_CONSUMER_NAME\", \"Consumer Name\")} text={details.consumerName} />\n <Row label={t(\"EKYC_MOBILE_NO\", \"Mobile Number\")} text={details.phoneNumber} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\", \"Connection Type\")} text={details.connectionType} />\n </StatusTable>\n </div>\n\n {/* View Application button */}\n <div className=\"ekyc-status-action-section\" style={{ marginTop: \"24px\", display: \"flex\", justifyContent: \"flex-end\" }}>\n <SubmitBar\n label={t(\"EKYC_VIEW_APPLICATION\", \"View Application\")}\n onSubmit={() => history.push(`/digit-ui/citizen/ekyc/status/${details.kno}`)}\n />\n </div>\n </Card>\n )}\n </div>\n </div>\n </div>\n </React.Fragment>\n );\n\n \n};\n\nexport default EkycStatus;\n","import React from \"react\";\nimport { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper, BackButton, ExpandedViewContext } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"../../components/EKYCCard\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch, Redirect, Route } from \"react-router-dom\";\nimport AadhaarVerification from \"../../components/AadhaarVerification\";\nimport PropertyInfo from \"../../components/PropertyInfo\";\nimport MeterDetails from \"../../components/MeterDetails\";\nimport Review from \"../../components/Review\";\nimport Home from \"./Home\";\nimport Inbox from \"./Inbox\";\nimport AssignEkyc from \"../../components/AssignEkyc\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard\";\nimport EkycStatus from \"./EkycStatus\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n const { data: { stateInfo } = {} } = Digit.Hooks.useStore.getInitData();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC citizen home\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(\"EKYC_MODULE_NAME\"), path: `/digit-ui/citizen/ekyc` },\n ];\n\n // Child crumb — only appended when on a sub-page\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/aadhaar-verification\")) {\n crumbs.push({ label: t(\"EKYC_AADHAAR_VERIFICATION\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/citizen/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/citizen/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n } else if (pathname.includes(\"/supervisor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") });\n } else if (pathname.includes(\"/surveyor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n } else if (pathname.includes(\"/vendor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DASHBOARD\") || \"Vendor Dashboard\" });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/status/\") || /^\\/digit-ui\\/citizen\\/ekyc\\/[^/]+$/.test(pathname)) {\n const statusLabel = t(\"EKYC_STATUS\");\n crumbs.push({ label: statusLabel === \"EKYC_STATUS\" || statusLabel === \"STATUS\" ? \"eKYC Status\" : statusLabel });\n }\n // home (exact path) → no child crumb\n\n return crumbs;\n };\n\n // const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n // const isEkyAction = (!roles?.includes(\"EKYC_SURVEYOR\") || roles?.includes(\"EMPLOYEE\"))\n\n\n return (\n <AppContainer>\n <div className=\"ground-container form-container\" style={{ flex: 1 }}>\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <Switch>\n <Route exact path={`${path}`}>\n <Redirect to=\"/digit-ui/citizen/ekyc-home\" />\n </Route>\n <PrivateRoute\n path={[`${path}/vendor-dashboard/:vendorId`, `${path}/vendor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AadhaarVerification />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/address-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AddressDetails />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <PropertyInfo />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <MeterDetails />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/status/:applicationId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <EkycStatus />\n </LayoutWrapper>\n )}\n />\n </Switch>\n </div>\n </AppContainer>\n );\n};\n\nexport default CitizenApp;\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CitizenHomeCard, DocumentIcon, Loader } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"./components/EKYCCard\";\nimport Inbox from \"./components/Dashboard\";\nimport DesktopInbox from \"./components/DesktopInbox\";\nimport MobileInbox from \"./components/MobileInbox\";\nimport Filter from \"./components/Filter\";\nimport EmployeeApp from \"./pages/employee\";\nimport CitizenApp from \"./pages/citizen\";\nimport PropertyInfo from \"./components/PropertyInfo\";\nimport MeterDetails from \"./components/MeterDetails\";\nimport AadhaarVerification from \"./components/AadhaarVerification\";\n\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading } = Digit.Services.useStore({ stateCode, moduleCode, language });\n\n Digit.SessionStorage.set(\"EKYC_TENANTS\", tenants);\n\n useEffect(\n () =>\n Digit.LocalizationService.getLocale({\n modules: [`rainmaker-ekyc`, `rainmaker-${Digit.ULBService.getCurrentTenantId()}`],\n locale: Digit.StoreData.getCurrentLanguage(),\n tenantId: Digit.ULBService.getCurrentTenantId(),\n }),\n []\n );\n\n if (isLoading) {\n return <Loader page={true} />;\n }\n\n if (userType === \"employee\") {\n return <EmployeeApp path={path} url={url} userType={userType} tenants={tenants} />;\n } else return <CitizenApp />;\n};\n\nexport const EkycLinks = ({ matchPath, userType }) => {\n const { t } = useTranslation();\n const propsForModuleCard = {\n links: [],\n };\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code) : [];\n\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n propsForModuleCard.links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/surveyor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/citizen/ekyc/inbox`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n propsForModuleCard.links.push(\n {\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/supervisor-dashboard`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/citizen/ekyc/assign`,\n }\n );\n }\n\n if (roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/vendor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n\n if (roles.length === 1 && roles.includes(\"CITIZEN\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_STATUS\"),\n link: `/digit-ui/citizen/ekyc/:id`,\n });\n }\n\n const formattedLinks = propsForModuleCard.links.map((l) => ({\n i18nKey: l.label,\n link: l.link,\n count: l.count,\n }));\n\n return (\n <CitizenHomeCard\n header={t(\"EKYC_MODULE_NAME\")}\n links={formattedLinks}\n Icon={() => <DocumentIcon className=\"fill-path-primary-main\" />}\n />\n );\n};\n\nconst componentsToRegister = {\n EKYCModule: EkycModule,\n EKYCCard,\n EKYCInbox: Inbox,\n EKYCDesktopInbox: DesktopInbox,\n EKYCMobileInbox: MobileInbox,\n EKYC_INBOX_FILTER: (props) => <Filter {...props} />,\n EkycLinks,\n AadhaarVerification,\n PropertyInfo,\n MeterDetails,\n};\n\nexport const initEkycComponents = () => {\n Object.entries(componentsToRegister).forEach(([key, value]) => {\n Digit.ComponentRegistryService.setComponent(key, value);\n });\n};\n\nexport default EkycModule;\n"],"names":["EKYCCard","_Digit$SessionStorage","_Digit$SessionStorage2","_useTranslation","useTranslation","t","tenantId","Digit","ULBService","getCurrentTenantId","citizenInfo","SessionStorage","get","info","roles","Array","isArray","map","ele","code","_Digit$Hooks$ekyc$use","Hooks","ekyc","useEkycApplicationList","offset","limit","enabled","listData","data","isLoading","totalCount","isCitizen","window","location","pathname","includes","prefix","links","push","label","link","count","length","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","EmployeeModuleCard","_iteratorSymbol","Symbol","iterator","_asyncIteratorSymbol","asyncIterator","_catch","body","recover","result","e","then","_finallyRethrows","finalizer","bind","getChartConstructor","C","Chartjs","StatusCards","_ref","countData","_useState","useState","ekycDownloadLoading","setEkycDownloadLoading","loggedInUser","fullName","name","hasExternalData","total","submittedCount","useEkycSurveyorDashboard","ekycStatus","dashboardData","apiCountData","useMemo","dashboardInfo","completed","pending","inProgressCount","rejected","active","handleDownloadEkycData","Promise","resolve","EkycService","application_list","reportDownload","response","consumerList","alert","excludedKeys","headerMapping","kno","firstName","middleName","lastName","gender","mobileNumber","emailId","fatherOrHusbandName","relationship","dob","zoneName","assembly","ward","pincode","mrkey","consumerType","createdTime","lastModifiedTime","toTitleCase","str","cleanStr","String","split","pop","toLowerCase","replace","c","toUpperCase","skipTitleCase","excelData","item","cleanObj","filter","Boolean","join","Object","keys","forEach","key","val","friendlyHeader","cleanFileName","Download","Excel","error","console","_wasThrown","_result","reject","chartRef1","useRef","chartInstance1","inprocess","submitted","actualCompleted","approved","efficiency","Math","round","healthPct","formatNumber","num","Intl","NumberFormat","format","useEffect","current","destroy","ctx1","getContext","ChartConstructor","type","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","className","disabled","onClick","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","points","x1","y1","x2","y2","style","background","ref","Dashboard","Loader","Card","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kNumber","aadhaarData","columns","Header","accessor","Cell","_ref2","_row$original","_row$original2","row","original","applicationNumber","_ref3","_row$original3","citizenName","_ref4","_row$original4","_row$original5","status","_ref5","_row$original6","_row$original7","raw","ekycstatus","_ref6","_row$original8","_row$original9","tableData","items","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_extends","_searchParams","setSearchParams","onChange","prev","onSubmit","preventDefault","onClear","cleared","kName","HomeIcon","cx","cy","r","TextInput","target","placeholder","todaysAudits","auditChange","pendingCount","i","fromCharCode","MobileInbox","_data$items","mobileData","Link","to","SubmitBar","DetailsCard","serviceRequestIdKey","linkPrefix","text","index","textAlign","Filter","statusMap","applyLocalFilters","clearAll","onStatusChange","newParams","FilterForm","handleSubmit","fn","onResetFilterForm","id","onMobileExclusiveFilterPopupFormClose","onClose","FilterFormField","fontWeight","Dropdown","option","optionKey","select","selected","ekycMockData","topKpis","totalWaterConnections","totalEkycCompleted","totalPending","totalRejected","agencyEkycCompleted","citizenSelfEkycCompleted","todaysEkyc","successRate","rejectionPercentage","executiveMetrics","totalSurveyors","totalSupervisors","activeJurisdictions","todaysGrowth","selfEkycAdoption","avgApprovalTime","riskZones","escalationsOpen","alerts","title","priority","change","district","heatmapData","intensity","dailyTrend","selfVsAgency","agency","citizen","pendingVsCompleted","rejectionAnalysis","success","vendors","assignedConnections","completedEkyc","selfEkyc","inactiveDemand","progress","supervisors","activeSurveyors","jurisdictions","dailyPerformance","day","zones","cluster","zroOffice","assemblyConstituency","gpsLocation","distanceFromFarthestPoint","activeDemand","pppZones","districtwiseInactiveTotal","ExecutiveLineChart","_ref$data","formattedData","agencyKyc","selfKyc","totalKyc","ResponsiveContainer","LineChart","margin","top","right","left","bottom","CartesianGrid","strokeDasharray","vertical","XAxis","dataKey","axisLine","tickLine","tick","fontSize","YAxis","Tooltip","cursor","contentStyle","border","borderRadius","boxShadow","labelStyle","marginBottom","Legend","verticalAlign","align","iconType","wrapperStyle","paddingBottom","Line","dot","activeDot","ExecutiveBarChart","_ref$categories","categories","_ref$xKey","xKey","minHeight","BarChart","itemStyle","series","Bar","radius","barSize","colors","ExecutivePieChart","_ref$dataKey","_ref$labelKey","labelKey","PieChart","Pie","nameKey","outerRadius","innerRadius","paddingAngle","entry","marginTop","CeoDashboard","_topKpis$todayEkyc","useLocation","query","setQuery","_useState2","statusFilter","setStatusFilter","basePath","filters","filteredVendors","vendor","keyword","some","zone","_zone$location","zoneRows","flatMap","sort","a","b","routeToVendor","vendorId","icon","FaUsers","variant","FaCheckCircle","FaClock","FaExclamationTriangle","FaUserTie","FaChartLine","card","_card$value$toLocaleS","_card$value","_card$value$toLocaleS2","toLocaleString","call","FaSearch","FaArrowRight","FaMapMarkedAlt","slice","_zone$activeDemand$to","_zone$activeDemand","_zone$pppZones$toLoca","_zone$pppZones","_zone$inactiveDemand$","_zone$inactiveDemand","min","max","todayEkyc","downloadSurveyorPDF","rows","surveyorName","employeeId","vendorName","supervisorName","initData","tenants","tenantInfo","find","tenant","capitalize","substr","ulbCamel","ulb","email","phoneNumber","currentDate","Date","formattedDate","toLocaleDateString","month","year","formattedTime","toLocaleTimeString","hour","minute","second","hour12","downloadDateTime","isValDefined","undefined","details","asSectionHeader","values","Utils","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","downloadSupervisorPDF","mappedRows","_row$owner","_row$owner2","owner","mobileNo","submittedAt","originalToLocaleDateString","prototype","progressIndex","_len","arguments","args","_key","apply","customT","downloadVendorPDF","emailContact","_len2","_key2","VendorDetailsCard","_vendor$owner","_vendor$owner2","_vendorName$charAt","_useParams","useParams","useEkycAssignmentProgress","keepPreviousData","isProgressLoading","progressData","_Digit$Hooks$fsm$useD","fsm","useDsoSearch","staleTime","vendorSearchResponse","isVendorSearchLoading","_Digit$Hooks$fsm$useS","useSupervisorSearch","supervisorSearchResponse","isSupervisorSearchLoading","userUuid","uuid","userMobile","matchesUser","v","_v$owner","_v$owner2","_v$owner3","ownerUuid","ownerMobile","matched","_v$dsoDetails","_v$dsoDetails2","dsoDetails","Number","matchedMock","_v$name","_loggedInUser$name","vendorSupervisors","mockSupList","from","_","totalKnos","random","submittedKnos","pendingKnos","progressPercent","currentVendorId","matchedSups","s","sup","_progressData$supervi","_sup$owner2","_sup$owner3","_sup$owner4","report","supervisorReport","_sup$owner","supervisorId","zoneIds","_vendor$zoneIds","cards","hasRealData","reduce","acc","completedKnos","setCurrentPage","pageSize","setPageSize","_useState3","paginatedSupervisors","start","end","supervisorColumns","_Digit$SessionStorage3","_Digit$SessionStorage4","userType","targetPath","href","textDecoration","_useState4","showReportMenu","setShowReportMenu","_useState5","customDate","setCustomDate","_useState6","showCustomPicker","setShowCustomPicker","_useState7","reportLoading","setReportLoading","reportMenuRef","handler","contains","document","addEventListener","removeEventListener","handleDownload","rowsWithStats","err","handlePresetDownload","handleCustomDownload","StatCard","Fragment","isPageLoading","charAt","p","idx","tableTitle","tableClass","isPaginationRequired","ceil","onFirstPage","onLastPage","useInboxTableConfig","_formState$tableForm","_formState$tableForm2","_formState$searchForm","formState","table","dispatch","checkPathName","onSortingByData","_ref$inboxStyles","inboxStyles","_ref$tableStyle","tableStyle","tableForm","tableColumnConfig","disableSortBy","DateUtils","ConvertEpochToDate","_ref7","disableSort","autoSort","manualPagination","initSortId","_formState$tableForm3","action","parseInt","_formState$tableForm4","searchForm","message","floor","SearchFormFieldsComponents","searchFormState","controlSearchForm","searchType","errors","Label","CustomTooltip","Controller","control","defaultValue","rules","pattern","render","CardLabelError","useInboxMobileCardsData","_ref$isSupervisor","isSupervisor","handleSupervisorReview","dataForMobileInboxCards","_item$owner","serviceType","assignedAt","MobileSortFormValues","sortOrderOptions","i18nKey","_useFormContext","useFormContext","controlSortForm","SearchField","RadioButtons","onSelect","selectedOption","optionsKey","isTwoDynamicPrefix","getRedirectionLink","handleClickEnabled","Inbox","_formState$searchForm3","_formState$searchForm4","formInitValue","filterForm","sortBy","sortOrder","_useReducer","useReducer","formReducer","queryParams","isListLoading","_Digit$Hooks$ekyc$use2","searchDetails","_formState$searchForm2","isSearchActive","_Digit$Hooks$ekyc$use3","useSearchConnection","isSearchLoading","searchData","sourceData","filteredData","_item$sla","isSearchItem","connectionDetails","_item$propertyInfo","_item$propertyInfo2","_item$connectionDetai","_item$propertyInfo3","_item$connectionDetai2","_item$connectionDetai3","_item$connectionDetai4","_item$connectionDetai5","applicationNo","propertyInfo","connectionNo","consumerName","statusflag","sla","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","state","payload","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","onMobileSortOrderData","onSortFormReset","setSortFormValue","propsForMobileSortForm","sortFormDefaultValues","propsForInboxMobileCards","isInboxLoading","InboxComposer","forceTable","showSearchOnMobile","MOCK_SURVEYORS","role","MOCK_MRDS","Mapping","selectedSurveyor","setSelectedSurveyor","selectedMRD","setSelectedMRD","mappings","setMappings","editingId","setEditingId","editSurveyor","setEditSurveyor","editMRD","setEditMRD","deleteTarget","setDeleteTarget","_useState8","toast","setToast","handleAddMapping","exists","m","surveyorId","mrdCode","now","mrdName","handleEditStart","handleEditSave","duplicate","handleEditCancel","handleDeleteConfirm","handleSaveMappings","isEditing","gap","EditIcon","DeleteIcon","xmlns","CardHeader","CardText","LabelFieldPair","CardLabel","justifyContent","tableClassName","ActionBar","Modal","headerBarMain","headerBarEnd","actionSaveLabel","actionSaveOnSubmit","actionCancelLabel","actionCancelOnSubmit","Toast","warning","isDsc","ConnectionDetailsView","_useRouteMatch","useRouteMatch","path","showModal","setShowModal","setSelectedOption","handleStartVerification","onModalConfirm","parentPath","statusFlag","isActive","meterNumber","connectionType","address","x","y","rx","ry","lastVerified","flexDirection","buttonStyle","Create","saved","sessionStorage","getItem","JSON","parse","searchPerformed","setSearchPerformed","showToast","setShowToast","_Digit$Hooks$useSessi","useSessionStorage","formParams","clearParams","onError","_error$response","_error$response$data","_error$response$data$","_error$response$data$2","Errors","removeItem","isSearching","handleSearch","params","currentKno","startsWith","setItem","stringify","closeToast","ActionButton","jumpTo","routeTo","LinkButton","checkForNA","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","overflow","borderBottom","alignItems","CardSubHeader","borderCollapse","tableLayout","textTransform","field","valNew","valOld","isChanged","borderTop","isBool","Review","_newDataRaw$connectio","_newDataRaw$connectio2","_newDataRaw$connectio3","_newDataRaw$address","_newDataRaw$address2","_newDataRaw$address3","_newDataRaw$address4","_newDataRaw$address5","_newDataRaw$address6","_newDataRaw$address7","_newDataRaw$address8","_newDataRaw$address9","_newDataRaw$address0","_newDataRaw$address1","_newDataRaw$address10","_newDataRaw$address11","_newDataRaw$address12","_newDataRaw$address13","_newDataRaw$address14","_newDataRaw$property","_newDataRaw$property2","_editedProperty$conne","_newDataRaw$property3","_editedProperty$conne2","_newDataRaw$property4","_editedProperty$userT","_newDataRaw$property5","_editedProperty$noOfF","_newDataRaw$property6","_newDataRaw$property7","_newDataRaw$meter","_editedMeter$meterSta","_newDataRaw$meter2","_newDataRaw$meter3","_newDataRaw$meter4","_newDataRaw$meter5","_editedMeter$workingS","_newDataRaw$meter6","_editedMeter$lastBill","_newDataRaw$meter7","_newDataRaw$meter8","applicationId","agree","setAgree","isSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","showOptions","setShowOptions","toastData","setToastData","_flowState$edits","edits","activeKno","_edits$aadhaarData","_edits$addressDetails","addressDetails","editedAddress","_edits$propertyDetail","propertyDetails","editedProperty","_edits$meterDetails","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","userRoles","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","_extractReviewData","apiNewData","apiOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","addressRaw","connectionCategory","meterNo","knumber","fullAddress","flatHouseNumber","flatNo","buildingTower","building","landmark","pinCode","locality","gpsValid","latitude","longitude","whatsappNo","noOfPerson","noOfPersons","doorPhotoFilestoreId","property","pidNumber","typeOfConnection","numberOfFloors","noOfFloor","tenantName","tenantMobile","propertyDocumentFileStoreId","buildingImageFileStoreId","meter","metered","meterStatus","meterMake","meterLocationAddress","meterLatitude","meterLongitude","workingStatus","lastBillRaised","systemMeterId","meterPhotoFileStoreId","newDataRaw","oldDataRaw","connectionData","addressData","whatsappNumber","doorPhotoFileStoreId","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","meterLocation","workingStatusData","lastBillRaisedData","connectionFields","addressFields","propertyFields","meterFields","handleDeclaration","handleReject","_Digit$UserService$ge","_Digit$UserService$ge2","_Digit$UserService$ge3","RequestInfo","apiId","ver","msgId","authToken","UserService","getUser","access_token","remarks","reviewedBy","userName","_temp","mutateAsync","handleApprove","_Digit$UserService$ge4","_Digit$UserService$ge5","_Digit$UserService$ge6","_temp2","setTimeout","_err$response","_err$response$data","handleViewDocument","fileStoreId","documentUrl","handleMenuSelect","baseUrl","StatusTable","maxWidth","Row","actionButton","GenericFileIcon","paddingTop","CheckBox","checked","Menu","position","zIndex","maxHeight","src","alt","nextSibling","open","AadhaarVerificationConfig","formData","uploadFile","setDocumentId","documentId","_formData","_formData$consumerTyp","_formData2","_formData3","_formData3$occupantTy","_formData4","_formData$informantIs","_formData5","occupantType","informantIsConsumer","isMandatory","populators","component","validation","required","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","AadhaarVerification","config","URLSearchParams","search","urlKno","searchKno","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","isDataLoaded","setIsDataLoaded","canSubmit","setCanSubmit","_savedData$informantI","categoryType","parentSpouseName","mobile","whatsapp","residents","identityType","documentNumber","informantName","informantRelation","idFile","tenantVerification","designation","department","entityName","contactPerson","consent","defaultValues","setDefaultValues","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","_savedData$informantI2","fName","mName","lName","parts","trim","updatedDefaults","parentSpouse","handleUploadProof","file","files","size","UploadServices","Filestorage","res","_res$data","_res$data$files","_res$data$files$","onFormValueChange","setValue","_data$consumerType","_localFormData$consum","_data$occupantType","_localFormData$occupa","consumerTypeChanged","occupantTypeChanged","informantIsConsumerChanged","knoVal","consumerTypeVal","occupantTypeVal","categoryTypeVal","firstNameVal","mobileVal","residentsVal","consentVal","docId","ownerMobileVal","valid","test","_data$consumerType2","_data$occupantType2","_data$categoryType","_data$gender","_data$identityType","_data$informantIsCons","submitData","relation","landline","entityRelation","idProof","idNumber","updateType","Config","FormComposer","isDisabled","isCollapsible","isDefaultOpen","noCard","submitInForm","ekycConfig","route","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","showMapActualLocation","EKYCForm","passedPath","match","setParams","_location$state","rest","goNext","skipStep","isAddMultiple","currentPath","routeObj","nextStep","currentIndex","findIndex","redirectWithHistory","base","handleSelect","silent","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","storageKey","_row$original5$owner","SupervisorInboxTableConfig","AssignEkyc","_dashboardData$dashbo","paginationParms","useSurveyorSearch","isDataSearchLoading","surveyors","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","additionalDetails","auditDetails","isCardLoading","parseAdditionalDetails","AdminDashboard","vendorsList","_additionalDetails$se","dso","_dso$owner","_dso$owner2","supervisorsList","surveyorsList","supervisorIds","_s$owner","matchedReports","displayName","ownerName","SupervisorDetailsCard","_fullName$charAt","_Digit$Hooks$fsm$useS2","surveyorSearchResponse","isSurveyorSearchLoading","supervisor","found","targetId","_s$supervisorId","_s$id","matchedSup","_s$id2","_s$owner$uuid","_matchedSup$owner2","_matchedSup$owner3","_matchedSup$owner4","matchedSurveyors","surv","_matchedSup$owner","_surv$owner3","_surv$owner4","_surv$owner5","_realStats","_realStats2","_realStats3","_realStats4","realStats","_report$surveyors","matchedSurv","_surv$owner","_surv$owner2","assignedZoneId","assignedZone","_matchedVendor$dsoDet","targetVendorId","matchedVendor","paginatedSurveyors","surveyorColumns","titleCaseFields","AssignEkycModal","surveyor","closeModal","refetchDashboard","propsTenantId","selectedKnos","setSelectedKnos","isBulkSelection","setIsBulkSelection","zoneCode","setFilters","debouncedFilters","setDebouncedFilters","_Digit$Hooks$ws$useWS","ws","useWSConfigMDMS","ZROLocation","zroLocationsData","mappedZROLocation","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","_useMemo","assemblies","Map","wards","boundaries","traverse","node","localname","assemblyOptions","localeCompare","wardOptions","structuredLocalityData","localities","extractLocalities","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","sanitizedPin","toString","add","unassignedOnly","fetchFilterOptions","Infinity","filterOptionsData","pincodeOptions","mrkeyOptions","timer","clearTimeout","isFetching","refetchApplicationList","refetch","handleAssignmentError","errMsg","variables","isAlreadyAssigned","isMrKeyType","assignmentType","assignmentMutation","useEkycAssignmentCreate","onSuccess","_response$data","skipped","_response$skipped$","reason","_temp4","_temp3","_error$data","getAssignmentPayload","filterMappings","appliedFilter","assignmentValue","handleAssign","_surveyor$owner","_getAssignmentPayload","mutate","handleSelectAll","pageKnos","allSelected","every","handleFilterChange","Close","pin","stripped","totalPages","SurveyorDetailsDashboard","_surveyorSearchById$s","_surveyor$owner2","_surveyor$owner3","_surveyor$owner4","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner8","_surveyor$owner9","_surveyor$owner0","_dashboardData$dashbo5","_dashboardData$dashbo6","ownerIds","ids","surveyorSearchById","isLoadingId","hasFoundById","surveyorSearchByOwner","isLoadingOwner","_surveyorSearchRespon","vendorData","isVendorLoading","_Digit$Hooks$fsm$useS3","_mappedVendor$dsoDeta","mappedVendor","_mappedSupervisor$own","mappedSupervisor","isDashboardLoading","knoColumns","_useState9","getDateRange","setHours","setDate","getDate","getDay","range","_surveyor$owner5","dashboard","fromDate","getTime","toDate","_response$dashboardIn","_surveyor$owner6","_response$dashboardIn2","_wasThrown2","_result2","_surveyor$owner7","_wasThrown3","_result3","description","showAutoSerialNo","_dashboardData$dashbo7","_dashboardData$dashbo8","totalConnections","ekycDone","liveSurveyors","todayCompleted","breadcrumb","listLabel","listPath","detailLabel","getEkycRoutes","layout","SurveyorDetailsCard","ekycRoutes","EmployeeApp","getDynamicBreadcrumbs","crumbs","pathSegments","ekycIndex","indexOf","relativeSegments","matchedPath","paths","singlePath","routeSegments","seg","crumb","crumbPath","segment","RegExp","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","breadcrumbs","PrivateRoute","LayoutWrapper","layoutClass","businessService","isInbox","exact","PropertyInfoConfig","buildingImage","buildingImageId","setBuildingImage","setBuildingImageId","_formData$propertyTyp","propertyType","isHotel","isHospitalOrNursing","objectFit","PropertyInfo","subPropertyCategory","noOfFloors","floorNo","noOfRooms","noOfBeds","dwellingUnits","propType","subPropCat","matchingType","numberOfRooms","numberOfBeds","numberOfDwellingUnits","handleUpload","reader","FileReader","onloadend","readAsDataURL","_data$propertyType","_localFormData$proper","propertyTypeChanged","propTypeVal","subPropCatVal","noOfFloorsVal","buildingImgId","noOfRoomsVal","noOfBedsVal","_data$propertyType2","_data$subPropertyCate","MeterDetailsConfig","uploadPhoto","meterPhoto","meterPhotoId","setMeterPhoto","setMeterPhotoId","_formData$meterStatus","_formData3$lastBillRe","_formData5$sewerConne","_formData6","lastBillReceived","sewerConnection","isFrozen","monthYearOptions","yesNo","MeterDetails","saType","mrCode","areaCode","mrKey","meterMaker","meterCondition","billMonthYear","accessToMeter","septicTank","mStatus","mCondition","mLoc","billRec","billMonYr","accToMeter","sewerConn","sepTank","matchingStatus","o","matchingCond","matchingLoc","strVal","lastBillReceivedDate","formatted","parsedParts","mon","yr","mrcode","areacode","lastBillNotRaisedReason","_data$meterStatus","_localFormData$meterS","_data$lastBillReceive","_localFormData$lastBi","_data$sewerConnection","_localFormData$sewerC","meterStatusChanged","lastBillReceivedChanged","sewerConnectionChanged","connCatVal","mStatusVal","mLocVal","billRecVal","sewerConnVal","mPhotoId","reasonVal","billMonYrVal","sepTankVal","_data$meterStatus2","_data$meterCondition","_data$meterLocation","_data$lastBillReceive2","_data$billMonthYear","_data$accessToMeter","_data$sewerConnection2","_data$septicTank","EkycStatus","setFormState","searchQuery","setSearchQuery","errorMsg","setErrorMsg","currentKNumber","targetKNumber","retry","isReviewLoading","connectionSearchData","isConnectionLoading","_data$kNumber","getStatusDetails","naText","connRaw","addrRaw","propRaw","meterRaw","rawStatus","reviewName","connName","reviewPhone","connPhone","reviewType","connType","knoCategory","timelineConfig","activeStepIndex","getStatusText","currentActiveIndex","CitizenApp","_Digit$Hooks$useStore","useStore","getInitData","statusLabel","EkycModule","stateCode","url","language","StoreData","getCurrentLanguage","_Digit$Services$useSt","Services","LocalizationService","getLocale","modules","locale","page","EkycLinks","formattedLinks","l","CitizenHomeCard","DocumentIcon","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/EKYCCard.js","../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/components/StatusCards.js","../src/components/Dashboard.js","../src/components/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/components/mockData.js","../src/utils/reportDownloader.js","../src/components/VendorDetailsCard.js","../src/hook/useInboxTableConfig.js","../src/components/SearchFormFieldsComponent.js","../src/hook/useInboxMobileCardsData.js","../src/pages/employee/Inbox.js","../src/components/Review.js","../src/config/AadhaarVerificationConfig.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../src/components/AdminDashboard.js","../src/components/SupervisorDetailsCard.js","../src/components/AssignEkycModal.js","../src/components/SurveyorDetailsCard.js","../src/pages/employee/WorkOrder.js","../../vendor/src/config/tableConfig.js","../src/hook/SupervisorInboxTableConfig.js","../src/components/AssignEkyc.js","../src/config/Routes.js","../src/pages/employee/index.js","../src/config/PropertyInfoConfig.js","../src/components/PropertyInfo.js","../src/config/MeterDetailsConfig.js","../src/components/MeterDetails.js","../src/pages/citizen/Inbox.js","../src/pages/citizen/EkycStatus.js","../src/pages/citizen/index.js","../src/Module.js"],"sourcesContent":["import { PersonIcon, EmployeeModuleCard } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst EKYCCard = () => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code || ele) : [];\n\n const { data: listData, isLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {},\n { tenantId, offset: 0, limit: 1 },\n { enabled: !!tenantId }\n );\n\n const totalCount = isLoading ? \"-\" : listData?.totalCount || 0;\n\n const isCitizen = window.location.pathname.includes(\"/citizen\");\n const prefix = isCitizen ? \"/digit-ui/citizen/ekyc\" : \"/digit-ui/employee/ekyc\";\n\n let links = [];\n if (isCitizen) {\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `${prefix}/surveyor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n links.push(\n {\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `${prefix}/supervisor-dashboard`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n }\n );\n }\n if (roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `${prefix}/vendor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n if (links.length === 0 || (roles.length === 1 && roles.includes(\"CITIZEN\"))) {\n links.push({\n label: t(\"EKYC_STATUS\"),\n link: `${prefix}/:id`,\n });\n }\n } else {\n // Employee links\n links = [\n // {\n // label: t(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n // link: `${prefix}/ceo-dashboard`,\n // },\n {\n label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\",\n link: `${prefix}/admin-dashboard`,\n },\n {\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n },\n {\n label: t(\"EKYC_WORK_ORDER\"),\n link: `${prefix}/work-order`,\n },\n ...(!roles.includes(\"EMPLOYEE\")\n ? [\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n },\n ]\n : []),\n ];\n }\n\n const propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: isCitizen\n ? []\n : [\n {\n count: totalCount,\n label: t(\"TOTAL_EKYC\"),\n link: `${prefix}/admin-dashboard`,\n },\n ],\n links: links,\n };\n\n return <EmployeeModuleCard {...propsForModuleCard} />;\n};\n\nexport default EKYCCard;\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Chartjs from \"chart.js/auto\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const fullName = loggedInUser?.name || \"Admin\";\n\n const hasExternalData = countData && typeof countData.total === \"number\" && typeof countData.submittedCount === \"number\";\n\n const { data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n ekycStatus: \"submitted\"\n },\n {\n enabled: !!tenantId && !hasExternalData,\n }\n );\n\n const apiCountData = React.useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n submittedCount: info.submittedCount || 0,\n inProgressCount: info.inProgressCount || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n };\n }, [dashboardData]);\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true,\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n // Fields where original value must be preserved (identifiers, numbers, emails, dates)\n const skipTitleCase = [\"kno\", \"mobileNumber\", \"emailId\", \"pincode\", \"mrkey\", \"dob\", \"createdTime\", \"lastModifiedTime\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const name = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (name) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(name);\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n // Apply Title Case to ALL string fields except identifiers/numbers/dates\n if (typeof val === \"string\" && !skipTitleCase.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_All_Data_Admin_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n const total = hasExternalData ? countData.total : (apiCountData?.total || countData?.total || countData?.totalCount || 0);\n const pending = hasExternalData ? countData.pending : (apiCountData?.pending || countData?.pending || 0);\n const active = hasExternalData ? countData.active : (apiCountData?.active || countData?.active || 0);\n const completed = hasExternalData ? countData.completed : (apiCountData?.completed || countData?.completed || 0);\n const inprocess = hasExternalData ? countData.inProgressCount : (apiCountData?.inProgressCount || countData?.inProgressCount || 0);\n const submitted = hasExternalData ? countData.submittedCount : (apiCountData?.submittedCount || countData?.submittedCount || 0);\n const actualCompleted = completed;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round(((submitted+completed)/ total) * 100) : 0;\n // const healthPct = total > 0 ? Math.round((approved / total) * 100) : 0;\n const healthPct = submitted > 0 ? Math.round((approved / submitted) * 100) : 0;\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n \n \n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\"), t(\"EKYC_SUBMITTED\"), t(\"EKYC_INPROCESS\")],\n datasets: [\n {\n data: [pending, completed, submitted, inprocess],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\", \"#49a3fb\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n },\n ],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: false,\n responsive: true,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n };\n }, [pending, completed, active, t]);\n\n const legendItems = [\n { color: \"#77B6EA\", label: t(\"EKYC_COMPLETED\"), value: completed },\n { color: \"#0c2a52\", label: t(\"EKYC_PENDING\"), value: pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_SUBMITTED\"), value: submitted },\n { color: \"#49a3fb\", label: t(\"EKYC_INPROCESS\"), value: inprocess }\n\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-cards-wrapper\">\n {/* Header */}\n <div className=\"status-cards-header\">\n <div>\n <div className=\"eyebrow\">\n <span className=\"eyebrow-dot\" />\n {t(\"EKYC_INSTITUTIONAL_OVERVIEW\") || \"Institutional Performance Overview\"}\n </div>\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n <p className=\"status-cards-subtitle\">\n {t(\"EKYC_DASHBOARD_SUBTITLE\") || \"Real-time monitoring of consumer verification workflows across all administrative zones.\"}\n </p>\n </div>\n <div className=\"total-applications-card\">\n <div className=\"total-label\">{t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Processed\"}</div>\n <div className=\"total-number\">{formatNumber(total)}</div>\n {/* <div className=\"total-badge\">↗ +12.4% {t(\"EKYC_FROM_LAST_QUARTER\") || \"from last quarter\"}</div> */}\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n\n {/* Panels */}\n <div className=\"status-panels-grid\">\n {/* Panel 1: Status Breakdown */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">{t(\"EKYC_STATUS_BREAKDOWN\") || \"Status Breakdown\"}</div>\n <div className=\"panel-subtitle\">{t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle distribution\"}</div>\n <div className=\"breakdown-body\">\n <div className=\"status-legend\">\n {legendItems.map((item) => (\n <div key={item.label} className=\"legend-row\">\n <span className=\"legend-label\">\n <span className=\"indicator-dot\" style={{ background: item.color }} />\n {item.label}\n </span>\n <span className=\"legend-value\">{formatNumber(item.value)}</span>\n </div>\n ))}\n </div>\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n <div className=\"chart-center\">\n <div className=\"chart-percentage\">{efficiency}%</div>\n <div className=\"chart-label\">{t(\"EKYC_COMPLETE\") || \"Complete\"}</div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Panel 2: Submission Health */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">\n {t(\"EKYC_SUBMISSION_HEALTH\") || \"Submission Health\"}\n {/* <span className=\"optimal-badge\">{t(\"EKYC_OPTIMAL\") || \"Optimal\"}</span> */}\n </div>\n <div className=\"panel-subtitle\">{t(\"EKYC_PLATFORM_EFFICIENCY\") || \"Platform operational efficiency\"}</div>\n <div className=\"health-metrics-row\">\n <div className=\"health-percentage\">{healthPct}%</div>\n {/* <div className=\"health-trend\">↗ +2.1%</div> */}\n </div>\n <div className=\"status-progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${healthPct}%` }} />\n </div>\n <div className=\"mini-metrics-grid\">\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_AVG_LATENCY\") || \"Avg Latency\"}</div>\n <div className=\"metric-value\">0s</div>\n </div>\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_ERROR_RATE\") || \"Error Rate\"}</div>\n <div className=\"metric-value\">0.0%</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;\n","import React, { useMemo } from \"react\";\nimport StatusCards from \"./StatusCards\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\n\n// Mock data removed in favor of API integration\n\nconst Dashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 2. API Data Fetching\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const countData = useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n submittedCount: info.submittedCount || 0,\n inProgressCount: info.inProgressCount || 0,\n };\n }, [dashboardData]);\n\n return isLoading ? (\n <Loader />\n ) : (\n <Card className=\"min-width-full\">\n <StatusCards countData={countData} />\n </Card>\n );\n};\n\nexport default Dashboard;\n","import React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, Card, Loader, InboxLinks } from \"@djb25/digit-ui-react-components\";\nimport { useHistory } from \"react-router-dom\";\nimport StatusCards from \"./StatusCards\";\n\nconst DesktopInbox = ({ tableConfig, filterComponent, ...props }) => {\n const {\n data,\n isLoading,\n onSort,\n onNextPage,\n onPrevPage,\n currentPage,\n pageSizeLimit,\n onPageSizeChange,\n parentRoute,\n searchParams,\n sortParams,\n totalRecords,\n countData,\n } = props;\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const FilterComponent = Digit.ComponentRegistryService?.getComponent(filterComponent);\n\n // State for Review Modal\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(\"/digit-ui/employee/ekyc/review\", { kNumber: selectedKno, aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const columns = useMemo(\n () => [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n // {\n // Header: t(\"EKYC_MOBILE_NO\"),\n // accessor: \"mobileNumber\",\n // Cell: ({ row }) => <span>{row.original?.mobileNumber || \"NA\"}</span>,\n // },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n {\n Header: t(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","export const ekycMockData = {\n topKpis: {\n totalWaterConnections: 2990996,\n totalEkycCompleted: 2460810,\n totalPending: 530186,\n totalRejected: 224324,\n agencyEkycCompleted: 2352069,\n citizenSelfEkycCompleted: 638927,\n todaysEkyc: 54684,\n successRate: 82,\n rejectionPercentage: 7,\n },\n\n executiveMetrics: {\n totalSurveyors: 186,\n totalSupervisors: 56,\n activeJurisdictions: 27,\n todaysGrowth: 2.8,\n selfEkycAdoption: 38,\n avgApprovalTime: \"2.3 Days\",\n riskZones: 7,\n escalationsOpen: 18,\n },\n\n alerts: [\n {\n title: \"North East District pending increased\",\n priority: \"high\",\n change: \"+22%\",\n district: \"North East District\",\n },\n {\n title: \"Agency 2 self eKYC adoption low\",\n priority: \"medium\",\n change: \"-12%\",\n district: \"West District\",\n },\n {\n title: \"Escalation raised in NWS Bhera Enclave\",\n priority: \"high\",\n change: \"+18\",\n district: \"Outer North\",\n },\n {\n title: \"Approval rate improved in East District\",\n priority: \"low\",\n change: \"+9%\",\n district: \"East District\",\n },\n ],\n\n heatmapData: [\n {\n district: \"Outer North\",\n intensity: 82,\n },\n {\n district: \"East District\",\n intensity: 48,\n },\n {\n district: \"South District\",\n intensity: 67,\n },\n {\n district: \"North East District\",\n intensity: 74,\n },\n ],\n\n dailyTrend: [\n {\n label: \"Mon\",\n completed: 270689,\n pending: 491305,\n rejected: 145810,\n },\n {\n label: \"Tue\",\n completed: 442945,\n pending: 466563,\n rejected: 157026,\n },\n {\n label: \"Wed\",\n completed: 615202,\n pending: 441821,\n rejected: 168243,\n },\n {\n label: \"Thu\",\n completed: 812067,\n pending: 413545,\n rejected: 179459,\n },\n {\n label: \"Fri\",\n completed: 1033540,\n pending: 381733,\n rejected: 190675,\n },\n {\n label: \"Sat\",\n completed: 1279621,\n pending: 346388,\n rejected: 201891,\n },\n {\n label: \"Sun\",\n completed: 1574918,\n pending: 303973,\n rejected: 213107,\n },\n ],\n\n selfVsAgency: [\n {\n label: \"Agency1\",\n agency: 201457,\n citizen: 758414,\n },\n {\n label: \"Agency 2\",\n agency: 164302,\n citizen: 919322,\n },\n {\n label: \"Agency 3\",\n agency: 328451,\n citizen: 541772,\n },\n ],\n\n pendingVsCompleted: [\n {\n label: \"Agency1\",\n completed: 201457,\n pending: 201457,\n },\n {\n label: \"Agency 2\",\n completed: 164302,\n pending: 164302,\n },\n {\n label: \"Agency 3\",\n completed: 328451,\n pending: 77278,\n },\n ],\n\n rejectionAnalysis: [\n {\n label: \"Agency1\",\n rejected: 71990,\n success: 72,\n },\n {\n label: \"Agency 2\",\n rejected: 81271,\n success: 77,\n },\n {\n label: \"Agency 3\",\n rejected: 71063,\n success: 86,\n },\n ],\n\n vendors: [\n {\n id: 1,\n name: \"Agency1\",\n\n assignedConnections: 959871,\n\n completedEkyc: 201457,\n\n selfEkyc: 758414,\n\n pending: 201457,\n\n rejected: 71990,\n\n inactiveDemand: 1161328,\n\n successRate: 72,\n\n progress: 21,\n\n supervisors: 23,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"Outer North\", \"North West District\", \"Model Town AC 18\", \"Cluster 2\", \"North District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 16116,\n pending: 196084,\n rejected: 53272,\n },\n {\n day: \"Tue\",\n completed: 26189,\n pending: 192727,\n rejected: 55072,\n },\n {\n day: \"Wed\",\n completed: 38276,\n pending: 188698,\n rejected: 57232,\n },\n {\n day: \"Thu\",\n completed: 52378,\n pending: 183997,\n rejected: 59751,\n },\n {\n day: \"Fri\",\n completed: 68495,\n pending: 178625,\n rejected: 62631,\n },\n {\n day: \"Sat\",\n completed: 84611,\n pending: 173253,\n rejected: 65510,\n },\n {\n day: \"Sun\",\n completed: 100728,\n pending: 167880,\n rejected: 68390,\n },\n ],\n\n zones: [\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n cluster: \"NWS Bhera Enclave\",\n\n assignedConnections: 102669,\n\n location: \"102669\",\n\n zroOffice: \"NWS Bhera Enclave\",\n\n assemblyConstituency: \"Part of Mundka AC 08\",\n\n gpsLocation: null,\n\n distanceFromFarthestPoint: null,\n\n activeDemand: 202197,\n\n pppZones: 15800,\n\n inactiveDemand: 35265,\n\n districtwiseInactiveTotal: 237462,\n },\n\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n\n cluster: \"Narela\",\n\n assignedConnections: 99528,\n\n location: \"99528\",\n\n zroOffice: \"Narela\",\n\n assemblyConstituency: \"Narela AC 01\",\n\n activeDemand: 99528,\n\n pppZones: 19465,\n\n inactiveDemand: 35265,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"North West District\",\n\n cluster: \"Rohini AC 13\",\n\n assignedConnections: 71041,\n\n location: \"71041\",\n\n zroOffice: \"Rohini\",\n\n assemblyConstituency: \"Rithala AC 06\",\n\n activeDemand: 247949,\n\n pppZones: 28975,\n\n inactiveDemand: 49494,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Mangol Puri AC 12\",\n\n cluster: \"Model Town AC 18\",\n\n assignedConnections: 68957,\n\n location: \"68957\",\n\n zroOffice: \"Central North District\",\n\n assemblyConstituency: \"Ashok Vihar\",\n\n activeDemand: 231216,\n\n pppZones: 16627,\n\n inactiveDemand: 36915,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Timarpur AC 03\",\n\n cluster: \"Cluster 2\",\n\n assignedConnections: 34862,\n\n location: \"34862\",\n\n zroOffice: \"Old Delhi District\",\n\n assemblyConstituency: \"Pratap Nagar\",\n\n activeDemand: 99694,\n\n pppZones: 20011,\n\n inactiveDemand: 48011,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Bali Maran AC 22\",\n\n cluster: \"North District\",\n\n assignedConnections: 110507,\n\n location: \"110507\",\n\n zroOffice: \"Burari\",\n\n assemblyConstituency: \"Burari AC 2\",\n\n activeDemand: 178815,\n\n pppZones: 14700,\n\n inactiveDemand: 31772,\n },\n ],\n },\n\n {\n id: 2,\n\n name: \"Agency 2\",\n\n assignedConnections: 1083624,\n\n completedEkyc: 164302,\n\n selfEkyc: 919322,\n\n pending: 164302,\n\n rejected: 81271,\n\n inactiveDemand: 1247926,\n\n successRate: 77,\n\n progress: 15,\n\n supervisors: 14,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"West District\", \"Janak Puri\", \"South District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 13144,\n pending: 159920,\n rejected: 60140,\n },\n {\n day: \"Tue\",\n completed: 21359,\n pending: 157182,\n rejected: 62172,\n },\n {\n day: \"Wed\",\n completed: 31217,\n pending: 153896,\n rejected: 64610,\n },\n {\n day: \"Thu\",\n completed: 42718,\n pending: 150062,\n rejected: 67454,\n },\n {\n day: \"Fri\",\n completed: 55862,\n pending: 145681,\n rejected: 70705,\n },\n {\n day: \"Sat\",\n completed: 69006,\n pending: 141299,\n rejected: 73956,\n },\n {\n day: \"Sun\",\n completed: 82151,\n pending: 136918,\n rejected: 77207,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Rajouri Garden AC 27\",\n\n assignedConnections: 84506,\n\n location: \"84506\",\n\n zroOffice: \"Rajouri Garden AC 27\",\n\n assemblyConstituency: \"Punjabi Bagh\",\n\n activeDemand: 470766,\n\n pppZones: 13269,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Tilak Nagar AC 29\",\n\n assignedConnections: 51428,\n\n location: \"51428\",\n\n zroOffice: \"Tilak Nagar AC 29\",\n\n assemblyConstituency: \"Paschim Vihar\",\n\n activeDemand: 470766,\n\n pppZones: 6298,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"Part of Uttam Nagar & Vikas puri\",\n\n cluster: \"Janak Puri\",\n\n assignedConnections: 163041,\n\n location: \"163041\",\n\n zroOffice: \"Janakpuri\",\n\n assemblyConstituency: \"Janakpuri AC 30\",\n\n activeDemand: 369772,\n\n pppZones: 25729,\n\n inactiveDemand: 60534,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"South District\",\n\n assignedConnections: 52803,\n\n location: \"52803\",\n\n zroOffice: \"R K Puram\",\n\n assemblyConstituency: \"Malviya Nagar AC 43\",\n\n activeDemand: 243086,\n\n pppZones: 9678,\n\n inactiveDemand: 39204,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"Vasant Kunz\",\n\n assignedConnections: 58997,\n\n location: \"58997\",\n\n zroOffice: \"Vasant Kunj\",\n\n assemblyConstituency: \"Vasant Kunj\",\n\n activeDemand: 243086,\n\n pppZones: 6691,\n\n inactiveDemand: 39204,\n },\n ],\n },\n\n {\n id: 3,\n\n name: \"Agency 3\",\n\n assignedConnections: 947501,\n\n completedEkyc: 328451,\n\n selfEkyc: 541772,\n\n pending: 77278,\n\n rejected: 71063,\n\n inactiveDemand: 1016841,\n\n successRate: 86,\n\n progress: 78,\n\n supervisors: 19,\n\n activeSurveyors: 58,\n\n jurisdictions: [\"East District\", \"North East District\", \"South East District\", \"MNWS\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 44120,\n pending: 130002,\n rejected: 5711,\n },\n {\n day: \"Tue\",\n completed: 58221,\n pending: 121998,\n rejected: 7104,\n },\n {\n day: \"Wed\",\n completed: 70218,\n pending: 113201,\n rejected: 8842,\n },\n {\n day: \"Thu\",\n completed: 85124,\n pending: 104006,\n rejected: 9911,\n },\n {\n day: \"Fri\",\n completed: 102315,\n pending: 94441,\n rejected: 11214,\n },\n {\n day: \"Sat\",\n completed: 121009,\n pending: 85218,\n rejected: 12902,\n },\n {\n day: \"Sun\",\n completed: 142118,\n pending: 77278,\n rejected: 14101,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Mayur Vihar\",\n\n assignedConnections: 72326,\n\n location: \"72326\",\n\n zroOffice: \"Mayur Vihar\",\n\n assemblyConstituency: \"Trilokpuri AC 55\",\n\n activeDemand: 328564,\n\n pppZones: 9691,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Yojna Vihar\",\n\n assignedConnections: 40651,\n\n location: \"40651\",\n\n zroOffice: \"Yojna Vihar\",\n\n assemblyConstituency: \"Vishwas Nagar AC 59\",\n\n activeDemand: 328564,\n\n pppZones: 10097,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"GTB Enclave\",\n\n assignedConnections: 80453,\n\n location: \"80453\",\n\n zroOffice: \"GTB Enclave\",\n\n assemblyConstituency: \"Seemapuri AC 63\",\n\n activeDemand: 323753,\n\n pppZones: 10671,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"Yamuna Vihar\",\n\n assignedConnections: 90599,\n\n location: \"90599\",\n\n zroOffice: \"Yamuna Vihar\",\n\n assemblyConstituency: \"Mustafabad AC 69\",\n\n activeDemand: 323753,\n\n pppZones: 18185,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Kalkaji AC 51\",\n\n assignedConnections: 29188,\n\n location: \"29188\",\n\n zroOffice: \"Kalkaji AC 51\",\n\n assemblyConstituency: \"Saket\",\n\n activeDemand: 136102,\n\n pppZones: 3675,\n\n inactiveDemand: 23977,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Okhla\",\n\n assignedConnections: 18473,\n\n location: \"18473\",\n\n zroOffice: \"Sarita Vihar/Okhla\",\n\n assemblyConstituency: \"Okhla AC 54\",\n\n activeDemand: 136102,\n\n pppZones: 3703,\n\n inactiveDemand: 23977,\n },\n ],\n },\n ],\n};\n","export const downloadSurveyorPDF = async ({\n rows,\n surveyorName,\n employeeId,\n mobileNumber,\n vendorName,\n supervisorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const initData = Digit.SessionStorage.get(\"initData\");\n const tenants = initData?.tenants || [];\n const tenantInfo = tenants.find((tenant) => tenant.code === tenantId);\n\n const capitalize = (text) =>\n text && text.substr(0, 1).toUpperCase() + text.substr(1);\n const ulbCamel = (ulb) =>\n ulb &&\n ulb\n .toLowerCase()\n .split(\" \")\n .map(capitalize)\n .join(\" \");\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SURVEYOR_DETAILS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"SURVEYOR_NAME\"), value: surveyorName },\n { title: t(\"MOBILE_NUMBER\"), value: mobileNumber },\n { title: t(\"VENDOR_NAME\"), value: vendorName },\n { title: t(\"SUPERVISOR_NAME\"), value: supervisorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\"), value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\"), value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\"), value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\"), value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SURVEYOR_REPORT\"),\n details,\n applicationNumber: employeeId,\n rows,\n t,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n};\n\n\nexport const downloadSupervisorPDF = async ({\n rows,\n supervisorName,\n mobileNumber,\n vendorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SUPERVISOR_DETAILS\") || \"Supervisor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\", value: supervisorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from surveyors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || row.owner?.name || \"N/A\",\n firstName: row.owner?.mobileNumber || row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SURVEYOR_NAME\") || \"Surveyor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SUPERVISOR_REPORT\") || \"eKYC Supervisor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\nexport const downloadVendorPDF = async ({\n rows,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const emailContact = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"VENDOR_DETAILS\") || \"Vendor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"EMAIL\") || \"Email\", value: email }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from supervisors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || \"N/A\",\n firstName: row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SUPERVISOR_NAME\") || \"Supervisor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email: emailContact,\n phoneNumber,\n heading: t(\"EKYC_VENDOR_REPORT\") || \"eKYC Vendor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\n\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport { downloadVendorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst VendorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { vendorId } = useParams();\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Fetch all supervisors to filter by vendor\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Match vendor details\n const vendor = useMemo(() => {\n const userUuid = loggedInUser?.uuid;\n const userMobile = loggedInUser?.mobileNumber;\n\n // Helper to check if a vendor matches the logged in user\n const matchesUser = (v) => {\n const ownerUuid = v.owner?.uuid || v.owner?.id;\n const ownerMobile = v.owner?.mobileNumber || v.mobileNumber;\n return (userUuid && ownerUuid === userUuid) || (userMobile && ownerMobile === userMobile);\n };\n\n // Find in real API search first\n if (vendorSearchResponse) {\n if (vendorId) {\n const matched = vendorSearchResponse.find(\n (v) => v.dsoDetails?.id === vendorId || v.dsoDetails?.vendorId === vendorId || v.id === vendorId || v.vendorId === vendorId\n );\n if (matched) return matched.dsoDetails || matched;\n } else {\n // Try matching logged in user\n const matched = vendorSearchResponse.find((v) => matchesUser(v.dsoDetails || v));\n if (matched) return matched.dsoDetails || matched;\n // Default to first vendor if no match found\n if (vendorSearchResponse.length > 0) return vendorSearchResponse[0].dsoDetails || vendorSearchResponse[0];\n }\n }\n\n // Fall back to ekycMockData vendors\n if (vendorId) {\n return ekycMockData.vendors.find((v) => v.id === Number(vendorId) || v.name === vendorId) || ekycMockData.vendors[0];\n } else {\n // Match mock vendor with user name or return first\n const matchedMock = ekycMockData.vendors.find((v) => v.name?.toLowerCase() === loggedInUser?.name?.toLowerCase());\n return matchedMock || ekycMockData.vendors[0];\n }\n }, [vendorSearchResponse, vendorId, loggedInUser]);\n\n // Supervisors belonging to this vendor\n const vendorSupervisors = useMemo(() => {\n if (!supervisorSearchResponse?.supervisors) {\n // Mock fallback if supervisors count is present\n if (vendor && Array.isArray(ekycMockData.vendors)) {\n // Return dummy supervisors based on vendor name or id\n const mockSupList = Array.from({ length: vendor.supervisors || 5 }, (_, i) => ({\n id: `SUP_V_${vendor.id || 1}_${i}`,\n name: `Supervisor ${i + 1} (${vendor.name})`,\n mobileNo: `99999120${i}`,\n status: \"ACTIVE\",\n totalKnos: Math.round(1000 + Math.random() * 4000),\n submittedKnos: Math.round(500 + Math.random() * 2000),\n pendingKnos: Math.round(200 + Math.random() * 1000),\n progressPercent: Math.round(40 + Math.random() * 50),\n }));\n return mockSupList;\n }\n return [];\n }\n\n // Filter real supervisors belonging to this vendor\n const currentVendorId = vendor?.id || vendor?.vendorId || vendorId;\n const matchedSups = supervisorSearchResponse.supervisors.filter(\n (s) => s.vendorId === currentVendorId\n );\n\n return matchedSups.map((sup) => {\n // Find progress report for this supervisor in progressData\n const report = progressData?.supervisorReport?.find(\n (r) => r.supervisorId === sup.id || r.supervisorId === sup.owner?.uuid\n );\n\n return {\n id: sup.id || sup.owner?.uuid,\n name: sup.name || sup.owner?.name || \"N/A\",\n mobileNo: sup.owner?.mobileNumber || sup.mobileNo || \"N/A\",\n status: sup.status || \"ACTIVE\",\n totalKnos: report?.totalKnos || 0,\n submittedKnos: report?.submittedKnos || 0,\n pendingKnos: report?.pendingKnos || 0,\n progressPercent: report?.progressPercent || 0,\n };\n });\n }, [supervisorSearchResponse, vendor, progressData, vendorId]);\n\n const vendorName = vendor?.name || \"N/A\";\n const mobileNumber = vendor?.mobileNumber || vendor?.owner?.mobileNumber || \"N/A\";\n const email = vendor?.owner?.emailId || \"N/A\";\n const status = vendor ? \"ACTIVE\" : \"N/A\";\n const jurisdictions = useMemo(() => {\n if (Array.isArray(vendor?.jurisdictions)) {\n return vendor.jurisdictions.join(\", \");\n }\n return \"N/A\";\n }, [vendor]);\n const zoneIds = useMemo(() => {\n return vendor?.zoneIds?.length ? vendor.zoneIds.filter(Boolean).map(zone => String(zone).toUpperCase().replace(\"\", \" \")).join(\", \") : \"N/A\";\n }, [vendor]);\n\n // KPI stats calculation\n const cards = useMemo(() => {\n const hasRealData = vendorSupervisors.some((s) => s.totalKnos > 0);\n\n const totalKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0)\n : (progressData?.totalKnos || vendor?.assignedConnections || 0);\n\n const completedKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0)\n : (progressData?.completedKnos || vendor?.completedEkyc || 0);\n\n const pendingKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0)\n : (totalKnos - completedKnos);\n\n const progressPercent = totalKnos > 0 ? Math.round((completedKnos / totalKnos) * 100) : (vendor?.progress || 0);\n\n return [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: totalKnos,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n // {\n // label: \"TOTAL_ASSIGNMENTS\",\n // count: totalKnos,\n // color: \"#3B82F6\",\n // type: \"week\",\n // icon: <FaMapMarkedAlt />,\n // },\n {\n label: \"EKYC_COMPLETED\",\n count: completedKnos,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: pendingKnos,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${progressPercent}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n }, [vendorSupervisors, vendor, progressData]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true\n });\n\n const consumerList = response?.consumerList || [];\n\n if (!consumerList || consumerList.length === 0) {\n alert(t(\"NO_EKYC_DATA_FOUND\") || \"No eKYC data found to download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = fullName;\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n cleanObj[friendlyHeader] = val;\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${vendorName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Failed to download eKYC data:\", error);\n alert(t(\"EKYC_DOWNLOAD_FAILED\") || \"Failed to download eKYC data. Please try again.\");\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const paginatedSupervisors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return vendorSupervisors.slice(start, end);\n }, [vendorSupervisors, currentPage, pageSize]);\n\n const supervisorColumns = useMemo(\n () => [\n {\n Header: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\",\n accessor: (row) => row?.name || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/supervisor-dashboard/${row.original.id}`;\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.name || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: (row) => row?.status || \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || row?.progressPercent === 0 ? row.progressPercent : row.progress}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = vendorSupervisors.map((s) => ({\n name: s.name,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0) || vendor?.assignedConnections || 0;\n const completedKnos = vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0) || vendor?.completedEkyc || 0;\n\n downloadVendorPDF({\n rows: rowsWithStats,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate report:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handlePresetDownload = (filter) => {\n handleDownload();\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n handleDownload();\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isVendorSearchLoading || isSupervisorSearchLoading;\n\n if (isPageLoading && !vendor) {\n return <Loader />;\n }\n\n if (!vendor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_VENDOR_FOUND\") || \"No Vendor Found\"}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{vendorName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{vendorName}</h2>\n <div className=\"designation\">{t(\"VENDOR_AGENCY\") || \"Agency / Vendor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {\n cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isPageLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div>\n\n {/* <div className=\"detail-item\">\n <span className=\"label\">{t(\"JURISDICTIONS\") || \"Jurisdictions\"}</span>\n <span className=\"value\">{jurisdictions}</span>\n </div> */}\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONES\") || \"Assigned Zones\"}</span>\n <span className=\"value\">{zoneIds}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\"}\n tableClass=\"ekycTable\"\n data={paginatedSupervisors}\n columns={supervisorColumns}\n isLoading={isPageLoading}\n totalRecords={vendorSupervisors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(vendorSupervisors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(vendorSupervisors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default VendorDetailsCard;\n","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header } from \"@djb25/digit-ui-react-components\";\n\nconst useInboxTableConfig = ({\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n checkPathName,\n onSortingByData,\n tenantId,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const tableColumnConfig = [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n disableSortBy: true,\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"SUBMITTED_AT\") || \"Submitted At\",\n accessor: \"submittedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"ASSIGNED_AT\") || \"Assigned At\",\n accessor: \"assignedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n ];\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n initSortId: \"applicationDate\",\n onPageSizeChange: onPageSizeChange,\n currentPage: offset,\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) + limit },\n checkPathName,\n }),\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) - limit },\n checkPathName,\n }),\n pageSizeLimit: limit,\n onSort: onSortingByData,\n // sortParams: [{id: getValues(\"sortBy\"), desc: getValues(\"sortOrder\") === \"DESC\" ? true : false}],\n totalRecords: totalCount,\n onSearch: formState?.searchForm?.message,\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: Math.max(0, Math.floor((totalCount - 1) / limit) * limit) },\n checkPathName,\n }),\n onFirstPage: () => dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, offset: 0 }, checkPathName }),\n // globalSearch: {searchForItemsInTable},\n // searchQueryForTable,\n data: table,\n columns: tableColumnConfig,\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default useInboxTableConfig;\n","import React from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport { CardLabelError, TextInput, CustomTooltip, Label } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchFormFieldsComponents = ({ searchFormState, controlSearchForm, searchType }) => {\n const { t } = useTranslation();\n const { errors } = searchFormState;\n\n if (searchType === \"mobile\") {\n return (\n <React.Fragment>\n {/* MOBILE NUMBER */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"ES_COMMON_MOBILE_NUM\") || \"Mobile Number\"}\n <CustomTooltip message={t(\"EKYC_MOBILE_NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"mobileNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[6-9]\\d{9}$/,\n message: t(\"ERR_INVALID_MOBILE_NUMBER\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.mobileNumber && <CardLabelError>{errors.mobileNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment>\n {/* K NUMBER (KNO) */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"EKYC_K.NUMBER\") || \"K Number\"}\n <CustomTooltip message={t(\"EKYC_K.NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"kNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[0-9]{10}$/,\n message: t(\"ERR_INVALID_KNO\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.kNumber && <CardLabelError>{errors.kNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n};\n\nexport default SearchFormFieldsComponents;\n","import { RadioButtons, SearchField } from \"@djb25/digit-ui-react-components\";\nimport React, { useState } from \"react\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nconst useInboxMobileCardsData = ({ table, tenantId, isSupervisor = false }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (!isSupervisor && reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData, isSupervisor]);\n\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const handleSupervisorReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const dataForMobileInboxCards = table?.map((item) => {\n if (isSupervisor) {\n const id = item.id;\n const status = item.status || \"DEFAULT\";\n\n return {\n [t(\"SURVEYOR_NAME\")]: (\n <span className=\"link\" onClick={() => handleSupervisorReview(id)}>\n {item.surveyorName || item.name || \"NA\"}\n </span>\n ),\n [t(\"MOBILE_NUMBER\")]: item.mobileNo || item.owner?.mobileNumber || \"NA\",\n [t(\"STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>,\n [t(\"SERVICE_TYPE\")]: item.serviceType || \"NA\",\n };\n } else {\n const kno = item.kno || item.applicationNumber || \"NA\";\n const status = (item.status || \"DEFAULT\").toUpperCase();\n const ekycStatus = (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase();\n\n return {\n [t(\"EKYC_APPLICATION_NO\")]: (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n ),\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName || \"NA\",\n [t(\"EKYC_STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>,\n [t(\"SUBMITTED_AT\")]: item.submittedAt ? Digit.DateUtils.ConvertEpochToDate(item.submittedAt) : \"-\",\n [t(\"ASSIGNED_AT\")]: item.assignedAt ? Digit.DateUtils.ConvertEpochToDate(item.assignedAt) : \"-\",\n [t(\"EKYC_EKYC_STATUS\")]: <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>,\n };\n }\n });\n\n const MobileSortFormValues = () => {\n const sortOrderOptions = [\n {\n code: \"DESC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_FIRST\",\n },\n {\n code: \"ASC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_LAST\",\n },\n ];\n const { control: controlSortForm } = useFormContext();\n return (\n <SearchField>\n <Controller\n name=\"sortOrder\"\n control={controlSortForm}\n render={({ onChange, value }) => (\n <RadioButtons\n onSelect={(e) => {\n onChange(e.code);\n }}\n selectedOption={sortOrderOptions.filter((option) => option.code === value)[0]}\n optionsKey=\"i18nKey\"\n name=\"sortOrder\"\n options={sortOrderOptions}\n />\n )}\n />\n </SearchField>\n );\n };\n\n return {\n data: dataForMobileInboxCards,\n isTwoDynamicPrefix: true,\n getRedirectionLink: () => {},\n handleClickEnabled: false,\n serviceRequestIdKey: isSupervisor ? \"id\" : \"applicationNo\",\n MobileSortFormValues,\n };\n};\n\nexport default useInboxMobileCardsData;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\nconst StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n);\n\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit]);\n\n const { isLoading: isListLoading, data: listData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return listData?.consumerList || [];\n }, [isSearchActive, searchData, listData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (\n item.connectionDetails?.ekycStatus ||\n item.connectionDetails?.ekycstatus ||\n item.ekycStatus ||\n item.ekycstatus ||\n \"NA\"\n ).toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.kno || \"\",\n owner: fullName || item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName || item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n\n const { t } = useTranslation();\n\n const supervisor = useMemo(() => {\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const roles = loggedInUser?.roles?.map((ele) => ele.code) || [];\n\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n const targetId = loggedInUser?.uuid;\n if (progressData?.supervisorReport && targetId) {\n const report = progressData.supervisorReport.find(\n (s) =>\n s.supervisorId?.toLowerCase() === targetId?.toLowerCase() ||\n s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n if (report) return report;\n }\n }\n\n if (progressData?.supervisorReport) {\n const totalKnos = progressData.supervisorReport.reduce((acc, r) => acc + (r.totalKnos || 0), 0);\n const submittedKnos = progressData.supervisorReport.reduce((acc, r) => acc + (r.submittedKnos || 0), 0);\n const pendingKnos = progressData.supervisorReport.reduce((acc, r) => acc + (r.pendingKnos || 0), 0);\n const progressPercent = totalKnos > 0 ? Math.round((submittedKnos / totalKnos) * 100) : 0;\n return {\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }\n return null;\n }, [progressData]);\n\n const cards = useMemo(() => [\n {\n label: t(\"TOTAL_EKYC_APPLICATIONS\"),\n count: supervisor?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: t(\"EKYC_COMPLETED\"),\n count: supervisor?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: t(\"PENDING_APPLICATIONS\"),\n count: supervisor?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: t(\"OVERALL_PROGRESS\"),\n count: `${supervisor?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ], [supervisor]);\n const totalRecords = listData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n function formReducer(state, payload) {\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isListLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n {/* Stats */}\n <div className=\"surveyor-dashboard\" style={{ overflowY: \"visible\", marginBottom: \"24px\" }}>\n <div className=\"stats-wrapper\" style={{ display: \"flex\", gap: \"16px\", flexWrap: \"wrap\" }}>\n {cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isProgressLoading}\n icon={card.icon}\n />\n ))}\n </div>\n </div>\n\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: listData,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { Fragment, useState } from \"react\";\nimport {\n Card,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n Menu,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\n\n// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />} style={{ margin: 0, padding: 0 }} onClick={routeTo} />\n );\n};\n\nconst checkForNA = (value) => (value !== null && value !== undefined && value !== \"\" ? value : \"N/A\");\n\nconst boolToYesNo = (value, t) => {\n if (value === true || value === \"true\" || String(value).toLowerCase() === \"yes\") return t(\"CORE_COMMON_YES\");\n if (value === false || value === \"false\" || String(value).toLowerCase() === \"no\") return t(\"CORE_COMMON_NO\");\n if (value === \"true\") return t(\"CORE_COMMON_YES\");\n if (value === \"false\") return t(\"CORE_COMMON_NO\");\n};\n/**\n * Robust data extraction for comparison.\n * The API returns { applicationReviewInfo: { newData: { ... }, oldData: { ... } } }\n */\nconst extractReviewData = (searchData, flowState) => {\n const rawData = searchData && Object.keys(searchData).length > 0 ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReviewInfo -> newData/oldData\n const reviewWrapper = rawData?.applicationReviewInfo || rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n\n return {\n newData: applicationData?.newData || applicationData,\n oldData: applicationData?.oldData || null,\n };\n};\n\nconst ReviewSection = ({ title, fields, newData, oldData, t, jumpTo, state, hideEditButton }) => {\n return (\n <div\n className=\"review-section-wrapper\"\n style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}\n >\n <div\n style={{\n padding: \"20px 24px\",\n background: \"#F9FAFB\",\n borderBottom: \"1px solid #EAECF0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && !hideEditButton && <ActionButton jumpTo={jumpTo} state={state} />}\n </div>\n\n <div style={{ padding: \"0 24px\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", tableLayout: \"fixed\" }}>\n <thead>\n <tr>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"30%\",\n }}\n >\n {t(\"EKYC_FIELD_NAME\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_EXISTING_INFORMATION\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_PROPOSED_UPDATES\")}\n </th>\n </tr>\n </thead>\n <tbody>\n {fields.map((field, idx) => {\n const valNew = newData?.[field.key];\n const valOld = oldData?.[field.key];\n const isChanged = oldData && String(valNew) !== String(valOld) && valOld !== undefined && valOld !== null;\n\n return (\n <tr key={idx} style={{ borderTop: \"1px solid #F2F4F7\" }}>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#344054\", fontWeight: \"500\" }}>{t(field.label)}</td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#667085\" }}>\n {field.isBool ? boolToYesNo(valOld, t) : checkForNA(valOld)}\n </td>\n <td\n style={{ padding: \"16px 0\", fontSize: \"14px\", color: isChanged ? \"#1B8B32\" : \"#101828\", fontWeight: isChanged ? \"700\" : \"400\" }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {field.isBool ? boolToYesNo(valNew, t) : checkForNA(valNew)}\n {isChanged && (\n <span\n style={{\n background: \"#ECFDF3\",\n color: \"#067647\",\n padding: \"2px 8px\",\n borderRadius: \"12px\",\n fontSize: \"10px\",\n fontWeight: \"600\",\n }}\n >\n {t(\"EKYC_CHANGED\")}\n </span>\n )}\n </div>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nconst Review = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n let { kno, applicationId } = useParams();\n\n const [agree, setAgree] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [showPreview, setShowPreview] = useState(false);\n const [previewUrl, setPreviewUrl] = useState(\"\");\n const [showOptions, setShowOptions] = useState(false);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({ error: false, label: \"\" });\n\n const options = [\n { action: t(\"APPROVE\") },\n { action: t(\"REJECT\") }\n ];\n\n const flowState = location.state || {};\n const { edits = {} } = flowState;\n const activeKno = kno || applicationId;\n\n const { aadhaarData = {}, addressDetails: editedAddress = {}, propertyDetails: editedProperty = {}, meterDetails: editedMeter = {} } = edits;\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const workflowMutation = Digit.Hooks.ekyc.useEkycWorkflow(tenantId);\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const { data: searchData, isLoading: isSearchLoading } = Digit.Hooks.ekyc.useEkycSearchReview({ kno: activeKno, fetchType: \"REVIEW\" }, tenantId, {\n enabled: !!activeKno,\n });\n\n const userRoles = Digit.SessionStorage.get(\"User\")?.info?.roles?.map((ele) => ele.code) || [];\n const isZRO = userRoles.includes(\"EKYC_ZRO\") || userRoles.includes(\"ZRO\");\n const isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SUPERVISOR\") || userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n const isStatusView = location.pathname.includes(\"/status/\");\n const hideEditButton = (isSupervisorOrSurveyorOrVendor && !isZRO) || isStatusView;\n\n // ── Data Consolidation ──────────────────────────────────────────────────\n const { newData: apiNewData, oldData: apiOldData } = extractReviewData(searchData, flowState);\n\n const prepareConsolidatedData = (data) => {\n if (!data) return null;\n const apiConn = data?.connectionDetails || data || {};\n const apiAddr = data?.addressDetails || data || {};\n const apiProp = data?.propertyInfo || data || {};\n const apiMeter = data?.meterDetails || data || {};\n\n return {\n connection: {\n consumerName:\n apiConn?.consumerName || (apiConn?.firstName ? [apiConn.firstName, apiConn.middleName, apiConn.lastName].filter(Boolean).join(\" \") : null),\n address: apiConn?.address || apiConn?.addressRaw,\n connectionType: apiConn?.connectionType || apiConn?.connectionCategory,\n meterNumber: apiConn?.meterNumber || apiConn?.meterNo,\n phoneNumber: apiConn?.phoneNumber || apiConn?.mobileNo || apiConn?.mobileNumber,\n email: apiConn?.email,\n statusflag: apiConn?.statusflag || apiConn?.statusFlag,\n ekycStatus: apiConn?.ekycStatus,\n knumber: apiConn?.knumber || apiConn?.kno,\n },\n address: {\n fullAddress: apiAddr?.fullAddress || apiAddr?.addressRaw,\n flatHouseNumber: apiAddr?.flatHouseNumber || apiAddr?.flatNo,\n buildingTower: apiAddr?.buildingTower || apiAddr?.building,\n landmark: apiAddr?.landmark,\n pinCode: apiAddr?.pinCode || apiAddr?.pincode,\n ward: apiAddr?.ward || apiAddr?.locality,\n assembly: apiAddr?.assembly,\n gpsValid: apiAddr?.gpsValid,\n latitude: apiAddr?.latitude,\n longitude: apiAddr?.longitude,\n mobileNo: apiAddr?.mobileNo || apiAddr?.mobileNumber,\n whatsappNo: apiAddr?.whatsappNo,\n email: apiAddr?.email,\n noOfPerson: apiAddr?.noOfPerson || apiAddr?.noOfPersons,\n knumber: apiAddr?.knumber || apiAddr?.kno,\n doorPhotoFilestoreId: apiAddr?.doorPhotoFilestoreId,\n },\n property: {\n kno: apiProp?.kno,\n pidNumber: apiProp?.pidNumber,\n typeOfConnection: apiProp?.typeOfConnection,\n connectionCategory: apiProp?.connectionCategory,\n userType: apiProp?.userType,\n numberOfFloors: apiProp?.numberOfFloors || apiProp?.noOfFloor,\n tenantName: apiProp?.tenantName,\n tenantMobile: apiProp?.tenantMobile,\n ekycStatus: apiProp?.ekycStatus,\n propertyDocumentFileStoreId: apiProp?.propertyDocumentFileStoreId,\n buildingImageFileStoreId: apiProp?.buildingImageFileStoreId,\n },\n meter: {\n kno: apiMeter?.kno,\n metered: apiMeter?.meterStatus === \"METERED\" || apiMeter?.metered,\n meterNumber: apiMeter?.meterNumber || apiMeter?.meterNo,\n meterMake: apiMeter?.meterMake,\n meterLocationAddress: apiMeter?.meterLocationAddress,\n meterLatitude: apiMeter?.meterLatitude,\n meterLongitude: apiMeter?.meterLongitude,\n workingStatus: apiMeter?.workingStatus,\n lastBillRaised: apiMeter?.lastBillRaised,\n systemMeterId: apiMeter?.systemMeterId,\n meterPhotoFileStoreId: apiMeter?.meterPhotoFileStoreId,\n },\n };\n };\n\n const newDataRaw = prepareConsolidatedData(apiNewData);\n const oldDataRaw = prepareConsolidatedData(apiOldData);\n\n // Apply edits to newData if present\n const connectionData = {\n ...newDataRaw?.connection,\n consumerName: aadhaarData?.name || newDataRaw?.connection?.consumerName,\n phoneNumber: aadhaarData?.mobileNumber || newDataRaw?.connection?.phoneNumber,\n knumber: newDataRaw?.connection?.knumber || activeKno,\n };\n\n const addressData = {\n ...newDataRaw?.address,\n fullAddress: editedAddress?.fullAddress || newDataRaw?.address?.fullAddress,\n flatHouseNumber: editedAddress?.flatHouseNumber || editedAddress?.flatNo || newDataRaw?.address?.flatHouseNumber,\n buildingTower: editedAddress?.buildingTower || editedAddress?.building || newDataRaw?.address?.buildingTower,\n landmark: editedAddress?.landmark || newDataRaw?.address?.landmark,\n pinCode: editedAddress?.pinCode || editedAddress?.pincode || newDataRaw?.address?.pinCode,\n ward: editedAddress?.ward || newDataRaw?.address?.ward,\n assembly: editedAddress?.assembly || newDataRaw?.address?.assembly,\n gpsValid: editedAddress?.gpsValid !== undefined ? editedAddress.gpsValid : newDataRaw?.address?.gpsValid,\n latitude: editedAddress?.latitude || newDataRaw?.address?.latitude,\n longitude: editedAddress?.longitude || newDataRaw?.address?.longitude,\n mobileNo: editedAddress?.mobileNo || aadhaarData?.mobileNumber || newDataRaw?.address?.mobileNo,\n whatsappNo: editedAddress?.whatsappNo || aadhaarData?.whatsappNumber || newDataRaw?.address?.whatsappNo,\n email: editedAddress?.email || newDataRaw?.address?.email,\n noOfPerson: editedAddress?.noOfPerson || aadhaarData?.noOfPersons || newDataRaw?.address?.noOfPerson,\n knumber: editedAddress?.knumber || newDataRaw?.address?.knumber || activeKno,\n doorPhotoFilestoreId: editedAddress?.doorPhotoFileStoreId || newDataRaw?.address?.doorPhotoFilestoreId,\n };\n\n const propertyData = {\n ...newDataRaw?.property,\n kno: newDataRaw?.property?.kno || activeKno,\n pidNumber: editedProperty?.pidNumber || newDataRaw?.property?.pidNumber,\n typeOfConnection: editedProperty?.connectionTypeData?.label || newDataRaw?.property?.typeOfConnection,\n connectionCategory: editedProperty?.connectionCategoryData?.label || newDataRaw?.property?.connectionCategory,\n userType: editedProperty?.userTypeData?.label || newDataRaw?.property?.userType,\n numberOfFloors: editedProperty?.noOfFloorsData?.label || newDataRaw?.property?.numberOfFloors,\n propertyDocumentFileStoreId: editedProperty?.propertyDocumentFileStoreId || newDataRaw?.property?.propertyDocumentFileStoreId,\n };\n\n const meterData = {\n ...newDataRaw?.meter,\n kno: editedMeter?.kno || newDataRaw?.meter?.kno || activeKno,\n metered: editedMeter?.meterStatusData?.value === \"Metered\" || newDataRaw?.meter?.metered,\n meterNumber: newDataRaw?.meter?.meterNumber,\n meterMake: editedMeter?.meterMake || newDataRaw?.meter?.meterMake,\n meterLocationAddress: editedMeter?.meterLocation || newDataRaw?.meter?.meterLocationAddress,\n workingStatus: editedMeter?.workingStatusData?.value === \"Working\" || newDataRaw?.meter?.workingStatus,\n lastBillRaised: editedMeter?.lastBillRaisedData?.value === \"Yes\" || newDataRaw?.meter?.lastBillRaised,\n meterPhotoFileStoreId: editedMeter?.meterPhotoFileStoreId || newDataRaw?.meter?.meterPhotoFileStoreId,\n };\n\n // ── Section Fields Configuration ─────────────────────────────────────\n const connectionFields = [\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n { label: \"EKYC_CONSUMER_NAME\", key: \"consumerName\" },\n { label: \"EKYC_ADDRESS\", key: \"address\" },\n { label: \"EKYC_CONNECTION_TYPE\", key: \"connectionType\" },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_MOBILE_NO\", key: \"phoneNumber\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_STATUS_FLAG\", key: \"statusflag\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const addressFields = [\n { label: \"EKYC_FULL_ADDRESS\", key: \"fullAddress\" },\n { label: \"EKYC_FLAT_HOUSE_NO\", key: \"flatHouseNumber\" },\n { label: \"EKYC_BUILDING_TOWER\", key: \"buildingTower\" },\n { label: \"EKYC_LANDMARK\", key: \"landmark\" },\n { label: \"EKYC_PINCODE\", key: \"pinCode\" },\n { label: \"EKYC_LOCALITY\", key: \"ward\" },\n { label: \"EKYC_ASSEMBLY\", key: \"assembly\" },\n { label: \"EKYC_GPS_VALID\", key: \"gpsValid\", isBool: true },\n { label: \"EKYC_LATITUDE\", key: \"latitude\" },\n { label: \"EKYC_LONGITUDE\", key: \"longitude\" },\n { label: \"EKYC_MOBILE_NO\", key: \"mobileNo\" },\n { label: \"EKYC_WHATSAPP_NO\", key: \"whatsappNo\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_NO_OF_PERSONS\", key: \"noOfPerson\" },\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n ];\n\n const propertyFields = [\n { label: \"EKYC_CONNECTION_CATEGORY\", key: \"connectionCategory\" },\n { label: \"EKYC_PID_NUMBER\", key: \"pidNumber\" },\n { label: \"EKYC_TYPE_OF_CONNECTION\", key: \"typeOfConnection\" },\n { label: \"EKYC_USER_TYPE\", key: \"userType\" },\n { label: \"EKYC_FLOOR_COUNT\", key: \"numberOfFloors\" },\n { label: \"EKYC_TENANT_NAME\", key: \"tenantName\" },\n { label: \"EKYC_TENANT_MOBILE\", key: \"tenantMobile\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const meterFields = [\n { label: \"EKYC_METERED\", key: \"metered\", isBool: true },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_METER_MAKE\", key: \"meterMake\" },\n { label: \"EKYC_METER_LOCATION_ADDRESS\", key: \"meterLocationAddress\" },\n { label: \"EKYC_METER_LATITUDE\", key: \"meterLatitude\" },\n { label: \"EKYC_METER_LONGITUDE\", key: \"meterLongitude\" },\n { label: \"EKYC_WORKING_STATUS\", key: \"workingStatus\", isBool: true },\n { label: \"EKYC_LAST_BILL_RAISED\", key: \"lastBillRaised\", isBool: true },\n { label: \"EKYC_SYSTEM_METER_ID\", key: \"systemMeterId\" },\n ];\n\n const handleDeclaration = () => setAgree(!agree);\n\n const handleReject = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"REJECTED\",\n remarks: \"Application rejected by reviewer\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Reject Error:\", err);\n }\n };\n\n const handleApprove = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"APPROVED\",\n remarks: \"All documents verified\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: false,\n label: t(\"EKYC_APPLICATION_APPROVE_SUCCESSFUL\") || \"Application Approved Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Approve Error:\", err);\n setToastData({\n error: true,\n label: err?.message || err?.response?.data?.message || \"Approve Error\",\n });\n setShowToast(true);\n }\n };\n\n const handleFinalSubmit = async () => {\n setIsSubmitting(true);\n try {\n const payload = {\n kno: activeKno,\n tenantId: tenantId,\n newData: {\n connectionDetails: connectionData,\n addressDetails: addressData,\n propertyInfo: propertyData,\n meterDetails: meterData,\n },\n };\n\n const result = await updateMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Submit Error:\", err);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleViewDocument = (fileStoreId) => {\n if (!fileStoreId) return;\n const documentUrl = `https://dev-djberp.nitcon.in/filestore/v1/files/id?tenantId=dl.djb&fileStoreId=${fileStoreId}`;\n setPreviewUrl(documentUrl);\n setShowPreview(true);\n };\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n if (option.action === t(\"Approve\")) {\n handleApprove();\n } else if (option.action === t(\"Reject\")) {\n handleReject();\n }\n };\n\n if (isSearchLoading || isSubmitting) return <Loader />;\n\n const baseUrl = \"/digit-ui/employee/ekyc\";\n\n return (\n <Fragment>\n <Card className=\"overflow-y-scroll\">\n {/* ── 1. Connection Details ────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_CONNECTION_DETAILS\")}\n fields={connectionFields}\n newData={connectionData}\n oldData={oldDataRaw?.connection}\n t={t}\n jumpTo={`${baseUrl}/consumer-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 2. Address Details ──────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_ADDRESS_DETAILS\")}\n fields={addressFields}\n newData={addressData}\n oldData={oldDataRaw?.address}\n t={t}\n jumpTo={`${baseUrl}/address-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 3. Property Info ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_PROPERTY_INFO\")}\n fields={propertyFields}\n newData={propertyData}\n oldData={oldDataRaw?.property}\n t={t}\n jumpTo={`${baseUrl}/property-info?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 4. Meter Details ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_METER_DETAILS\")}\n fields={meterFields}\n newData={meterData}\n oldData={oldDataRaw?.meter}\n t={t}\n jumpTo={`${baseUrl}/meter-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 5. Documents ────────────────────────────────────────────── */}\n <div style={{ marginTop: \"40px\" }}>\n <CardSubHeader style={{ marginBottom: \"20px\" }}>{t(\"EKYC_DOCUMENTS\")}</CardSubHeader>\n <StatusTable style={{ maxWidth: \"600px\" }}>\n <Row\n label={t(\"EKYC_DOOR_PHOTO\")}\n text={addressData.doorPhotoFilestoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n addressData.doorPhotoFilestoreId && (\n <div onClick={() => handleViewDocument(addressData.doorPhotoFilestoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n meterData.meterPhotoFileStoreId && (\n <div onClick={() => handleViewDocument(meterData.meterPhotoFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.buildingImageFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.buildingImageFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.propertyDocumentFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.propertyDocumentFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n </StatusTable>\n </div>\n\n {!hideEditButton && (\n <div style={{ marginTop: \"40px\", paddingTop: \"30px\", borderTop: \"1px solid #EAECF0\" }}>\n <CheckBox\n id=\"agreeDeclaration\"\n name=\"agreeDeclaration\"\n label={<span style={{ fontSize: \"16px\", color: \"#344054\" }}>{t(\"EKYC_FINAL_DECLARATION\")}</span>}\n onChange={handleDeclaration}\n checked={agree}\n />\n </div>\n )}\n\n {/* <ActionBar>\n <SubmitBar label={t(\"EKYC_REJECT\")} onSubmit={handleReject} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_APPROVE\")} onSubmit={handleApprove} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_SUBMIT_APPLICATION\")} onSubmit={handleFinalSubmit} disabled={!agree} />\n </ActionBar> */}\n {!hideEditButton && (\n <ActionBar>\n <SubmitBar\n label={t(\"TAKE_ACTION_FOR_APPROVE_REJECT\")}\n onSubmit={() => setShowOptions((prev) => !prev)}\n disabled={!agree}\n />\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n </Card>\n\n {/* ── Document Preview Modal ────────────────────────────────────── */}\n {showPreview && (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0,0,0,0.7)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 10000,\n }}\n >\n <div\n style={{\n position: \"relative\",\n backgroundColor: \"#fff\",\n padding: \"30px\",\n borderRadius: \"12px\",\n maxWidth: \"600px\",\n width: \"100%\",\n maxHeight: \"70vh\",\n overflow: \"auto\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n }}\n >\n <div\n onClick={() => setShowPreview(false)}\n style={{\n position: \"absolute\",\n top: \"10px\",\n right: \"10px\",\n cursor: \"pointer\",\n fontWeight: \"bold\",\n fontSize: \"20px\",\n color: \"#333\",\n background: \"#eee\",\n width: \"30px\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: \"50%\",\n }}\n >\n ×\n </div>\n <img\n src={previewUrl}\n alt=\"Document Preview\"\n style={{ maxWidth: \"100%\", height: \"auto\", display: \"block\" }}\n onError={(e) => {\n e.target.style.display = \"none\";\n e.target.nextSibling.style.display = \"block\";\n }}\n />\n <div style={{ display: \"none\", padding: \"40px\", textAlign: \"center\" }}>\n <p>{t(\"EKYC_DOCUMENT_PREVIEW_NOT_AVAILABLE\")}</p>\n <LinkButton label={t(\"EKYC_OPEN_IN_NEW_TAB\")} onClick={() => window.open(previewUrl, \"_blank\")} />\n </div>\n </div>\n </div>\n )}\n {showToast && (\n <Toast\n error={toastData.error}\n label={toastData.label}\n onClose={() => setShowToast(false)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { UploadFile, CheckBox, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst AadhaarVerificationConfig = (t, formData = {}, uploadFile, setDocumentId, documentId) => {\n const consumerType = formData?.consumerType?.name || formData?.consumerType;\n const occupantType = formData?.occupantType?.name || formData?.occupantType;\n const informantIsConsumer = formData?.informantIsConsumer ?? true;\n\n const fields = [\n {\n label: t(\"Consumer Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consumerType\",\n populators: {\n name: \"consumerType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Individual\" }, { name: \"Govt\" }, { name: \"Company_Society_Org\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Occupant Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"occupantType\",\n populators: {\n name: \"occupantType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Self\" }, { name: \"Tenanted\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Category Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"categoryType\",\n populators: {\n name: \"categoryType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Bulk\" }, { name: \"Non-Bulk\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"First Name\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"firstName\",\n validation: { required: true },\n },\n },\n {\n label: t(\"Middle Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"middleName\",\n },\n },\n {\n label: t(\"Last Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"lastName\",\n },\n },\n {\n label: t(\"Gender\"),\n isMandatory: false,\n type: \"custom\",\n key: \"gender\",\n populators: {\n name: \"gender\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Male\" }, { name: \"Female\" }, { name: \"Others\" }, { name: \"Not prefer to say\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Parent/Spouse Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"parentSpouseName\",\n },\n },\n {\n label: t(\"Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"mobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n error: t(\"Invalid mobile number\"),\n },\n },\n {\n label: t(\"WhatsApp\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"whatsapp\",\n },\n },\n {\n label: t(\"Email\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"email\",\n validation: {\n pattern: /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9.-]+$/,\n },\n error: t(\"Invalid email address\"),\n },\n },\n {\n label: t(\"No. of Residents\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"residents\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Type of Identity\"),\n isMandatory: true,\n type: \"custom\",\n key: \"identityType\",\n populators: {\n name: \"identityType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Aadhaar Card\" }, { name: \"Driving License\" }, { name: \"Passport\" }, { name: \"Voter ID\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Proof of Identity\"),\n isMandatory: false,\n type: \"custom\",\n key: \"idFile\",\n populators: {\n name: \"idFile\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n },\n {\n label: t(\"Document Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"documentNumber\",\n },\n },\n {\n label: t(\"Informant Is Consumer\"),\n isMandatory: false,\n type: \"custom\",\n key: \"informantIsConsumer\",\n populators: {\n name: \"informantIsConsumer\",\n component: (props) => (\n <CheckBox\n label={t(\"Yes, the informant is the consumer\")}\n checked={props.value ?? true}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n },\n ];\n\n // Informant conditional fields\n if (!informantIsConsumer) {\n fields.push(\n {\n label: t(\"Informant Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantName\",\n },\n },\n {\n label: t(\"Informant Relation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantRelation\",\n },\n }\n );\n }\n\n // Tenant conditional fields\n if (occupantType === \"Tenanted\") {\n fields.push({\n label: t(\"Document Proof\"),\n isMandatory: false,\n type: \"custom\",\n key: \"documentProof\",\n populators: {\n name: \"documentProof\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n });\n\n if (!documentId) {\n fields.push(\n {\n label: t(\"Owner Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"ownerMobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n },\n },\n {\n label: t(\"Tenant Verification\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"tenantVerification\",\n },\n }\n );\n }\n }\n\n // Govt conditional fields\n if (consumerType === \"Govt\") {\n fields.push(\n {\n label: t(\"Designation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"designation\",\n },\n },\n {\n label: t(\"Department\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"department\",\n },\n },\n {\n label: t(\"Employee ID\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"employeeId\",\n },\n }\n );\n }\n\n // Company / Society / Org conditional fields\n if (consumerType === \"Company_Society_Org\") {\n fields.push(\n {\n label: t(\"Entity Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"entityName\",\n },\n },\n {\n label: t(\"Contact Person\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"contactPerson\",\n },\n }\n );\n }\n\n // Consent checkbox field\n fields.push({\n label: t(\"Consent\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consent\",\n populators: {\n name: \"consent\",\n validation: { required: true },\n component: (props) => (\n <CheckBox\n label={t(\"I hereby consent to verify my Aadhaar details.\")}\n checked={props.value ?? false}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n });\n\n return [\n {\n head: t(\"EKYC_CONSUMER_CONNECTION\"),\n body: fields,\n },\n ];\n};\n\nexport default AadhaarVerificationConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport AadhaarVerificationConfig from \"../config/AadhaarVerificationConfig\";\n\nconst AadhaarVerification = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\") ||\n \"\";\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"CONNECTION\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.aadhaarVerification || {};\n\n // 🔹 STATES\n const [documentId, setDocumentId] = useState(savedData.documentId || null);\n const [documentProof, setDocumentProof] = useState(savedData.documentProof || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType ? { name: savedData.consumerType } : null,\n occupantType: savedData.occupantType ? { name: savedData.occupantType } : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || \"\",\n middleName: savedData.middleName || \"\",\n lastName: savedData.lastName || \"\",\n gender: savedData.gender ? { name: savedData.gender } : null,\n parentSpouseName: savedData.parentSpouseName || \"\",\n mobile: savedData.mobile || \"\",\n whatsapp: savedData.whatsapp || \"\",\n email: savedData.email || \"\",\n residents: savedData.residents || \"\",\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || \"\",\n informantRelation: savedData.informantRelation || \"\",\n documentId: savedData.documentId || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const details = rawData?.connectionDetails || rawData || {};\n const addrDetails = rawData?.addressDetails || {};\n\n if (details && Object.keys(details).length > 0 && !isDataLoaded) {\n let fName = \"\";\n let mName = \"\";\n let lName = \"\";\n\n if (details.firstName) {\n fName = details.firstName;\n mName = details.middleName || \"\";\n lName = details.lastName || \"\";\n } else if (details.consumerName) {\n const parts = details.consumerName.trim().split(/\\s+/);\n fName = parts[0] || \"\";\n if (parts.length === 2) lName = parts[1];\n if (parts.length > 2) {\n mName = parts.slice(1, -1).join(\" \");\n lName = parts[parts.length - 1];\n }\n }\n\n const updatedDefaults = {\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType\n ? { name: savedData.consumerType }\n : details.consumerType\n ? { name: details.consumerType }\n : null,\n occupantType: savedData.occupantType\n ? { name: savedData.occupantType }\n : details.occupantType\n ? { name: details.occupantType }\n : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || fName,\n middleName: savedData.middleName || mName,\n lastName: savedData.lastName || lName,\n gender: savedData.gender\n ? { name: savedData.gender }\n : details.gender\n ? { name: details.gender }\n : null,\n parentSpouseName: savedData.parentSpouseName || details.parentSpouse || \"\",\n mobile: savedData.mobile || details.phoneNumber || addrDetails.mobileNo || \"\",\n whatsapp: savedData.whatsapp || addrDetails.whatsappNo || \"\",\n email: savedData.email || details.email || addrDetails.email || \"\",\n residents: savedData.residents || (addrDetails.noOfPerson ? String(addrDetails.noOfPerson) : \"\"),\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || details.informantName || \"\",\n informantRelation: savedData.informantRelation || details.informantRelation || \"\",\n documentId: savedData.documentId || details.documentNumber || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.documentId) {\n setDocumentId(updatedDefaults.documentId);\n }\n if (updatedDefaults.documentProof) {\n setDocumentProof(updatedDefaults.documentProof);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUploadProof = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n if (fileStoreId) {\n onChange(file.name);\n setDocumentProof(file.name);\n setDocumentId(fileStoreId);\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Avoid updating states on every keypress unless they affect conditional visibility\n const consumerTypeChanged =\n (data?.consumerType?.name || data?.consumerType) !==\n (localFormData?.consumerType?.name || localFormData?.consumerType);\n const occupantTypeChanged =\n (data?.occupantType?.name || data?.occupantType) !==\n (localFormData?.occupantType?.name || localFormData?.occupantType);\n const informantIsConsumerChanged = data?.informantIsConsumer !== localFormData?.informantIsConsumer;\n\n if (consumerTypeChanged || occupantTypeChanged || informantIsConsumerChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const knoVal = data?.kno || searchKno;\n const consumerTypeVal = data?.consumerType;\n const occupantTypeVal = data?.occupantType;\n const categoryTypeVal = data?.categoryType;\n const firstNameVal = data?.firstName;\n const mobileVal = data?.mobile;\n const residentsVal = data?.residents;\n const consentVal = data?.consent;\n const docId = data?.documentId || documentId;\n const ownerMobileVal = data?.ownerMobile;\n\n let valid = true;\n if (!knoVal) valid = false;\n if (!consumerTypeVal) valid = false;\n if (!occupantTypeVal) valid = false;\n if (!categoryTypeVal) valid = false;\n if (!firstNameVal) valid = false;\n if (!mobileVal || !/^[6-9]\\d{9}$/.test(mobileVal)) valid = false;\n if (!residentsVal || Number(residentsVal) <= 0) valid = false;\n if (occupantTypeVal?.name === \"Tenanted\" && !docId && !ownerMobileVal) valid = false;\n if (!consentVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n kno: data.kno || searchKno,\n consumerType: data.consumerType?.name || data.consumerType,\n occupantType: data.occupantType?.name || data.occupantType,\n categoryType: data.categoryType?.name || data.categoryType,\n consumerName: data.consumerName || `${data.firstName || \"\"} ${data.middleName || \"\"} ${data.lastName || \"\"}`.trim(),\n firstName: data.firstName,\n middleName: data.middleName,\n lastName: data.lastName,\n gender: data.gender?.name || data.gender,\n parentSpouseName: data.parentSpouseName,\n relation: data.relation || savedData.relation || \"\",\n mobile: data.mobile,\n whatsapp: data.whatsapp,\n email: data.email,\n residents: data.residents,\n documentId: documentId,\n documentProof: documentProof,\n ownerMobile: data.ownerMobile,\n tenantVerification: data.tenantVerification,\n designation: data.designation,\n department: data.department,\n employeeId: data.employeeId,\n landline: data.landline || savedData.landline || \"\",\n entityRelation: data.entityRelation || savedData.entityRelation || \"\",\n contactPerson: data.contactPerson,\n entityName: data.entityName,\n idProof: data.identityType?.name || data.identityType,\n idNumber: data.documentNumber,\n consent: data.consent,\n informantIsConsumer: data.informantIsConsumer ?? true,\n informantName: data.informantName,\n informantRelation: data.informantRelation,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"CONSUMER\",\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Data updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update consumer details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = AadhaarVerificationConfig(t, localFormData, handleUploadProof, setDocumentId, documentId);\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default AadhaarVerification;\n","import AadhaarVerification from \"../components/AadhaarVerification\";\n\nexport const ekycConfig = [\n {\n body: [\n {\n route: \"consumer-details\",\n component: AadhaarVerification,\n key: \"aadhaarVerification\",\n texts: {\n header: \"EKYC_CONSUMER_CONNECTION\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 1,\n actions: \"EKYC_CONSUMER_CONNECTION\",\n },\n ],\n },\n {\n route: \"address-details\",\n component: \"AddressDetails\",\n key: \"addressDetails\",\n doorImage: true,\n showMapActualLocation: false,\n texts: {\n header: \"EKYC_ADDRESS_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 2,\n actions: \"EKYC_ADDRESS_DETAILS\",\n },\n ],\n },\n {\n route: \"property-info\",\n component: \"PropertyInfo\",\n key: \"propertyDetails\",\n texts: {\n header: \"EKYC_PROPERTY_INFO\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 3,\n actions: \"EKYC_PROPERTY_INFO\",\n },\n ],\n },\n {\n route: \"meter-details\",\n component: \"MeterDetails\",\n key: \"meterDetails\",\n texts: {\n header: \"EKYC_METER_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 4,\n actions: \"EKYC_METER_DETAILS\",\n },\n ],\n },\n ],\n },\n];\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n// import { useQueryClient } from \"react-query\";\nimport { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from \"react-router-dom\";\nimport { VerticalTimeline } from \"@djb25/digit-ui-react-components\";\nimport { ekycConfig } from \"../../config/config\";\n\nconst EKYCForm = ({ path: passedPath }) => {\n // const queryClient = useQueryClient();\n const match = useRouteMatch();\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const history = useHistory();\n\n let config = [];\n const [params, setParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n useEffect(() => {\n if (location.state && Object.keys(location.state).length > 0) {\n const { edits, ...rest } = location.state;\n setParams({ ...params, ...rest, ...edits });\n }\n }, [location.state]);\n\n const goNext = (skipStep, index, isAddMultiple, key) => {\n let currentPath = pathname.split(\"/\").pop();\n let routeObj = config.find((routeObj) => (key ? routeObj.key === key : routeObj.route === currentPath));\n if (!routeObj) routeObj = config.find((routeObj) => routeObj.route === currentPath);\n\n let nextStep = null;\n const currentIndex = config.findIndex((c) => c.route === routeObj.route);\n if (currentIndex > -1 && currentIndex < config.length - 1) {\n nextStep = config[currentIndex + 1].route;\n }\n\n let redirectWithHistory = history.push;\n if (skipStep) {\n redirectWithHistory = history.replace;\n }\n\n const base = passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\");\n if (nextStep === null) {\n return redirectWithHistory(`${base}/review`, { ...params, edits: params });\n }\n\n redirectWithHistory(`${base}/${nextStep}`, { ...params });\n };\n\n function handleSelect(key, data, skipStep, index, isAddMultiple = false, silent = false) {\n setParams((prev) => ({ ...prev, [key]: { ...params[key], ...data } }));\n if (!silent) {\n goNext(skipStep, index, isAddMultiple, key);\n }\n }\n\n // const onSuccess = () => {\n // clearParams();\n // queryClient.invalidateQueries(\"EKYC_CREATE\");\n // };\n\n ekycConfig.forEach((obj) => {\n config = config.concat(obj.body);\n });\n\n config.indexRoute = \"consumer-details\";\n\n const formStepRoutes = config.map((c) => c.route);\n const isFormStep = formStepRoutes.some((route) => pathname.includes(route));\n\n const sectionRefs = useRef({});\n\n useEffect(() => {\n if (isFormStep) {\n const currentRoute = pathname.split(\"/\").pop();\n if (sectionRefs.current[currentRoute]) {\n sectionRefs.current[currentRoute].scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }\n }\n }, [pathname, isFormStep]);\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={config} showFinalStep={true} />\n <div className=\"employee-form-section\">\n <Switch>\n <Route path={formStepRoutes.map((route) => `${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${route}`)}>\n <div className=\"single-page-form-container\">\n {config.map((routeObj, index) => {\n const { component } = routeObj;\n const Component = typeof component === \"string\" ? Digit.ComponentRegistryService.getComponent(component) : component;\n\n return (\n <div key={index} ref={(el) => (sectionRefs.current[routeObj.route] = el)} className=\"form-section-unit\">\n <Component\n config={{ ...routeObj, isCollapsible: true, defaultOpen: true }}\n onSelect={handleSelect}\n t={t}\n formData={params}\n // formData={{ ...params, address: params.addressDetails }}\n />\n </div>\n );\n })}\n </div>\n </Route>\n <Route>\n <Redirect to={`${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${config.indexRoute}`} />\n </Route>\n </Switch>\n </div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default EKYCForm;\n","import React, { useMemo, useState } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport Dashboard from \"./Dashboard\";\n\nconst parseAdditionalDetails = (additionalDetails) => {\n if (!additionalDetails) return {};\n if (typeof additionalDetails === \"object\") return additionalDetails;\n if (typeof additionalDetails !== \"string\") return {};\n try {\n return JSON.parse(additionalDetails);\n } catch (error) {\n return {};\n }\n};\n\nconst AdminDashboard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const vendorsList = useMemo(() => {\n if (vendorSearchResponse && vendorSearchResponse.length > 0) {\n const filteredVendors = vendorSearchResponse.filter((v) => {\n const dso = v.dsoDetails || v;\n const additionalDetails = parseAdditionalDetails(dso.additionalDetails || v.additionalDetails);\n return additionalDetails?.serviceType?.toLowerCase() === \"ekyc\";\n });\n\n return filteredVendors.map((v) => {\n const dso = v.dsoDetails || v;\n const supervisorsList = dso.supervisors || [];\n const surveyorsList = dso.surveyors || [];\n\n // Extract supervisor IDs for this vendor\n const supervisorIds = supervisorsList.map((s) => s.id || s.owner?.uuid).filter(Boolean);\n\n // Find supervisor reports in progressData matching these IDs\n const matchedReports = progressData?.supervisorReport?.filter(\n (r) => supervisorIds.includes(r.supervisorId)\n ) || [];\n\n const completed = matchedReports.reduce((acc, r) => acc + (r.submittedKnos || 0), 0);\n const pending = matchedReports.reduce((acc, r) => acc + (r.pendingKnos || 0), 0);\n const total = matchedReports.reduce((acc, r) => acc + (r.totalKnos || 0), 0);\n const progress = total > 0 ? Math.round((completed / total) * 100) : 0;\n const rejected = 0; // Default to 0 or calculate if data exists\n\n return {\n id: dso.id || dso.vendorId || v.id || v.vendorId,\n name: dso.name || dso.displayName || v.name || \"N/A\",\n ownerName: dso.owner?.name || v.owner?.name || \"N/A\",\n mobileNumber: dso.mobileNumber || dso.owner?.mobileNumber || v.mobileNumber || \"N/A\",\n supervisors: supervisorsList.length,\n surveyors: surveyorsList.length,\n completed: completed,\n progress: progress,\n pending: pending,\n rejected: rejected,\n };\n });\n }\n return [];\n }, [vendorSearchResponse, progressData]);\n\n return (\n <Card className=\"surveyor-dashboard\">\n <Dashboard />\n <div className=\"admin-performance-section\">\n <h3 className=\"section-title\">\n {t(\"EKYC_VENDORS_PERFORMANCE\") || \"eKYC Vendors Performance\"}\n </h3>\n\n {isVendorSearchLoading || isProgressLoading ? (\n <Loader />\n ) : (\n <div className=\"vendors-grid\">\n {vendorsList.length === 0 ? (\n <div className=\"no-vendors\">\n {t(\"NO_VENDORS_FOUND\") || \"No vendors found.\"}\n </div>\n ) : (\n vendorsList.map((vendor) => (\n <div\n key={vendor.id}\n className=\"vendor-perf-card\"\n onClick={() => history.push(`/digit-ui/employee/ekyc/vendors/${vendor.id}`)}\n >\n <div className=\"card-header\">\n <div className=\"vendor-info\">\n <h4>{vendor.name}</h4>\n <p>{t(\"MOBILE\") || \"Mobile\"}: {vendor.mobileNumber}</p>\n </div>\n <span className=\"progress-badge\">\n {vendor.progress}%\n </span>\n </div>\n\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${vendor.progress}%` }}></div>\n </div>\n\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.supervisors}</div>\n <div className=\"label\">{t(\"SUPERVISORS\") || \"Supervisors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.surveyors}</div>\n <div className=\"label\">{t(\"SURVEYORS\") || \"Surveyors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value completed-val\">{vendor.completed}</div>\n <div className=\"label\">{t(\"COMPLETED\") || \"Completed\"}</div>\n </div>\n </div>\n\n <div className=\"card-footer\">\n <span>{t(\"PENDING\") || \"Pending\"}: <span className=\"pending-count\">{vendor.pending}</span></span>\n <span>{t(\"REJECTED\") || \"Rejected\"}: <span className=\"rejected-count\">{vendor.rejected}</span></span>\n </div>\n </div>\n ))\n )}\n </div>\n )}\n </div>\n\n </Card>\n );\n};\n\nexport default AdminDashboard;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { downloadSupervisorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst SupervisorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { id: supervisorId } = useParams();\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // Fetch all supervisors to get details if assignment progress fails\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Fetch all surveyors to get details of connected surveyors if assignment progress fails\n const { data: surveyorSearchResponse, isLoading: isSurveyorSearchLoading } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n const supervisor = useMemo(() => {\n const targetOwnerOrId = supervisorId || loggedInUser?.uuid;\n if (!targetOwnerOrId) return null;\n\n // Step 0: resolve real supervisor entity id (handles self-login case\n // where we only have the owner/auth uuid, not the supervisor record id)\n let resolvedSupervisorId = supervisorId; // if URL already has entity id, trust it\n if (!resolvedSupervisorId && supervisorSearchResponse?.supervisors && targetOwnerOrId) {\n const selfSup = supervisorSearchResponse.supervisors.find(\n (s) =>\n s.owner?.uuid?.toLowerCase() === targetOwnerOrId?.toLowerCase() ||\n s.id?.toLowerCase() === targetOwnerOrId?.toLowerCase()\n );\n resolvedSupervisorId = selfSup?.id;\n }\n\n const targetId = resolvedSupervisorId || targetOwnerOrId;\n\n // 1. Find the supervisor profile from search response\n let matchedSup = null;\n if (supervisorSearchResponse?.supervisors) {\n matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n // 2. Find progress report for this supervisor from progressData\n let progressReport = null;\n if (progressData?.supervisorReport && targetId) {\n progressReport = progressData.supervisorReport.find(\n (s) =>\n s.supervisorId?.toLowerCase() === targetId?.toLowerCase() ||\n s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n // 3. If we found the supervisor in search response, enrich and return\n if (matchedSup) {\n const matchedSurveyors = surveyorSearchResponse?.surveyors\n ? surveyorSearchResponse.surveyors\n .filter((surv) => surv.supervisorId === (matchedSup.id || matchedSup.owner?.uuid))\n .map((surv) => {\n let realStats = null;\n if (progressData?.supervisorReport) {\n for (const report of progressData.supervisorReport) {\n if (\n report.supervisorId?.toLowerCase() !== matchedSup.id?.toLowerCase() &&\n report.id?.toLowerCase() !== matchedSup.id?.toLowerCase()\n ) continue;\n const matchedSurv = report.surveyors?.find(\n (s) =>\n (s.surveyorId && (s.surveyorId?.toLowerCase() === surv.id?.toLowerCase() || s.surveyorId?.toLowerCase() === surv.owner?.uuid?.toLowerCase())) ||\n (s.id && (s.id?.toLowerCase() === surv.id?.toLowerCase() || s.id?.toLowerCase() === surv.owner?.uuid?.toLowerCase()))\n );\n if (matchedSurv) {\n realStats = matchedSurv;\n break;\n }\n }\n }\n\n return {\n surveyorId: surv.id || surv.owner?.uuid,\n surveyorName: surv.name || surv.owner?.name || \"N/A\",\n mobileNo: surv.owner?.mobileNumber || surv.mobileNo || \"N/A\",\n status: surv.status || \"ACTIVE\",\n totalKnos: realStats?.totalKnos || 0,\n submittedKnos: realStats?.submittedKnos || 0,\n pendingKnos: realStats?.pendingKnos || 0,\n progressPercent: realStats?.progressPercent || 0,\n };\n })\n : [];\n\n const totalKnos = progressReport?.totalKnos || matchedSurveyors.reduce((acc, s) => acc + (s.totalKnos || 0), 0);\n const submittedKnos = progressReport?.submittedKnos || matchedSurveyors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0);\n const pendingKnos = progressReport?.pendingKnos || matchedSurveyors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0);\n const progressPercent = progressReport ? progressReport.progressPercent : (totalKnos > 0 ? Math.round((submittedKnos / totalKnos) * 100) : 0);\n\n return {\n supervisorId: matchedSup.id || matchedSup.owner?.uuid,\n supervisorName: matchedSup.name || matchedSup.owner?.name || \"N/A\",\n mobileNo: matchedSup.owner?.mobileNumber || matchedSup.mobileNo || \"N/A\",\n status: matchedSup.status || \"ACTIVE\",\n assignedZoneId: matchedSup.assignedZoneId || \"N/A\",\n vendorId: matchedSup.vendorId,\n surveyors: matchedSurveyors,\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }\n\n // 4. Fallback: If not found in search response, but we have progressData report, return it and enrich with loggedInUser details\n if (progressReport) {\n const isSelf = targetId?.toLowerCase() === loggedInUser?.uuid?.toLowerCase();\n const supervisorName = isSelf ? (loggedInUser?.name || progressReport.supervisorName || \"N/A\") : (progressReport.supervisorName || \"N/A\");\n const mobileNo = isSelf ? (loggedInUser?.mobileNumber || progressReport.mobileNo || \"N/A\") : (progressReport.mobileNo || \"N/A\");\n\n const surveyorsMapped = progressReport.surveyors\n ? progressReport.surveyors.map((surv) => {\n const matchedSurv = surveyorSearchResponse?.surveyors?.find(\n (s) => s.id?.toLowerCase() === surv.surveyorId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === surv.surveyorId?.toLowerCase()\n );\n\n return {\n surveyorId: surv.surveyorId || surv.id,\n surveyorName: matchedSurv?.name || matchedSurv?.owner?.name || surv.surveyorName || \"N/A\",\n mobileNo: matchedSurv?.owner?.mobileNumber || matchedSurv?.mobileNo || surv.mobileNo || \"N/A\",\n status: matchedSurv?.status || surv.status || \"ACTIVE\",\n totalKnos: surv.totalKnos || 0,\n submittedKnos: surv.submittedKnos || 0,\n pendingKnos: surv.pendingKnos || 0,\n progressPercent: surv.progressPercent || 0,\n };\n })\n : [];\n\n return {\n supervisorId: progressReport.supervisorId || progressReport.id,\n supervisorName,\n mobileNo,\n status: progressReport.status || \"ACTIVE\",\n assignedZoneId: progressReport.assignedZoneId || \"N/A\",\n vendorId: progressReport.vendorId,\n surveyors: surveyorsMapped,\n totalKnos: progressReport.totalKnos || 0,\n submittedKnos: progressReport.submittedKnos || 0,\n pendingKnos: progressReport.pendingKnos || 0,\n progressPercent: progressReport.progressPercent || 0,\n };\n }\n\n return null;\n }, [progressData, supervisorSearchResponse, surveyorSearchResponse, supervisorId, loggedInUser]);\n\n const fullName = supervisor?.supervisorName || \"N/A\";\n const mobileNumber = supervisor?.mobileNo || \"N/A\";\n const email = loggedInUser?.emailId || \"N/A\";\n const gender = loggedInUser?.gender || \"N/A\";\n const status = supervisor?.status || \"N/A\";\n const assignedZone = supervisor?.assignedZoneId || \"N/A\";\n\n const vendorName = useMemo(() => {\n if (!vendorSearchResponse || !supervisor) return \"N/A\";\n const targetVendorId = supervisor.vendorId;\n if (!targetVendorId) return \"N/A\";\n const matchedVendor = vendorSearchResponse.find(\n (v) => v.dsoDetails?.id === targetVendorId || v.dsoDetails?.vendorId === targetVendorId || v.id === targetVendorId || v.vendorId === targetVendorId\n );\n return matchedVendor?.dsoDetails?.name || matchedVendor?.name || \"N/A\";\n }, [vendorSearchResponse, supervisor]);\n\n const surveyors = useMemo(() => {\n return supervisor?.surveyors || [];\n }, [supervisor]);\n\n const cards = useMemo(() => [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: supervisor?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: supervisor?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: supervisor?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${supervisor?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n \n },\n ], [supervisor]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const paginatedSurveyors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return surveyors.slice(start, end);\n }, [surveyors, currentPage, pageSize]);\n\n const surveyorColumns = useMemo(\n () => [\n {\n Header: t(\"SURVEYOR_NAME\") || \"Surveyor Name\",\n accessor: (row) => row?.surveyorName || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/surveyor-dashboard/${row.original.surveyorId}`\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.surveyorName || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: () => \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || 0}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = surveyors.map((s) => ({\n name: s.surveyorName,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = supervisor?.totalKnos || 0;\n const completedKnos = supervisor?.submittedKnos || 0;\n\n downloadSupervisorPDF({\n rows: rowsWithStats,\n supervisorName: fullName,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate supervisor report:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handlePresetDownload = (filter) => {\n handleDownload();\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n handleDownload();\n };\n\n const handleDownloadEkycData = async () => {\n if (!surveyors || surveyors.length === 0) {\n alert(t(\"NO_SURVEYORS_ASSIGNED\") || \"No surveyors assigned to this supervisor.\");\n return;\n }\n\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n reportDownload: true\n });\n\n const consumerList = response?.consumerList || [];\n\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n // Text fields that should be Title Cased (incl. dot-notation like CONSUMERTYPE.INDIVIDUAL)\n const titleCaseFields = [\"ekycStatus\", \"zoneName\", \"gender\", \"relationship\", \"assembly\", \"ward\", \"consumerType\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && titleCaseFields.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_Supervisor_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isSupervisorSearchLoading || isSurveyorSearchLoading || isVendorSearchLoading;\n\n if (isPageLoading && !supervisor) {\n return <Loader />;\n }\n\n if (!supervisor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SUPERVISOR_FOUND\")}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n <div className=\"designation\">{t(\"FIELD_SUPERVISOR\") || \"Field Supervisor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isProgressLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{gender}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONE\") || \"Assigned Zone\"}</span>\n <span className=\"value\">{assignedZone}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\"}\n tableClass=\"ekycTable\"\n data={paginatedSurveyors}\n columns={surveyorColumns}\n isLoading={isProgressLoading}\n totalRecords={surveyors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(surveyors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(surveyors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default SupervisorDetailsCard;","import React, { useMemo, useState, useEffect } from \"react\";\nimport { Modal, Close, Table, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nconst AssignEkycModal = ({ surveyor, closeModal, refetchDashboard, tenantId: propsTenantId }) => {\n const { t } = useTranslation();\n const tenantId = propsTenantId || Digit.ULBService.getCurrentTenantId();\n const [selectedKnos, setSelectedKnos] = useState([]);\n const [isBulkSelection, setIsBulkSelection] = useState(false);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(10);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({\n error: false,\n label: \"\",\n });\n const [filters, setFilters] = useState({\n kno: \"\", // search value\n pincode: \"\",\n zoneCode: \"\",\n zoneName: \"\",\n ward: \"\",\n assembly: \"\",\n mrkey: \"\",\n ekycStatus: \"\",\n });\n\n const [debouncedFilters, setDebouncedFilters] = useState(filters);\n\n const { data: zroLocationsData, isLoading: isZroLoading } = Digit.Hooks.ws.useWSConfigMDMS.ZROLocation(tenantId);\n const mappedZROLocation = useMemo(() => {\n return (zroLocationsData || []).map((item) => ({\n code: item.code,\n name: item.name,\n }));\n }, [zroLocationsData]);\n\n const { data: egovLocationData } = Digit.Hooks.useCommonMDMS(tenantId, \"egov-location\", [\"TenantBoundary\"]);\n\n const boundaryData = useMemo(() => {\n const tenantBoundary = egovLocationData?.[\"egov-location\"]?.TenantBoundary || [];\n const revenueData = tenantBoundary.find((item) => item?.hierarchyType?.code === \"REVENUE\");\n const boundary = revenueData?.boundary || [];\n return Array.isArray(boundary) ? boundary : [boundary];\n }, [egovLocationData]);\n\n const { assemblyOptions, wardOptions } = useMemo(() => {\n const assemblies = new Map();\n const wards = new Map();\n\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const traverse = (node) => {\n if (!node) return;\n if (node.label === \"Ward\" || node.label === \"WARD\" || node.label === \"Block\" || node.label === \"BLOCK\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) wards.set(code, { code, name: name });\n }\n if (node.label === \"Assembly Constituency\" || node.label === \"ASSEMBLY_CONSTITUENCY\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) assemblies.set(code, { code, name: name });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach(traverse);\n }\n };\n\n boundaries.forEach(traverse);\n\n return {\n assemblyOptions: Array.from(assemblies.values()).sort((a, b) => a.name.localeCompare(b.name)),\n wardOptions: Array.from(wards.values()).sort((a, b) => a.name.localeCompare(b.name)),\n };\n }, [boundaryData]);\n\n const structuredLocalityData = useMemo(() => {\n let localities = [];\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const extractLocalities = (node) => {\n if (!node) return;\n\n if (node.label === \"Locality\" || node.label === \"LOCALITY\") {\n localities.push({\n ...node,\n name: node.localname || node.name || node.code,\n });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach((child) => extractLocalities(child));\n }\n };\n\n boundaries.forEach((rootNode) => extractLocalities(rootNode));\n\n return localities;\n }, [boundaryData]);\n\n const fetchedPincodes = useMemo(() => {\n const pinSet = new Set();\n\n structuredLocalityData.forEach((loc) => {\n if (loc.pincode) {\n const pins = Array.isArray(loc.pincode) ? loc.pincode : [loc.pincode];\n pins.forEach((p) => {\n if (p) {\n const sanitizedPin = p.toString().split(\".\")[0];\n pinSet.add(sanitizedPin);\n }\n });\n }\n });\n\n return Array.from(pinSet).sort();\n }, [structuredLocalityData]);\n\n const { data: filterOptionsData } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: true,\n fetchFilterOptions: true,\n },\n {\n tenantId: tenantId,\n offset: 0,\n limit: 1000,\n },\n {\n staleTime: Infinity,\n }\n );\n\n const pincodeOptions = useMemo(() => {\n if (!filterOptionsData) return fetchedPincodes || [];\n const pins = filterOptionsData.pincodeOptions || [];\n return Array.isArray(pins) ? pins.filter(Boolean).map(String).sort() : [];\n }, [filterOptionsData, fetchedPincodes]);\n\n const mrkeyOptions = useMemo(() => {\n if (!filterOptionsData) return [];\n const keys = filterOptionsData.mrkeyOptions || [];\n return Array.isArray(keys) ? keys.filter(Boolean).map(String).sort() : [];\n }, [filterOptionsData]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedFilters(filters);\n }, 500);\n\n return () => clearTimeout(timer);\n }, [filters]);\n\n useEffect(() => {\n setCurrentPage(0);\n }, [debouncedFilters, filters.kno]);\n\n const { data: applicationData, isFetching: isLoading, refetch: refetchApplicationList } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: true,\n /*\n ...(debouncedFilters.kno && {\n kno: debouncedFilters.kno,\n }),\n */\n ...(filters.kno && {\n kno: filters.kno,\n }),\n\n ...(debouncedFilters.ekycStatus && {\n ekycStatus: debouncedFilters.ekycStatus,\n }),\n\n ...(debouncedFilters.zoneName && {\n zoneName: debouncedFilters.zoneName,\n }),\n\n ...(debouncedFilters.assembly && {\n assembly: debouncedFilters.assembly,\n }),\n\n ...(debouncedFilters.ward && {\n ward: debouncedFilters.ward,\n }),\n\n ...(debouncedFilters.mrkey && {\n mrkey: debouncedFilters.mrkey,\n }),\n\n ...(debouncedFilters.pincode && {\n pincode: debouncedFilters.pincode,\n }),\n },\n {\n tenantId: tenantId,\n offset: currentPage * pageSize,\n limit: pageSize,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const handleAssignmentError = (errMsg, variables) => {\n const isAlreadyAssigned =\n errMsg.toLowerCase().includes(\"already assigned\") ||\n errMsg.toLowerCase().includes(\"already assign\") ||\n errMsg.toLowerCase().includes(\"active assignment\") ||\n errMsg.toLowerCase().includes(\"mrkey\") ||\n errMsg.toLowerCase().includes(\"mr key\") ||\n errMsg.toLowerCase().includes(\"kno\") ||\n errMsg.toLowerCase().includes(\"already exists\");\n\n if (isAlreadyAssigned) {\n const isMrKeyType = variables?.assignmentType === \"MRKEY\";\n\n if (isMrKeyType) {\n setToastData({\n error: true,\n label: t(\"EKYC_MR_KEY_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"mr key is already assign with another surveyor\",\n });\n } else {\n setToastData({\n error: true,\n label: t(\"EKYC_KNO_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"kno is already assign with another surveyor\",\n });\n }\n } else {\n setToastData({\n error: true,\n label: t(errMsg) || errMsg || t(\"EKYC_SOMETHING_WENT_WRONG\") || \"Something went wrong\",\n });\n }\n setShowToast(true);\n };\n\n const assignmentMutation = Digit.Hooks.ekyc.useEkycAssignmentCreate({\n onSuccess: (response, variables) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n return;\n }\n\n // Check for skipped assignments (e.g. 200 OK but skipped)\n if (response?.skipped && response.skipped.length > 0) {\n const reason = response.skipped[0]?.reason || \"\";\n handleAssignmentError(reason, variables);\n return;\n }\n\n setToastData({\n error: false,\n label: t(\"EKYC_ASSIGNMENT_SUCCESSFUL\") || \"Assignment successful\",\n });\n\n setShowToast(true);\n\n // optional delay so user can see the success toast\n setTimeout(async () => {\n if (refetchDashboard) {\n await refetchDashboard();\n }\n if (refetchApplicationList) {\n await refetchApplicationList();\n }\n closeModal();\n }, 1000);\n },\n\n onError: (error, variables) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n },\n });\n\n const tableData = applicationData?.consumerList || [];\n\n const getAssignmentPayload = () => {\n if (isBulkSelection) {\n const filterMappings = [\n { key: \"ekycStatus\", type: \"EKYCSTATUS\" },\n { key: \"zoneName\", type: \"ZONENAME\" },\n { key: \"assembly\", type: \"ASSEMBLY\" },\n { key: \"ward\", type: \"WARD\" },\n { key: \"mrkey\", type: \"MRKEY\" },\n { key: \"pincode\", type: \"PINCODE\" },\n ];\n\n const appliedFilter = filterMappings.find(({ key }) => debouncedFilters[key]);\n\n if (appliedFilter) {\n return {\n assignmentType: appliedFilter.type,\n assignmentValue: debouncedFilters[appliedFilter.key],\n };\n }\n }\n\n return {\n assignmentType: \"KNO\",\n assignmentValue: selectedKnos,\n };\n };\n\n const handleAssign = () => {\n const { assignmentType, assignmentValue } = getAssignmentPayload();\n\n assignmentMutation.mutate({\n tenantId: tenantId,\n surveyorId: surveyor?.owner?.uuid,\n assignmentType,\n assignmentValue,\n });\n };\n\n const handleSelectAll = () => {\n setIsBulkSelection(true);\n\n const pageKnos = tableData.map((item) => item.kno);\n\n const allSelected = pageKnos.length > 0 && pageKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos((prev) => (allSelected ? prev.filter((kno) => !pageKnos.includes(kno)) : [...new Set([...prev, ...pageKnos])]));\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => (\n <input\n type=\"checkbox\"\n checked={tableData.length > 0 && tableData.every((item) => selectedKnos.includes(item.kno))}\n onChange={handleSelectAll}\n />\n ),\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return <input type=\"checkbox\" checked={selectedKnos.includes(kno)} onChange={() => handleSelect(kno)} />;\n },\n },\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n {\n Header: \"Pincode\",\n accessor: \"pincode\",\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{t(status)}</span> : \"-\";\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedKnos, tableData]\n );\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n return (\n <Modal\n headerBarMain={`Assign KNOs to ${surveyor?.name}`}\n headerBarEnd={<Close onClick={closeModal} />}\n actionCancelLabel=\"Cancel\"\n actionCancelOnSubmit={closeModal}\n actionSaveLabel={t(\"EKYC_ASSIGN_KNOS\") || \"Assign KNOs\"}\n actionSaveOnSubmit={handleAssign}\n isDisabled={!selectedKnos?.length}\n >\n <div className=\"assign-knos-modal\">\n {/* Filters */}\n <div className=\"filters-grid\">\n <input className=\"form-control\" placeholder=\"KNO\" value={filters.kno} onChange={(e) => handleFilterChange(\"kno\", e.target.value)} />\n\n <select className=\"form-control\" value={filters.pincode} onChange={(e) => handleFilterChange(\"pincode\", e.target.value)}>\n <option value=\"\">Select Pincode</option>\n {pincodeOptions.map((pin) => (\n <option key={pin} value={pin}>\n {pin}\n </option>\n ))}\n </select>\n\n {/* <select\n className=\"form-control\"\n value={filters.zoneName}\n onChange={(e) => {\n const val = e.target.value;\n setFilters((prev) => ({\n ...prev,\n zoneCode: val,\n zoneName: val,\n }));\n }}\n disabled={isZroLoading}\n >\n <option value=\"\">{isZroLoading ? \"Loading ZRO Locations...\" : \"Select ZRO Location\"}</option>\n {mappedZROLocation.map((loc) => (\n <option key={loc.code} value={loc.name}>\n {loc.name}\n </option>\n ))}\n </select> */}\n\n <select className=\"form-control\" value={filters.ward} onChange={(e) => handleFilterChange(\"ward\", e.target.value)}>\n <option value=\"\">Select Ward</option>\n {wardOptions\n .filter((ward) => {\n const stripped = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return stripped.trim().length > 0;\n })\n .map((ward) => {\n const displayName = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return (\n <option key={ward.code} value={ward.name}>\n {displayName}\n </option>\n );\n })}\n </select>\n\n <select className=\"form-control\" value={filters.assembly} onChange={(e) => handleFilterChange(\"assembly\", e.target.value)}>\n <option value=\"\">Select Assembly</option>\n {assemblyOptions.map((assembly) => (\n <option key={assembly.code} value={assembly.name}>\n {assembly.name}\n </option>\n ))}\n </select>\n\n <select className=\"form-control\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)}>\n <option value=\"\">Select MR Key</option>\n {mrkeyOptions.map((key) => (\n <option key={key} value={key}>\n {key}\n </option>\n ))}\n </select>\n\n {selectedKnos.length > 0 && (\n <button className=\"clear-selected-btn\" type=\"button\" onClick={() => setSelectedKnos([])}>\n {t(\"EKYC_CLEAR_SELECTION\") || \"Clear Selected\"}\n </button>\n )}\n\n {/* <select className=\"form-control\" value={filters.ekycStatus} onChange={(e) => handleFilterChange(\"ekycStatus\", e.target.value)}>\n <option value=\"\">All eKYC Status</option>\n <option value=\"PENDING\">Pending</option>\n <option value=\"APPROVED\">Approved</option>\n <option value=\"REJECTED\">Rejected</option>\n </select> */}\n </div>\n\n {/* Table */}\n <Table\n tableTitle=\"eKYC Applications\"\n tableClass=\"ekycTable\"\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n totalRecords={applicationData?.totalCount || 0}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n manualPagination={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (applicationData?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((applicationData?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n {showToast && <Toast error={toastData.error} label={toastData.label} onClose={() => setShowToast(false)} />}\n </Modal>\n );\n};\n\nexport default AssignEkycModal;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\n// import { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, PieChart, Pie, Cell, Legend } from \"recharts\";\n\nimport { Card, SubmitBar, ActionBar, Menu, Loader, Table } from \"@djb25/digit-ui-react-components\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\n\nimport AssignEkycModal from \"./AssignEkycModal\";\nimport { downloadSurveyorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\n\nconst SurveyorDetailsDashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const [showModal, setShowModal] = useState(false);\n const [showOptions, setShowOptions] = useState(false);\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const { id: surveyorId } = useParams();\n const ownerIds = Digit.SessionStorage.get(\"User\")?.info?.uuid;\n\n const { t } = useTranslation();\n\n const { data: surveyorSearchById, isLoading: isLoadingId } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { ids: surveyorId },\n { enabled: !!surveyorId, staleTime: Infinity }\n );\n\n const hasFoundById = !!(surveyorSearchById?.surveyors?.length);\n\n const { data: surveyorSearchByOwner, isLoading: isLoadingOwner } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n surveyorId ? { ownerIds: surveyorId } : { ownerIds },\n { enabled: !surveyorId || (!isLoadingId && !hasFoundById), staleTime: Infinity }\n );\n\n const surveyorSearchResponse = useMemo(() => {\n if (surveyorId && hasFoundById) {\n return surveyorSearchById;\n }\n return surveyorSearchByOwner;\n }, [surveyorId, hasFoundById, surveyorSearchById, surveyorSearchByOwner]);\n\n const isLoading = surveyorId ? (isLoadingId || (isLoadingOwner && !hasFoundById)) : isLoadingOwner;\n\n const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n\n const surveyor = useMemo(() => {\n return surveyorSearchResponse?.surveyors?.[0] || null;\n }, [surveyorSearchResponse]);\n\n const { data: vendorData, isLoading: isVendorLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n const vendorName = useMemo(() => {\n if (surveyor?.vendorName) return surveyor.vendorName;\n if (!vendorData || !surveyor?.vendorId) return \"N/A\";\n const mappedVendor = vendorData.find((v) => v.dsoDetails?.id === surveyor.vendorId || v.dsoDetails?.vendorId === surveyor.vendorId);\n return mappedVendor?.dsoDetails?.name || surveyor.vendorId || \"N/A\";\n }, [vendorData, surveyor?.vendorId, surveyor?.vendorName]);\n\n const supervisorName = useMemo(() => {\n if (surveyor?.supervisorName) return surveyor.supervisorName;\n if (!supervisorSearchResponse?.supervisors || !surveyor?.supervisorId) return \"N/A\";\n const mappedSupervisor = supervisorSearchResponse.supervisors.find(\n (s) => s.id === surveyor.supervisorId || s.owner?.uuid === surveyor.supervisorId\n );\n return mappedSupervisor?.name || mappedSupervisor?.owner?.name || surveyor.supervisorId || \"N/A\";\n }, [supervisorSearchResponse, surveyor?.supervisorId, surveyor?.supervisorName]);\n const fullName = surveyor?.owner?.name || surveyor?.name || \"N/A\";\n const employeeId = surveyor?.employeeId || surveyor?.owner?.uuid || surveyor?.id;\n const mobileNumber = surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\";\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const queryParams = {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n surveyorId: surveyor?.owner?.uuid,\n };\n\n const { isFetching: isDashboardLoading, data: dashboardData = {}, refetch: refetchDashboard } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n queryParams,\n {\n enabled: !!queryParams.tenantId && !!queryParams.surveyorId,\n keepPreviousData: true,\n }\n );\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const knoColumns = useMemo(\n () => [\n {\n Header: t(\"KNO\") || \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: t(\"CONSUMER_NAME\") || \"Consumer Name\",\n accessor: (row) => toTitleCase(`${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim()),\n id: \"consumerName\",\n },\n {\n Header: t(\"ZONE\") || \"Zone\",\n accessor: (row) => toTitleCase(row.zoneName),\n id: \"zoneName\",\n },\n {\n Header: t(\"EKYC_STATUS\") || \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{toTitleCase(value)}</span> : \"-\";\n },\n },\n {\n Header: t(\"SUBMITTED_AT\") || \"Submitted At\",\n accessor: \"submittedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"ASSIGNED_AT\") || \"Assigned At\",\n accessor: \"assignedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n ],\n [t]\n );\n\n // ─── Download Report hooks (must be before any early returns) ───────\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const isPageLoading = isLoading || isVendorLoading || isSupervisorSearchLoading;\n\n if (isPageLoading && !surveyor) {\n return <Loader />;\n }\n\n if (!surveyor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SURVEYOR_FOUND\")}</div>\n </Card>\n );\n }\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: range.from.getTime(),\n toDate: range.to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: from.getTime(),\n toDate: to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch custom dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const options = [{ action: \"Assign\" }];\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n setShowModal(true);\n };\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n surveyorId: surveyor?.owner?.uuid,\n reportDownload: true,\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n // Text fields that should be Title Cased (incl. dot-notation like CONSUMERTYPE.INDIVIDUAL)\n const titleCaseFields = [\"ekycStatus\", \"zoneName\", \"gender\", \"relationship\", \"assembly\", \"ward\", \"consumerType\"];\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n // Apply Title Case to known text fields; leave numbers, KNO, mobile, pincode as-is\n if (typeof val === \"string\" && titleCaseFields.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const closeModal = async () => {\n setShowModal(false);\n };\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n\n <div className=\"designation\">{surveyor?.description || t(\"FIELD_SURVEYOR\")}</div>\n\n {/* <div className=\"employee-id\">\n {t(\"EMPLOYEE_ID\")}: {employeeId}\n </div> */}\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"FROM_DATE\") || \"From\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) => setCustomDate((d) => ({ ...d, from: e.target.value }))}\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"TO_DATE\") || \"To\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) => setCustomDate((d) => ({ ...d, to: e.target.value }))}\n />\n </div>\n\n <button className=\"download-action-btn\" onClick={handleCustomDownload}>\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n <StatCard title={t(\"TOTAL_ASSIGNED\")} value={dashboardData?.dashboardInfo?.total || 0} type=\"today\" isLoading={isDashboardLoading} icon={<FaUsers />} />\n <StatCard title={t(\"COMPLETED\")} value={dashboardData?.dashboardInfo?.completed || 0} type=\"week\" isLoading={isDashboardLoading} icon={<FaCheckCircle />} />\n <StatCard title={t(\"PENDING\")} value={dashboardData?.dashboardInfo?.pending || 0} type=\"pending\" isLoading={isDashboardLoading} icon={<FaClock />} />\n <StatCard title={t(\"SUBMITTED\")} value={dashboardData?.dashboardInfo?.submittedCount || 0} type=\"month\" isLoading={isDashboardLoading} icon={<FaChartLine />} />\n </div>\n\n {/* Charts */}\n <div className=\"charts-wrapper\">\n {/* Weekly Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"WEEKLY_SURVEY_PROGRESS\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart data={weeklyData}>\n <CartesianGrid strokeDasharray=\"3 3\" />\n\n <XAxis dataKey=\"day\" />\n\n <YAxis />\n\n <Tooltip />\n\n <Bar dataKey=\"completed\" fill=\"#0B2559\" radius={[6, 6, 0, 0]} />\n </BarChart>\n </ResponsiveContainer>\n </div> */}\n\n {/* Pie Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"CASE_DISTRIBUTION\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <PieChart>\n <Pie data={statusData} dataKey=\"value\" nameKey=\"name\" outerRadius={90} label>\n {statusData.map((entry, index) => (\n <Cell key={index} fill={entry.color} />\n ))}\n </Pie>\n\n <Tooltip />\n\n <Legend />\n </PieChart>\n </ResponsiveContainer>\n </div> */}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{surveyor?.owner?.emailId || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{surveyor?.owner?.gender || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{surveyor?.status || \"N/A\"}</span>\n </div>\n\n {/* <div className=\"detail-item\">\n <span className=\"label\">{t(\"SERVICE_TYPE\")}</span>\n <span className=\"value\">{surveyor?.additionalDetails?.serviceType || \"N/A\"}</span>\n </div> */}\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SUPERVISOR_NAME\") || \"Supervisor Name\"}</span>\n <span className=\"value\">{supervisorName}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"ASSIGNED_KNOS\")}\n tableClass=\"ekycTable\"\n data={dashboardData?.dashboardInfo?.consumerList || []}\n columns={knoColumns}\n isLoading={isDashboardLoading}\n totalRecords={dashboardData?.dashboardInfo?.total}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n showAutoSerialNo={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (dashboardData?.dashboardInfo?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((dashboardData?.dashboardInfo?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n {/* Actions */}\n {roles.includes(\"EKYC_SUPERVISOR\") && (\n <ActionBar>\n <SubmitBar label={t(\"EKYC_ASSIGN_KNOS\")} onSubmit={() => setShowOptions((prev) => !prev)} />\n\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n\n {showModal && <AssignEkycModal surveyor={surveyor} closeModal={closeModal} refetchDashboard={refetchDashboard} />}\n </Card>\n );\n};\n\nexport default SurveyorDetailsDashboard;\n","import React, { useState, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { Label, DatePicker, SubmitBar, Toast, Dropdown, UploadFile, CollapsibleCardPage, VerticalTimeline } from \"@djb25/digit-ui-react-components\";\n\nconst WorkOrder = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n const history = useHistory();\n\n const [showToast, setShowToast] = useState(null);\n const [vendor, setVendor] = useState(null);\n const [validFrom, setValidFrom] = useState(\"\");\n const [validTo, setValidTo] = useState(\"\");\n const [uploadedFile, setUploadedFile] = useState(null);\n const [file, setFile] = useState(null);\n const [error, setError] = useState(null);\n\n const { data: vendorOptions, isLoading: isVendorLoading } = Digit.Hooks.fsm.useVendorSearch({\n tenantId,\n filters: { status: \"ACTIVE\" },\n config: {\n select: (data) => data?.vendor || [],\n },\n });\n\n const { mutate: createWorkOrder } = Digit.Hooks.wt.useVendorWorkOrderCreate(tenantId);\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (file) {\n if (file.size >= 10000000) {\n setError(t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") || \"File size exceeds 10MB\");\n } else {\n try {\n const response = await Digit.UploadServices.Filestorage(\"EKYC\", file, Digit.ULBService.getStateId());\n if (response?.data?.files?.length > 0) {\n setUploadedFile(response?.data?.files[0]?.fileStoreId);\n } else {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n }\n } catch (err) {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n }\n }\n }\n })();\n }, [file]);\n\n const handleSubmit = () => {\n const payload = {\n vendorWorkOrder: {\n tenantId,\n name: vendor?.name,\n mobileNumber: vendor?.owner?.mobileNumber,\n emailId: vendor?.owner?.emailId,\n vendorId: vendor?.code || vendor?.id,\n validFrom: new Date(validFrom).getTime(),\n validTo: new Date(validTo).getTime(),\n serviceType: \"EKYC\",\n fileStoreId: uploadedFile,\n },\n };\n\n createWorkOrder(payload, {\n onSuccess: (result) => {\n setShowToast({ isError: false, label: t(\"EKYC_WORK_ORDER_SAVE_SUCCESS\") });\n setTimeout(() => {\n history.push(\"/digit-ui/employee/module/details\");\n }, 3000);\n },\n onError: (err) => {\n setShowToast({ isError: true, label: err?.response?.data?.Errors?.[0]?.message || t(\"EKYC_WORK_ORDER_SAVE_ERROR\") });\n },\n });\n };\n\n function selectfile(e) {\n setUploadedFile(null);\n setFile(e.target.files[0]);\n }\n\n const isFormDisabled = !vendor || !validFrom || !validTo || !uploadedFile;\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n return (\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={[{ timeLine: [{ actions: t(\"EKYC_WORK_ORDER_ASSIGN\"), currentStep: 1 }] }]} showFinalStep={false} />\n\n <div style={{ flex: 1 }}>\n <CollapsibleCardPage title={t(\"EKYC_UPLOAD_WORK_ORDER\")} defaultOpen={true}>\n <div className=\"formcomposer-section-grid\">\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"EKYC_VENDOR_NAME\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <Dropdown t={t} option={vendorOptions} optionKey=\"name\" select={setVendor} selected={vendor} placeholder={t(\"EKYC_SELECT_VENDOR\")} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"COMMON_VALID_FROM_DATE\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <DatePicker date={validFrom} onChange={(date) => setValidFrom(date)} style={{ width: \"100%\" }} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"COMMON_VALID_TO_DATE\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <DatePicker date={validTo} min={validFrom} onChange={(date) => setValidTo(date)} style={{ width: \"100%\" }} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>{`${t(\"EKYC_UPLOAD_DOCUMENT\")}`} <span className=\"check-page-link-button\">*</span></Label>\n <UploadFile\n id={\"ekyc-doc\"}\n extraStyleName={\"propertyCreate\"}\n accept=\"image/*, .pdf, .png, .jpeg, .jpg\"\n onUpload={selectfile}\n onDelete={() => setUploadedFile(null)}\n message={uploadedFile ? `1 ${t(`EKYC_ACTION_FILEUPLOADED`)}` : t(`EKYC_ACTION_NO_FILEUPLOADED`)}\n error={error}\n />\n </div>\n </div>\n </CollapsibleCardPage>\n\n <div style={{ display: \"flex\", marginTop: \"24px\", justifyContent: isMobile ? \"center\" : \"flex-end\" }}>\n <SubmitBar label={t(\"ES_COMMON_SAVE\")} onSubmit={isFormDisabled ? null : handleSubmit} disabled={isFormDisabled} />\n </div>\n </div>\n\n {showToast && <Toast error={showToast.isError} label={showToast.label} onClose={() => setShowToast(null)} />}\n </div>\n );\n};\n\nexport default WorkOrder;\n","import React from \"react\";\nexport function formReducer(state, payload) {\n const storageKey = \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n}\n\nexport const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n};\n\nexport const tableColumnConfig = (t, handleReview) => [\n {\n Header: t(\"SURVEYOR_NAME\"),\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const id = row.original?.id;\n return (\n <span className=\"link\" onClick={() => handleReview(id)}>\n {row.original?.surveyorName || row.original?.name || \"NA\"}\n </span>\n );\n },\n },\n // {\n // Header: t(\"SURVEYOR_NAME\"),\n // accessor: \"surveyorName\",\n // Cell: ({ row }) => <span>{row.original?.surveyorName || row.original?.name || \"NA\"}</span>,\n // },\n {\n Header: t(\"MOBILE_NUMBER\"),\n accessor: \"mobileNo\",\n Cell: ({ row }) => <span>{row.original?.mobileNo || row.original?.owner?.mobileNumber || \"NA\"}</span>,\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>;\n },\n },\n {\n Header: t(\"SERVICE_TYPE\"),\n accessor: \"serviceType\",\n Cell: ({ row }) => <span>{row.original?.serviceType || \"NA\"}</span>,\n },\n];\n","import { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { tableColumnConfig } from \"../../../vendor/src/config/tableConfig\";\n\nconst SupervisorInboxTableConfig = ({\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n onSortingByData,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n const handleReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n\n currentPage: Math.floor(offset / limit),\n\n onPageSizeChange,\n\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) + Number(limit),\n },\n }),\n\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) - Number(limit),\n },\n }),\n\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Math.ceil(totalCount / limit) * limit - Number(limit),\n },\n }),\n\n onFirstPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: 0 },\n }),\n\n totalRecords: totalCount,\n onSort: onSortingByData,\n\n data: table,\n columns: tableColumnConfig(t, handleReview),\n\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default SupervisorInboxTableConfig;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport SupervisorInboxTableConfig from \"../hook/SupervisorInboxTableConfig\";\nimport SearchFormFieldsComponents from \"./SearchFormFieldsComponent\";\nimport { formInitValue, formReducer } from \"../../../vendor/src/config/tableConfig\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\nimport useInboxMobileCardsData from \"../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst AssignEkyc = () => {\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\"; // Force tenantId to dl.djb for EKYC APIs in citizen portal\n }\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n let paginationParms = {\n limit: formState?.tableForm?.limit || 10,\n offset: formState?.tableForm?.offset || 0,\n sortBy: formState?.tableForm?.sortBy || \"createdTime\",\n sortOrder: formState?.tableForm?.sortOrder || \"DESC\",\n };\n\n const mobileNumber = formState?.searchForm?.mobileNumber || \"\";\n const isSearchActive = !!mobileNumber;\n\n const filters = {\n ...paginationParms,\n status: \"ACTIVE,DISABLED\",\n };\n\n if (isSearchActive) {\n filters.mobileNumber = mobileNumber;\n }\n\n const { data: dashboardData, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, filters, { enabled: !!tenantId, keepPreviousData: true });\n\n const { isLoading: isDataSearchLoading, data } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const sourceData = useMemo(() => {\n return dashboardData?.surveyors || [];\n }, [dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n const owner = item?.owner || {};\n const roleCodes = owner?.roles?.map((role) => role.code)?.join(\", \") || \"\";\n\n return {\n ...item,\n id: item?.id || \"\",\n surveyorName: item?.name || owner?.name || \"\",\n mobileNo: item?.mobileNo || owner?.mobileNumber || \"\",\n email: owner?.emailId || \"\",\n vendorId: item?.vendorId || \"\",\n tenantId: item?.tenantId || \"\",\n supervisorId: item?.supervisorId || \"\",\n status: item?.status || \"\",\n roleCodes,\n userName: owner?.userName || \"\",\n gender: owner?.gender || \"\",\n serviceType: item?.additionalDetails?.serviceType || \"\",\n createdTime: item?.auditDetails?.createdTime || 0,\n lastModifiedTime: item?.auditDetails?.lastModifiedTime || 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"mobile\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues } });\n dispatch({ action: \"mutateSearchForm\", data });\n };\n\n const searchFormDefaultValues = {\n mobileNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"mobileNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n });\n }\n }\n };\n\n const propsForInboxTable = SupervisorInboxTableConfig({\n ...{\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading;\n\n const cards = [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: data?.totalKnos || 0,\n color: \"#0B2559\",\n filter: null,\n active: true,\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: data?.totalAssignments || 0,\n color: \"#3B82F6\",\n filter: [\"ASSIGNED\"],\n type: \"week\",\n icon: <FaMapMarkedAlt />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: data?.completedKnos || 0,\n color: \"#10B981\",\n filter: [\"COMPLETED\"],\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: (data?.totalKnos || 0) - (data?.completedKnos || 0),\n color: \"#F59E0B\",\n filter: [\"PENDING\"],\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${data?.overallProgressPercent || 0}%`,\n color: \"#A855F7\",\n filter: [\"IN_PROGRESS\"],\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, isSupervisor: true });\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: dashboardData?.dashboardInfo,\n // cards,\n isCardLoading: isDataSearchLoading,\n showSearchOnMobile: true,\n forceTable: true,\n }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\n","import Dashboard from \"../components/Dashboard\";\nimport Inbox from \"../pages/employee/Inbox\";\n// import Create from \"../pages/employee/Create\";\n// import Mapping from \"../pages/employee/Mapping\";\nimport EKYCForm from \"../pages/employee/EKYCForm\";\nimport Review from \"../components/Review\";\nimport AssignEkyc from \"../components/AssignEkyc\";\nimport AdminDashboard from \"../components/AdminDashboard\";\nimport CeoDashboard from \"../components/CeoDashboard\";\nimport VendorDetailsCard from \"../components/VendorDetailsCard\";\nimport SupervisorDetailsCard from \"../components/SupervisorDetailsCard\";\nimport SurveyorDetailsCard from \"../components/SurveyorDetailsCard\";\nimport WorkOrder from \"../pages/employee/WorkOrder\";\n\n\n// yeh function role (employee/citizen) leta hai aur uske hisaab se\n// breadcrumb ka URL bana deta hai. Baaki sab kuch same rehta hai.\nconst breadcrumb = (userType, listLabel, listPath, detailLabel) => [\n { label: listLabel, path: `/digit-ui/${userType}/ekyc/${listPath}` },\n { label: detailLabel },\n];\n\n// 👇 isi function ko employee ke liye bhi call karenge, citizen ke liye bhi\nexport const getEkycRoutes = (userType) => [\n // ---- simple pages ----\n { path: \"/dashboard\", component: Dashboard, layout: \"normal\", breadcrumb: \"EKYC_DASHBOARD\" },\n { path: \"/inbox\", component: Inbox, layout: \"normal\", breadcrumb: \"EKYC_INBOX\" },\n { path: \"/review/:kno\", component: Review, layout: \"normal\", breadcrumb: \"EKYC_REVIEW\" },\n // { path: \"/create-kyc\", component: Create, layout: \"normal\", breadcrumb: \"EKYC_CREATE_KYC\" },\n // { path: \"/mapping\", component: Mapping, layout: \"normal\", breadcrumb: \"EKYC_MAPPING\" },\n { path: \"/admin-dashboard\", component: AdminDashboard, layout: \"normal\", breadcrumb: \"EKYC_ADMIN_DASHBOARD\" },\n // { path: \"/work-order\", component: WorkOrder, layout: \"normal\", breadcrumb: \"EKYC_WORK_ORDER\" },\n { path: \"/work-order\", component: WorkOrder, layout: \"normal\", breadcrumb: \"EKYC_WORK_ORDER\" },\n // { path: \"/ceo-dashboard\", component: CeoDashboard, layout: \"normal\", breadcrumb: \"CEO_M.F_DOR_FINANCE_VIEW\" },\n\n // ---- EKYC form ke 4 steps ----\n { path: \"/consumer-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_CONSUMER_DETAILS\" },\n { path: \"/address-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_ADDRESS_DETAILS\" },\n { path: \"/property-info\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_PROPERTY_INFO\" },\n { path: \"/meter-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_METER_DETAILS\" },\n\n // ---- assign ----\n {\n path: [\"/assign\"],\n component: AssignEkyc,\n layout: \"normal\",\n breadcrumb: [{ label: \"EKYC_ASSIGN\", path: `/digit-ui/${userType}/ekyc/assign` }],\n },\n\n // ---- detail-card wale routes ----\n // {\n // path: [\"/review/:kno\", \"/review\"],\n // component: Review,\n // layout: \"action\",\n // breadcrumb: breadcrumb(userType, \"EKYC_INBOX\", \"inbox:kno\", \"EKYC_REVIEW\"),\n // },\n {\n path: [\"/vendors/:vendorId\", \"/vendors\"],\n component: VendorDetailsCard,\n layout: \"normal\",\n breadcrumb: breadcrumb(userType, \"EKYC_VENDORS\", \"vendors:vendorId\", \"EKYC_VENDOR_DETAILS\"),\n },\n {\n path: [\"/supervisor-dashboard/:id\", \"/supervisor-dashboard\"],\n component: SupervisorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SUPERVISOR_DASHBOARD\", \"supervisor-dashboard:id\", \"EKYC_SUPERVISOR_DETAILS\"),\n },\n {\n path: [\"/surveyor-dashboard/:id\", \"/surveyor-dashboard\"],\n component: SurveyorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SURVEYOR_DASHBOARD\", \"surveyor-dashboard/:id\", \"EKYC_SURVEYOR_DETAILS\"),\n },\n];\n\n// dono role ke liye ready-made arrays — jaha jaruratho wahi import karo\nexport const ekycRoutes = getEkycRoutes(\"employee\"); // employee ke liye\nexport const citizenEkycRoutes = getEkycRoutes(\"citizen\"); // citizen ke liye","import { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation } from \"react-router-dom\";\nimport Dashboard from \"../../components/Dashboard\";\n// import CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard.js\";\nimport Inbox from \"./Inbox\";\n// import Mapping from \"./Mapping\";\n// import Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\n// import AssignEkyc from \"../../components/AssignEkyc.js\";\nimport AdminDashboard from \"../../components/AdminDashboard.js\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard.js\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\"\nimport WorkOrder from \"./WorkOrder\";\nimport { ekycRoutes } from \"../../config/Routes\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n // const getDynamicBreadcrumbs = () => {\n // const pathname = location.pathname;\n\n // // Parent crumb — always present and clickable → redirects to eKYC inbox\n // const crumbs = [\n // { icon: HomeIcon, path: \"/digit-ui/employee\" },\n // { label: t(\"ACTION_TEST_EKYC\"), path: `/digit-ui/employee/module/details` },\n // ];\n\n // // Child crumb — only appended when on a sub-page (not inbox/dashboard itself)\n // if (pathname.includes(\"/create-kyc\")) {\n // crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n // } else if (pathname.includes(\"/consumer-details\")) {\n // crumbs.push({ label: t(\"EKYC_CONSUMER_DETAILS\") });\n // } else if (pathname.includes(\"/address-details\")) {\n // crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n // } else if (pathname.includes(\"/property-info\")) {\n // crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n // } else if (pathname.includes(\"/meter-details\")) {\n // crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n // } else if (pathname.includes(\"/review\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/employee/ekyc/inbox` });\n // crumbs.push({ label: t(\"EKYC_REVIEW\") });\n // } else if (pathname.includes(\"/surveyor-dashboard\") || pathname.includes(\"/assign/surveyor-details\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") || \"Surveyor Dashboard\" });\n // } else if (pathname.includes(\"/assign\")) {\n // crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n // } else if (pathname.includes(\"/ceo-dashboard\")) {\n // crumbs.push({ label: t(\"CEO_M.F_DOR_FINANCE_VIEW\") });\n // } else if (pathname.includes(\"/admin-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\" });\n // } else if (pathname.includes(\"/supervisor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") || \"Supervisor Dashboard\" });\n // } else if (pathname.includes(\"/surveyor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n // } else if (pathname.includes(\"/vendors/\")) {\n // crumbs.push({ label: t(\"EKYC_VENDOR_DETAILS\") });\n // } else if (pathname.includes(\"/mapping\")) {\n // crumbs.push({ label: t(\"EKYC_MAPPING\") });\n // } else if (pathname.includes(\"/dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n // } else if (pathname.includes(\"/inbox\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\") });\n // }\n // // dashboard & inbox → no child crumb (only \"eKYC Admin\" shown)\n\n // return crumbs;\n // };\n\n const getDynamicBreadcrumbs = () => {\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(\"ACTION_TEST_EKYC\"), path: \"/digit-ui/employee/module/details\" },\n ];\n const pathSegments = location.pathname.split(\"/\").filter(Boolean);\n const ekycIndex = pathSegments.indexOf(\"ekyc\");\n const relativeSegments = ekycIndex !== -1 ? pathSegments.slice(ekycIndex + 1) : [];\n\n let matchedPath = \"\";\n const currentRoute = ekycRoutes.find((route) => {\n const paths = Array.isArray(route.path) ? route.path : [route.path];\n return paths.some((singlePath) => {\n const routeSegments = singlePath.split(\"/\").filter(Boolean);\n if (routeSegments.length === relativeSegments.length && routeSegments.every((seg, i) => seg.startsWith(\":\") || seg === relativeSegments[i])) {\n matchedPath = singlePath;\n return true;\n }\n return false;\n });\n });\n\n if (currentRoute) {\n if (Array.isArray(currentRoute.breadcrumb)) {\n currentRoute.breadcrumb.forEach((crumb) => {\n let crumbPath = crumb.path;\n if (crumbPath && matchedPath) {\n matchedPath.split(\"/\").filter(Boolean).forEach((segment, idx) => {\n if (segment.startsWith(\":\")) {\n const val = relativeSegments[idx];\n crumbPath = crumbPath.replace(new RegExp(`\\\\/${segment}`, \"g\"), `/${val}`)\n .replace(new RegExp(`(\\\\w+)${segment}`, \"g\"), `$1/${val}`)\n .replace(new RegExp(segment, \"g\"), val);\n }\n });\n }\n crumbs.push({ label: t(crumb.label), ...(crumbPath ? { path: crumbPath } : {}) });\n });\n } else {\n crumbs.push({ label: t(currentRoute.breadcrumb) });\n }\n }\n return crumbs;\n };\n const formStepRoutes = [\"consumer-details\", \"address-details\", \"property-info\", \"meter-details\"];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n Back\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <div className=\"employee-form\">\n <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Create />\n </LayoutWrapper>\n )}\n /> */}\n\n {/* <PrivateRoute\n path={`${path}/mapping`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Mapping />\n </LayoutWrapper>\n )}\n /> */}\n {/* <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n /> */}\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={formStepRoutes.map((route) => `${path}/${route}`)}\n component={(props) => (\n <LayoutWrapper layoutClass=\"normal\">\n <EKYCForm {...props} path={path} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review/:kno`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/ceo-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <CeoDashboard />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/admin-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AdminDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/vendors/:vendorId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/surveyor-dashboard/:id`, `${path}/surveyor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/work-order`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <WorkOrder />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n /> */}\n </Switch>\n </div>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst PropertyInfoConfig = (t, formData = {}, uploadFile, buildingImage, buildingImageId, setBuildingImage, setBuildingImageId) => {\n const propertyType = formData?.propertyType?.name || formData?.propertyType;\n const isHotel = propertyType === \"Hotel\";\n const isHospitalOrNursing = propertyType === \"Hospital\" || propertyType === \"Nursing Home\";\n\n const fields = [\n {\n label: t(\"PID Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"pidNumber\",\n },\n },\n {\n label: t(\"Property Type\"),\n isMandatory: false,\n type: \"custom\",\n key: \"propertyType\",\n populators: {\n name: \"propertyType\",\n component: (props) => (\n <Dropdown\n option={[\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sub Property Category\"),\n isMandatory: false,\n type: \"custom\",\n key: \"subPropertyCategory\",\n populators: {\n name: \"subPropertyCategory\",\n component: (props) => (\n <Dropdown\n option={[]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"No. of Floors\"),\n isMandatory: true,\n type: \"number\",\n populators: {\n name: \"noOfFloors\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Floor No. of this KNO\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"floorNo\",\n },\n },\n {\n label: isHospitalOrNursing ? t(\"No of Beds\") : t(\"No of Beds\"),\n isMandatory: isHospitalOrNursing,\n type: \"number\",\n populators: {\n name: \"noOfBeds\",\n validation: isHospitalOrNursing ? { required: true, min: 1 } : {},\n },\n },\n {\n label: isHotel ? t(\"No. of Rooms\") : t(\"No. of Rooms\"),\n isMandatory: isHotel,\n type: \"number\",\n populators: {\n name: \"noOfRooms\",\n validation: isHotel ? { required: true, min: 1 } : {},\n },\n },\n {\n label: t(\"Number of Dwelling Units\"),\n isMandatory: false,\n type: \"number\",\n populators: {\n name: \"dwellingUnits\",\n },\n },\n {\n label: t(\"Building Image\"),\n isMandatory: true,\n type: \"custom\",\n key: \"buildingImage\",\n populators: {\n name: \"buildingImage\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {buildingImage && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n },\n ];\n\n return [\n {\n head: t(\"EKYC_PROPERTY_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default PropertyInfoConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport PropertyInfoConfig from \"../config/PropertyInfoConfig\";\n\nconst PropertyInfo = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"PROPERTY\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.propertyDetails || {};\n\n // 🔹 STATES\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n pidNumber: savedData.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : null,\n subPropertyCategory: savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null,\n noOfFloors: savedData.noOfFloors || \"\",\n floorNo: savedData.floorNo || \"\",\n noOfRooms: savedData.noOfRooms || \"\",\n noOfBeds: savedData.noOfBeds || \"\",\n dwellingUnits: savedData.dwellingUnits || \"\",\n buildingImage: savedData.buildingImageId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || rawData || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !isDataLoaded) {\n let propType = null;\n let subPropCat = null;\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ].find((type) => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) propType = matchingType;\n else propType = { name: propertyInfo.subPropertyCategory };\n subPropCat = { name: propertyInfo.subPropertyCategory };\n }\n\n if (propertyInfo.propertyType) {\n subPropCat = { name: propertyInfo.propertyType };\n if (!propertyInfo.subPropertyCategory) propType = { name: propertyInfo.propertyType };\n }\n\n const updatedDefaults = {\n pidNumber: savedData.pidNumber || propertyInfo.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : propType,\n subPropertyCategory: savedData.subPropertyCategory\n ? { name: savedData.subPropertyCategory }\n : subPropCat,\n noOfFloors:\n savedData.noOfFloors ||\n (propertyInfo.numberOfFloors || propertyInfo.noOfFloor\n ? String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor)\n : \"\"),\n floorNo: savedData.floorNo || propertyInfo.floorNo || \"\",\n noOfRooms:\n savedData.noOfRooms ||\n (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined\n ? String(propertyInfo.numberOfRooms)\n : \"\"),\n noOfBeds:\n savedData.noOfBeds ||\n (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined\n ? String(propertyInfo.numberOfBeds)\n : \"\"),\n dwellingUnits:\n savedData.dwellingUnits ||\n (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined\n ? String(propertyInfo.numberOfDwellingUnits)\n : \"\"),\n buildingImage: savedData.buildingImageId || propertyInfo.buildingImageFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.buildingImage) {\n setBuildingImageId(updatedDefaults.buildingImage);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setBuildingImageId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setBuildingImage(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Check if propertyType changed to re-evaluate mandatory validation or conditional visibility\n const propertyTypeChanged =\n (data?.propertyType?.name || data?.propertyType) !==\n (localFormData?.propertyType?.name || localFormData?.propertyType);\n\n if (propertyTypeChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const propTypeVal = data?.propertyType;\n const subPropCatVal = data?.subPropertyCategory;\n const noOfFloorsVal = data?.noOfFloors;\n const buildingImgId = buildingImageId || data?.buildingImage;\n const noOfRoomsVal = data?.noOfRooms;\n const noOfBedsVal = data?.noOfBeds;\n\n let valid = true;\n if (!propTypeVal) valid = false;\n if (!subPropCatVal) valid = false;\n if (!noOfFloorsVal || Number(noOfFloorsVal) < 1) valid = false;\n if (!buildingImgId) valid = false;\n\n if (propTypeVal?.name === \"Hotel\" && !noOfRoomsVal) valid = false;\n if (\n (propTypeVal?.name === \"Hospital\" || propTypeVal?.name === \"Nursing Home\") &&\n !noOfBedsVal\n )\n valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n pidNumber: data.pidNumber,\n propertyType: data.propertyType?.name || data.propertyType,\n subPropertyCategory: data.subPropertyCategory?.name || data.subPropertyCategory,\n noOfFloors: data.noOfFloors,\n floorNo: data.floorNo,\n noOfRooms: data.noOfRooms,\n noOfBeds: data.noOfBeds,\n dwellingUnits: data.dwellingUnits,\n buildingImageId: buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Property details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update property details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = PropertyInfoConfig(\n t,\n localFormData,\n handleUpload,\n buildingImage,\n buildingImageId,\n setBuildingImage,\n setBuildingImageId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetailsConfig = (t, formData = {}, uploadPhoto, meterPhoto, meterPhotoId, setMeterPhoto, setMeterPhotoId) => {\n const meterStatus = formData?.meterStatus?.name || formData?.meterStatus;\n const lastBillReceived = formData?.lastBillReceived?.name || formData?.lastBillReceived;\n const sewerConnection = formData?.sewerConnection?.name || formData?.sewerConnection;\n\n const isFrozen = meterStatus === \"Can not be identified\";\n\n // Generate Month-Year Options (1998–2026)\n const monthYearOptions = [];\n for (let y = 1998; y <= 2026; y++) {\n for (let m = 1; m <= 12; m++) {\n monthYearOptions.push({ name: `${m}/${y}` });\n }\n }\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const fields = [\n {\n label: t(\"Connection Category\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"connectionCategory\",\n validation: { required: true },\n },\n },\n {\n label: t(\"SA Type\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"saType\",\n },\n },\n {\n label: t(\"Status\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"status\",\n },\n },\n {\n label: t(\"MR Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrCode\",\n },\n },\n {\n label: t(\"Area Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"areaCode\",\n },\n },\n {\n label: t(\"MR Key\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrKey\",\n },\n },\n ];\n\n // 🔹 Non-frozen fields\n if (!isFrozen) {\n fields.push(\n {\n label: t(\"Meter Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterNumber\",\n },\n },\n {\n label: t(\"Meter Maker\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterMaker\",\n },\n },\n {\n label: t(\"Meter Condition\"),\n isMandatory: false,\n type: \"custom\",\n key: \"meterCondition\",\n populators: {\n name: \"meterCondition\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Damaged\" }, { name: \"Not-Damaged\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (meterStatus === \"Metered\") {\n fields.push({\n label: t(\"Meter Photo\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterPhoto\",\n populators: {\n name: \"meterPhoto\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadPhoto(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setMeterPhoto(null);\n setMeterPhotoId(null);\n }}\n message={meterPhotoId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {meterPhoto && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={meterPhoto}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n });\n }\n }\n\n // 🔹 Standard fields after the conditional section\n fields.push(\n {\n label: t(\"Meter Status\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterStatus\",\n populators: {\n name: \"meterStatus\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Metered\" }, { name: \"Unmetered\" }, { name: \"Can not be identified\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Meter Location\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterLocation\",\n populators: {\n name: \"meterLocation\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Inside\" }, { name: \"Outside\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Last Bill Received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"lastBillReceived\",\n populators: {\n name: \"lastBillReceived\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n // 🔹 Bill-received fields\n if (lastBillReceived === \"Yes\") {\n fields.push({\n label: t(\"When was the last bill received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"billMonthYear\",\n populators: {\n name: \"billMonthYear\",\n component: (props) => (\n <Dropdown\n option={monthYearOptions}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n } else if (lastBillReceived === \"No\") {\n fields.push({\n label: t(\"Reason *\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"reason\",\n validation: { required: true },\n },\n });\n }\n\n fields.push(\n {\n label: t(\"Access to Meter\"),\n isMandatory: false,\n type: \"custom\",\n key: \"accessToMeter\",\n populators: {\n name: \"accessToMeter\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sewer Connection\"),\n isMandatory: true,\n type: \"custom\",\n key: \"sewerConnection\",\n populators: {\n name: \"sewerConnection\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (sewerConnection === \"No\") {\n fields.push({\n label: t(\"Septic Tank\"),\n isMandatory: true,\n type: \"custom\",\n key: \"septicTank\",\n populators: {\n name: \"septicTank\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n }\n\n return [\n {\n head: t(\"EKYC_METER_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default MeterDetailsConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport MeterDetailsConfig from \"../config/MeterDetailsConfig\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"METER\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.meterDetails || {};\n\n // 🔹 STATES\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n connectionCategory: savedData.connectionCategory || \"\",\n saType: savedData.saType || \"\",\n status: savedData.status || \"\",\n mrCode: savedData.mrCode || \"\",\n areaCode: savedData.areaCode || \"\",\n mrKey: savedData.mrKey || \"\",\n meterNumber: savedData.meterNumber || \"\",\n meterMaker: savedData.meterMaker || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : null,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : null,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : null,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : null,\n reason: savedData.reason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : null,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : null,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : null,\n meterPhoto: savedData.meterPhotoId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !isDataLoaded) {\n let mStatus = null;\n let mCondition = null;\n let mLoc = null;\n let billRec = null;\n let billMonYr = null;\n let accToMeter = null;\n let sewerConn = null;\n let sepTank = null;\n\n if (apiMeter.meterStatus) {\n const matchingStatus = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ].find((o) => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) mStatus = matchingStatus;\n else mStatus = { name: apiMeter.meterStatus };\n } else if (apiMeter.metered !== undefined) {\n mStatus = { name: apiMeter.metered ? \"Metered\" : \"Unmetered\" };\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = [{ name: \"Damaged\" }, { name: \"Not-Damaged\" }].find(\n (o) => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase()\n );\n if (matchingCond) mCondition = matchingCond;\n else mCondition = { name: apiMeter.meterCondition };\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = [{ name: \"Inside\" }, { name: \"Outside\" }].find(\n (o) =>\n o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() ||\n apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase())\n );\n if (matchingLoc) mLoc = matchingLoc;\n else mLoc = { name: apiMeter.meterLocation };\n }\n\n if (apiMeter.lastBillRaised !== undefined && apiMeter.lastBillRaised !== null) {\n const strVal = String(apiMeter.lastBillRaised).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") billRec = { name: \"Yes\" };\n else billRec = { name: \"No\" };\n }\n\n if (apiMeter.lastBillReceivedDate) {\n const formatted = apiMeter.lastBillReceivedDate.replace(\"-\", \"/\");\n const parsedParts = formatted.split(\"/\");\n if (parsedParts.length === 2) {\n const mon = parseInt(parsedParts[0], 10);\n const yr = parseInt(parsedParts[1], 10);\n billMonYr = { name: `${mon}/${yr}` };\n } else {\n billMonYr = { name: apiMeter.lastBillReceivedDate };\n }\n }\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") accToMeter = { name: \"Yes\" };\n else accToMeter = { name: \"No\" };\n }\n\n if (apiMeter.sewerConnection !== undefined && apiMeter.sewerConnection !== null) {\n const strVal = String(apiMeter.sewerConnection).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sewerConn = { name: \"Yes\" };\n else sewerConn = { name: \"No\" };\n }\n\n if (apiMeter.septicTank !== undefined && apiMeter.septicTank !== null) {\n const strVal = String(apiMeter.septicTank).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sepTank = { name: \"Yes\" };\n else sepTank = { name: \"No\" };\n }\n\n const updatedDefaults = {\n connectionCategory: savedData.connectionCategory || apiMeter.connectionCategory || \"\",\n saType: savedData.saType || apiMeter.saType || \"\",\n status: savedData.status || apiMeter.statusFlag || \"\",\n mrCode: savedData.mrCode || (apiMeter.mrcode ? String(apiMeter.mrcode) : \"\"),\n areaCode: savedData.areaCode || (apiMeter.areacode ? String(apiMeter.areacode) : \"\"),\n mrKey: savedData.mrKey || (apiMeter.mrkey ? String(apiMeter.mrkey) : \"\"),\n meterNumber: savedData.meterNumber || apiMeter.meterNumber || \"\",\n meterMaker: savedData.meterMaker || apiMeter.meterMake || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : mStatus,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : mCondition,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : mLoc,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : billRec,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : billMonYr,\n reason: savedData.reason || apiMeter.lastBillNotRaisedReason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : accToMeter,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : sewerConn,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : sepTank,\n meterPhoto: savedData.meterPhotoId || apiMeter.meterPhotoFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.meterPhoto) {\n setMeterPhotoId(updatedDefaults.meterPhoto);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setMeterPhotoId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n const meterStatusChanged =\n (data?.meterStatus?.name || data?.meterStatus) !==\n (localFormData?.meterStatus?.name || localFormData?.meterStatus);\n\n const lastBillReceivedChanged =\n (data?.lastBillReceived?.name || data?.lastBillReceived) !==\n (localFormData?.lastBillReceived?.name || localFormData?.lastBillReceived);\n\n const sewerConnectionChanged =\n (data?.sewerConnection?.name || data?.sewerConnection) !==\n (localFormData?.sewerConnection?.name || localFormData?.sewerConnection);\n\n if (meterStatusChanged || lastBillReceivedChanged || sewerConnectionChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const connCatVal = data?.connectionCategory;\n const mStatusVal = data?.meterStatus;\n const mLocVal = data?.meterLocation;\n const billRecVal = data?.lastBillReceived;\n const sewerConnVal = data?.sewerConnection;\n const mPhotoId = meterPhotoId || data?.meterPhoto;\n const reasonVal = data?.reason;\n const billMonYrVal = data?.billMonthYear;\n const sepTankVal = data?.septicTank;\n\n let valid = true;\n if (!connCatVal) valid = false;\n if (!mStatusVal) valid = false;\n if (!mLocVal) valid = false;\n if (!billRecVal) valid = false;\n if (!sewerConnVal) valid = false;\n\n if (mStatusVal?.name === \"Metered\" && !mPhotoId) valid = false;\n if (billRecVal?.name === \"No\" && !reasonVal) valid = false;\n if (billRecVal?.name === \"Yes\" && !billMonYrVal) valid = false;\n if (sewerConnVal?.name === \"No\" && !sepTankVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n connectionCategory: data.connectionCategory,\n saType: data.saType,\n status: data.status,\n mrCode: data.mrCode,\n areaCode: data.areaCode,\n mrKey: data.mrKey,\n meterNumber: data.meterNumber,\n meterMaker: data.meterMaker,\n meterStatus: data.meterStatus?.name || data.meterStatus,\n meterCondition: data.meterCondition?.name || data.meterCondition,\n meterLocation: data.meterLocation?.name || data.meterLocation,\n lastBillReceived: data.lastBillReceived?.name || data.lastBillReceived,\n billMonthYear: data.billMonthYear?.name || data.billMonthYear,\n reason: data.reason,\n accessToMeter: data.accessToMeter?.name || data.accessToMeter,\n sewerConnection: data.sewerConnection?.name || data.sewerConnection,\n septicTank: data.septicTank?.name || data.septicTank,\n meterPhotoId: meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Meter details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update meter details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = MeterDetailsConfig(\n t,\n localFormData,\n handleUpload,\n meterPhoto,\n meterPhotoId,\n setMeterPhoto,\n setMeterPhotoId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 20,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 20,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return dashboardData?.consumerList || [];\n }, [isSearchActive, searchData, dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n const searchDetails = item.connectionDetails || {};\n const fullName = (searchDetails.firstName || searchDetails.middleName || searchDetails.lastName)\n ? `${searchDetails.firstName || \"\"} ${searchDetails.middleName || \"\"} ${searchDetails.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : searchDetails.consumerName || \"\";\n\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: fullName,\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: fullName,\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = (item.firstName || item.middleName || item.lastName)\n ? `${item.firstName || \"\"} ${item.middleName || \"\"} ${item.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : item.consumerName || item.citizenName || \"\";\n\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: fullName,\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName,\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 20,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useEffect, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport {\n Card,\n CardHeader,\n CardText,\n Loader,\n StatusTable,\n Row,\n InboxComposer,\n VerticalTimeline,\n SubmitBar,\n} from \"@djb25/digit-ui-react-components\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\nconst EkycStatus = () => {\n const { t } = useTranslation();\n const { id } = useParams();\n const history = useHistory();\n\n // Separate states for the input form state and the triggered search query\n const [formState, setFormState] = useState({\n searchForm: {\n kNumber: id && id !== \":id\" ? id : \"\",\n },\n filterForm: {},\n });\n const [searchQuery, setSearchQuery] = useState(id && id !== \":id\" ? id : \"\");\n const [errorMsg, setErrorMsg] = useState(\"\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // Sync states with URL id parameter change (e.g. back navigation or page load)\n // Added strict equality check to prevent infinite re-render loop\n useEffect(() => {\n const currentKNumber = formState?.searchForm?.kNumber || \"\";\n const targetKNumber = id && id !== \":id\" ? id : \"\";\n if (currentKNumber !== targetKNumber) {\n setFormState({\n searchForm: { kNumber: targetKNumber },\n filterForm: {},\n });\n setSearchQuery(targetKNumber);\n }\n }, [id]);\n\n // Fetch eKYC review/status data - only triggers on 'searchQuery' state\n const { data: searchData, isLoading: isReviewLoading } = Digit.Hooks.ekyc.useEkycSearchReview(\n { kno: searchQuery, fetchType: \"REVIEW\" },\n tenantId,\n {\n enabled: !!searchQuery,\n retry: false,\n onError: (err) => {\n setErrorMsg(err?.message || t(\"EKYC_STATUS_NOT_FOUND\", \"eKYC Application not found.\"));\n },\n }\n );\n\n // Fetch connection/application details via useSearchConnection\n const { data: connectionSearchData, isLoading: isConnectionLoading } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchQuery } },\n { enabled: !!searchQuery, retry: false }\n );\n\n const isLoading = isReviewLoading || isConnectionLoading;\n\n const onSearchFormSubmit = (data) => {\n const val = data?.kNumber?.trim();\n if (!val) {\n setErrorMsg(t(\"EKYC_PLEASE_ENTER_KNO\", \"Please enter a valid K-Number.\"));\n return;\n }\n setErrorMsg(\"\");\n setFormState({\n searchForm: data,\n filterForm: {},\n });\n setSearchQuery(val);\n history.push(`/digit-ui/citizen/ekyc/${val}`);\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", \"\");\n setErrorMsg(\"\");\n setFormState({\n searchForm: { kNumber: \"\" },\n filterForm: {},\n });\n setSearchQuery(\"\");\n history.push(\"/digit-ui/citizen/ekyc/:id\");\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n const propsForInboxTable = {\n columns: [],\n data: [],\n limit: 10,\n offset: 0,\n };\n\n const propsForInboxMobileCards = {\n data: [],\n };\n\n const getStatusDetails = () => {\n if (!searchData) return null;\n const reviewWrapper = searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const appData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n const newData = appData?.newData || appData;\n const connection = newData?.connectionDetails || newData || {};\n\n const naText = t(\"CS_NA\", \"N/A\");\n const connRaw = connectionSearchData?.connectionDetails || connectionSearchData || {};\n const addrRaw = connectionSearchData?.addressDetails || {};\n const propRaw = connectionSearchData?.propertyInfo || {};\n const meterRaw = connectionSearchData?.meterDetails || {};\n\n const rawStatus = (connection?.ekycStatus || connection?.ekycstatus || connRaw?.ekycStatus || propRaw?.ekycStatus || meterRaw?.ekycStatus || \"NA\").toUpperCase();\n\n const reviewName = connection?.consumerName || [newData?.firstName, newData?.middleName, newData?.lastName].filter(Boolean).join(\" \");\n const connName = connRaw?.consumerName || [connRaw?.firstName, connRaw?.middleName, connRaw?.lastName].filter(Boolean).join(\" \");\n\n const reviewPhone = connection?.phoneNumber || connection?.mobileNo || connection?.mobileNumber;\n const connPhone = connRaw?.phoneNumber || connRaw?.mobileNo || connRaw?.mobileNumber || addrRaw?.mobileNo || addrRaw?.phoneNumber || addrRaw?.mobileNumber;\n\n const reviewType = connection?.connectionType || connection?.connectionCategory;\n const connType = connRaw?.connectionType || connRaw?.connectionCategory || connRaw?.knoCategory || propRaw?.connectionType || propRaw?.connectionCategory || meterRaw?.connectionCategory;\n\n return {\n kno: connection?.knumber || connection?.kno || connRaw?.knumber || connRaw?.kno || searchQuery,\n consumerName: (reviewName && reviewName !== naText && reviewName !== \"\") ? reviewName : (connName || naText),\n phoneNumber: (reviewPhone && reviewPhone !== naText && reviewPhone !== \"\") ? reviewPhone : (connPhone || naText),\n connectionType: (reviewType && reviewType !== naText && reviewType !== \"\") ? reviewType : (connType || naText),\n status: rawStatus,\n };\n };\n\n const details = getStatusDetails();\n\n // Visual Stepper configuration for VerticalTimeline\n const timelineConfig = [\n {\n route: \"submitted\",\n timeLine: [\n {\n currentStep: 1,\n actions: t(\"EKYC_STEP_SUBMITTED\", \"eKYC Survey Submitted\"),\n },\n ],\n },\n {\n route: \"verification\",\n timeLine: [\n {\n currentStep: 2,\n actions: t(\"EKYC_STEP_UNDER_VERIFICATION\", \"Under Verification\"),\n },\n ],\n },\n {\n route: \"zro-decision\",\n timeLine: [\n {\n currentStep: 3,\n actions: t(\"EKYC_STEP_ZRO_DECISION\", \"ZRO Decision\"),\n },\n ],\n },\n ];\n\n let activeStepIndex = 0;\n if (details) {\n if (details.status === \"APPROVED\") {\n activeStepIndex = 3;\n } else if (details.status === \"REJECTED\") {\n activeStepIndex = 2;\n } else if (details.status === \"PENDING_FOR_VERIFICATION\") {\n activeStepIndex = 1;\n } else {\n activeStepIndex = 1;\n }\n }\n\n const getStatusText = (status) => {\n const key = `EKYC_STATUS_${status}`;\n const val = t(key);\n if (val === key) {\n if (status === \"APPROVED\") return \"Approved\";\n if (status === \"REJECTED\") return \"Rejected\";\n if (status === \"PENDING_FOR_VERIFICATION\") return \"Pending For Verification\";\n return status;\n }\n return val;\n };\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n {!isLoading && details && (\n <VerticalTimeline config={timelineConfig} currentActiveIndex={activeStepIndex} />\n )}\n <div className=\"employee-form-section\">\n <div className=\"single-page-form-container\">\n {/* 1. Search Form Card rendered with InboxComposer */}\n <Card className=\"ekyc-status-search-card\">\n <CardHeader className=\"ekyc-status-card-header\">\n {t(\"EKYC_APPLICATION_STATUS_TRACKER\", \"eKYC Application Status\")}\n </CardHeader>\n <CardText className=\"ekyc-status-card-text\">\n {t(\"EKYC_STATUS_TRACKER_SUBHEADER\", \"Enter your K-Number below to track the real-time status of your eKYC application.\")}\n </CardText>\n\n <div className=\"status-search-composer-wrapper\">\n <InboxComposer\n {...{\n isInboxLoading: false,\n ...propsForSearchForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n showSearchOnMobile: true,\n }}\n />\n </div>\n </Card>\n\n {errorMsg && (\n <div className=\"ekyc-status-error-msg\">\n {errorMsg}\n </div>\n )}\n\n {/* 2. Results Card */}\n {isLoading && <Loader />}\n\n {!isLoading && details && (\n <Card className=\"ekyc-status-results-card\">\n {/* Status overview and badge */}\n <div className=\"ekyc-status-overview-header\">\n <div>\n <span className=\"ekyc-status-label-title\">\n {t(\"EKYC_CURRENT_STATUS\", \"Current Status\")}\n </span>\n <div className=\"ekyc-status-value-text\">\n {getStatusText(details.status)}\n </div>\n </div>\n <span className={`ekyc-status-badge ${details.status.toLowerCase()}`}>\n {details.status}\n </span>\n </div>\n\n {/* Details Table */}\n <div className=\"ekyc-status-details-section\">\n <h3 className=\"ekyc-status-details-title\">\n {t(\"EKYC_CONNECTION_SUMMARY\", \"Connection Summary\")}\n </h3>\n <StatusTable>\n <Row label={t(\"EKYC_K_NUMBER\", \"K-Number\")} text={details.kno} />\n <Row label={t(\"EKYC_CONSUMER_NAME\", \"Consumer Name\")} text={details.consumerName} />\n <Row label={t(\"EKYC_MOBILE_NO\", \"Mobile Number\")} text={details.phoneNumber} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\", \"Connection Type\")} text={details.connectionType} />\n </StatusTable>\n </div>\n\n {/* View Application button */}\n <div className=\"ekyc-status-action-section\" style={{ marginTop: \"24px\", display: \"flex\", justifyContent: \"flex-end\" }}>\n <SubmitBar\n label={t(\"EKYC_VIEW_APPLICATION\", \"View Application\")}\n onSubmit={() => history.push(`/digit-ui/citizen/ekyc/status/${details.kno}`)}\n />\n </div>\n </Card>\n )}\n </div>\n </div>\n </div>\n </React.Fragment>\n );\n\n \n};\n\nexport default EkycStatus;\n","import React from \"react\";\nimport { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper, BackButton, ExpandedViewContext } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"../../components/EKYCCard\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch, Redirect, Route } from \"react-router-dom\";\nimport AadhaarVerification from \"../../components/AadhaarVerification\";\nimport PropertyInfo from \"../../components/PropertyInfo\";\nimport MeterDetails from \"../../components/MeterDetails\";\nimport Review from \"../../components/Review\";\nimport Home from \"./Home\";\nimport Inbox from \"./Inbox\";\nimport AssignEkyc from \"../../components/AssignEkyc\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard\";\nimport EkycStatus from \"./EkycStatus\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n const { data: { stateInfo } = {} } = Digit.Hooks.useStore.getInitData();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC citizen home\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(\"EKYC_MODULE_NAME\"), path: `/digit-ui/citizen/ekyc` },\n ];\n\n // Child crumb — only appended when on a sub-page\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/aadhaar-verification\")) {\n crumbs.push({ label: t(\"EKYC_AADHAAR_VERIFICATION\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/citizen/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/citizen/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n } else if (pathname.includes(\"/supervisor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") });\n } else if (pathname.includes(\"/surveyor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n } else if (pathname.includes(\"/vendor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DASHBOARD\") || \"Vendor Dashboard\" });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/status/\") || /^\\/digit-ui\\/citizen\\/ekyc\\/[^/]+$/.test(pathname)) {\n const statusLabel = t(\"EKYC_STATUS\");\n crumbs.push({ label: statusLabel === \"EKYC_STATUS\" || statusLabel === \"STATUS\" ? \"eKYC Status\" : statusLabel });\n }\n // home (exact path) → no child crumb\n\n return crumbs;\n };\n\n // const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n // const isEkyAction = (!roles?.includes(\"EKYC_SURVEYOR\") || roles?.includes(\"EMPLOYEE\"))\n\n\n return (\n <AppContainer>\n <div className=\"ground-container form-container\" style={{ flex: 1 }}>\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <Switch>\n <Route exact path={`${path}`}>\n <Redirect to=\"/digit-ui/citizen/ekyc-home\" />\n </Route>\n <PrivateRoute\n path={[`${path}/vendor-dashboard/:vendorId`, `${path}/vendor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AadhaarVerification />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/address-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AddressDetails />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <PropertyInfo />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <MeterDetails />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/status/:applicationId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <EkycStatus />\n </LayoutWrapper>\n )}\n />\n </Switch>\n </div>\n </AppContainer>\n );\n};\n\nexport default CitizenApp;\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CitizenHomeCard, DocumentIcon, Loader } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"./components/EKYCCard\";\nimport Inbox from \"./components/Dashboard\";\nimport DesktopInbox from \"./components/DesktopInbox\";\nimport MobileInbox from \"./components/MobileInbox\";\nimport Filter from \"./components/Filter\";\nimport EmployeeApp from \"./pages/employee\";\nimport CitizenApp from \"./pages/citizen\";\nimport PropertyInfo from \"./components/PropertyInfo\";\nimport MeterDetails from \"./components/MeterDetails\";\nimport AadhaarVerification from \"./components/AadhaarVerification\";\n\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading } = Digit.Services.useStore({ stateCode, moduleCode, language });\n\n Digit.SessionStorage.set(\"EKYC_TENANTS\", tenants);\n\n useEffect(\n () =>\n Digit.LocalizationService.getLocale({\n modules: [`rainmaker-ekyc`, `rainmaker-${Digit.ULBService.getCurrentTenantId()}`],\n locale: Digit.StoreData.getCurrentLanguage(),\n tenantId: Digit.ULBService.getCurrentTenantId(),\n }),\n []\n );\n\n if (isLoading) {\n return <Loader page={true} />;\n }\n\n if (userType === \"employee\") {\n return <EmployeeApp path={path} url={url} userType={userType} tenants={tenants} />;\n } else return <CitizenApp />;\n};\n\nexport const EkycLinks = ({ matchPath, userType }) => {\n const { t } = useTranslation();\n const propsForModuleCard = {\n links: [],\n };\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code) : [];\n\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n propsForModuleCard.links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/surveyor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/citizen/ekyc/inbox`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n propsForModuleCard.links.push(\n {\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/supervisor-dashboard`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/citizen/ekyc/assign`,\n }\n );\n }\n\n if (roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/vendor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n\n if (roles.length === 1 && roles.includes(\"CITIZEN\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_STATUS\"),\n link: `/digit-ui/citizen/ekyc/:id`,\n });\n }\n\n const formattedLinks = propsForModuleCard.links.map((l) => ({\n i18nKey: l.label,\n link: l.link,\n count: l.count,\n }));\n\n return (\n <CitizenHomeCard\n header={t(\"EKYC_MODULE_NAME\")}\n links={formattedLinks}\n Icon={() => <DocumentIcon className=\"fill-path-primary-main\" />}\n />\n );\n};\n\nconst componentsToRegister = {\n EKYCModule: EkycModule,\n EKYCCard,\n EKYCInbox: Inbox,\n EKYCDesktopInbox: DesktopInbox,\n EKYCMobileInbox: MobileInbox,\n EKYC_INBOX_FILTER: (props) => <Filter {...props} />,\n EkycLinks,\n AadhaarVerification,\n PropertyInfo,\n MeterDetails,\n};\n\nexport const initEkycComponents = () => {\n Object.entries(componentsToRegister).forEach(([key, value]) => {\n Digit.ComponentRegistryService.setComponent(key, value);\n });\n};\n\nexport default EkycModule;\n"],"names":["EKYCCard","_Digit$SessionStorage","_Digit$SessionStorage2","_useTranslation","useTranslation","t","tenantId","Digit","ULBService","getCurrentTenantId","citizenInfo","SessionStorage","get","info","roles","Array","isArray","map","ele","code","_Digit$Hooks$ekyc$use","Hooks","ekyc","useEkycApplicationList","offset","limit","enabled","listData","data","isLoading","totalCount","isCitizen","window","location","pathname","includes","prefix","links","push","label","link","count","length","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","EmployeeModuleCard","_iteratorSymbol","Symbol","iterator","_asyncIteratorSymbol","asyncIterator","_catch","body","recover","result","e","then","_finallyRethrows","finalizer","bind","getChartConstructor","C","Chartjs","StatusCards","_ref","countData","_useState","useState","ekycDownloadLoading","setEkycDownloadLoading","loggedInUser","fullName","name","hasExternalData","total","submittedCount","useEkycSurveyorDashboard","ekycStatus","dashboardData","apiCountData","useMemo","dashboardInfo","completed","pending","inProgressCount","rejected","active","handleDownloadEkycData","Promise","resolve","EkycService","application_list","reportDownload","response","consumerList","alert","excludedKeys","headerMapping","kno","firstName","middleName","lastName","gender","mobileNumber","emailId","fatherOrHusbandName","relationship","dob","zoneName","assembly","ward","pincode","mrkey","consumerType","createdTime","lastModifiedTime","toTitleCase","str","cleanStr","String","split","pop","toLowerCase","replace","c","toUpperCase","skipTitleCase","excelData","item","cleanObj","filter","Boolean","join","Object","keys","forEach","key","val","friendlyHeader","cleanFileName","Download","Excel","error","console","_wasThrown","_result","reject","chartRef1","useRef","chartInstance1","inprocess","submitted","actualCompleted","approved","efficiency","Math","round","healthPct","formatNumber","num","Intl","NumberFormat","format","useEffect","current","destroy","ctx1","getContext","ChartConstructor","type","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","className","disabled","onClick","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","points","x1","y1","x2","y2","style","background","ref","Dashboard","Loader","Card","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kNumber","aadhaarData","columns","Header","accessor","Cell","_ref2","_row$original","_row$original2","row","original","applicationNumber","_ref3","_row$original3","citizenName","_ref4","_row$original4","_row$original5","status","_ref5","_row$original6","_row$original7","raw","ekycstatus","_ref6","_row$original8","_row$original9","tableData","items","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_extends","_searchParams","setSearchParams","onChange","prev","onSubmit","preventDefault","onClear","cleared","kName","HomeIcon","cx","cy","r","TextInput","target","placeholder","todaysAudits","auditChange","pendingCount","i","fromCharCode","MobileInbox","_data$items","mobileData","Link","to","SubmitBar","DetailsCard","serviceRequestIdKey","linkPrefix","text","index","textAlign","Filter","statusMap","applyLocalFilters","clearAll","onStatusChange","newParams","FilterForm","handleSubmit","fn","onResetFilterForm","id","onMobileExclusiveFilterPopupFormClose","onClose","FilterFormField","fontWeight","Dropdown","option","optionKey","select","selected","ekycMockData","topKpis","totalWaterConnections","totalEkycCompleted","totalPending","totalRejected","agencyEkycCompleted","citizenSelfEkycCompleted","todaysEkyc","successRate","rejectionPercentage","executiveMetrics","totalSurveyors","totalSupervisors","activeJurisdictions","todaysGrowth","selfEkycAdoption","avgApprovalTime","riskZones","escalationsOpen","alerts","title","priority","change","district","heatmapData","intensity","dailyTrend","selfVsAgency","agency","citizen","pendingVsCompleted","rejectionAnalysis","success","vendors","assignedConnections","completedEkyc","selfEkyc","inactiveDemand","progress","supervisors","activeSurveyors","jurisdictions","dailyPerformance","day","zones","cluster","zroOffice","assemblyConstituency","gpsLocation","distanceFromFarthestPoint","activeDemand","pppZones","districtwiseInactiveTotal","downloadSurveyorPDF","rows","surveyorName","employeeId","vendorName","supervisorName","initData","tenants","tenantInfo","find","tenant","capitalize","substr","ulbCamel","ulb","email","phoneNumber","currentDate","Date","formattedDate","toLocaleDateString","month","year","formattedTime","toLocaleTimeString","hour","minute","second","hour12","downloadDateTime","isValDefined","undefined","details","asSectionHeader","values","Utils","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","downloadSupervisorPDF","mappedRows","_row$owner","_row$owner2","owner","mobileNo","submittedAt","originalToLocaleDateString","prototype","progressIndex","_len","arguments","args","_key","apply","customT","downloadVendorPDF","emailContact","_len2","_key2","VendorDetailsCard","_vendor$owner","_vendor$owner2","_vendorName$charAt","_useParams","useParams","vendorId","useEkycAssignmentProgress","keepPreviousData","isProgressLoading","progressData","_Digit$Hooks$fsm$useD","fsm","useDsoSearch","staleTime","vendorSearchResponse","isVendorSearchLoading","_Digit$Hooks$fsm$useS","useSupervisorSearch","supervisorSearchResponse","isSupervisorSearchLoading","vendor","userUuid","uuid","userMobile","matchesUser","v","_v$owner","_v$owner2","_v$owner3","ownerUuid","ownerMobile","matched","_v$dsoDetails","_v$dsoDetails2","dsoDetails","Number","matchedMock","_v$name","_loggedInUser$name","vendorSupervisors","mockSupList","from","_","totalKnos","random","submittedKnos","pendingKnos","progressPercent","currentVendorId","matchedSups","s","sup","_progressData$supervi","_sup$owner2","_sup$owner3","_sup$owner4","report","supervisorReport","_sup$owner","supervisorId","zoneIds","_vendor$zoneIds","zone","cards","hasRealData","some","reduce","acc","completedKnos","icon","FaUsers","FaCheckCircle","FaClock","FaChartLine","setCurrentPage","_useState2","pageSize","setPageSize","_useState3","paginatedSupervisors","start","end","slice","supervisorColumns","_Digit$SessionStorage3","_Digit$SessionStorage4","userType","targetPath","href","textDecoration","_useState4","showReportMenu","setShowReportMenu","_useState5","customDate","setCustomDate","_useState6","showCustomPicker","setShowCustomPicker","_useState7","reportLoading","setReportLoading","reportMenuRef","handler","contains","document","addEventListener","removeEventListener","handleDownload","rowsWithStats","err","handlePresetDownload","handleCustomDownload","StatCard","Fragment","isPageLoading","charAt","p","card","idx","tableTitle","tableClass","isPaginationRequired","ceil","onFirstPage","onLastPage","max","useInboxTableConfig","_formState$tableForm","_formState$tableForm2","_formState$searchForm","formState","table","dispatch","checkPathName","onSortingByData","_ref$inboxStyles","inboxStyles","_ref$tableStyle","tableStyle","tableForm","tableColumnConfig","disableSortBy","DateUtils","ConvertEpochToDate","_ref7","disableSort","autoSort","manualPagination","initSortId","_formState$tableForm3","action","parseInt","_formState$tableForm4","searchForm","message","floor","SearchFormFieldsComponents","searchFormState","controlSearchForm","searchType","errors","Label","CustomTooltip","Controller","control","defaultValue","rules","pattern","render","CardLabelError","useInboxMobileCardsData","_ref$isSupervisor","isSupervisor","handleSupervisorReview","dataForMobileInboxCards","_item$owner","serviceType","assignedAt","MobileSortFormValues","sortOrderOptions","i18nKey","_useFormContext","useFormContext","controlSortForm","SearchField","RadioButtons","onSelect","selectedOption","optionsKey","isTwoDynamicPrefix","getRedirectionLink","handleClickEnabled","Inbox","_formState$searchForm3","_formState$searchForm4","useLocation","formInitValue","filterForm","sortBy","sortOrder","_useReducer","useReducer","formReducer","filters","queryParams","isListLoading","_Digit$Hooks$ekyc$use2","_Digit$Hooks$ekyc$use3","searchDetails","_formState$searchForm2","isSearchActive","_Digit$Hooks$ekyc$use4","useSearchConnection","isSearchLoading","searchData","sourceData","filteredData","_item$sla","isSearchItem","connectionDetails","_item$propertyInfo","_item$propertyInfo2","_item$connectionDetai","_item$propertyInfo3","_item$connectionDetai2","_item$connectionDetai3","_item$connectionDetai4","_item$connectionDetai5","applicationNo","propertyInfo","connectionNo","consumerName","statusflag","sla","supervisor","_loggedInUser$roles","targetId","_s$supervisorId","_s$id","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","state","payload","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","onMobileSortOrderData","onSortFormReset","setSortFormValue","propsForMobileSortForm","sortFormDefaultValues","propsForInboxMobileCards","isInboxLoading","marginBottom","gap","flexWrap","InboxComposer","forceTable","showSearchOnMobile","ActionButton","jumpTo","routeTo","isEditing","LinkButton","EditIcon","margin","checkForNA","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","borderRadius","border","overflow","borderBottom","justifyContent","alignItems","CardSubHeader","fontSize","borderCollapse","tableLayout","textTransform","field","valNew","valOld","isChanged","borderTop","isBool","Review","_newDataRaw$connectio","_newDataRaw$connectio2","_newDataRaw$connectio3","_newDataRaw$address","_newDataRaw$address2","_newDataRaw$address3","_newDataRaw$address4","_newDataRaw$address5","_newDataRaw$address6","_newDataRaw$address7","_newDataRaw$address8","_newDataRaw$address9","_newDataRaw$address0","_newDataRaw$address1","_newDataRaw$address10","_newDataRaw$address11","_newDataRaw$address12","_newDataRaw$address13","_newDataRaw$address14","_newDataRaw$property","_newDataRaw$property2","_editedProperty$conne","_newDataRaw$property3","_editedProperty$conne2","_newDataRaw$property4","_editedProperty$userT","_newDataRaw$property5","_editedProperty$noOfF","_newDataRaw$property6","_newDataRaw$property7","_newDataRaw$meter","_editedMeter$meterSta","_newDataRaw$meter2","_newDataRaw$meter3","_newDataRaw$meter4","_newDataRaw$meter5","_editedMeter$workingS","_newDataRaw$meter6","_editedMeter$lastBill","_newDataRaw$meter7","_newDataRaw$meter8","applicationId","agree","setAgree","isSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","showOptions","setShowOptions","showToast","setShowToast","toastData","setToastData","_flowState$edits","edits","activeKno","_edits$aadhaarData","_edits$addressDetails","addressDetails","editedAddress","_edits$propertyDetail","propertyDetails","editedProperty","_edits$meterDetails","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","userRoles","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","_extractReviewData","apiNewData","apiOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","address","addressRaw","connectionType","connectionCategory","meterNumber","meterNo","statusFlag","knumber","fullAddress","flatHouseNumber","flatNo","buildingTower","building","landmark","pinCode","locality","gpsValid","latitude","longitude","whatsappNo","noOfPerson","noOfPersons","doorPhotoFilestoreId","property","pidNumber","typeOfConnection","numberOfFloors","noOfFloor","tenantName","tenantMobile","propertyDocumentFileStoreId","buildingImageFileStoreId","meter","metered","meterStatus","meterMake","meterLocationAddress","meterLatitude","meterLongitude","workingStatus","lastBillRaised","systemMeterId","meterPhotoFileStoreId","newDataRaw","oldDataRaw","connectionData","addressData","whatsappNumber","doorPhotoFileStoreId","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","meterLocation","workingStatusData","lastBillRaisedData","connectionFields","addressFields","propertyFields","meterFields","handleDeclaration","handleReject","_Digit$UserService$ge","_Digit$UserService$ge2","_Digit$UserService$ge3","RequestInfo","apiId","ver","msgId","authToken","UserService","getUser","access_token","remarks","reviewedBy","userName","role","_temp","mutateAsync","handleApprove","_Digit$UserService$ge4","_Digit$UserService$ge5","_Digit$UserService$ge6","_temp2","setTimeout","_err$response","_err$response$data","handleViewDocument","fileStoreId","documentUrl","handleMenuSelect","baseUrl","marginTop","StatusTable","maxWidth","Row","actionButton","GenericFileIcon","cursor","paddingTop","CheckBox","checked","ActionBar","Menu","position","top","left","zIndex","maxHeight","boxShadow","right","src","alt","onError","nextSibling","open","Toast","AadhaarVerificationConfig","formData","uploadFile","setDocumentId","documentId","_formData","_formData$consumerTyp","_formData2","_formData3","_formData3$occupantTy","_formData4","_formData$informantIs","_formData5","occupantType","informantIsConsumer","isMandatory","populators","component","validation","required","min","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","AadhaarVerification","config","URLSearchParams","search","urlKno","searchKno","sessionStorage","getItem","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","toast","setToast","isDataLoaded","setIsDataLoaded","canSubmit","setCanSubmit","_savedData$informantI","categoryType","parentSpouseName","mobile","whatsapp","residents","identityType","documentNumber","informantName","informantRelation","idFile","tenantVerification","designation","department","entityName","contactPerson","consent","defaultValues","setDefaultValues","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","_savedData$informantI2","fName","mName","lName","parts","trim","updatedDefaults","parentSpouse","handleUploadProof","file","files","size","UploadServices","Filestorage","res","_res$data","_res$data$files","_res$data$files$","onFormValueChange","setValue","_data$consumerType","_localFormData$consum","_data$occupantType","_localFormData$occupa","consumerTypeChanged","occupantTypeChanged","informantIsConsumerChanged","knoVal","consumerTypeVal","occupantTypeVal","categoryTypeVal","firstNameVal","mobileVal","residentsVal","consentVal","docId","ownerMobileVal","valid","test","_data$consumerType2","_data$occupantType2","_data$categoryType","_data$gender","_data$identityType","_data$informantIsCons","submitData","relation","landline","entityRelation","idProof","idNumber","updateType","Config","FormComposer","isDisabled","isCollapsible","isDefaultOpen","noCard","submitInForm","ekycConfig","route","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","showMapActualLocation","EKYCForm","passedPath","path","match","useRouteMatch","_Digit$Hooks$useSessi","useSessionStorage","params","setParams","_location$state","rest","goNext","skipStep","isAddMultiple","currentPath","routeObj","nextStep","currentIndex","findIndex","redirectWithHistory","base","handleSelect","silent","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","parseAdditionalDetails","additionalDetails","JSON","parse","AdminDashboard","vendorsList","filteredVendors","_additionalDetails$se","dso","_dso$owner","_dso$owner2","supervisorsList","surveyorsList","surveyors","supervisorIds","_s$owner","matchedReports","displayName","ownerName","SupervisorDetailsCard","_fullName$charAt","_Digit$Hooks$fsm$useS2","useSurveyorSearch","surveyorSearchResponse","isSurveyorSearchLoading","targetOwnerOrId","resolvedSupervisorId","selfSup","_s$owner$uuid","matchedSup","_s$id2","_s$owner2","_s$owner2$uuid","progressReport","_s$id3","_progressReport","_progressReport2","_progressReport3","_matchedSup$owner2","_matchedSup$owner3","_matchedSup$owner4","matchedSurveyors","surv","_matchedSup$owner","_surv$owner3","_surv$owner4","_surv$owner5","_realStats","_realStats2","_realStats3","_realStats4","realStats","_report$supervisorId","_matchedSup$id","_report$id","_matchedSup$id2","_report$surveyors","matchedSurv","_s$surveyorId","_surv$id","_s$surveyorId2","_surv$owner","_surv$owner$uuid","_s$id4","_surv$id2","_s$id5","_surv$owner2","_surv$owner2$uuid","surveyorId","assignedZoneId","_loggedInUser$uuid","isSelf","surveyorsMapped","_surveyorSearchRespon","_matchedSurv$owner","_matchedSurv$owner2","_s$id6","_surv$surveyorId","_s$owner3","_s$owner3$uuid","_surv$surveyorId2","assignedZone","_matchedVendor$dsoDet","targetVendorId","matchedVendor","paginatedSurveyors","surveyorColumns","titleCaseFields","AssignEkycModal","surveyor","closeModal","refetchDashboard","propsTenantId","selectedKnos","setSelectedKnos","isBulkSelection","setIsBulkSelection","zoneCode","setFilters","_useState8","debouncedFilters","setDebouncedFilters","_Digit$Hooks$ws$useWS","ws","useWSConfigMDMS","ZROLocation","zroLocationsData","mappedZROLocation","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","_useMemo","assemblies","Map","wards","boundaries","traverse","node","localname","assemblyOptions","sort","a","b","localeCompare","wardOptions","structuredLocalityData","localities","extractLocalities","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","sanitizedPin","toString","add","unassignedOnly","fetchFilterOptions","Infinity","filterOptionsData","pincodeOptions","mrkeyOptions","timer","clearTimeout","isFetching","refetchApplicationList","refetch","handleAssignmentError","errMsg","variables","isAlreadyAssigned","isMrKeyType","assignmentType","assignmentMutation","useEkycAssignmentCreate","onSuccess","_response$data","skipped","_response$skipped$","reason","_temp4","_temp3","_error$data","_error$response","_error$response$data","getAssignmentPayload","filterMappings","appliedFilter","assignmentValue","handleAssign","_surveyor$owner","_getAssignmentPayload","mutate","handleSelectAll","pageKnos","allSelected","every","handleFilterChange","Modal","headerBarMain","headerBarEnd","Close","actionCancelLabel","actionCancelOnSubmit","actionSaveLabel","actionSaveOnSubmit","pin","stripped","totalPages","SurveyorDetailsDashboard","_surveyorSearchById$s","_surveyor$owner2","_surveyor$owner3","_surveyor$owner4","_dashboardData$dashbo","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner8","_surveyor$owner9","_surveyor$owner0","_dashboardData$dashbo5","_dashboardData$dashbo6","showModal","setShowModal","ownerIds","ids","surveyorSearchById","isLoadingId","hasFoundById","surveyorSearchByOwner","isLoadingOwner","vendorData","isVendorLoading","_Digit$Hooks$fsm$useS3","_mappedVendor$dsoDeta","mappedVendor","_mappedSupervisor$own","mappedSupervisor","isDashboardLoading","knoColumns","_useState9","getDateRange","now","setHours","setDate","getDate","getDay","range","_surveyor$owner5","dashboard","fromDate","getTime","toDate","_response$dashboardIn","_surveyor$owner6","_response$dashboardIn2","_wasThrown2","_result2","_surveyor$owner7","_wasThrown3","_result3","description","showAutoSerialNo","_dashboardData$dashbo7","_dashboardData$dashbo8","WorkOrder","setVendor","validFrom","setValidFrom","validTo","setValidTo","uploadedFile","setUploadedFile","setFile","setError","_Digit$Hooks$fsm$useV","useVendorSearch","vendorOptions","_Digit$Hooks$wt$useVe","wt","useVendorWorkOrderCreate","createWorkOrder","getStateId","_response$data$files","_response$data2","_response$data2$files","vendorWorkOrder","isError","_err$response$data$Er","_err$response$data$Er2","Errors","selectfile","isFormDisabled","CollapsibleCardPage","flexDirection","DatePicker","date","extraStyleName","accept","storageKey","_row$original5$owner","SupervisorInboxTableConfig","AssignEkyc","paginationParms","isDataSearchLoading","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","auditDetails","isCardLoading","breadcrumb","listLabel","listPath","detailLabel","getEkycRoutes","layout","SurveyorDetailsCard","ekycRoutes","EmployeeApp","removeItem","getDynamicBreadcrumbs","crumbs","pathSegments","ekycIndex","indexOf","relativeSegments","matchedPath","paths","singlePath","routeSegments","seg","startsWith","crumb","crumbPath","segment","RegExp","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","breadcrumbs","PrivateRoute","LayoutWrapper","layoutClass","businessService","isInbox","exact","PropertyInfoConfig","buildingImage","buildingImageId","setBuildingImage","setBuildingImageId","_formData$propertyTyp","propertyType","isHotel","isHospitalOrNursing","objectFit","PropertyInfo","subPropertyCategory","noOfFloors","floorNo","noOfRooms","noOfBeds","dwellingUnits","propType","subPropCat","matchingType","numberOfRooms","numberOfBeds","numberOfDwellingUnits","handleUpload","reader","FileReader","onloadend","readAsDataURL","_data$propertyType","_localFormData$proper","propertyTypeChanged","propTypeVal","subPropCatVal","noOfFloorsVal","buildingImgId","noOfRoomsVal","noOfBedsVal","_data$propertyType2","_data$subPropertyCate","MeterDetailsConfig","uploadPhoto","meterPhoto","meterPhotoId","setMeterPhoto","setMeterPhotoId","_formData$meterStatus","_formData3$lastBillRe","_formData5$sewerConne","_formData6","lastBillReceived","sewerConnection","isFrozen","monthYearOptions","y","m","yesNo","MeterDetails","saType","mrCode","areaCode","mrKey","meterMaker","meterCondition","billMonthYear","accessToMeter","septicTank","mStatus","mCondition","mLoc","billRec","billMonYr","accToMeter","sewerConn","sepTank","matchingStatus","o","matchingCond","matchingLoc","strVal","lastBillReceivedDate","formatted","parsedParts","mon","yr","mrcode","areacode","lastBillNotRaisedReason","_data$meterStatus","_localFormData$meterS","_data$lastBillReceive","_localFormData$lastBi","_data$sewerConnection","_localFormData$sewerC","meterStatusChanged","lastBillReceivedChanged","sewerConnectionChanged","connCatVal","mStatusVal","mLocVal","billRecVal","sewerConnVal","mPhotoId","reasonVal","billMonYrVal","sepTankVal","_data$meterStatus2","_data$meterCondition","_data$meterLocation","_data$lastBillReceive2","_data$billMonthYear","_data$accessToMeter","_data$sewerConnection2","_data$septicTank","EkycStatus","setFormState","searchQuery","setSearchQuery","errorMsg","setErrorMsg","currentKNumber","targetKNumber","retry","isReviewLoading","connectionSearchData","isConnectionLoading","_data$kNumber","getStatusDetails","naText","connRaw","addrRaw","propRaw","meterRaw","rawStatus","reviewName","connName","reviewPhone","connPhone","reviewType","connType","knoCategory","timelineConfig","activeStepIndex","getStatusText","currentActiveIndex","CardHeader","CardText","CitizenApp","_useRouteMatch","_Digit$Hooks$useStore","useStore","getInitData","statusLabel","EkycModule","stateCode","url","language","StoreData","getCurrentLanguage","_Digit$Services$useSt","Services","LocalizationService","getLocale","modules","locale","page","EkycLinks","formattedLinks","l","CitizenHomeCard","DocumentIcon","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}