@djb25/digit-ui-module-ekyc 1.0.64 → 1.0.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +80 -569
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +82 -571
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
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/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\";\nimport { FaChartBar, MdDownloadIcon } from \"@djb25/digit-ui-react-components\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\n\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = 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 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 handleDownloadEkycData = async (fromDate, toDate) => {\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 ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\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\",\n \"source\",\n \"assignedAt\",\n \"connectionType\",\n \"approvedAt\",\n \"alternateMobileNo\",\n \"city\",\n \"state\",\n \"addressType\",\n \"addressProofType\",\n \"mrcode\",\n \"areacode\",\n \"verificationStatus\",\n \"surveyorId\",\n \"supervisorId\",\n \"vendorId\",\n \"assignmentType\",\n \"assignmentValue\",\n \"assignedTime\",\n \"isSelfAssigned\",\n \"userType\",\n \"tenantName\",\n \"tenantMobile\",\n \"doorPhotoFilestoreId\",\n \"panFilestoreId\",\n \"documentProofFilestoreId\",\n \"buildingImageFileStoreId\",\n \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\",\n \"modifiedBy\",\n \"zoneCode\",\n \"propertyType\",\n \"subPropertyCategory\",\n ];\n\n const headerMapping = {\n kno: t(\"KNO\"),\n firstName: t(\"FIRST_NAME\"),\n middleName: t(\"MIDDLE_NAME\"),\n lastName: t(\"LAST_NAME\"),\n status: t(\"STATUS\"),\n ekycStatus: t(\"EKYC_STATUS\"),\n zoneName: t(\"ZONE\"),\n zoneCode: t(\"ZONE_CODE\"),\n assembly: t(\"EKYC_ASSEMBLY\"),\n ward: t(\"WARD\"),\n pincode: t(\"EKYC_PINCODE\"),\n addressRaw: t(\"ADDRESS_RAW\"),\n locality: t(\"EKYC_LOCALITY\"),\n subLocality: t(\"SUB_LOCALITY\"),\n flatHouseNumber: t(\"FLAT_HOUSE_NUMBER\"),\n streetName: t(\"STREET_NAME\"),\n landmark: t(\"EKYC_LANDMARK\"),\n city: t(\"CITY\"),\n state: t(\"STATE\"),\n addressType: t(\"ADDRESS_TYPE\"),\n addressProofType: t(\"ADDRESS_PROOF_TYPE\"),\n mobileNo: t(\"MOBILE_NUMBER\"),\n alternateMobileNo: t(\"ALTERNATE_MOBILE_NUMBER\"),\n whatsappNo: t(\"WHATSAPP_NO\"),\n email: t(\"EMAIL\"),\n landlineNo: t(\"LANDLINE_NO\"),\n mrkey: t(\"MR_KEY\"),\n mrcode: t(\"MR_CODE\"),\n areacode: t(\"AREA_CODE\"),\n source: t(\"SOURCE\"),\n submittedAt: t(\"SUBMITTED_AT\"),\n assignedAt: t(\"ASSIGNED_AT\"),\n connectionType: t(\"CONNECTION_TYPE\"),\n Type: t(\"CONSUMER_TYPE\"),\n occupantType: t(\"OCCUPANT_TYPE\"),\n knoCategory: t(\"KNO_CATEGORY\"),\n approvedAt: t(\"APPROVED_AT\"),\n gender: t(\"GENDER\"),\n parentSpouse: t(\"PARENT_SPOUSE\"),\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\n relationship: t(\"RELATIONSHIP\"),\n informantName: t(\"INFORMANT_NAME\"),\n informantRelation: t(\"INFORMANT_RELATION\"),\n informantIs: t(\"INFORMANT_IS\"),\n contactPerson: t(\"CONTACT_PERSON\"),\n relation: t(\"RELATION\"),\n entityName: t(\"ENTITY_NAME\"),\n designation: t(\"DESIGNATION\"),\n department: t(\"DEPARTMENT\"),\n employeeId: t(\"EMPLOYEE_ID\"),\n ownerMobile: t(\"OWNER_MOBILE\"),\n ownerVerificationDone: t(\"OWNER_VERIFICATION_DONE\"),\n consentGiven: t(\"CONSENT_GIVEN\"),\n proofOfIdentityType: t(\"PROOF_OF_IDENTITY_TYPE\"),\n documentNumber: t(\"DOCUMENT_NUMBER\"),\n noOfPerson: t(\"NUMBER_OF_PERSON\"),\n latitude: t(\"LATITUDE\"),\n longitude: t(\"LONGITUDE\"),\n gpsValid: t(\"GPS_VALID\"),\n meterNumber: t(\"METER_NUMBER\"),\n meterMake: t(\"METER_MAKE\"),\n meterStatus: t(\"METER_STATUS\"),\n meterCondition: t(\"METER_CONDITION\"),\n meterLocation: t(\"METER_LOCATION\"),\n meterLocationAddress: t(\"METER_LOCATION_ADDRESS\"),\n workingStatus: t(\"WORKING_STATUS\"),\n sewerConnection: t(\"SEWER_CONNECTION\"),\n septicTank: t(\"SEPTIC_TANK\"),\n lastBillRaised: t(\"LAST_BILL_RAISED\"),\n lastBillReceivedDate: t(\"LAST_BILL_RECEIVED_DATE\"),\n accessToMeter: t(\"ACCESS_TO_METER\"),\n systemMeterId: t(\"SYSTEM_METER_ID\"),\n lastBillNotRaisedReason: t(\"LAST_BILL_NOT_RAISED_REASON\"),\n waterConnectionYears: t(\"WATER_CONNECTION_YEARS\"),\n sewerConnectionYears: t(\"SEWER_CONNECTION_YEARS\"),\n pidNumber: t(\"PID_NUMBER\"),\n propertyType: t(\"PROPERTY_TYPE\"),\n subPropertyCategory: t(\"SUB_PROPERTY_CATEGORY\"),\n noOfFloor: t(\"NO_OF_FLOOR\"),\n noOfRooms: t(\"NO_OF_ROOMS\"),\n noOfBeds: t(\"NO_OF_BEDS\"),\n numberOfDwellingUnits: t(\"NUMBER_OF_DWELLING_UNITS\"),\n floorNo: t(\"FLOOR_NO\"),\n userType: t(\"USER_TYPE\"),\n tenantName: t(\"TENANT_NAME\"),\n tenantMobile: t(\"TENANT_MOBILE\"),\n verificationStatus: t(\"VERIFICATION_STATUS\"),\n houseBuiltDuration: t(\"HOUSE_BUILT_DURATION\"),\n surveyorId: t(\"SURVEYOR_ID\"),\n supervisorId: t(\"SUPERVISOR_ID\"),\n vendorId: t(\"VENDOR_ID\"),\n assignmentType: t(\"ASSIGNMENT_TYPE\"),\n assignmentValue: t(\"ASSIGNMENT_VALUE\"),\n assignedTime: t(\"ASSIGNED_TIME\"),\n isSelfAssigned: t(\"IS_SELF_ASSIGNED\"),\n doorPhotoFilestoreId: t(\"DOOR_PHOTO_FILESTORE_ID\"),\n panFilestoreId: t(\"PAN_FILESTORE_ID\"),\n documentProofFilestoreId: t(\"DOCUMENT_PROOF_FILESTORE_ID\"),\n buildingImageFileStoreId: t(\"BUILDING_IMAGE_FILESTORE_ID\"),\n propertyDocumentFileStoreId: t(\"PROPERTY_DOCUMENT_FILESTORE_ID\"),\n meterPhotoFileStoreId: t(\"METER_PHOTO_FILESTORE_ID\"),\n modifiedBy: t(\"MODIFIED_BY\"),\n emailId: t(\"EMAIL_ID\"),\n dob: t(\"DOB\"),\n consumerType: t(\"CONSUMER_TYPE\"),\n createdTime: t(\"CREATED_TIME\"),\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\"),\n meterLatitude: t(\"EKYC_METER_LATITUDE1\"),\n meterLongitude: t(\"EKYC_METER_LONGITUDE1\"),\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n let cleanStr = String(str);\n if (cleanStr.includes(\".\") && !cleanStr.includes(\"@\") && isNaN(Number(cleanStr))) {\n cleanStr = cleanStr.split(\".\").pop();\n }\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const skipTitleCase = [\n \"kno\",\n \"mobileNumber\",\n \"emailId\",\n \"email\",\n \"pincode\",\n \"mrkey\",\n \"dob\",\n \"createdTime\",\n \"lastModifiedTime\",\n \"meterLatitude\",\n \"meterLongitude\",\n ];\n const translatedFields = [\"meterMake\", \"meterLocation\"];\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 const keys = Object.keys(item);\n\n // submittedAt ko last column me bhejne ke liye\n const orderedKeys = [...keys.filter((key) => key !== \"submittedAt\"), ...(keys.includes(\"submittedAt\") ? [\"submittedAt\"] : [])];\n\n orderedKeys.forEach((key) => {\n if (excludedKeys.includes(key)) return;\n\n let val = item[key];\n\n // Convert submittedAt timestamp to date/time\n if (key === \"submittedAt\" && val) {\n const date = new Date(Number(val));\n\n const pad = (n) => String(n).padStart(2, \"0\");\n\n val = `${pad(date.getDate())}/${pad(date.getMonth() + 1)}/${date.getFullYear()} ${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(\n date.getSeconds()\n )}`;\n }\n\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n if (String(val).toLowerCase() === \"true\") {\n val = t(\"CS_YES\");\n } else if (String(val).toLowerCase() === \"false\") {\n val = t(\"CS_NO\");\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && translatedFields.includes(key)) {\n cleanObj[friendlyHeader] = t(val);\n } else if (typeof val === \"string\" && !skipTitleCase.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\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 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 setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(range.from.getTime(), range.to.getTime());\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 setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(from.getTime(), to.getTime());\n };\n\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n\n const efficiency = countData?.total > 0 ? Math.round(((countData?.submittedCount + countData?.completed) / countData?.total) * 100) : 0;\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\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: [countData?.pending, countData?.completed, countData?.submitted, countData?.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 }, [countData, t]);\n\n const legendItems = [\n { color: \"#77B6EA\", label: t(\"EKYC_TOTAL\"), value: countData?.total },\n { color: \"#77B6EA\", label: t(\"EKYC_COMPLETED\"), value: countData?.completed },\n { color: \"#0c2a52\", label: t(\"EKYC_PENDING\"), value: countData?.pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_SUBMITTED_BY_VENDORS\"), value: countData?.submittedCount },\n { color: \"#c8ddf5\", label: t(\"EKYC_SUBMITTED_BY_CITIZEN\"), value: countData?.selfEkycCount || 0 },\n { color: \"#c8ddf5\", label: t(\"EKYC_REJECTED\"), value: countData?.rejected || 0 },\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 className=\"status-card-title\">\n <FaChartBar size={32} color=\"#fff\" backgroundColor=\"#065297\" style={{ paddingInline: \"4px\", borderRadius: \"4px \" }} />\n\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"total-applications-card download-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n\n <MdDownloadIcon />\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-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={(e) => {\n e.stopPropagation();\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button className=\"picker-apply-btn\" onClick={(e) => { e.stopPropagation(); handleCustomDownload(); }}>\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Panels */}\n <div className=\"status-panels-grid\">\n <div className=\"status-panel\">\n <div className=\"panel-header\">\n <div>\n <div className=\"panel-title\">{t(\"EKYC_STATUS_BREAKDOWN\") || \"Status Breakdown\"}</div>\n <div className=\"panel-subtitle\">{t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle\"}</div>\n </div>\n\n <div className=\"completion-badge\">{efficiency}% Complete</div>\n </div>\n\n <div className=\"status-breakdown-content\">\n {/* Chart */}\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n\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\n {/* Status Boxes */}\n <div className=\"status-boxes\">\n {legendItems.map((item) => (\n <div className=\"status-box\" key={item.label}>\n <div className=\"status-box-top\">\n <span className=\"status-indicator\" style={{ backgroundColor: item.color }} />\n\n <span className=\"status-name\">{item.label}</span>\n </div>\n\n <div className=\"status-box-value\">{formatNumber(item.value)}</div>\n </div>\n ))}\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 { 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 // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n {\n tenantId,\n allVendorsDetailed: true,\n },\n {\n enabled: true,\n keepPreviousData: true,\n }\n );\n\n const countData = useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: progressData?.submittedKnos + progressData?.selfEkycCount || 0,\n pending: info.total - progressData?.submittedKnos - progressData?.selfEkycCount || 0,\n rejected: progressData?.rejectedKnos || 0,\n active: progressData?.active || 0,\n submittedCount: progressData?.submittedKnos || 0,\n selfEkycCount: progressData?.selfEkycCount || 0,\n overallProgressPercent: progressData?.overallProgressPercent || 0,\n };\n }, [dashboardData, progressData]);\n\n return isProgressLoading || isLoading ? <Loader /> : <StatusCards countData={countData} />;\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, MdDownloadIcon } 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 } 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 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 const targetVendorId = vendorId || vendor?.id || vendor?.vendorId;\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details) for target vendor\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n targetVendorId ? { vendorId: targetVendorId } : {},\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n const createDummySupervisors = (vendor) => {\n const count = Number(vendor?.supervisors) || 5;\n\n return Array.from({ length: count }, (_, i) => ({\n id: `SUP_V_${vendor?.id || \"DEFAULT\"}_${i + 1}`,\n name: `Supervisor ${i + 1}`,\n mobileNo: `99999120${i}`,\n status: \"ACTIVE\",\n totalKnos: 0,\n submittedKnos: 0,\n pendingKnos: 0,\n progressPercent: 0,\n isDummy: true,\n }));\n };\n\n // Supervisors belonging to this vendor\n const vendorSupervisors = useMemo(() => {\n const currentVendorId = vendor?.id || vendor?.vendorId || vendorId;\n\n // No real supervisor data available\n if (!Array.isArray(supervisorSearchResponse?.supervisors)) {\n return vendor ? createDummySupervisors(vendor) : [];\n }\n\n // Filter real supervisors belonging to this vendor\n const matchedSups = supervisorSearchResponse.supervisors.filter(\n (s) => s.vendorId === currentVendorId || s.vendorId === vendor?.id || s.vendorId === vendor?.vendorId\n );\n\n // API returned supervisors, but none belong to this vendor\n if (matchedSups.length === 0) {\n return [];\n }\n\n return matchedSups.map((sup) => {\n const report = progressData?.supervisorReport?.find((r) => r.supervisorId === sup.id || r.supervisorId === sup.owner?.uuid);\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 isDummy: false,\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).trim().toUpperCase()) : [];\n }, [vendor]);\n\n // KPI stats calculation\n const cards = useMemo(() => {\n // const totalKnos = progressData?.totalKnosInSystem || 0;\n const totalAssignments = progressData?.totalKnos || 0;\n const completedKnos = progressData?.completedKnos || 0;\n const pendingKnos = progressData?.pendingKnos || 0;\n const progressPercent = progressData?.overallProgressPercent || 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_EKYC_APPLICATIONS\",\n count: totalAssignments,\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 (fromDate, toDate) => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n // Vendor-specific filter\n vendorId: targetVendorId,\n reportDownload: true,\n ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\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\",\n \"source\",\n \"assignedAt\",\n \"connectionType\",\n \"approvedAt\",\n \"alternateMobileNo\",\n \"city\",\n \"state\",\n \"addressType\",\n \"addressProofType\",\n \"mrcode\",\n \"areacode\",\n \"verificationStatus\",\n \"surveyorId\",\n \"supervisorId\",\n \"vendorId\",\n \"assignmentType\",\n \"assignmentValue\",\n \"assignedTime\",\n \"isSelfAssigned\",\n \"userType\",\n \"tenantName\",\n \"tenantMobile\",\n \"doorPhotoFilestoreId\",\n \"panFilestoreId\",\n \"documentProofFilestoreId\",\n \"buildingImageFileStoreId\",\n \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\",\n \"modifiedBy\",\n \"zoneCode\",\n \"propertyType\",\n \"subPropertyCategory\",\n ];\n\n const headerMapping = {\n kno: t(\"KNO\"),\n firstName: t(\"FIRST_NAME\"),\n middleName: t(\"MIDDLE_NAME\"),\n lastName: t(\"LAST_NAME\"),\n status: t(\"STATUS\"),\n ekycStatus: t(\"EKYC_STATUS\"),\n zoneName: t(\"ZONE\"),\n zoneCode: t(\"ZONE_CODE\"),\n assembly: t(\"EKYC_ASSEMBLY\"),\n ward: t(\"WARD\"),\n pincode: t(\"EKYC_PINCODE\"),\n addressRaw: t(\"ADDRESS_RAW\"),\n locality: t(\"EKYC_LOCALITY\"),\n subLocality: t(\"SUB_LOCALITY\"),\n flatHouseNumber: t(\"FLAT_HOUSE_NUMBER\"),\n streetName: t(\"STREET_NAME\"),\n landmark: t(\"EKYC_LANDMARK\"),\n city: t(\"CITY\"),\n state: t(\"STATE\"),\n addressType: t(\"ADDRESS_TYPE\"),\n addressProofType: t(\"ADDRESS_PROOF_TYPE\"),\n mobileNo: t(\"MOBILE_NUMBER\"),\n alternateMobileNo: t(\"ALTERNATE_MOBILE_NUMBER\"),\n whatsappNo: t(\"WHATSAPP_NO\"),\n email: t(\"EMAIL\"),\n landlineNo: t(\"LANDLINE_NO\"),\n mrkey: t(\"MR_KEY\"),\n mrcode: t(\"MR_CODE\"),\n areacode: t(\"AREA_CODE\"),\n source: t(\"SOURCE\"),\n submittedAt: t(\"SUBMITTED_AT\"),\n assignedAt: t(\"ASSIGNED_AT\"),\n connectionType: t(\"CONNECTION_TYPE\"),\n Type: t(\"CONSUMER_TYPE\"),\n occupantType: t(\"OCCUPANT_TYPE\"),\n knoCategory: t(\"KNO_CATEGORY\"),\n approvedAt: t(\"APPROVED_AT\"),\n gender: t(\"GENDER\"),\n parentSpouse: t(\"PARENT_SPOUSE\"),\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\n relationship: t(\"RELATIONSHIP\"),\n informantName: t(\"INFORMANT_NAME\"),\n informantRelation: t(\"INFORMANT_RELATION\"),\n informantIs: t(\"INFORMANT_IS\"),\n contactPerson: t(\"CONTACT_PERSON\"),\n relation: t(\"RELATION\"),\n entityName: t(\"ENTITY_NAME\"),\n designation: t(\"DESIGNATION\"),\n department: t(\"DEPARTMENT\"),\n employeeId: t(\"EMPLOYEE_ID\"),\n ownerMobile: t(\"OWNER_MOBILE\"),\n ownerVerificationDone: t(\"OWNER_VERIFICATION_DONE\"),\n consentGiven: t(\"CONSENT_GIVEN\"),\n proofOfIdentityType: t(\"PROOF_OF_IDENTITY_TYPE\"),\n documentNumber: t(\"DOCUMENT_NUMBER\"),\n noOfPerson: t(\"NUMBER_OF_PERSON\"),\n latitude: t(\"LATITUDE\"),\n longitude: t(\"LONGITUDE\"),\n gpsValid: t(\"GPS_VALID\"),\n meterNumber: t(\"METER_NUMBER\"),\n meterMake: t(\"METER_MAKE\"),\n meterStatus: t(\"METER_STATUS\"),\n meterCondition: t(\"METER_CONDITION\"),\n meterLocation: t(\"METER_LOCATION\"),\n meterLocationAddress: t(\"METER_LOCATION_ADDRESS\"),\n workingStatus: t(\"WORKING_STATUS\"),\n sewerConnection: t(\"SEWER_CONNECTION\"),\n septicTank: t(\"SEPTIC_TANK\"),\n lastBillRaised: t(\"LAST_BILL_RAISED\"),\n lastBillReceivedDate: t(\"LAST_BILL_RECEIVED_DATE\"),\n accessToMeter: t(\"ACCESS_TO_METER\"),\n systemMeterId: t(\"SYSTEM_METER_ID\"),\n lastBillNotRaisedReason: t(\"LAST_BILL_NOT_RAISED_REASON\"),\n waterConnectionYears: t(\"WATER_CONNECTION_YEARS\"),\n sewerConnectionYears: t(\"SEWER_CONNECTION_YEARS\"),\n pidNumber: t(\"PID_NUMBER\"),\n propertyType: t(\"PROPERTY_TYPE\"),\n subPropertyCategory: t(\"SUB_PROPERTY_CATEGORY\"),\n noOfFloor: t(\"NO_OF_FLOOR\"),\n noOfRooms: t(\"NO_OF_ROOMS\"),\n noOfBeds: t(\"NO_OF_BEDS\"),\n numberOfDwellingUnits: t(\"NUMBER_OF_DWELLING_UNITS\"),\n floorNo: t(\"FLOOR_NO\"),\n userType: t(\"USER_TYPE\"),\n tenantName: t(\"TENANT_NAME\"),\n tenantMobile: t(\"TENANT_MOBILE\"),\n verificationStatus: t(\"VERIFICATION_STATUS\"),\n houseBuiltDuration: t(\"HOUSE_BUILT_DURATION\"),\n surveyorId: t(\"SURVEYOR_ID\"),\n supervisorId: t(\"SUPERVISOR_ID\"),\n vendorId: t(\"VENDOR_ID\"),\n assignmentType: t(\"ASSIGNMENT_TYPE\"),\n assignmentValue: t(\"ASSIGNMENT_VALUE\"),\n assignedTime: t(\"ASSIGNED_TIME\"),\n isSelfAssigned: t(\"IS_SELF_ASSIGNED\"),\n doorPhotoFilestoreId: t(\"DOOR_PHOTO_FILESTORE_ID\"),\n panFilestoreId: t(\"PAN_FILESTORE_ID\"),\n documentProofFilestoreId: t(\"DOCUMENT_PROOF_FILESTORE_ID\"),\n buildingImageFileStoreId: t(\"BUILDING_IMAGE_FILESTORE_ID\"),\n propertyDocumentFileStoreId: t(\"PROPERTY_DOCUMENT_FILESTORE_ID\"),\n meterPhotoFileStoreId: t(\"METER_PHOTO_FILESTORE_ID\"),\n modifiedBy: t(\"MODIFIED_BY\"),\n emailId: t(\"EMAIL_ID\"),\n dob: t(\"DOB\"),\n consumerType: t(\"CONSUMER_TYPE\"),\n createdTime: t(\"CREATED_TIME\"),\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\"),\n meterLatitude: t(\"EKYC_METER_LATITUDE1\"),\n meterLongitude: t(\"EKYC_METER_LONGITUDE1\"),\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n let cleanStr = String(str);\n if (cleanStr.includes(\".\") && !cleanStr.includes(\"@\") && isNaN(Number(cleanStr))) {\n cleanStr = cleanStr.split(\".\").pop();\n }\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const skipTitleCase = [\n \"kno\",\n \"mobileNumber\",\n \"emailId\",\n \"email\",\n \"pincode\",\n \"mrkey\",\n \"dob\",\n \"createdTime\",\n \"lastModifiedTime\",\n \"meterLatitude\",\n \"meterLongitude\",\n ];\n const translatedFields = [\"meterMake\", \"meterLocation\"];\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 let val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n if (String(val).toLowerCase() === \"true\") {\n val = t(\"CS_YES\");\n } else if (String(val).toLowerCase() === \"false\") {\n val = t(\"CS_NO\");\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && translatedFields.includes(key)) {\n cleanObj[friendlyHeader] = t(val);\n } else 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_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 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 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 }) => <span className={`status-badge verified`}>{t(value) || value}</span>,\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 }\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(range.from.getTime(), range.to.getTime());\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 setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(from.getTime(), to.getTime());\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\">\n <button className=\"download-btn\" disabled={reportLoading} onClick={handleDownload}>\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard key={idx} title={t(card.label)} value={card.count} type={card.type} isLoading={isPageLoading} icon={card.icon} />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Top Row: Mobile, Email, and Download eKYC Data */}\n <div className=\"details-top-row\">\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=\"download-card\">\n <div>\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") || \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n <MdDownloadIcon />\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\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-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={() => {\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button className=\"picker-apply-btn\" onClick={handleCustomDownload}>\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Bottom Row: Assigned Zones Full Width */}\n <div className=\"full-width-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONES\") || \"Assigned Zones\"}</span>\n <span className=\"value\">\n {zoneIds.length > 0 ? (\n <div className=\"selected-zones\" style={{ marginTop: \"4px\", width: \"100%\", display: \"flex\", flexWrap: \"wrap\", gap: \"8px\" }}>\n {zoneIds.map((zone) => (\n <span key={zone} className=\"selected-zone-chip\">\n {t(zone) || zone}\n </span>\n ))}\n </div>\n ) : (\n \"N/A\"\n )}\n </span>\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 isTableScrollable={true}\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={() => setCurrentPage(0)}\n onLastPage={() => setCurrentPage(Math.max(Math.ceil(vendorSupervisors.length / pageSize) - 1, 0))}\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\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 // Fetch vendors from DSO search to get vendor ID for progress API\n // const { data: vendorSearchResponse } = Digit.Hooks.fsm.useDsoSearch(\n // tenantId,\n // { status: \"ACTIVE\" },\n // { enabled: !!tenantId, staleTime: 300000 }\n // );\n\n // const { targetVendorId, allVendorIds } = useMemo(() => {\n // if (!vendorSearchResponse || vendorSearchResponse.length === 0) {\n // return { targetVendorId: null, allVendorIds: [] };\n // }\n // const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n // const userUuid = loggedInUser?.uuid;\n // const userMobile = loggedInUser?.mobileNumber;\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 // const allIds = vendorSearchResponse\n // .map((v) => {\n // const dso = v.dsoDetails || v;\n // return dso.id || dso.vendorId || v.id || v.vendorId;\n // })\n // .filter(Boolean);\n\n // const matched = vendorSearchResponse.find((v) => matchesUser(v.dsoDetails || v));\n // let matchedId = null;\n // if (matched) {\n // const dso = matched.dsoDetails || matched;\n // matchedId = dso.id || dso.vendorId || matched.id || matched.vendorId;\n // }\n\n // return { targetVendorId: matchedId, allVendorIds: allIds };\n // }, [vendorSearchResponse]);\n\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n { tenantId, allVendorsDetailed: true },\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\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 { t } = useTranslation();\n\n const progressMetrics = useMemo(() => {\n if (!progressData) return { totalKnos: 0, submittedKnos: 0, pendingKnos: 0, progressPercent: 0 };\n\n const totalKnos = progressData?.totalKnos ?? progressData?.totalAssignments ?? 0;\n const submittedKnos = progressData?.submittedKnos ?? 0;\n const pendingKnos = progressData?.pendingKnos ?? (totalKnos >= submittedKnos ? totalKnos - submittedKnos : 0);\n const progressPercent =\n progressData?.overallProgressPercent ?? progressData?.progressPercent ?? (totalKnos > 0 ? ((submittedKnos / totalKnos) * 100).toFixed(1) : 0);\n\n return {\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }, [progressData]);\n\n const cards = useMemo(\n () => [\n {\n label: t(\"TOTAL_EKYC_APPLICATIONS\"),\n count: progressMetrics?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: t(\"EKYC_COMPLETED\"),\n count: progressMetrics?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: t(\"PENDING_APPLICATIONS\"),\n count: progressMetrics?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: t(\"OVERALL_PROGRESS\"),\n count: `${progressMetrics?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ],\n [progressMetrics, t]\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 {/* 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 key={idx} title={t(card.label)} value={card.count} type={card.type} isLoading={isProgressLoading} icon={card.icon} />\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 normalizeVal = (v) => (v === null || v === undefined || v === \"\" ? \"\" : String(v));\n const isChanged = oldData && valOld !== undefined && normalizeVal(valNew) !== normalizeVal(valOld);\n\n return (\n <tr key={idx} style={{ borderTop: \"1px solid #F2F4F7\" }}>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#344054\", fontWeight: \"500\" }}>{field.preTranslated ? field.label : 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 isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n\n // Dynamically resolve the primary EKYC role of the logged-in user\n // const EKYC_ROLE_PRIORITY = [\"EKYC_ZRO\", \"ZRO\", \"EKYC_SUPERVISOR\", \"EKYC_SURVEYOR\", \"EKYC_VENDOR\"];\n // const currentUserRole = EKYC_ROLE_PRIORITY.find((r) => userRoles.includes(r)) || userRoles[0] || \"EMPLOYEE\";\n\n const isStatusView = location.pathname.includes(\"/status/\");\n const hideEditButton = (isSupervisorOrSurveyorOrVendor && !isZRO) || isStatusView;\n\n // ── Data Consolidation (kept for approve/reject submit payloads) ──────────\n const { newData: apiNewData, oldData: apiOldData } = extractReviewData(searchData, flowState);\n\n // Flatten all sub-objects so headerMapping flat keys (kno, mobileNo, meterNumber etc.) are accessible\n const flatNewData = apiNewData ? {\n ...(apiNewData || {}),\n ...(apiNewData?.connectionDetails || {}),\n ...(apiNewData?.addressDetails || {}),\n ...(apiNewData?.propertyInfo || {}),\n ...(apiNewData?.meterDetails || {}),\n } : null;\n const flatOldData = apiOldData ? {\n ...(apiOldData || {}),\n ...(apiOldData?.connectionDetails || {}),\n ...(apiOldData?.addressDetails || {}),\n ...(apiOldData?.propertyInfo || {}),\n ...(apiOldData?.meterDetails || {}),\n } : null;\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 || 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 || 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 || apiMeter?.meterPhotoFilestoreId,\n },\n };\n };\n\n const newDataRaw = prepareConsolidatedData(apiNewData);\n const oldDataRaw = prepareConsolidatedData(apiOldData);\n\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\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 // ── All-fields mapping (headerMapping keys match flat API response keys) ──\n const headerMapping = [\n { key: \"kno\", label: \"KNO\" },\n { key: \"firstName\", label: \"FIRST_NAME\" },\n { key: \"middleName\", label: \"MIDDLE_NAME\" },\n { key: \"lastName\", label: \"LAST_NAME\" },\n { key: \"status\", label: \"STATUS\" },\n { key: \"ekycStatus\", label: \"EKYC_STATUS\" },\n { key: \"zoneName\", label: \"ZONE\" },\n { key: \"zoneCode\", label: \"ZONE_CODE\" },\n { key: \"assembly\", label: \"EKYC_ASSEMBLY\" },\n { key: \"ward\", label: \"WARD\" },\n { key: \"pincode\", label: \"EKYC_PINCODE\" },\n { key: \"addressRaw\", label: \"ADDRESS_RAW\" },\n { key: \"locality\", label: \"EKYC_LOCALITY\" },\n { key: \"subLocality\", label: \"SUB_LOCALITY\" },\n { key: \"flatHouseNumber\", label: \"FLAT_HOUSE_NUMBER\" },\n { key: \"streetName\", label: \"STREET_NAME\" },\n { key: \"landmark\", label: \"EKYC_LANDMARK\" },\n { key: \"city\", label: \"CITY\" },\n { key: \"state\", label: \"STATE\" },\n { key: \"addressType\", label: \"ADDRESS_TYPE\" },\n { key: \"addressProofType\", label: \"ADDRESS_PROOF_TYPE\" },\n { key: \"mobileNo\", label: \"MOBILE_NUMBER\" },\n { key: \"alternateMobileNo\", label: \"ALTERNATE_MOBILE_NUMBER\" },\n { key: \"whatsappNo\", label: \"WHATSAPP_NO\" },\n { key: \"email\", label: \"EMAIL\" },\n { key: \"landlineNo\", label: \"LANDLINE_NO\" },\n { key: \"mrkey\", label: \"MR_KEY\" },\n { key: \"mrcode\", label: \"MR_CODE\" },\n { key: \"areacode\", label: \"AREA_CODE\" },\n { key: \"source\", label: \"SOURCE\" },\n { key: \"submittedAt\", label: \"SUBMITTED_AT\" },\n { key: \"assignedAt\", label: \"ASSIGNED_AT\" },\n { key: \"connectionType\", label: \"CONNECTION_TYPE\" },\n { key: \"Type\", label: \"CONSUMER_TYPE\" },\n { key: \"occupantType\", label: \"OCCUPANT_TYPE\" },\n { key: \"knoCategory\", label: \"KNO_CATEGORY\" },\n { key: \"approvedAt\", label: \"APPROVED_AT\" },\n { key: \"gender\", label: \"GENDER\" },\n { key: \"parentSpouse\", label: \"PARENT_SPOUSE\" },\n { key: \"fatherOrHusbandName\", label: \"FATHER_HUSBUND_NAME\" },\n { key: \"relationship\", label: \"RELATIONSHIP\" },\n { key: \"informantName\", label: \"INFORMANT_NAME\" },\n { key: \"informantRelation\", label: \"INFORMANT_RELATION\" },\n { key: \"informantIs\", label: \"INFORMANT_IS\" },\n { key: \"contactPerson\", label: \"CONTACT_PERSON\" },\n { key: \"relation\", label: \"RELATION\" },\n { key: \"entityName\", label: \"ENTITY_NAME\" },\n { key: \"designation\", label: \"DESIGNATION\" },\n { key: \"department\", label: \"DEPARTMENT\" },\n { key: \"employeeId\", label: \"EMPLOYEE_ID\" },\n { key: \"ownerMobile\", label: \"OWNER_MOBILE\" },\n { key: \"ownerVerificationDone\", label: \"OWNER_VERIFICATION_DONE\", isBool: true },\n { key: \"consentGiven\", label: \"CONSENT_GIVEN\", isBool: true },\n { key: \"proofOfIdentityType\", label: \"PROOF_OF_IDENTITY_TYPE\" },\n { key: \"documentNumber\", label: \"DOCUMENT_NUMBER\" },\n { key: \"noOfPerson\", label: \"NUMBER_OF_PERSON\" },\n { key: \"latitude\", label: \"LATITUDE\" },\n { key: \"longitude\", label: \"LONGITUDE\" },\n { key: \"gpsValid\", label: \"GPS_VALID\", isBool: true },\n { key: \"meterNumber\", label: \"METER_NUMBER\" },\n { key: \"meterMake\", label: \"METER_MAKE\" },\n { key: \"meterStatus\", label: \"METER_STATUS\" },\n { key: \"meterCondition\", label: \"METER_CONDITION\" },\n { key: \"meterLocation\", label: \"METER_LOCATION\" },\n { key: \"meterLocationAddress\", label: \"METER_LOCATION_ADDRESS\" },\n { key: \"workingStatus\", label: \"WORKING_STATUS\" },\n { key: \"sewerConnection\", label: \"SEWER_CONNECTION\", isBool: true },\n { key: \"septicTank\", label: \"SEPTIC_TANK\", isBool: true },\n { key: \"lastBillRaised\", label: \"LAST_BILL_RAISED\", isBool: true },\n { key: \"lastBillReceivedDate\", label: \"LAST_BILL_RECEIVED_DATE\" },\n { key: \"accessToMeter\", label: \"ACCESS_TO_METER\", isBool: true },\n { key: \"systemMeterId\", label: \"SYSTEM_METER_ID\" },\n { key: \"lastBillNotRaisedReason\", label: \"LAST_BILL_NOT_RAISED_REASON\" },\n { key: \"waterConnectionYears\", label: \"WATER_CONNECTION_YEARS\" },\n { key: \"sewerConnectionYears\", label: \"SEWER_CONNECTION_YEARS\" },\n { key: \"pidNumber\", label: \"PID_NUMBER\" },\n { key: \"propertyType\", label: \"PROPERTY_TYPE\" },\n { key: \"subPropertyCategory\", label: \"SUB_PROPERTY_CATEGORY\" },\n { key: \"noOfFloor\", label: \"NO_OF_FLOOR\" },\n { key: \"noOfRooms\", label: \"NO_OF_ROOMS\" },\n { key: \"noOfBeds\", label: \"NO_OF_BEDS\" },\n { key: \"numberOfDwellingUnits\", label: \"NUMBER_OF_DWELLING_UNITS\" },\n { key: \"floorNo\", label: \"FLOOR_NO\" },\n { key: \"userType\", label: \"USER_TYPE\" },\n { key: \"tenantName\", label: \"TENANT_NAME\" },\n { key: \"tenantMobile\", label: \"TENANT_MOBILE\" },\n { key: \"verificationStatus\", label: \"VERIFICATION_STATUS\" },\n { key: \"houseBuiltDuration\", label: \"HOUSE_BUILT_DURATION\" },\n { key: \"surveyorId\", label: \"SURVEYOR_ID\" },\n { key: \"supervisorId\", label: \"SUPERVISOR_ID\" },\n { key: \"vendorId\", label: \"VENDOR_ID\" },\n { key: \"assignmentType\", label: \"ASSIGNMENT_TYPE\" },\n { key: \"assignmentValue\", label: \"ASSIGNMENT_VALUE\" },\n { key: \"assignedTime\", label: \"ASSIGNED_TIME\" },\n { key: \"isSelfAssigned\", label: \"IS_SELF_ASSIGNED\", isBool: true },\n { key: \"modifiedBy\", label: \"MODIFIED_BY\" },\n { key: \"emailId\", label: \"EMAIL_ID\" },\n { key: \"dob\", label: \"DOB\" },\n { key: \"consumerType\", label: \"CONSUMER_TYPE\" },\n { key: \"createdTime\", label: \"CREATED_TIME\" },\n { key: \"lastModifiedTime\", label: \"LAST_MODIFIED_TIME\" },\n { key: \"meterLatitude\", label: \"EKYC_METER_LATITUDE1\" },\n { key: \"meterLongitude\", label: \"EKYC_METER_LONGITUDE1\" },\n ];\n\n const handleDeclaration = () => setAgree(!agree);\n\n const loggedInUserInfo = Digit.UserService.getUser()?.info;\n\n const { data: userData } = Digit.Hooks.useUserSearch(\n tenantId,\n { uuid: [loggedInUserInfo?.uuid] },\n {},\n { enabled: !!loggedInUserInfo?.uuid }\n );\n const supervisorData = userData?.user || [];\n\n const matchedSupervisor = supervisorData?.find(\n (s) => s?.uuid === loggedInUserInfo?.uuid || s?.userName === loggedInUserInfo?.userName\n );\n const supervisorId = matchedSupervisor?.uuid || loggedInUserInfo?.uuid;\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: supervisorId,\n // role: currentUserRole,\n role: \"ZRO\"\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: true,\n label: t(\"EKYC_APPLICATION_REJECT_SUCCESSFUL\") || \"Application Rejected Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Reject Error:\", err);\n const errMsg =\n err?.message ||\n err?.response?.data?.message ||\n err?.response?.data?.Errors?.[0]?.message ||\n err?.Errors?.[0]?.message ||\n t(\"EKYC_REJECT_ERROR\") || \"Reject failed. Please try again.\";\n setToastData({ error: true, label: errMsg });\n setShowToast(true);\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: supervisorId,\n // role: currentUserRole,\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 const errMsg =\n err?.response?.data?.Errors?.[0]?.message ||\n err?.Errors?.[0]?.message ||\n err?.message ||\n t(\"EKYC_APPROVE_ERROR\") || \"Approve failed. Please try again.\";\n setToastData({ error: true, label: errMsg });\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 = async (fileStoreId) => {\n if (!fileStoreId) return;\n try {\n const response = await Digit.UploadServices.FileFetchbyid(fileStoreId, tenantId);\n if (response?.data) {\n const blobUrl = URL.createObjectURL(response.data);\n setPreviewUrl(blobUrl);\n setShowPreview(true);\n }\n } catch (error) {\n console.error(\"Error fetching document:\", error);\n }\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\n return (\n <Fragment>\n <Card className=\"overflow-y-scroll\">\n {/* ── All Details (from headerMapping) ──────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_ALL_DETAILS\") || \"All Details\"}\n fields={headerMapping}\n newData={flatNewData}\n oldData={flatOldData}\n t={t}\n hideEditButton={true}\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\n\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 } from \"react\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport Dashboard from \"./Dashboard\";\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\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 const allVendorIds = useMemo(() => {\n if (!vendorSearchResponse) return [];\n return vendorSearchResponse\n .map((v) => {\n const dso = v.dsoDetails || v;\n return dso.id || dso.vendorId || v.id || v.vendorId;\n })\n .filter(Boolean);\n }, [vendorSearchResponse]);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n {\n tenantId,\n allVendorsDetailed: true,\n },\n {\n enabled: !!tenantId && allVendorIds.length > 0,\n keepPreviousData: true,\n }\n );\n\n return (\n <Card className=\"surveyor-dashboard\">\n <Dashboard />\n <div className=\"admin-performance-section\">\n <h3 className=\"section-title\">{t(\"EKYC_VENDORS_PERFORMANCE\") || \"eKYC Vendors Performance\"}</h3>\n\n {isVendorSearchLoading || isProgressLoading ? (\n <Loader />\n ) : (\n <div className=\"vendors-grid\">\n {/* Self eKYC */}\n {/* Commented by Avinash This part will be uncommented when this part will be developed from backend in future */}\n {/* <div className=\"vendor-perf-card self-ekyc-card\" onClick={() => history.push(`/digit-ui/employee/ekyc/self`)}>\n <div className=\"card-header\">\n <div className=\"vendor-info\">\n <h4>{t(\"SELF_EKYC\") || \"Self eKYC\"}</h4>\n <p>{t(\"SELF_EKYC_BY_USERS\") || \"eKYC completed directly by users\"}</p>\n </div>\n\n <span className=\"progress-badge\">{11111 || 0}%</span>\n </div>\n\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${11111 || 0}%` }} />\n </div>\n\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <div className=\"value completed-val\">{11111 || 0}</div>\n <div className=\"label\">{t(\"COMPLETED\") || \"Completed\"}</div>\n </div>\n\n <div className=\"stat-item\">\n <div className=\"value\">{11111 || 0}</div>\n <div className=\"label\">{t(\"PENDING\") || \"Pending\"}</div>\n </div>\n\n <div className=\"stat-item\">\n <div className=\"value\">{11111 || 0}</div>\n <div className=\"label\">{t(\"TOTAL\") || \"Total\"}</div>\n </div>\n </div>\n\n <div className=\"card-footer\">\n <span>{t(\"SELF_EKYC\") || \"Self eKYC\"}</span>\n\n <span>{t(\"USERS\") || \"Users\"}</span>\n </div>\n </div> */}\n\n {/* Vendors */}\n {Array.isArray(progressData?.vendorReports) &&\n progressData?.vendorReports.length &&\n progressData?.vendorReports.map((vendor) => (\n <div\n key={vendor.vendorId}\n className=\"vendor-perf-card\"\n onClick={() => history.push(`/digit-ui/employee/ekyc/vendors/${vendor.vendorId}`)}\n >\n {/* Header */}\n <div className=\"vendor-card-header\">\n <div className=\"vendor-title\">\n <div className=\"vendor-icon\">\n <span>{vendor.vendorName?.[0]?.toUpperCase()}</span>\n </div>\n\n <div>\n <h4>{vendor.vendorName}</h4>\n <span className=\"vendor-subtitle\">{t(\"EKYC_VENDOR\") || \"eKYC Vendor\"}</span>\n </div>\n </div>\n\n <div className=\"progress-badge\">{vendor.progressPercent}%</div>\n </div>\n\n {/* Progress */}\n <div className=\"progress-section\">\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${vendor.progressPercent}%` }} />\n </div>\n\n <div className=\"progress-label\">\n <span>{t(\"PROGRESS\") || \"Progress\"}</span>\n <span>{vendor.progressPercent}%</span>\n </div>\n </div>\n\n {/* Team */}\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <span className=\"stat-value\">{vendor.totalSupervisors}</span>\n <span className=\"stat-label\">{t(\"SUPERVISORS\") || \"Supervisors\"}</span>\n </div>\n\n <div className=\"stat-item\">\n <span className=\"stat-value\">{vendor.totalSurveyors}</span>\n <span className=\"stat-label\">{t(\"SURVEYORS\") || \"Surveyors\"}</span>\n </div>\n\n <div className=\"stat-item\">\n <span className=\"stat-value\">{vendor.totalKnos}</span>\n <span className=\"stat-label\">{t(\"TOTAL_KNOS\") || \"Total KNOs\"}</span>\n </div>\n </div>\n\n {/* Status */}\n <div className=\"knos-summary\">\n <div className=\"kno-stat\">\n <span className=\"kno-label\">{t(\"SUBMITTED\") || \"Submitted\"}</span>\n <strong>{vendor.submittedKnos}</strong>\n </div>\n\n <div className=\"kno-stat pending\">\n <span className=\"kno-label\">{t(\"PENDING\") || \"Pending\"}</span>\n <strong>{vendor.pendingKnos}</strong>\n </div>\n\n <div className=\"kno-stat rejected\">\n <span className=\"kno-label\">{t(\"REJECTED\") || \"Rejected\"}</span>\n <strong>{vendor.rejectedKnos}</strong>\n </div>\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\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 } 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 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 // Resolve vendorId of this supervisor if available\n const targetVendorId = useMemo(() => {\n const targetId = supervisorId || loggedInUser?.uuid;\n if (!targetId || !supervisorSearchResponse?.supervisors) return null;\n const matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n return matchedSup?.vendorId || null;\n }, [supervisorId, loggedInUser, supervisorSearchResponse]);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n targetVendorId ? { vendorId: targetVendorId, vendorIds: [targetVendorId] } : {},\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\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) => s.owner?.uuid?.toLowerCase() === targetOwnerOrId?.toLowerCase() || 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) => s.supervisorId?.toLowerCase() === targetId?.toLowerCase() || 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 )\n continue;\n const matchedSurv = report.surveyors?.find(\n (s) =>\n (s.surveyorId &&\n (s.surveyorId?.toLowerCase() === surv.id?.toLowerCase() ||\n 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 email: surv.owner?.emailId || \"N/A\",\n gender: surv.owner?.gender || \"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 email: matchedSup.owner?.emailId || matchedSup.owner?.email || matchedSup.email || matchedSup.emailId || \"N/A\",\n gender: matchedSup.owner?.gender || matchedSup.gender || \"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 matchedSupForFallback = supervisorSearchResponse?.supervisors?.find(\n (s) =>\n s.id?.toLowerCase() === (progressReport.supervisorId || progressReport.id)?.toLowerCase() ||\n s.owner?.uuid?.toLowerCase() === (progressReport.supervisorId || progressReport.id)?.toLowerCase()\n );\n\n const email =\n matchedSupForFallback?.owner?.emailId ||\n matchedSupForFallback?.owner?.email ||\n matchedSupForFallback?.email ||\n (isSelf ? loggedInUser?.emailId : null) ||\n progressReport.email ||\n \"N/A\";\n const gender =\n matchedSupForFallback?.owner?.gender ||\n matchedSupForFallback?.gender ||\n (isSelf ? loggedInUser?.gender : null) ||\n progressReport.gender ||\n \"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 email: matchedSurv?.owner?.emailId || matchedSurv?.owner?.email || matchedSurv?.email || surv.email || \"N/A\",\n gender: matchedSurv?.owner?.gender || matchedSurv?.gender || surv.gender || \"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 email,\n gender,\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 = supervisor?.email || (supervisor?.supervisorId === loggedInUser?.uuid ? loggedInUser?.emailId : null) || \"N/A\";\n const gender = supervisor?.gender || (supervisor?.supervisorId === loggedInUser?.uuid ? loggedInUser?.gender : null) || \"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) =>\n 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 {\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\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 }) => <span className={`status-badge verified`}>{t(value) || value}</span>,\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 }\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(range.from.getTime(), range.to.getTime());\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 setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(from.getTime(), to.getTime());\n };\n\n const handleDownloadEkycData = async (fromDate, toDate) => {\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 supervisorId: supervisor?.supervisorId || supervisorId,\n reportDownload: true,\n ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\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\",\n \"source\",\n \"assignedAt\",\n \"connectionType\",\n \"approvedAt\",\n \"alternateMobileNo\",\n \"city\",\n \"state\",\n \"addressType\",\n \"addressProofType\",\n \"mrcode\",\n \"areacode\",\n \"verificationStatus\",\n \"surveyorId\",\n \"supervisorId\",\n \"vendorId\",\n \"assignmentType\",\n \"assignmentValue\",\n \"assignedTime\",\n \"isSelfAssigned\",\n \"userType\",\n \"tenantName\",\n \"tenantMobile\",\n \"doorPhotoFilestoreId\",\n \"panFilestoreId\",\n \"documentProofFilestoreId\",\n \"buildingImageFileStoreId\",\n \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\",\n \"modifiedBy\",\n \"zoneCode\",\n \"propertyType\",\n \"subPropertyCategory\",\n ];\n\n const headerMapping = {\n kno: t(\"KNO\"),\n firstName: t(\"FIRST_NAME\"),\n middleName: t(\"MIDDLE_NAME\"),\n lastName: t(\"LAST_NAME\"),\n status: t(\"STATUS\"),\n ekycStatus: t(\"EKYC_STATUS\"),\n zoneName: t(\"ZONE\"),\n zoneCode: t(\"ZONE_CODE\"),\n assembly: t(\"EKYC_ASSEMBLY\"),\n ward: t(\"WARD\"),\n pincode: t(\"EKYC_PINCODE\"),\n addressRaw: t(\"ADDRESS_RAW\"),\n locality: t(\"EKYC_LOCALITY\"),\n subLocality: t(\"SUB_LOCALITY\"),\n flatHouseNumber: t(\"FLAT_HOUSE_NUMBER\"),\n streetName: t(\"STREET_NAME\"),\n landmark: t(\"EKYC_LANDMARK\"),\n city: t(\"CITY\"),\n state: t(\"STATE\"),\n addressType: t(\"ADDRESS_TYPE\"),\n addressProofType: t(\"ADDRESS_PROOF_TYPE\"),\n mobileNo: t(\"MOBILE_NUMBER\"),\n alternateMobileNo: t(\"ALTERNATE_MOBILE_NUMBER\"),\n whatsappNo: t(\"WHATSAPP_NO\"),\n email: t(\"EMAIL\"),\n landlineNo: t(\"LANDLINE_NO\"),\n mrkey: t(\"MR_KEY\"),\n mrcode: t(\"MR_CODE\"),\n areacode: t(\"AREA_CODE\"),\n source: t(\"SOURCE\"),\n submittedAt: t(\"SUBMITTED_AT\"),\n assignedAt: t(\"ASSIGNED_AT\"),\n connectionType: t(\"CONNECTION_TYPE\"),\n Type: t(\"CONSUMER_TYPE\"),\n occupantType: t(\"OCCUPANT_TYPE\"),\n knoCategory: t(\"KNO_CATEGORY\"),\n approvedAt: t(\"APPROVED_AT\"),\n gender: t(\"GENDER\"),\n parentSpouse: t(\"PARENT_SPOUSE\"),\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\n relationship: t(\"RELATIONSHIP\"),\n informantName: t(\"INFORMANT_NAME\"),\n informantRelation: t(\"INFORMANT_RELATION\"),\n informantIs: t(\"INFORMANT_IS\"),\n contactPerson: t(\"CONTACT_PERSON\"),\n relation: t(\"RELATION\"),\n entityName: t(\"ENTITY_NAME\"),\n designation: t(\"DESIGNATION\"),\n department: t(\"DEPARTMENT\"),\n employeeId: t(\"EMPLOYEE_ID\"),\n ownerMobile: t(\"OWNER_MOBILE\"),\n ownerVerificationDone: t(\"OWNER_VERIFICATION_DONE\"),\n consentGiven: t(\"CONSENT_GIVEN\"),\n proofOfIdentityType: t(\"PROOF_OF_IDENTITY_TYPE\"),\n documentNumber: t(\"DOCUMENT_NUMBER\"),\n noOfPerson: t(\"NUMBER_OF_PERSON\"),\n latitude: t(\"LATITUDE\"),\n longitude: t(\"LONGITUDE\"),\n gpsValid: t(\"GPS_VALID\"),\n meterNumber: t(\"METER_NUMBER\"),\n meterMake: t(\"METER_MAKE\"),\n meterStatus: t(\"METER_STATUS\"),\n meterCondition: t(\"METER_CONDITION\"),\n meterLocation: t(\"METER_LOCATION\"),\n meterLocationAddress: t(\"METER_LOCATION_ADDRESS\"),\n workingStatus: t(\"WORKING_STATUS\"),\n sewerConnection: t(\"SEWER_CONNECTION\"),\n septicTank: t(\"SEPTIC_TANK\"),\n lastBillRaised: t(\"LAST_BILL_RAISED\"),\n lastBillReceivedDate: t(\"LAST_BILL_RECEIVED_DATE\"),\n accessToMeter: t(\"ACCESS_TO_METER\"),\n systemMeterId: t(\"SYSTEM_METER_ID\"),\n lastBillNotRaisedReason: t(\"LAST_BILL_NOT_RAISED_REASON\"),\n waterConnectionYears: t(\"WATER_CONNECTION_YEARS\"),\n sewerConnectionYears: t(\"SEWER_CONNECTION_YEARS\"),\n pidNumber: t(\"PID_NUMBER\"),\n propertyType: t(\"PROPERTY_TYPE\"),\n subPropertyCategory: t(\"SUB_PROPERTY_CATEGORY\"),\n noOfFloor: t(\"NO_OF_FLOOR\"),\n noOfRooms: t(\"NO_OF_ROOMS\"),\n noOfBeds: t(\"NO_OF_BEDS\"),\n numberOfDwellingUnits: t(\"NUMBER_OF_DWELLING_UNITS\"),\n floorNo: t(\"FLOOR_NO\"),\n userType: t(\"USER_TYPE\"),\n tenantName: t(\"TENANT_NAME\"),\n tenantMobile: t(\"TENANT_MOBILE\"),\n verificationStatus: t(\"VERIFICATION_STATUS\"),\n houseBuiltDuration: t(\"HOUSE_BUILT_DURATION\"),\n surveyorId: t(\"SURVEYOR_ID\"),\n supervisorId: t(\"SUPERVISOR_ID\"),\n vendorId: t(\"VENDOR_ID\"),\n assignmentType: t(\"ASSIGNMENT_TYPE\"),\n assignmentValue: t(\"ASSIGNMENT_VALUE\"),\n assignedTime: t(\"ASSIGNED_TIME\"),\n isSelfAssigned: t(\"IS_SELF_ASSIGNED\"),\n doorPhotoFilestoreId: t(\"DOOR_PHOTO_FILESTORE_ID\"),\n panFilestoreId: t(\"PAN_FILESTORE_ID\"),\n documentProofFilestoreId: t(\"DOCUMENT_PROOF_FILESTORE_ID\"),\n buildingImageFileStoreId: t(\"BUILDING_IMAGE_FILESTORE_ID\"),\n propertyDocumentFileStoreId: t(\"PROPERTY_DOCUMENT_FILESTORE_ID\"),\n meterPhotoFileStoreId: t(\"METER_PHOTO_FILESTORE_ID\"),\n modifiedBy: t(\"MODIFIED_BY\"),\n emailId: t(\"EMAIL_ID\"),\n dob: t(\"DOB\"),\n consumerType: t(\"CONSUMER_TYPE\"),\n createdTime: t(\"CREATED_TIME\"),\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\"),\n meterLatitude: t(\"EKYC_METER_LATITUDE1\"),\n meterLongitude: t(\"EKYC_METER_LONGITUDE1\"),\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n let cleanStr = String(str);\n if (cleanStr.includes(\".\") && !cleanStr.includes(\"@\") && isNaN(Number(cleanStr))) {\n cleanStr = cleanStr.split(\".\").pop();\n }\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const skipTitleCase = [\n \"kno\",\n \"mobileNumber\",\n \"emailId\",\n \"email\",\n \"pincode\",\n \"mrkey\",\n \"dob\",\n \"createdTime\",\n \"lastModifiedTime\",\n \"meterLatitude\",\n \"meterLongitude\",\n ];\n const translatedFields = [\"meterMake\", \"meterLocation\"];\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 let val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n if (String(val).toLowerCase() === \"true\") {\n val = t(\"CS_YES\");\n } else if (String(val).toLowerCase() === \"false\") {\n val = t(\"CS_NO\");\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && translatedFields.includes(key)) {\n cleanObj[friendlyHeader] = t(val);\n } else 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_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 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 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\">\n <button className=\"download-btn\" disabled={reportLoading} onClick={handleDownload}>\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard key={idx} title={t(card.label)} value={card.count} type={card.type} isLoading={isProgressLoading} icon={card.icon} />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Top Row: Mobile, Email, and Download eKYC Data */}\n <div className=\"details-top-row\">\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=\"download-card\">\n <div>\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") || \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\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\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-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={() => {\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button className=\"picker-apply-btn\" onClick={handleCustomDownload}>\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Bottom Row: Remaining Details */}\n <div className=\"details-grid-row\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{t(gender) || 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\">\n {assignedZone && assignedZone !== \"N/A\" ? (\n <div className=\"selected-zones\" style={{ marginTop: \"4px\" }}>\n <span className=\"selected-zone-chip\">{t(assignedZone.trim().toUpperCase()) || assignedZone}</span>\n </div>\n ) : (\n assignedZone\n )}\n </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 </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\"}\n tableClass=\"ekycTable\"\n isTableScrollable={true}\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;\n","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, isReassign, closeModal, refetchDashboard, tenantId: propsTenantId }) => {\n const { t } = useTranslation();\n const tenantId = propsTenantId || Digit.ULBService.getCurrentTenantId();\n const [selectedKnos, setSelectedKnos] = useState([]);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\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: !isReassign,\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: !isReassign,\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: 0,\n limit: 5000,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const handleAssignmentError = (errMsg) => {\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 setToastData({\n error: true,\n label: t(\"EKYC_KNO_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"kno is already assign with another surveyor\",\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 reassignMutation = Digit.Hooks.ekyc.useEkycAssignmentReassign({\n onSuccess: (response, variables) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n return;\n }\n\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_REASSIGNMENT_SUCCESSFUL\") || \"Reassignment successful\",\n });\n\n setShowToast(true);\n\n setTimeout(async () => {\n if (refetchDashboard) {\n await refetchDashboard();\n }\n if (refetchApplicationList) {\n await refetchApplicationList();\n }\n closeModal();\n }, 1000);\n },\n onError: (error, variables) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n },\n });\n\n const activeMutation = isReassign ? reassignMutation : assignmentMutation;\n\n const allData = useMemo(() => applicationData?.consumerList || [], [applicationData]);\n const totalRecords = allData.length;\n const totalPages = useMemo(() => Math.ceil(totalRecords / pageSize) || 1, [totalRecords, pageSize]);\n\n const paginatedData = useMemo(() => {\n const start = currentPage * pageSize;\n return allData.slice(start, start + pageSize);\n }, [allData, currentPage, pageSize]);\n\n const handleAssign = () => {\n const payload = {\n tenantId: tenantId,\n assignmentType: \"KNO\",\n assignmentValue: selectedKnos,\n };\n\n if (isReassign) {\n payload.newSurveyorId = surveyor?.owner?.uuid;\n } else {\n payload.surveyorId = surveyor?.owner?.uuid;\n }\n\n activeMutation.mutate(payload);\n };\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n const handleSelectAll = (e) => {\n e?.stopPropagation();\n const allMatchingKnos = allData.map((item) => item.kno).filter(Boolean);\n if (allMatchingKnos.length === 0) return;\n\n const isAllSelected = allMatchingKnos.length > 0 && allMatchingKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos(isAllSelected ? [] : allMatchingKnos);\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n setCurrentPage(0);\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => {\n const allMatchingKnos = allData.map((item) => item.kno).filter(Boolean);\n const isAllChecked = allMatchingKnos.length > 0 && allMatchingKnos.every((kno) => selectedKnos.includes(kno));\n return (\n <input\n type=\"checkbox\"\n checked={isAllChecked}\n onChange={(e) => {\n e.stopPropagation();\n handleSelectAll(e);\n }}\n onClick={(e) => e.stopPropagation()}\n />\n );\n },\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return (\n <input\n type=\"checkbox\"\n checked={selectedKnos.includes(kno)}\n onChange={(e) => {\n e.stopPropagation();\n handleSelect(kno);\n }}\n onClick={(e) => e.stopPropagation()}\n />\n );\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, paginatedData, allData]\n );\n\n return (\n <Modal\n headerBarMain={isReassign ? `Reassign KNOs to ${surveyor?.name}` : `Assign KNOs to ${surveyor?.name}`}\n headerBarEnd={<Close onClick={closeModal} />}\n actionCancelLabel=\"Cancel\"\n actionCancelOnSubmit={closeModal}\n actionSaveLabel={isReassign ? t(\"EKYC_REASSIGN_KNOS\") || \"Reassign KNOs\" : 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 disabled\" value={filters.pincode} onChange={(e) => handleFilterChange(\"pincode\", e.target.value)} disabled>\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 isTableScrollable={true}\n data={paginatedData}\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 < totalPages - 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(totalPages - 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(null);\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 handleDownload = async () => {\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 }\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 }\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(range.from.getTime(), range.to.getTime());\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 setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(from.getTime(), to.getTime());\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\" }, { action: \"EKYC_REASSIGN\" }];\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n setShowModal(option.action);\n };\n\n const handleDownloadEkycData = async (fromDate, toDate) => {\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 ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\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\",\n \"source\",\n \"assignedAt\",\n \"connectionType\",\n \"approvedAt\",\n \"alternateMobileNo\",\n \"city\",\n \"state\",\n \"addressType\",\n \"addressProofType\",\n \"mrcode\",\n \"areacode\",\n \"verificationStatus\",\n \"surveyorId\",\n \"supervisorId\",\n \"vendorId\",\n \"assignmentType\",\n \"assignmentValue\",\n \"assignedTime\",\n \"isSelfAssigned\",\n \"userType\",\n \"tenantName\",\n \"tenantMobile\",\n \"doorPhotoFilestoreId\",\n \"panFilestoreId\",\n \"documentProofFilestoreId\",\n \"buildingImageFileStoreId\",\n \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\",\n \"modifiedBy\",\n \"zoneCode\",\n \"propertyType\",\n \"subPropertyCategory\",\n ];\n\n const headerMapping = {\n kno: t(\"KNO\"),\n firstName: t(\"FIRST_NAME\"),\n middleName: t(\"MIDDLE_NAME\"),\n lastName: t(\"LAST_NAME\"),\n status: t(\"STATUS\"),\n ekycStatus: t(\"EKYC_STATUS\"),\n zoneName: t(\"ZONE\"),\n zoneCode: t(\"ZONE_CODE\"),\n assembly: t(\"EKYC_ASSEMBLY\"),\n ward: t(\"WARD\"),\n pincode: t(\"EKYC_PINCODE\"),\n addressRaw: t(\"ADDRESS_RAW\"),\n locality: t(\"EKYC_LOCALITY\"),\n subLocality: t(\"SUB_LOCALITY\"),\n flatHouseNumber: t(\"FLAT_HOUSE_NUMBER\"),\n streetName: t(\"STREET_NAME\"),\n landmark: t(\"EKYC_LANDMARK\"),\n city: t(\"CITY\"),\n state: t(\"STATE\"),\n addressType: t(\"ADDRESS_TYPE\"),\n addressProofType: t(\"ADDRESS_PROOF_TYPE\"),\n mobileNo: t(\"MOBILE_NUMBER\"),\n alternateMobileNo: t(\"ALTERNATE_MOBILE_NUMBER\"),\n whatsappNo: t(\"WHATSAPP_NO\"),\n email: t(\"EMAIL\"),\n landlineNo: t(\"LANDLINE_NO\"),\n mrkey: t(\"MR_KEY\"),\n mrcode: t(\"MR_CODE\"),\n areacode: t(\"AREA_CODE\"),\n source: t(\"SOURCE\"),\n submittedAt: t(\"SUBMITTED_AT\"),\n assignedAt: t(\"ASSIGNED_AT\"),\n connectionType: t(\"CONNECTION_TYPE\"),\n Type: t(\"CONSUMER_TYPE\"),\n occupantType: t(\"OCCUPANT_TYPE\"),\n knoCategory: t(\"KNO_CATEGORY\"),\n approvedAt: t(\"APPROVED_AT\"),\n gender: t(\"GENDER\"),\n parentSpouse: t(\"PARENT_SPOUSE\"),\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\n relationship: t(\"RELATIONSHIP\"),\n informantName: t(\"INFORMANT_NAME\"),\n informantRelation: t(\"INFORMANT_RELATION\"),\n informantIs: t(\"INFORMANT_IS\"),\n contactPerson: t(\"CONTACT_PERSON\"),\n relation: t(\"RELATION\"),\n entityName: t(\"ENTITY_NAME\"),\n designation: t(\"DESIGNATION\"),\n department: t(\"DEPARTMENT\"),\n employeeId: t(\"EMPLOYEE_ID\"),\n ownerMobile: t(\"OWNER_MOBILE\"),\n ownerVerificationDone: t(\"OWNER_VERIFICATION_DONE\"),\n consentGiven: t(\"CONSENT_GIVEN\"),\n proofOfIdentityType: t(\"PROOF_OF_IDENTITY_TYPE\"),\n documentNumber: t(\"DOCUMENT_NUMBER\"),\n noOfPerson: t(\"NUMBER_OF_PERSON\"),\n latitude: t(\"LATITUDE\"),\n longitude: t(\"LONGITUDE\"),\n gpsValid: t(\"GPS_VALID\"),\n meterNumber: t(\"METER_NUMBER\"),\n meterMake: t(\"METER_MAKE\"),\n meterStatus: t(\"METER_STATUS\"),\n meterCondition: t(\"METER_CONDITION\"),\n meterLocation: t(\"METER_LOCATION\"),\n meterLocationAddress: t(\"METER_LOCATION_ADDRESS\"),\n workingStatus: t(\"WORKING_STATUS\"),\n sewerConnection: t(\"SEWER_CONNECTION\"),\n septicTank: t(\"SEPTIC_TANK\"),\n lastBillRaised: t(\"LAST_BILL_RAISED\"),\n lastBillReceivedDate: t(\"LAST_BILL_RECEIVED_DATE\"),\n accessToMeter: t(\"ACCESS_TO_METER\"),\n systemMeterId: t(\"SYSTEM_METER_ID\"),\n lastBillNotRaisedReason: t(\"LAST_BILL_NOT_RAISED_REASON\"),\n waterConnectionYears: t(\"WATER_CONNECTION_YEARS\"),\n sewerConnectionYears: t(\"SEWER_CONNECTION_YEARS\"),\n pidNumber: t(\"PID_NUMBER\"),\n propertyType: t(\"PROPERTY_TYPE\"),\n subPropertyCategory: t(\"SUB_PROPERTY_CATEGORY\"),\n noOfFloor: t(\"NO_OF_FLOOR\"),\n noOfRooms: t(\"NO_OF_ROOMS\"),\n noOfBeds: t(\"NO_OF_BEDS\"),\n numberOfDwellingUnits: t(\"NUMBER_OF_DWELLING_UNITS\"),\n floorNo: t(\"FLOOR_NO\"),\n userType: t(\"USER_TYPE\"),\n tenantName: t(\"TENANT_NAME\"),\n tenantMobile: t(\"TENANT_MOBILE\"),\n verificationStatus: t(\"VERIFICATION_STATUS\"),\n houseBuiltDuration: t(\"HOUSE_BUILT_DURATION\"),\n surveyorId: t(\"SURVEYOR_ID\"),\n supervisorId: t(\"SUPERVISOR_ID\"),\n vendorId: t(\"VENDOR_ID\"),\n assignmentType: t(\"ASSIGNMENT_TYPE\"),\n assignmentValue: t(\"ASSIGNMENT_VALUE\"),\n assignedTime: t(\"ASSIGNED_TIME\"),\n isSelfAssigned: t(\"IS_SELF_ASSIGNED\"),\n doorPhotoFilestoreId: t(\"DOOR_PHOTO_FILESTORE_ID\"),\n panFilestoreId: t(\"PAN_FILESTORE_ID\"),\n documentProofFilestoreId: t(\"DOCUMENT_PROOF_FILESTORE_ID\"),\n buildingImageFileStoreId: t(\"BUILDING_IMAGE_FILESTORE_ID\"),\n propertyDocumentFileStoreId: t(\"PROPERTY_DOCUMENT_FILESTORE_ID\"),\n meterPhotoFileStoreId: t(\"METER_PHOTO_FILESTORE_ID\"),\n modifiedBy: t(\"MODIFIED_BY\"),\n emailId: t(\"EMAIL_ID\"),\n dob: t(\"DOB\"),\n consumerType: t(\"CONSUMER_TYPE\"),\n createdTime: t(\"CREATED_TIME\"),\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\"),\n meterLatitude: t(\"EKYC_METER_LATITUDE1\"),\n meterLongitude: t(\"EKYC_METER_LONGITUDE1\"),\n };\n\n const skipTitleCase = [\n \"kno\",\n \"mobileNumber\",\n \"emailId\",\n \"email\",\n \"pincode\",\n \"mrkey\",\n \"dob\",\n \"createdTime\",\n \"lastModifiedTime\",\n \"meterLatitude\",\n \"meterLongitude\",\n ];\n const translatedFields = [\"meterMake\", \"meterLocation\"];\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 let val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n if (String(val).toLowerCase() === \"true\") {\n val = t(\"CS_YES\");\n } else if (String(val).toLowerCase() === \"false\") {\n val = t(\"CS_NO\");\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && translatedFields.includes(key)) {\n cleanObj[friendlyHeader] = t(val);\n } else 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_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(null);\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\">\n <button className=\"download-btn\" disabled={reportLoading} onClick={handleDownload}>\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n <StatCard\n title={t(\"TOTAL_ASSIGNED\")}\n value={dashboardData?.dashboardInfo?.total || 0}\n type=\"today\"\n isLoading={isDashboardLoading}\n icon={<FaUsers />}\n />\n <StatCard\n title={t(\"COMPLETED\")}\n value={dashboardData?.dashboardInfo?.completed || 0}\n type=\"week\"\n isLoading={isDashboardLoading}\n icon={<FaCheckCircle />}\n />\n <StatCard\n title={t(\"PENDING\")}\n value={dashboardData?.dashboardInfo?.pending || 0}\n type=\"pending\"\n isLoading={isDashboardLoading}\n icon={<FaClock />}\n />\n <StatCard\n title={t(\"SUBMITTED\")}\n value={dashboardData?.dashboardInfo?.submittedCount || 0}\n type=\"month\"\n isLoading={isDashboardLoading}\n icon={<FaChartLine />}\n />\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 {/* Top Row: Mobile, Email, and Download eKYC Data */}\n <div className=\"details-top-row\">\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=\"download-card\">\n <div>\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") || \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\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\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-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={() => {\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button className=\"picker-apply-btn\" onClick={handleCustomDownload}>\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Bottom Row: Remaining Details */}\n <div className=\"details-grid-row\">\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(\"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 </div>\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"ASSIGNED_KNOS\")}\n tableClass=\"ekycTable\"\n isTableScrollable={true}\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 && (\n <AssignEkycModal surveyor={surveyor} isReassign={showModal === \"EKYC_REASSIGN\"} closeModal={closeModal} refetchDashboard={refetchDashboard} />\n )}\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\";\n// import 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// 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, t) => [\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\", \"admin-dashboard\", \"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\n","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 } from \"@djb25/digit-ui-react-components\";\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 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 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=\"action\">\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","_useState2","showReportMenu","setShowReportMenu","_useState3","from","to","customDate","setCustomDate","_useState4","showCustomPicker","setShowCustomPicker","reportMenuRef","useRef","useEffect","handler","current","contains","target","document","addEventListener","removeEventListener","loggedInUser","fullName","name","handleDownloadEkycData","fromDate","toDate","Promise","resolve","EkycService","application_list","_extends","reportDownload","response","consumerList","alert","excludedKeys","headerMapping","kno","firstName","middleName","lastName","status","ekycStatus","zoneName","zoneCode","assembly","ward","pincode","addressRaw","locality","subLocality","flatHouseNumber","streetName","landmark","city","state","addressType","addressProofType","mobileNo","alternateMobileNo","whatsappNo","email","landlineNo","mrkey","mrcode","areacode","source","submittedAt","assignedAt","connectionType","Type","occupantType","knoCategory","approvedAt","gender","parentSpouse","fatherOrHusbandName","relationship","informantName","informantRelation","informantIs","contactPerson","relation","entityName","designation","department","employeeId","ownerMobile","ownerVerificationDone","consentGiven","proofOfIdentityType","documentNumber","noOfPerson","latitude","longitude","gpsValid","meterNumber","meterMake","meterStatus","meterCondition","meterLocation","meterLocationAddress","workingStatus","sewerConnection","septicTank","lastBillRaised","lastBillReceivedDate","accessToMeter","systemMeterId","lastBillNotRaisedReason","waterConnectionYears","sewerConnectionYears","pidNumber","propertyType","subPropertyCategory","noOfFloor","noOfRooms","noOfBeds","numberOfDwellingUnits","floorNo","userType","tenantName","tenantMobile","verificationStatus","houseBuiltDuration","surveyorId","supervisorId","vendorId","assignmentType","assignmentValue","assignedTime","isSelfAssigned","doorPhotoFilestoreId","panFilestoreId","documentProofFilestoreId","buildingImageFileStoreId","propertyDocumentFileStoreId","meterPhotoFileStoreId","modifiedBy","emailId","dob","consumerType","createdTime","lastModifiedTime","meterLatitude","meterLongitude","toTitleCase","str","cleanStr","String","isNaN","Number","split","pop","toLowerCase","replace","c","toUpperCase","skipTitleCase","translatedFields","excelData","item","cleanObj","filter","Boolean","join","keys","Object","orderedKeys","key","forEach","val","date","Date","pad","n","padStart","getDate","getMonth","getFullYear","getHours","getMinutes","getSeconds","friendlyHeader","cleanFileName","Download","Excel","error","console","_wasThrown","_result","reject","getDateRange","now","start","setHours","setDate","getDay","handlePresetDownload","range","getTime","handleCustomDownload","chartRef1","chartInstance1","efficiency","total","Math","round","submittedCount","completed","formatNumber","num","Intl","NumberFormat","format","destroy","ctx1","getContext","ChartConstructor","type","labels","datasets","pending","submitted","inprocess","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","selfEkycCount","rejected","className","FaChartBar","size","style","paddingInline","borderRadius","ref","disabled","onClick","p","MdDownloadIcon","_ref2","onChange","gap","marginTop","stopPropagation","width","height","Dashboard","useEkycSurveyorDashboard","dashboardData","_Digit$Hooks$ekyc$use2","useEkycAssignmentProgress","allVendorsDetailed","keepPreviousData","progressData","isProgressLoading","useMemo","dashboardInfo","submittedKnos","rejectedKnos","active","overallProgressPercent","Loader","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","_row$original","_row$original2","row","original","applicationNumber","_ref3","_row$original3","citizenName","_ref4","_row$original4","_row$original5","_ref5","_row$original6","_row$original7","raw","ekycstatus","_ref6","_row$original8","_row$original9","tableData","items","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","Card","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_searchParams","setSearchParams","prev","onSubmit","preventDefault","onClear","cleared","kName","HomeIcon","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","x1","y1","x2","y2","TextInput","placeholder","d","todaysAudits","auditChange","pendingCount","i","fromCharCode","MobileInbox","_data$items","mobileData","mobileNumber","Link","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","vendorName","supervisorName","initData","tenants","tenantInfo","find","tenant","capitalize","substr","ulbCamel","ulb","phoneNumber","currentDate","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","originalToLocaleDateString","prototype","progressIndex","_len","arguments","args","_key","apply","customT","downloadVendorPDF","emailContact","_len2","_key2","VendorDetailsCard","_vendor$owner","_vendor$owner2","_vendorName$charAt","_useParams","useParams","_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","matched","_v$dsoDetails","_v$dsoDetails2","dsoDetails","matchedMock","_v$name","_loggedInUser$name","targetVendorId","createDummySupervisors","_","totalKnos","pendingKnos","progressPercent","isDummy","vendorSupervisors","currentVendorId","matchedSups","s","sup","_progressData$supervi","_sup$owner2","_sup$owner3","_sup$owner4","report","supervisorReport","_sup$owner","zoneIds","_vendor$zoneIds","zone","trim","cards","totalAssignments","completedKnos","icon","FaUsers","FaCheckCircle","FaClock","FaChartLine","setCurrentPage","pageSize","setPageSize","paginatedSupervisors","end","slice","supervisorColumns","_Digit$SessionStorage3","_Digit$SessionStorage4","targetPath","href","textDecoration","_useState5","_useState6","_useState7","reportLoading","setReportLoading","handleDownload","rowsWithStats","reduce","acc","err","StatCard","Fragment","isPageLoading","charAt","card","idx","flexWrap","tableTitle","tableClass","isTableScrollable","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","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$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","progressMetrics","_progressData$totalKn","_progressData$submitt","_progressData$pending","_progressData$overall","toFixed","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","payload","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","onMobileSortOrderData","onSortFormReset","setSortFormValue","propsForMobileSortForm","sortFormDefaultValues","propsForInboxMobileCards","isInboxLoading","marginBottom","InboxComposer","forceTable","showSearchOnMobile","ActionButton","jumpTo","routeTo","isEditing","LinkButton","EditIcon","margin","checkForNA","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","background","border","overflow","borderBottom","justifyContent","alignItems","CardSubHeader","fontSize","borderCollapse","tableLayout","textTransform","field","valNew","valOld","normalizeVal","isChanged","borderTop","preTranslated","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","_Digit$UserService$ge","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","flatNewData","flatOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","address","connectionCategory","meterNo","statusFlag","knumber","fullAddress","flatNo","buildingTower","building","pinCode","noOfPersons","doorPhotoFileStoreId","property","typeOfConnection","numberOfFloors","buildingImageFilestoreId","meter","metered","meterPhotoFilestoreId","newDataRaw","connectionData","addressData","whatsappNumber","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","workingStatusData","lastBillRaisedData","handleDeclaration","loggedInUserInfo","UserService","getUser","_Digit$Hooks$useUserS","useUserSearch","userData","supervisorData","user","matchedSupervisor","userName","handleReject","_Digit$UserService$ge2","RequestInfo","apiId","ver","msgId","authToken","access_token","remarks","reviewedBy","role","_temp","mutateAsync","setTimeout","_err$response","_err$response$data","_err$response2","_err$response2$data","_err$response2$data$E","_err$response2$data$E2","_err$Errors","_err$Errors$","errMsg","Errors","handleApprove","_Digit$UserService$ge3","_temp2","_err$response3","_err$response3$data","_err$response3$data$E","_err$response3$data$E2","_err$Errors2","_err$Errors2$","handleViewDocument","fileStoreId","_temp4","UploadServices","FileFetchbyid","blobUrl","URL","createObjectURL","handleMenuSelect","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","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","idFile","tenantVerification","consent","defaultValues","setDefaultValues","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","_savedData$informantI2","fName","mName","lName","parts","updatedDefaults","handleUploadProof","file","files","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","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","some","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","AdminDashboard","allVendorIds","dso","vendorReports","_vendor$vendorName","_vendor$vendorName$","SupervisorDetailsCard","_fullName$charAt","targetId","matchedSup","_s$id","_s$owner","_s$owner$uuid","vendorIds","_Digit$Hooks$fsm$useS2","useSurveyorSearch","surveyorSearchResponse","isSurveyorSearchLoading","supervisor","targetOwnerOrId","resolvedSupervisorId","selfSup","_s$owner2","_s$owner2$uuid","_s$id2","_s$id3","_s$owner3","_s$owner3$uuid","progressReport","_s$supervisorId","_s$id4","_progressReport","_progressReport2","_progressReport3","_matchedSup$owner2","_matchedSup$owner3","_matchedSup$owner4","_matchedSup$owner5","_matchedSup$owner6","_matchedSup$owner7","matchedSurveyors","surveyors","surv","_matchedSup$owner","_surv$owner3","_surv$owner4","_surv$owner5","_surv$owner6","_surv$owner7","_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$id5","_surv$id2","_s$id6","_surv$owner2","_surv$owner2$uuid","assignedZoneId","_loggedInUser$uuid","_supervisorSearchResp","_matchedSupForFallbac","_matchedSupForFallbac2","_matchedSupForFallbac3","isSelf","matchedSupForFallback","_s$id7","_s$owner4","_s$owner4$uuid","surveyorsMapped","_surveyorSearchRespon","_matchedSurv$owner","_matchedSurv$owner2","_matchedSurv$owner3","_matchedSurv$owner4","_matchedSurv$owner5","_s$id8","_surv$surveyorId","_s$owner5","_s$owner5$uuid","_surv$surveyorId2","assignedZone","_matchedVendor$dsoDet","matchedVendor","paginatedSurveyors","surveyorColumns","points","AssignEkycModal","surveyor","isReassign","closeModal","refetchDashboard","propsTenantId","selectedKnos","setSelectedKnos","setFilters","debouncedFilters","setDebouncedFilters","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","structuredLocalityData","localities","boundaries","extractLocalities","node","localname","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","sanitizedPin","toString","add","sort","unassignedOnly","fetchFilterOptions","Infinity","filterOptionsData","pincodeOptions","mrkeyOptions","timer","clearTimeout","isFetching","refetchApplicationList","refetch","handleAssignmentError","isAlreadyAssigned","assignmentMutation","useEkycAssignmentCreate","onSuccess","variables","_response$data","skipped","_response$skipped$","reason","_temp3","_error$data","_error$response","_error$response$data","reassignMutation","useEkycAssignmentReassign","_response$data2","_response$skipped$2","_temp8","_temp6","_temp5","_temp7","_error$data2","_error$response2","_error$response2$data","activeMutation","allData","totalPages","paginatedData","handleAssign","_surveyor$owner","newSurveyorId","_surveyor$owner2","mutate","handleSelectAll","allMatchingKnos","isAllSelected","every","handleFilterChange","isAllChecked","Modal","headerBarMain","headerBarEnd","Close","actionCancelLabel","actionCancelOnSubmit","actionSaveLabel","actionSaveOnSubmit","pin","SurveyorDetailsDashboard","_surveyorSearchById$s","_surveyor$owner3","_surveyor$owner4","_dashboardData$dashbo","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner7","_surveyor$owner8","_surveyor$owner9","_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","_useState8","_useState9","_surveyor$owner5","dashboard","_response$dashboardIn","_surveyor$owner6","_wasThrown2","_result2","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$files","vendorWorkOrder","isError","_err$response$data$Er","_err$response$data$Er2","selectfile","isFormDisabled","CollapsibleCardPage","flexDirection","DatePicker","extraStyleName","accept","storageKey","_row$original5$owner","SupervisorInboxTableConfig","AssignEkyc","paginationParms","isDataSearchLoading","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","additionalDetails","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","isHotel","isHospitalOrNursing","objectFit","PropertyInfo","noOfFloors","dwellingUnits","propType","subPropCat","matchingType","numberOfRooms","numberOfBeds","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","isFrozen","monthYearOptions","y","m","yesNo","MeterDetails","saType","mrCode","areaCode","mrKey","meterMaker","billMonthYear","mStatus","mCondition","mLoc","billRec","billMonYr","accToMeter","sewerConn","sepTank","matchingStatus","o","matchingCond","matchingLoc","strVal","formatted","parsedParts","mon","yr","_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","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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"}
|
|
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/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\";\nimport { FaChartBar, MdDownloadIcon } from \"@djb25/digit-ui-react-components\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\n\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = 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 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 handleDownloadEkycData = async (fromDate, toDate) => {\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 ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\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\",\n \"source\",\n \"assignedAt\",\n \"connectionType\",\n \"approvedAt\",\n \"alternateMobileNo\",\n \"city\",\n \"state\",\n \"addressType\",\n \"addressProofType\",\n \"mrcode\",\n \"areacode\",\n \"verificationStatus\",\n \"surveyorId\",\n \"supervisorId\",\n \"vendorId\",\n \"assignmentType\",\n \"assignmentValue\",\n \"assignedTime\",\n \"isSelfAssigned\",\n \"userType\",\n \"tenantName\",\n \"tenantMobile\",\n \"doorPhotoFilestoreId\",\n \"panFilestoreId\",\n \"documentProofFilestoreId\",\n \"buildingImageFileStoreId\",\n \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\",\n \"modifiedBy\",\n \"zoneCode\",\n \"propertyType\",\n \"subPropertyCategory\",\n ];\n\n const headerMapping = {\n kno: t(\"KNO\"),\n firstName: t(\"FIRST_NAME\"),\n middleName: t(\"MIDDLE_NAME\"),\n lastName: t(\"LAST_NAME\"),\n status: t(\"STATUS\"),\n ekycStatus: t(\"EKYC_STATUS\"),\n zoneName: t(\"ZONE\"),\n zoneCode: t(\"ZONE_CODE\"),\n assembly: t(\"EKYC_ASSEMBLY\"),\n ward: t(\"WARD\"),\n pincode: t(\"EKYC_PINCODE\"),\n addressRaw: t(\"ADDRESS_RAW\"),\n locality: t(\"EKYC_LOCALITY\"),\n subLocality: t(\"SUB_LOCALITY\"),\n flatHouseNumber: t(\"FLAT_HOUSE_NUMBER\"),\n streetName: t(\"STREET_NAME\"),\n landmark: t(\"EKYC_LANDMARK\"),\n city: t(\"CITY\"),\n state: t(\"STATE\"),\n addressType: t(\"ADDRESS_TYPE\"),\n addressProofType: t(\"ADDRESS_PROOF_TYPE\"),\n mobileNo: t(\"MOBILE_NUMBER\"),\n alternateMobileNo: t(\"ALTERNATE_MOBILE_NUMBER\"),\n whatsappNo: t(\"WHATSAPP_NO\"),\n email: t(\"EMAIL\"),\n landlineNo: t(\"LANDLINE_NO\"),\n mrkey: t(\"MR_KEY\"),\n mrcode: t(\"MR_CODE\"),\n areacode: t(\"AREA_CODE\"),\n source: t(\"SOURCE\"),\n submittedAt: t(\"SUBMITTED_AT\"),\n assignedAt: t(\"ASSIGNED_AT\"),\n connectionType: t(\"CONNECTION_TYPE\"),\n Type: t(\"CONSUMER_TYPE\"),\n occupantType: t(\"OCCUPANT_TYPE\"),\n knoCategory: t(\"KNO_CATEGORY\"),\n approvedAt: t(\"APPROVED_AT\"),\n gender: t(\"GENDER\"),\n parentSpouse: t(\"PARENT_SPOUSE\"),\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\n relationship: t(\"RELATIONSHIP\"),\n informantName: t(\"INFORMANT_NAME\"),\n informantRelation: t(\"INFORMANT_RELATION\"),\n informantIs: t(\"INFORMANT_IS\"),\n contactPerson: t(\"CONTACT_PERSON\"),\n relation: t(\"RELATION\"),\n entityName: t(\"ENTITY_NAME\"),\n designation: t(\"DESIGNATION\"),\n department: t(\"DEPARTMENT\"),\n employeeId: t(\"EMPLOYEE_ID\"),\n ownerMobile: t(\"OWNER_MOBILE\"),\n ownerVerificationDone: t(\"OWNER_VERIFICATION_DONE\"),\n consentGiven: t(\"CONSENT_GIVEN\"),\n proofOfIdentityType: t(\"PROOF_OF_IDENTITY_TYPE\"),\n documentNumber: t(\"DOCUMENT_NUMBER\"),\n noOfPerson: t(\"NUMBER_OF_PERSON\"),\n latitude: t(\"LATITUDE\"),\n longitude: t(\"LONGITUDE\"),\n gpsValid: t(\"GPS_VALID\"),\n meterNumber: t(\"METER_NUMBER\"),\n meterMake: t(\"METER_MAKE\"),\n meterStatus: t(\"METER_STATUS\"),\n meterCondition: t(\"METER_CONDITION\"),\n meterLocation: t(\"METER_LOCATION\"),\n meterLocationAddress: t(\"METER_LOCATION_ADDRESS\"),\n workingStatus: t(\"WORKING_STATUS\"),\n sewerConnection: t(\"SEWER_CONNECTION\"),\n septicTank: t(\"SEPTIC_TANK\"),\n lastBillRaised: t(\"LAST_BILL_RAISED\"),\n lastBillReceivedDate: t(\"LAST_BILL_RECEIVED_DATE\"),\n accessToMeter: t(\"ACCESS_TO_METER\"),\n systemMeterId: t(\"SYSTEM_METER_ID\"),\n lastBillNotRaisedReason: t(\"LAST_BILL_NOT_RAISED_REASON\"),\n waterConnectionYears: t(\"WATER_CONNECTION_YEARS\"),\n sewerConnectionYears: t(\"SEWER_CONNECTION_YEARS\"),\n pidNumber: t(\"PID_NUMBER\"),\n propertyType: t(\"PROPERTY_TYPE\"),\n subPropertyCategory: t(\"SUB_PROPERTY_CATEGORY\"),\n noOfFloor: t(\"NO_OF_FLOOR\"),\n noOfRooms: t(\"NO_OF_ROOMS\"),\n noOfBeds: t(\"NO_OF_BEDS\"),\n numberOfDwellingUnits: t(\"NUMBER_OF_DWELLING_UNITS\"),\n floorNo: t(\"FLOOR_NO\"),\n userType: t(\"USER_TYPE\"),\n tenantName: t(\"TENANT_NAME\"),\n tenantMobile: t(\"TENANT_MOBILE\"),\n verificationStatus: t(\"VERIFICATION_STATUS\"),\n houseBuiltDuration: t(\"HOUSE_BUILT_DURATION\"),\n surveyorId: t(\"SURVEYOR_ID\"),\n supervisorId: t(\"SUPERVISOR_ID\"),\n vendorId: t(\"VENDOR_ID\"),\n assignmentType: t(\"ASSIGNMENT_TYPE\"),\n assignmentValue: t(\"ASSIGNMENT_VALUE\"),\n assignedTime: t(\"ASSIGNED_TIME\"),\n isSelfAssigned: t(\"IS_SELF_ASSIGNED\"),\n doorPhotoFilestoreId: t(\"DOOR_PHOTO_FILESTORE_ID\"),\n panFilestoreId: t(\"PAN_FILESTORE_ID\"),\n documentProofFilestoreId: t(\"DOCUMENT_PROOF_FILESTORE_ID\"),\n buildingImageFileStoreId: t(\"BUILDING_IMAGE_FILESTORE_ID\"),\n propertyDocumentFileStoreId: t(\"PROPERTY_DOCUMENT_FILESTORE_ID\"),\n meterPhotoFileStoreId: t(\"METER_PHOTO_FILESTORE_ID\"),\n modifiedBy: t(\"MODIFIED_BY\"),\n emailId: t(\"EMAIL_ID\"),\n dob: t(\"DOB\"),\n consumerType: t(\"CONSUMER_TYPE\"),\n createdTime: t(\"CREATED_TIME\"),\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\"),\n meterLatitude: t(\"EKYC_METER_LATITUDE1\"),\n meterLongitude: t(\"EKYC_METER_LONGITUDE1\"),\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n let cleanStr = String(str);\n if (cleanStr.includes(\".\") && !cleanStr.includes(\"@\") && isNaN(Number(cleanStr))) {\n cleanStr = cleanStr.split(\".\").pop();\n }\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const skipTitleCase = [\n \"kno\",\n \"mobileNumber\",\n \"emailId\",\n \"email\",\n \"pincode\",\n \"mrkey\",\n \"dob\",\n \"createdTime\",\n \"lastModifiedTime\",\n \"meterLatitude\",\n \"meterLongitude\",\n ];\n const translatedFields = [\"meterMake\", \"meterLocation\"];\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 const keys = Object.keys(item);\n\n // submittedAt ko last column me bhejne ke liye\n const orderedKeys = [...keys.filter((key) => key !== \"submittedAt\"), ...(keys.includes(\"submittedAt\") ? [\"submittedAt\"] : [])];\n\n orderedKeys.forEach((key) => {\n if (excludedKeys.includes(key)) return;\n\n let val = item[key];\n\n // Convert submittedAt timestamp to date/time\n if (key === \"submittedAt\" && val) {\n const date = new Date(Number(val));\n\n const pad = (n) => String(n).padStart(2, \"0\");\n\n val = `${pad(date.getDate())}/${pad(date.getMonth() + 1)}/${date.getFullYear()} ${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(\n date.getSeconds()\n )}`;\n }\n\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n if (String(val).toLowerCase() === \"true\") {\n val = t(\"CS_YES\");\n } else if (String(val).toLowerCase() === \"false\") {\n val = t(\"CS_NO\");\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && translatedFields.includes(key)) {\n cleanObj[friendlyHeader] = t(val);\n } else if (typeof val === \"string\" && !skipTitleCase.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\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 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 setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(range.from.getTime(), range.to.getTime());\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 setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(from.getTime(), to.getTime());\n };\n\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n\n const efficiency = countData?.total > 0 ? Math.round(((countData?.submittedCount + countData?.completed) / countData?.total) * 100) : 0;\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\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: [countData?.pending, countData?.completed, countData?.submitted, countData?.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 }, [countData, t]);\n\n const legendItems = [\n {\n color: \"#77B6EA\",\n label: t(\"EKYC_TOTAL\"),\n value: countData?.total || 0,\n },\n {\n color: \"#4C8BF5\",\n label: t(\"EKYC_ASSIGNED\"),\n value: countData?.totalAssignments || 0,\n },\n {\n color: \"#2E8B57\",\n label: t(\"EKYC_COMPLETED\"),\n value: countData?.completed || 0,\n },\n {\n color: \"#0c2a52\",\n label: t(\"EKYC_PENDING\"),\n value: countData?.pending || 0,\n },\n {\n color: \"#8B5CF6\",\n label: t(\"EKYC_SUBMITTED_BY_VENDORS\"),\n value: countData?.submittedCount || 0,\n },\n {\n color: \"#F59E0B\",\n label: t(\"EKYC_SUBMITTED_BY_CITIZEN\"),\n value: countData?.selfEkycCount || 0,\n },\n {\n color: \"#DC3545\",\n label: t(\"EKYC_REJECTED\"),\n value: countData?.rejected || 0,\n },\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-panel\">\n <div className=\"status-cards-header\">\n <div className=\"status-card-title\">\n <FaChartBar size={32} color=\"#fff\" backgroundColor=\"#065297\" style={{ paddingInline: \"4px\", borderRadius: \"4px \" }} />\n\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"total-applications-card download-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n\n <MdDownloadIcon />\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-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={(e) => {\n e.stopPropagation();\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button\n className=\"picker-apply-btn\"\n onClick={(e) => {\n e.stopPropagation();\n handleCustomDownload();\n }}\n >\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n <div className=\"status-breakdown-content\">\n {/* Chart */}\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n\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\n {/* Status Boxes */}\n <div className=\"status-boxes\">\n {legendItems.map((item) => (\n <div className=\"status-box\" key={item.label} style={{ \"--status-color\": item.color }}>\n <div className=\"status-box-top\">\n <span className=\"status-indicator\" style={{ backgroundColor: item.color }} />\n\n <span className=\"status-name\">{item.label}</span>\n </div>\n\n <div className=\"status-box-value\">{formatNumber(item.value)}</div>\n </div>\n ))}\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 { 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 // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n {\n tenantId,\n allVendorsDetailed: true,\n },\n {\n enabled: true,\n keepPreviousData: true,\n }\n );\n\n const countData = useMemo(() => {\n return {\n total: progressData?.totalKnosInSystem || 0,\n completed: progressData?.submittedKnos + progressData?.selfEkycCount || 0,\n pending: progressData?.pendingKnos || 0,\n rejected: progressData?.rejectedKnos || 0,\n totalAssignments: progressData?.totalAssignments || 0,\n submittedCount: progressData?.submittedKnos || 0,\n selfEkycCount: progressData?.selfEkycCount || 0,\n overallProgressPercent: progressData?.overallProgressPercent || 0,\n };\n }, [progressData]);\n\n return isProgressLoading ? <Loader /> : <StatusCards countData={countData} />;\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 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, MdDownloadIcon, FaDatabase, FaFileAlt } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { downloadVendorPDF } from \"../utils/reportDownloader\";\nimport { FaCheckCircle, FaBuilding, FaUser, FaClock, FaChartLine } 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 const { data: { vendor: [vendor] = [] } = {}, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useVendorSearch({\n tenantId,\n filters: {\n status: \"ACTIVE\",\n ids: vendorId,\n },\n config: {\n enabled: !!tenantId,\n staleTime: 300000,\n },\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 // Match vendor details\n\n const targetVendorId = vendorId || vendor?.id || vendor?.vendorId;\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details) for target vendor\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n targetVendorId ? { vendorId: targetVendorId } : {},\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n const createDummySupervisors = (vendor) => {\n const count = Number(vendor?.supervisors) || 5;\n\n return Array.from({ length: count }, (_, i) => ({\n id: `SUP_V_${vendor?.id || \"DEFAULT\"}_${i + 1}`,\n name: `Supervisor ${i + 1}`,\n mobileNo: `99999120${i}`,\n status: \"ACTIVE\",\n totalKnos: 0,\n submittedKnos: 0,\n pendingKnos: 0,\n progressPercent: 0,\n isDummy: true,\n }));\n };\n\n // Supervisors belonging to this vendor\n const vendorSupervisors = useMemo(() => {\n const currentVendorId = vendor?.id || vendor?.vendorId || vendorId;\n\n // No real supervisor data available\n if (!Array.isArray(supervisorSearchResponse?.supervisors)) {\n return vendor ? createDummySupervisors(vendor) : [];\n }\n\n // Filter real supervisors belonging to this vendor\n const matchedSups = supervisorSearchResponse.supervisors.filter(\n (s) => s.vendorId === currentVendorId || s.vendorId === vendor?.id || s.vendorId === vendor?.vendorId\n );\n\n // API returned supervisors, but none belong to this vendor\n if (matchedSups.length === 0) {\n return [];\n }\n\n return matchedSups.map((sup) => {\n const report = progressData?.supervisorReport?.find((r) => r.supervisorId === sup.id || r.supervisorId === sup.owner?.uuid);\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 isDummy: false,\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).trim().toUpperCase()) : [];\n }, [vendor]);\n\n // KPI stats calculation\n const cards = useMemo(() => {\n const totalKnos = progressData?.totalKnosInZones || 0;\n const totalAssignments = progressData?.totalKnos || 0;\n const completedKnos = progressData?.submittedKnos || 0;\n const selfEkycCount = progressData?.selfEkycCountInZones || 0;\n const submittedKnos = progressData?.submittedKnosInZones || 0;\n const pendingKnos = progressData?.pendingKnos || 0;\n const progressPercent = progressData?.overallProgressPercent || 0;\n\n return [\n {\n label: \"TOTAL_KNOS\",\n count: totalKnos,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaDatabase />,\n },\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: totalAssignments,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaFileAlt />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: completedKnos,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"EKYC_SUBMITTED_BY_VENDORS\",\n count: submittedKnos,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaBuilding />,\n },\n {\n label: \"EKYC_SUBMITTED_BY_CITIZEN\",\n count: selfEkycCount,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaUser />,\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 (fromDate, toDate) => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n // Vendor-specific filter\n vendorId: targetVendorId,\n reportDownload: true,\n ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\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\",\n \"source\",\n \"assignedAt\",\n \"connectionType\",\n \"approvedAt\",\n \"alternateMobileNo\",\n \"city\",\n \"state\",\n \"addressType\",\n \"addressProofType\",\n \"mrcode\",\n \"areacode\",\n \"verificationStatus\",\n \"surveyorId\",\n \"supervisorId\",\n \"vendorId\",\n \"assignmentType\",\n \"assignmentValue\",\n \"assignedTime\",\n \"isSelfAssigned\",\n \"userType\",\n \"tenantName\",\n \"tenantMobile\",\n \"doorPhotoFilestoreId\",\n \"panFilestoreId\",\n \"documentProofFilestoreId\",\n \"buildingImageFileStoreId\",\n \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\",\n \"modifiedBy\",\n \"zoneCode\",\n \"propertyType\",\n \"subPropertyCategory\",\n ];\n\n const headerMapping = {\n kno: t(\"KNO\"),\n firstName: t(\"FIRST_NAME\"),\n middleName: t(\"MIDDLE_NAME\"),\n lastName: t(\"LAST_NAME\"),\n status: t(\"STATUS\"),\n ekycStatus: t(\"EKYC_STATUS\"),\n zoneName: t(\"ZONE\"),\n zoneCode: t(\"ZONE_CODE\"),\n assembly: t(\"EKYC_ASSEMBLY\"),\n ward: t(\"WARD\"),\n pincode: t(\"EKYC_PINCODE\"),\n addressRaw: t(\"ADDRESS_RAW\"),\n locality: t(\"EKYC_LOCALITY\"),\n subLocality: t(\"SUB_LOCALITY\"),\n flatHouseNumber: t(\"FLAT_HOUSE_NUMBER\"),\n streetName: t(\"STREET_NAME\"),\n landmark: t(\"EKYC_LANDMARK\"),\n city: t(\"CITY\"),\n state: t(\"STATE\"),\n addressType: t(\"ADDRESS_TYPE\"),\n addressProofType: t(\"ADDRESS_PROOF_TYPE\"),\n mobileNo: t(\"MOBILE_NUMBER\"),\n alternateMobileNo: t(\"ALTERNATE_MOBILE_NUMBER\"),\n whatsappNo: t(\"WHATSAPP_NO\"),\n email: t(\"EMAIL\"),\n landlineNo: t(\"LANDLINE_NO\"),\n mrkey: t(\"MR_KEY\"),\n mrcode: t(\"MR_CODE\"),\n areacode: t(\"AREA_CODE\"),\n source: t(\"SOURCE\"),\n submittedAt: t(\"SUBMITTED_AT\"),\n assignedAt: t(\"ASSIGNED_AT\"),\n connectionType: t(\"CONNECTION_TYPE\"),\n Type: t(\"CONSUMER_TYPE\"),\n occupantType: t(\"OCCUPANT_TYPE\"),\n knoCategory: t(\"KNO_CATEGORY\"),\n approvedAt: t(\"APPROVED_AT\"),\n gender: t(\"GENDER\"),\n parentSpouse: t(\"PARENT_SPOUSE\"),\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\n relationship: t(\"RELATIONSHIP\"),\n informantName: t(\"INFORMANT_NAME\"),\n informantRelation: t(\"INFORMANT_RELATION\"),\n informantIs: t(\"INFORMANT_IS\"),\n contactPerson: t(\"CONTACT_PERSON\"),\n relation: t(\"RELATION\"),\n entityName: t(\"ENTITY_NAME\"),\n designation: t(\"DESIGNATION\"),\n department: t(\"DEPARTMENT\"),\n employeeId: t(\"EMPLOYEE_ID\"),\n ownerMobile: t(\"OWNER_MOBILE\"),\n ownerVerificationDone: t(\"OWNER_VERIFICATION_DONE\"),\n consentGiven: t(\"CONSENT_GIVEN\"),\n proofOfIdentityType: t(\"PROOF_OF_IDENTITY_TYPE\"),\n documentNumber: t(\"DOCUMENT_NUMBER\"),\n noOfPerson: t(\"NUMBER_OF_PERSON\"),\n latitude: t(\"LATITUDE\"),\n longitude: t(\"LONGITUDE\"),\n gpsValid: t(\"GPS_VALID\"),\n meterNumber: t(\"METER_NUMBER\"),\n meterMake: t(\"METER_MAKE\"),\n meterStatus: t(\"METER_STATUS\"),\n meterCondition: t(\"METER_CONDITION\"),\n meterLocation: t(\"METER_LOCATION\"),\n meterLocationAddress: t(\"METER_LOCATION_ADDRESS\"),\n workingStatus: t(\"WORKING_STATUS\"),\n sewerConnection: t(\"SEWER_CONNECTION\"),\n septicTank: t(\"SEPTIC_TANK\"),\n lastBillRaised: t(\"LAST_BILL_RAISED\"),\n lastBillReceivedDate: t(\"LAST_BILL_RECEIVED_DATE\"),\n accessToMeter: t(\"ACCESS_TO_METER\"),\n systemMeterId: t(\"SYSTEM_METER_ID\"),\n lastBillNotRaisedReason: t(\"LAST_BILL_NOT_RAISED_REASON\"),\n waterConnectionYears: t(\"WATER_CONNECTION_YEARS\"),\n sewerConnectionYears: t(\"SEWER_CONNECTION_YEARS\"),\n pidNumber: t(\"PID_NUMBER\"),\n propertyType: t(\"PROPERTY_TYPE\"),\n subPropertyCategory: t(\"SUB_PROPERTY_CATEGORY\"),\n noOfFloor: t(\"NO_OF_FLOOR\"),\n noOfRooms: t(\"NO_OF_ROOMS\"),\n noOfBeds: t(\"NO_OF_BEDS\"),\n numberOfDwellingUnits: t(\"NUMBER_OF_DWELLING_UNITS\"),\n floorNo: t(\"FLOOR_NO\"),\n userType: t(\"USER_TYPE\"),\n tenantName: t(\"TENANT_NAME\"),\n tenantMobile: t(\"TENANT_MOBILE\"),\n verificationStatus: t(\"VERIFICATION_STATUS\"),\n houseBuiltDuration: t(\"HOUSE_BUILT_DURATION\"),\n surveyorId: t(\"SURVEYOR_ID\"),\n supervisorId: t(\"SUPERVISOR_ID\"),\n vendorId: t(\"VENDOR_ID\"),\n assignmentType: t(\"ASSIGNMENT_TYPE\"),\n assignmentValue: t(\"ASSIGNMENT_VALUE\"),\n assignedTime: t(\"ASSIGNED_TIME\"),\n isSelfAssigned: t(\"IS_SELF_ASSIGNED\"),\n doorPhotoFilestoreId: t(\"DOOR_PHOTO_FILESTORE_ID\"),\n panFilestoreId: t(\"PAN_FILESTORE_ID\"),\n documentProofFilestoreId: t(\"DOCUMENT_PROOF_FILESTORE_ID\"),\n buildingImageFileStoreId: t(\"BUILDING_IMAGE_FILESTORE_ID\"),\n propertyDocumentFileStoreId: t(\"PROPERTY_DOCUMENT_FILESTORE_ID\"),\n meterPhotoFileStoreId: t(\"METER_PHOTO_FILESTORE_ID\"),\n modifiedBy: t(\"MODIFIED_BY\"),\n emailId: t(\"EMAIL_ID\"),\n dob: t(\"DOB\"),\n consumerType: t(\"CONSUMER_TYPE\"),\n createdTime: t(\"CREATED_TIME\"),\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\"),\n meterLatitude: t(\"EKYC_METER_LATITUDE1\"),\n meterLongitude: t(\"EKYC_METER_LONGITUDE1\"),\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n let cleanStr = String(str);\n if (cleanStr.includes(\".\") && !cleanStr.includes(\"@\") && isNaN(Number(cleanStr))) {\n cleanStr = cleanStr.split(\".\").pop();\n }\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const skipTitleCase = [\n \"kno\",\n \"mobileNumber\",\n \"emailId\",\n \"email\",\n \"pincode\",\n \"mrkey\",\n \"dob\",\n \"createdTime\",\n \"lastModifiedTime\",\n \"meterLatitude\",\n \"meterLongitude\",\n ];\n const translatedFields = [\"meterMake\", \"meterLocation\"];\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 let val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n if (String(val).toLowerCase() === \"true\") {\n val = t(\"CS_YES\");\n } else if (String(val).toLowerCase() === \"false\") {\n val = t(\"CS_NO\");\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && translatedFields.includes(key)) {\n cleanObj[friendlyHeader] = t(val);\n } else 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_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 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 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 }) => <span className={`status-badge verified`}>{t(value) || value}</span>,\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 }\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(range.from.getTime(), range.to.getTime());\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 setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(from.getTime(), to.getTime());\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\">\n <button className=\"download-btn\" disabled={reportLoading} onClick={handleDownload}>\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard key={idx} title={t(card.label)} value={card.count} type={card.type} isLoading={isPageLoading} icon={card.icon} />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Top Row: Mobile, Email, and Download eKYC Data */}\n <div className=\"details-top-row\">\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=\"download-card\">\n <div>\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") || \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n <MdDownloadIcon />\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\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-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={() => {\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button className=\"picker-apply-btn\" onClick={handleCustomDownload}>\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Bottom Row: Assigned Zones Full Width */}\n <div className=\"full-width-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONES\") || \"Assigned Zones\"}</span>\n <span className=\"value\">\n {zoneIds.length > 0 ? (\n <div className=\"selected-zones\" style={{ marginTop: \"4px\", width: \"100%\", display: \"flex\", flexWrap: \"wrap\", gap: \"8px\" }}>\n {zoneIds.map((zone) => (\n <span key={zone} className=\"selected-zone-chip\">\n {t(zone) || zone}\n </span>\n ))}\n </div>\n ) : (\n \"N/A\"\n )}\n </span>\n </div>\n </div>\n </div>\n\n <div className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\"}\n tableClass=\"ekycTable\"\n isTableScrollable={true}\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={() => setCurrentPage(0)}\n onLastPage={() => setCurrentPage(Math.max(Math.ceil(vendorSupervisors.length / pageSize) - 1, 0))}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\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: Math.floor(offset / limit),\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\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 // Fetch vendors from DSO search to get vendor ID for progress API\n // const { data: vendorSearchResponse } = Digit.Hooks.fsm.useDsoSearch(\n // tenantId,\n // { status: \"ACTIVE\" },\n // { enabled: !!tenantId, staleTime: 300000 }\n // );\n\n // const { targetVendorId, allVendorIds } = useMemo(() => {\n // if (!vendorSearchResponse || vendorSearchResponse.length === 0) {\n // return { targetVendorId: null, allVendorIds: [] };\n // }\n // const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n // const userUuid = loggedInUser?.uuid;\n // const userMobile = loggedInUser?.mobileNumber;\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 // const allIds = vendorSearchResponse\n // .map((v) => {\n // const dso = v.dsoDetails || v;\n // return dso.id || dso.vendorId || v.id || v.vendorId;\n // })\n // .filter(Boolean);\n\n // const matched = vendorSearchResponse.find((v) => matchesUser(v.dsoDetails || v));\n // let matchedId = null;\n // if (matched) {\n // const dso = matched.dsoDetails || matched;\n // matchedId = dso.id || dso.vendorId || matched.id || matched.vendorId;\n // }\n\n // return { targetVendorId: matchedId, allVendorIds: allIds };\n // }, [vendorSearchResponse]);\n\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n { tenantId, allVendorsDetailed: true },\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\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 { t } = useTranslation();\n\n const progressMetrics = useMemo(() => {\n if (!progressData) return { totalKnos: 0, submittedKnos: 0, pendingKnos: 0, progressPercent: 0 };\n\n const totalKnos = progressData?.totalKnos ?? progressData?.totalAssignments ?? 0;\n const submittedKnos = progressData?.submittedKnos ?? 0;\n const pendingKnos = progressData?.pendingKnos ?? (totalKnos >= submittedKnos ? totalKnos - submittedKnos : 0);\n const progressPercent =\n progressData?.overallProgressPercent ?? progressData?.progressPercent ?? (totalKnos > 0 ? ((submittedKnos / totalKnos) * 100).toFixed(1) : 0);\n\n return {\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }, [progressData]);\n\n const cards = useMemo(\n () => [\n {\n label: t(\"TOTAL_EKYC_APPLICATIONS\"),\n count: progressMetrics?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: t(\"EKYC_COMPLETED\"),\n count: progressMetrics?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: t(\"PENDING_APPLICATIONS\"),\n count: progressMetrics?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: t(\"OVERALL_PROGRESS\"),\n count: `${progressMetrics?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ],\n [progressMetrics, t]\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 {/* 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 key={idx} title={t(card.label)} value={card.count} type={card.type} isLoading={isProgressLoading} icon={card.icon} />\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 normalizeVal = (v) => (v === null || v === undefined || v === \"\" ? \"\" : String(v));\n const isChanged = oldData && valOld !== undefined && normalizeVal(valNew) !== normalizeVal(valOld);\n\n return (\n <tr key={idx} style={{ borderTop: \"1px solid #F2F4F7\" }}>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#344054\", fontWeight: \"500\" }}>{field.preTranslated ? field.label : 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 isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n\n // Dynamically resolve the primary EKYC role of the logged-in user\n // const EKYC_ROLE_PRIORITY = [\"EKYC_ZRO\", \"ZRO\", \"EKYC_SUPERVISOR\", \"EKYC_SURVEYOR\", \"EKYC_VENDOR\"];\n // const currentUserRole = EKYC_ROLE_PRIORITY.find((r) => userRoles.includes(r)) || userRoles[0] || \"EMPLOYEE\";\n\n const isStatusView = location.pathname.includes(\"/status/\");\n const hideEditButton = (isSupervisorOrSurveyorOrVendor && !isZRO) || isStatusView;\n\n // ── Data Consolidation (kept for approve/reject submit payloads) ──────────\n const { newData: apiNewData, oldData: apiOldData } = extractReviewData(searchData, flowState);\n\n // Flatten all sub-objects so headerMapping flat keys (kno, mobileNo, meterNumber etc.) are accessible\n const flatNewData = apiNewData ? {\n ...(apiNewData || {}),\n ...(apiNewData?.connectionDetails || {}),\n ...(apiNewData?.addressDetails || {}),\n ...(apiNewData?.propertyInfo || {}),\n ...(apiNewData?.meterDetails || {}),\n } : null;\n const flatOldData = apiOldData ? {\n ...(apiOldData || {}),\n ...(apiOldData?.connectionDetails || {}),\n ...(apiOldData?.addressDetails || {}),\n ...(apiOldData?.propertyInfo || {}),\n ...(apiOldData?.meterDetails || {}),\n } : null;\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 || 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 || 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 || apiMeter?.meterPhotoFilestoreId,\n },\n };\n };\n\n const newDataRaw = prepareConsolidatedData(apiNewData);\n const oldDataRaw = prepareConsolidatedData(apiOldData);\n\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\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 // ── All-fields mapping (headerMapping keys match flat API response keys) ──\n const headerMapping = [\n { key: \"kno\", label: \"KNO\" },\n { key: \"firstName\", label: \"FIRST_NAME\" },\n { key: \"middleName\", label: \"MIDDLE_NAME\" },\n { key: \"lastName\", label: \"LAST_NAME\" },\n { key: \"status\", label: \"STATUS\" },\n { key: \"ekycStatus\", label: \"EKYC_STATUS\" },\n { key: \"zoneName\", label: \"ZONE\" },\n { key: \"zoneCode\", label: \"ZONE_CODE\" },\n { key: \"assembly\", label: \"EKYC_ASSEMBLY\" },\n { key: \"ward\", label: \"WARD\" },\n { key: \"pincode\", label: \"EKYC_PINCODE\" },\n { key: \"addressRaw\", label: \"ADDRESS_RAW\" },\n { key: \"locality\", label: \"EKYC_LOCALITY\" },\n { key: \"subLocality\", label: \"SUB_LOCALITY\" },\n { key: \"flatHouseNumber\", label: \"FLAT_HOUSE_NUMBER\" },\n { key: \"streetName\", label: \"STREET_NAME\" },\n { key: \"landmark\", label: \"EKYC_LANDMARK\" },\n { key: \"city\", label: \"CITY\" },\n { key: \"state\", label: \"STATE\" },\n { key: \"addressType\", label: \"ADDRESS_TYPE\" },\n { key: \"addressProofType\", label: \"ADDRESS_PROOF_TYPE\" },\n { key: \"mobileNo\", label: \"MOBILE_NUMBER\" },\n { key: \"alternateMobileNo\", label: \"ALTERNATE_MOBILE_NUMBER\" },\n { key: \"whatsappNo\", label: \"WHATSAPP_NO\" },\n { key: \"email\", label: \"EMAIL\" },\n { key: \"landlineNo\", label: \"LANDLINE_NO\" },\n { key: \"mrkey\", label: \"MR_KEY\" },\n { key: \"mrcode\", label: \"MR_CODE\" },\n { key: \"areacode\", label: \"AREA_CODE\" },\n { key: \"source\", label: \"SOURCE\" },\n { key: \"submittedAt\", label: \"SUBMITTED_AT\" },\n { key: \"assignedAt\", label: \"ASSIGNED_AT\" },\n { key: \"connectionType\", label: \"CONNECTION_TYPE\" },\n { key: \"Type\", label: \"CONSUMER_TYPE\" },\n { key: \"occupantType\", label: \"OCCUPANT_TYPE\" },\n { key: \"knoCategory\", label: \"KNO_CATEGORY\" },\n { key: \"approvedAt\", label: \"APPROVED_AT\" },\n { key: \"gender\", label: \"GENDER\" },\n { key: \"parentSpouse\", label: \"PARENT_SPOUSE\" },\n { key: \"fatherOrHusbandName\", label: \"FATHER_HUSBUND_NAME\" },\n { key: \"relationship\", label: \"RELATIONSHIP\" },\n { key: \"informantName\", label: \"INFORMANT_NAME\" },\n { key: \"informantRelation\", label: \"INFORMANT_RELATION\" },\n { key: \"informantIs\", label: \"INFORMANT_IS\" },\n { key: \"contactPerson\", label: \"CONTACT_PERSON\" },\n { key: \"relation\", label: \"RELATION\" },\n { key: \"entityName\", label: \"ENTITY_NAME\" },\n { key: \"designation\", label: \"DESIGNATION\" },\n { key: \"department\", label: \"DEPARTMENT\" },\n { key: \"employeeId\", label: \"EMPLOYEE_ID\" },\n { key: \"ownerMobile\", label: \"OWNER_MOBILE\" },\n { key: \"ownerVerificationDone\", label: \"OWNER_VERIFICATION_DONE\", isBool: true },\n { key: \"consentGiven\", label: \"CONSENT_GIVEN\", isBool: true },\n { key: \"proofOfIdentityType\", label: \"PROOF_OF_IDENTITY_TYPE\" },\n { key: \"documentNumber\", label: \"DOCUMENT_NUMBER\" },\n { key: \"noOfPerson\", label: \"NUMBER_OF_PERSON\" },\n { key: \"latitude\", label: \"LATITUDE\" },\n { key: \"longitude\", label: \"LONGITUDE\" },\n { key: \"gpsValid\", label: \"GPS_VALID\", isBool: true },\n { key: \"meterNumber\", label: \"METER_NUMBER\" },\n { key: \"meterMake\", label: \"METER_MAKE\" },\n { key: \"meterStatus\", label: \"METER_STATUS\" },\n { key: \"meterCondition\", label: \"METER_CONDITION\" },\n { key: \"meterLocation\", label: \"METER_LOCATION\" },\n { key: \"meterLocationAddress\", label: \"METER_LOCATION_ADDRESS\" },\n { key: \"workingStatus\", label: \"WORKING_STATUS\" },\n { key: \"sewerConnection\", label: \"SEWER_CONNECTION\", isBool: true },\n { key: \"septicTank\", label: \"SEPTIC_TANK\", isBool: true },\n { key: \"lastBillRaised\", label: \"LAST_BILL_RAISED\", isBool: true },\n { key: \"lastBillReceivedDate\", label: \"LAST_BILL_RECEIVED_DATE\" },\n { key: \"accessToMeter\", label: \"ACCESS_TO_METER\", isBool: true },\n { key: \"systemMeterId\", label: \"SYSTEM_METER_ID\" },\n { key: \"lastBillNotRaisedReason\", label: \"LAST_BILL_NOT_RAISED_REASON\" },\n { key: \"waterConnectionYears\", label: \"WATER_CONNECTION_YEARS\" },\n { key: \"sewerConnectionYears\", label: \"SEWER_CONNECTION_YEARS\" },\n { key: \"pidNumber\", label: \"PID_NUMBER\" },\n { key: \"propertyType\", label: \"PROPERTY_TYPE\" },\n { key: \"subPropertyCategory\", label: \"SUB_PROPERTY_CATEGORY\" },\n { key: \"noOfFloor\", label: \"NO_OF_FLOOR\" },\n { key: \"noOfRooms\", label: \"NO_OF_ROOMS\" },\n { key: \"noOfBeds\", label: \"NO_OF_BEDS\" },\n { key: \"numberOfDwellingUnits\", label: \"NUMBER_OF_DWELLING_UNITS\" },\n { key: \"floorNo\", label: \"FLOOR_NO\" },\n { key: \"userType\", label: \"USER_TYPE\" },\n { key: \"tenantName\", label: \"TENANT_NAME\" },\n { key: \"tenantMobile\", label: \"TENANT_MOBILE\" },\n { key: \"verificationStatus\", label: \"VERIFICATION_STATUS\" },\n { key: \"houseBuiltDuration\", label: \"HOUSE_BUILT_DURATION\" },\n { key: \"surveyorId\", label: \"SURVEYOR_ID\" },\n { key: \"supervisorId\", label: \"SUPERVISOR_ID\" },\n { key: \"vendorId\", label: \"VENDOR_ID\" },\n { key: \"assignmentType\", label: \"ASSIGNMENT_TYPE\" },\n { key: \"assignmentValue\", label: \"ASSIGNMENT_VALUE\" },\n { key: \"assignedTime\", label: \"ASSIGNED_TIME\" },\n { key: \"isSelfAssigned\", label: \"IS_SELF_ASSIGNED\", isBool: true },\n { key: \"modifiedBy\", label: \"MODIFIED_BY\" },\n { key: \"emailId\", label: \"EMAIL_ID\" },\n { key: \"dob\", label: \"DOB\" },\n { key: \"consumerType\", label: \"CONSUMER_TYPE\" },\n { key: \"createdTime\", label: \"CREATED_TIME\" },\n { key: \"lastModifiedTime\", label: \"LAST_MODIFIED_TIME\" },\n { key: \"meterLatitude\", label: \"EKYC_METER_LATITUDE1\" },\n { key: \"meterLongitude\", label: \"EKYC_METER_LONGITUDE1\" },\n ];\n\n const handleDeclaration = () => setAgree(!agree);\n\n const loggedInUserInfo = Digit.UserService.getUser()?.info;\n\n const { data: userData } = Digit.Hooks.useUserSearch(\n tenantId,\n { uuid: [loggedInUserInfo?.uuid] },\n {},\n { enabled: !!loggedInUserInfo?.uuid }\n );\n const supervisorData = userData?.user || [];\n\n const matchedSupervisor = supervisorData?.find(\n (s) => s?.uuid === loggedInUserInfo?.uuid || s?.userName === loggedInUserInfo?.userName\n );\n const supervisorId = matchedSupervisor?.uuid || loggedInUserInfo?.uuid;\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: supervisorId,\n // role: currentUserRole,\n role: \"ZRO\"\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: true,\n label: t(\"EKYC_APPLICATION_REJECT_SUCCESSFUL\") || \"Application Rejected Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Reject Error:\", err);\n const errMsg =\n err?.message ||\n err?.response?.data?.message ||\n err?.response?.data?.Errors?.[0]?.message ||\n err?.Errors?.[0]?.message ||\n t(\"EKYC_REJECT_ERROR\") || \"Reject failed. Please try again.\";\n setToastData({ error: true, label: errMsg });\n setShowToast(true);\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: supervisorId,\n // role: currentUserRole,\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 const errMsg =\n err?.response?.data?.Errors?.[0]?.message ||\n err?.Errors?.[0]?.message ||\n err?.message ||\n t(\"EKYC_APPROVE_ERROR\") || \"Approve failed. Please try again.\";\n setToastData({ error: true, label: errMsg });\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 = async (fileStoreId) => {\n if (!fileStoreId) return;\n try {\n const response = await Digit.UploadServices.FileFetchbyid(fileStoreId, tenantId);\n if (response?.data) {\n const blobUrl = URL.createObjectURL(response.data);\n setPreviewUrl(blobUrl);\n setShowPreview(true);\n }\n } catch (error) {\n console.error(\"Error fetching document:\", error);\n }\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\n return (\n <Fragment>\n <Card className=\"overflow-y-scroll\">\n {/* ── All Details (from headerMapping) ──────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_ALL_DETAILS\") || \"All Details\"}\n fields={headerMapping}\n newData={flatNewData}\n oldData={flatOldData}\n t={t}\n hideEditButton={true}\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\n\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 } from \"react\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport Dashboard from \"./Dashboard\";\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\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 const allVendorIds = useMemo(() => {\n if (!vendorSearchResponse) return [];\n return vendorSearchResponse\n .map((v) => {\n const dso = v.dsoDetails || v;\n return dso.id || dso.vendorId || v.id || v.vendorId;\n })\n .filter(Boolean);\n }, [vendorSearchResponse]);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n {\n tenantId,\n allVendorsDetailed: true,\n },\n {\n enabled: !!tenantId && allVendorIds.length > 0,\n keepPreviousData: true,\n }\n );\n\n return (\n <Card className=\"surveyor-dashboard\">\n <Dashboard />\n <div className=\"admin-performance-section\">\n <h3 className=\"section-title\">{t(\"EKYC_VENDORS_PERFORMANCE\") || \"eKYC Vendors Performance\"}</h3>\n\n {isVendorSearchLoading || isProgressLoading ? (\n <Loader />\n ) : (\n <div className=\"vendors-grid\">\n {/* Self eKYC */}\n {/* Commented by Avinash This part will be uncommented when this part will be developed from backend in future */}\n {/* <div className=\"vendor-perf-card self-ekyc-card\" onClick={() => history.push(`/digit-ui/employee/ekyc/self`)}>\n <div className=\"card-header\">\n <div className=\"vendor-info\">\n <h4>{t(\"SELF_EKYC\") || \"Self eKYC\"}</h4>\n <p>{t(\"SELF_EKYC_BY_USERS\") || \"eKYC completed directly by users\"}</p>\n </div>\n\n <span className=\"kno-count-badge\">{11111 || 0}%</span>\n </div>\n\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${11111 || 0}%` }} />\n </div>\n\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <div className=\"value completed-val\">{11111 || 0}</div>\n <div className=\"label\">{t(\"COMPLETED\") || \"Completed\"}</div>\n </div>\n\n <div className=\"stat-item\">\n <div className=\"value\">{11111 || 0}</div>\n <div className=\"label\">{t(\"PENDING\") || \"Pending\"}</div>\n </div>\n\n <div className=\"stat-item\">\n <div className=\"value\">{11111 || 0}</div>\n <div className=\"label\">{t(\"TOTAL\") || \"Total\"}</div>\n </div>\n </div>\n\n <div className=\"card-footer\">\n <span>{t(\"SELF_EKYC\") || \"Self eKYC\"}</span>\n\n <span>{t(\"USERS\") || \"Users\"}</span>\n </div>\n </div> */}\n\n {/* Vendors */}\n {Array.isArray(progressData?.vendorReports) &&\n progressData?.vendorReports.length &&\n progressData?.vendorReports.map((vendor) => (\n <div\n key={vendor.vendorId}\n className=\"vendor-perf-card\"\n onClick={() => history.push(`/digit-ui/employee/ekyc/vendors/${vendor.vendorId}`)}\n >\n {/* Header */}\n <div className=\"vendor-card-header\">\n <div className=\"vendor-title\">\n <div className=\"vendor-icon\">\n <span>{vendor.vendorName?.[0]?.toUpperCase()}</span>\n </div>\n\n <div>\n <h4>{vendor.vendorName}</h4>\n <span className=\"vendor-subtitle\">{t(\"EKYC_VENDOR\") || \"eKYC Vendor\"}</span>\n </div>\n </div>\n\n <div className=\"kno-count-badge\">\n <span className=\"kno-count-label\">{t(\"TOTAL_KNOS\") || \"Total KNOs\"} -</span>\n <span className=\"kno-count-value\">{vendor.totalKnosInZones}</span>\n </div>\n </div>\n\n {/* Progress */}\n <div className=\"progress-section\">\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${vendor.progressPercent}%` }} />\n </div>\n\n <div className=\"progress-label\">\n <span>{t(\"PROGRESS\") || \"Progress\"}</span>\n <span>{vendor.progressPercent}%</span>\n </div>\n </div>\n\n {/* Team */}\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <span className=\"stat-value\">{vendor.totalSupervisors}</span>\n <span className=\"stat-label\">{t(\"SUPERVISORS\") || \"Supervisors\"}</span>\n </div>\n\n <div className=\"stat-item\">\n <span className=\"stat-value\">{vendor.totalSurveyors}</span>\n <span className=\"stat-label\">{t(\"SURVEYORS\") || \"Surveyors\"}</span>\n </div>\n\n <div className=\"stat-item\">\n <span className=\"stat-value\">{vendor.totalKnos}</span>\n <span className=\"stat-label\">{t(\"TOTAL_KNOS\") || \"Total KNOs\"}</span>\n </div>\n </div>\n\n {/* Status */}\n <div className=\"knos-summary\">\n <div className=\"kno-stat\">\n <span className=\"kno-label\">{t(\"SUBMITTED\") || \"Submitted\"}</span>\n <strong>{vendor.submittedKnos}</strong>\n </div>\n\n <div className=\"kno-stat pending\">\n <span className=\"kno-label\">{t(\"PENDING\") || \"Pending\"}</span>\n <strong>{vendor.pendingKnos}</strong>\n </div>\n\n <div className=\"kno-stat rejected\">\n <span className=\"kno-label\">{t(\"REJECTED\") || \"Rejected\"}</span>\n <strong>{vendor.rejectedKnos}</strong>\n </div>\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\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 } 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 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 // Resolve vendorId of this supervisor if available\n const targetVendorId = useMemo(() => {\n const targetId = supervisorId || loggedInUser?.uuid;\n if (!targetId || !supervisorSearchResponse?.supervisors) return null;\n const matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n return matchedSup?.vendorId || null;\n }, [supervisorId, loggedInUser, supervisorSearchResponse]);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n targetVendorId ? { vendorId: targetVendorId, vendorIds: [targetVendorId] } : {},\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\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) => s.owner?.uuid?.toLowerCase() === targetOwnerOrId?.toLowerCase() || 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) => s.supervisorId?.toLowerCase() === targetId?.toLowerCase() || 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 )\n continue;\n const matchedSurv = report.surveyors?.find(\n (s) =>\n (s.surveyorId &&\n (s.surveyorId?.toLowerCase() === surv.id?.toLowerCase() ||\n 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 email: surv.owner?.emailId || \"N/A\",\n gender: surv.owner?.gender || \"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 email: matchedSup.owner?.emailId || matchedSup.owner?.email || matchedSup.email || matchedSup.emailId || \"N/A\",\n gender: matchedSup.owner?.gender || matchedSup.gender || \"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 matchedSupForFallback = supervisorSearchResponse?.supervisors?.find(\n (s) =>\n s.id?.toLowerCase() === (progressReport.supervisorId || progressReport.id)?.toLowerCase() ||\n s.owner?.uuid?.toLowerCase() === (progressReport.supervisorId || progressReport.id)?.toLowerCase()\n );\n\n const email =\n matchedSupForFallback?.owner?.emailId ||\n matchedSupForFallback?.owner?.email ||\n matchedSupForFallback?.email ||\n (isSelf ? loggedInUser?.emailId : null) ||\n progressReport.email ||\n \"N/A\";\n const gender =\n matchedSupForFallback?.owner?.gender ||\n matchedSupForFallback?.gender ||\n (isSelf ? loggedInUser?.gender : null) ||\n progressReport.gender ||\n \"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 email: matchedSurv?.owner?.emailId || matchedSurv?.owner?.email || matchedSurv?.email || surv.email || \"N/A\",\n gender: matchedSurv?.owner?.gender || matchedSurv?.gender || surv.gender || \"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 email,\n gender,\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 = supervisor?.email || (supervisor?.supervisorId === loggedInUser?.uuid ? loggedInUser?.emailId : null) || \"N/A\";\n const gender = supervisor?.gender || (supervisor?.supervisorId === loggedInUser?.uuid ? loggedInUser?.gender : null) || \"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) =>\n 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 {\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\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 }) => <span className={`status-badge verified`}>{t(value) || value}</span>,\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 }\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(range.from.getTime(), range.to.getTime());\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 setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(from.getTime(), to.getTime());\n };\n\n const handleDownloadEkycData = async (fromDate, toDate) => {\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 supervisorId: supervisor?.supervisorId || supervisorId,\n reportDownload: true,\n ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\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\",\n \"source\",\n \"assignedAt\",\n \"connectionType\",\n \"approvedAt\",\n \"alternateMobileNo\",\n \"city\",\n \"state\",\n \"addressType\",\n \"addressProofType\",\n \"mrcode\",\n \"areacode\",\n \"verificationStatus\",\n \"surveyorId\",\n \"supervisorId\",\n \"vendorId\",\n \"assignmentType\",\n \"assignmentValue\",\n \"assignedTime\",\n \"isSelfAssigned\",\n \"userType\",\n \"tenantName\",\n \"tenantMobile\",\n \"doorPhotoFilestoreId\",\n \"panFilestoreId\",\n \"documentProofFilestoreId\",\n \"buildingImageFileStoreId\",\n \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\",\n \"modifiedBy\",\n \"zoneCode\",\n \"propertyType\",\n \"subPropertyCategory\",\n ];\n\n const headerMapping = {\n kno: t(\"KNO\"),\n firstName: t(\"FIRST_NAME\"),\n middleName: t(\"MIDDLE_NAME\"),\n lastName: t(\"LAST_NAME\"),\n status: t(\"STATUS\"),\n ekycStatus: t(\"EKYC_STATUS\"),\n zoneName: t(\"ZONE\"),\n zoneCode: t(\"ZONE_CODE\"),\n assembly: t(\"EKYC_ASSEMBLY\"),\n ward: t(\"WARD\"),\n pincode: t(\"EKYC_PINCODE\"),\n addressRaw: t(\"ADDRESS_RAW\"),\n locality: t(\"EKYC_LOCALITY\"),\n subLocality: t(\"SUB_LOCALITY\"),\n flatHouseNumber: t(\"FLAT_HOUSE_NUMBER\"),\n streetName: t(\"STREET_NAME\"),\n landmark: t(\"EKYC_LANDMARK\"),\n city: t(\"CITY\"),\n state: t(\"STATE\"),\n addressType: t(\"ADDRESS_TYPE\"),\n addressProofType: t(\"ADDRESS_PROOF_TYPE\"),\n mobileNo: t(\"MOBILE_NUMBER\"),\n alternateMobileNo: t(\"ALTERNATE_MOBILE_NUMBER\"),\n whatsappNo: t(\"WHATSAPP_NO\"),\n email: t(\"EMAIL\"),\n landlineNo: t(\"LANDLINE_NO\"),\n mrkey: t(\"MR_KEY\"),\n mrcode: t(\"MR_CODE\"),\n areacode: t(\"AREA_CODE\"),\n source: t(\"SOURCE\"),\n submittedAt: t(\"SUBMITTED_AT\"),\n assignedAt: t(\"ASSIGNED_AT\"),\n connectionType: t(\"CONNECTION_TYPE\"),\n Type: t(\"CONSUMER_TYPE\"),\n occupantType: t(\"OCCUPANT_TYPE\"),\n knoCategory: t(\"KNO_CATEGORY\"),\n approvedAt: t(\"APPROVED_AT\"),\n gender: t(\"GENDER\"),\n parentSpouse: t(\"PARENT_SPOUSE\"),\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\n relationship: t(\"RELATIONSHIP\"),\n informantName: t(\"INFORMANT_NAME\"),\n informantRelation: t(\"INFORMANT_RELATION\"),\n informantIs: t(\"INFORMANT_IS\"),\n contactPerson: t(\"CONTACT_PERSON\"),\n relation: t(\"RELATION\"),\n entityName: t(\"ENTITY_NAME\"),\n designation: t(\"DESIGNATION\"),\n department: t(\"DEPARTMENT\"),\n employeeId: t(\"EMPLOYEE_ID\"),\n ownerMobile: t(\"OWNER_MOBILE\"),\n ownerVerificationDone: t(\"OWNER_VERIFICATION_DONE\"),\n consentGiven: t(\"CONSENT_GIVEN\"),\n proofOfIdentityType: t(\"PROOF_OF_IDENTITY_TYPE\"),\n documentNumber: t(\"DOCUMENT_NUMBER\"),\n noOfPerson: t(\"NUMBER_OF_PERSON\"),\n latitude: t(\"LATITUDE\"),\n longitude: t(\"LONGITUDE\"),\n gpsValid: t(\"GPS_VALID\"),\n meterNumber: t(\"METER_NUMBER\"),\n meterMake: t(\"METER_MAKE\"),\n meterStatus: t(\"METER_STATUS\"),\n meterCondition: t(\"METER_CONDITION\"),\n meterLocation: t(\"METER_LOCATION\"),\n meterLocationAddress: t(\"METER_LOCATION_ADDRESS\"),\n workingStatus: t(\"WORKING_STATUS\"),\n sewerConnection: t(\"SEWER_CONNECTION\"),\n septicTank: t(\"SEPTIC_TANK\"),\n lastBillRaised: t(\"LAST_BILL_RAISED\"),\n lastBillReceivedDate: t(\"LAST_BILL_RECEIVED_DATE\"),\n accessToMeter: t(\"ACCESS_TO_METER\"),\n systemMeterId: t(\"SYSTEM_METER_ID\"),\n lastBillNotRaisedReason: t(\"LAST_BILL_NOT_RAISED_REASON\"),\n waterConnectionYears: t(\"WATER_CONNECTION_YEARS\"),\n sewerConnectionYears: t(\"SEWER_CONNECTION_YEARS\"),\n pidNumber: t(\"PID_NUMBER\"),\n propertyType: t(\"PROPERTY_TYPE\"),\n subPropertyCategory: t(\"SUB_PROPERTY_CATEGORY\"),\n noOfFloor: t(\"NO_OF_FLOOR\"),\n noOfRooms: t(\"NO_OF_ROOMS\"),\n noOfBeds: t(\"NO_OF_BEDS\"),\n numberOfDwellingUnits: t(\"NUMBER_OF_DWELLING_UNITS\"),\n floorNo: t(\"FLOOR_NO\"),\n userType: t(\"USER_TYPE\"),\n tenantName: t(\"TENANT_NAME\"),\n tenantMobile: t(\"TENANT_MOBILE\"),\n verificationStatus: t(\"VERIFICATION_STATUS\"),\n houseBuiltDuration: t(\"HOUSE_BUILT_DURATION\"),\n surveyorId: t(\"SURVEYOR_ID\"),\n supervisorId: t(\"SUPERVISOR_ID\"),\n vendorId: t(\"VENDOR_ID\"),\n assignmentType: t(\"ASSIGNMENT_TYPE\"),\n assignmentValue: t(\"ASSIGNMENT_VALUE\"),\n assignedTime: t(\"ASSIGNED_TIME\"),\n isSelfAssigned: t(\"IS_SELF_ASSIGNED\"),\n doorPhotoFilestoreId: t(\"DOOR_PHOTO_FILESTORE_ID\"),\n panFilestoreId: t(\"PAN_FILESTORE_ID\"),\n documentProofFilestoreId: t(\"DOCUMENT_PROOF_FILESTORE_ID\"),\n buildingImageFileStoreId: t(\"BUILDING_IMAGE_FILESTORE_ID\"),\n propertyDocumentFileStoreId: t(\"PROPERTY_DOCUMENT_FILESTORE_ID\"),\n meterPhotoFileStoreId: t(\"METER_PHOTO_FILESTORE_ID\"),\n modifiedBy: t(\"MODIFIED_BY\"),\n emailId: t(\"EMAIL_ID\"),\n dob: t(\"DOB\"),\n consumerType: t(\"CONSUMER_TYPE\"),\n createdTime: t(\"CREATED_TIME\"),\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\"),\n meterLatitude: t(\"EKYC_METER_LATITUDE1\"),\n meterLongitude: t(\"EKYC_METER_LONGITUDE1\"),\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n let cleanStr = String(str);\n if (cleanStr.includes(\".\") && !cleanStr.includes(\"@\") && isNaN(Number(cleanStr))) {\n cleanStr = cleanStr.split(\".\").pop();\n }\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const skipTitleCase = [\n \"kno\",\n \"mobileNumber\",\n \"emailId\",\n \"email\",\n \"pincode\",\n \"mrkey\",\n \"dob\",\n \"createdTime\",\n \"lastModifiedTime\",\n \"meterLatitude\",\n \"meterLongitude\",\n ];\n const translatedFields = [\"meterMake\", \"meterLocation\"];\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 let val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n if (String(val).toLowerCase() === \"true\") {\n val = t(\"CS_YES\");\n } else if (String(val).toLowerCase() === \"false\") {\n val = t(\"CS_NO\");\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && translatedFields.includes(key)) {\n cleanObj[friendlyHeader] = t(val);\n } else 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_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 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 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\">\n <button className=\"download-btn\" disabled={reportLoading} onClick={handleDownload}>\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard key={idx} title={t(card.label)} value={card.count} type={card.type} isLoading={isProgressLoading} icon={card.icon} />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Top Row: Mobile, Email, and Download eKYC Data */}\n <div className=\"details-top-row\">\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=\"download-card\">\n <div>\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") || \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\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\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-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={() => {\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button className=\"picker-apply-btn\" onClick={handleCustomDownload}>\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Bottom Row: Remaining Details */}\n <div className=\"details-grid-row\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{t(gender) || 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\">\n {assignedZone && assignedZone !== \"N/A\" ? (\n <div className=\"selected-zones\" style={{ marginTop: \"4px\" }}>\n <span className=\"selected-zone-chip\">{t(assignedZone.trim().toUpperCase()) || assignedZone}</span>\n </div>\n ) : (\n assignedZone\n )}\n </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 </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\"}\n tableClass=\"ekycTable\"\n isTableScrollable={true}\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;\n","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, isReassign, closeModal, refetchDashboard, tenantId: propsTenantId }) => {\n const { t } = useTranslation();\n const tenantId = propsTenantId || Digit.ULBService.getCurrentTenantId();\n const [selectedKnos, setSelectedKnos] = useState([]);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\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: !isReassign,\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: !isReassign,\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: 0,\n limit: 5000,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const handleAssignmentError = (errMsg) => {\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 setToastData({\n error: true,\n label: t(\"EKYC_KNO_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"kno is already assign with another surveyor\",\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 reassignMutation = Digit.Hooks.ekyc.useEkycAssignmentReassign({\n onSuccess: (response, variables) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n return;\n }\n\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_REASSIGNMENT_SUCCESSFUL\") || \"Reassignment successful\",\n });\n\n setShowToast(true);\n\n setTimeout(async () => {\n if (refetchDashboard) {\n await refetchDashboard();\n }\n if (refetchApplicationList) {\n await refetchApplicationList();\n }\n closeModal();\n }, 1000);\n },\n onError: (error, variables) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n },\n });\n\n const activeMutation = isReassign ? reassignMutation : assignmentMutation;\n\n const allData = useMemo(() => applicationData?.consumerList || [], [applicationData]);\n const totalRecords = allData.length;\n const totalPages = useMemo(() => Math.ceil(totalRecords / pageSize) || 1, [totalRecords, pageSize]);\n\n const paginatedData = useMemo(() => {\n const start = currentPage * pageSize;\n return allData.slice(start, start + pageSize);\n }, [allData, currentPage, pageSize]);\n\n const handleAssign = () => {\n const payload = {\n tenantId: tenantId,\n assignmentType: \"KNO\",\n assignmentValue: selectedKnos,\n };\n\n if (isReassign) {\n payload.newSurveyorId = surveyor?.owner?.uuid;\n } else {\n payload.surveyorId = surveyor?.owner?.uuid;\n }\n\n activeMutation.mutate(payload);\n };\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n const handleSelectAll = (e) => {\n e?.stopPropagation();\n const allMatchingKnos = allData.map((item) => item.kno).filter(Boolean);\n if (allMatchingKnos.length === 0) return;\n\n const isAllSelected = allMatchingKnos.length > 0 && allMatchingKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos(isAllSelected ? [] : allMatchingKnos);\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n setCurrentPage(0);\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => {\n const allMatchingKnos = allData.map((item) => item.kno).filter(Boolean);\n const isAllChecked = allMatchingKnos.length > 0 && allMatchingKnos.every((kno) => selectedKnos.includes(kno));\n return (\n <input\n type=\"checkbox\"\n checked={isAllChecked}\n onChange={(e) => {\n e.stopPropagation();\n handleSelectAll(e);\n }}\n onClick={(e) => e.stopPropagation()}\n />\n );\n },\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return (\n <input\n type=\"checkbox\"\n checked={selectedKnos.includes(kno)}\n onChange={(e) => {\n e.stopPropagation();\n handleSelect(kno);\n }}\n onClick={(e) => e.stopPropagation()}\n />\n );\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, paginatedData, allData]\n );\n\n return (\n <Modal\n headerBarMain={isReassign ? `Reassign KNOs to ${surveyor?.name}` : `Assign KNOs to ${surveyor?.name}`}\n headerBarEnd={<Close onClick={closeModal} />}\n actionCancelLabel=\"Cancel\"\n actionCancelOnSubmit={closeModal}\n actionSaveLabel={isReassign ? t(\"EKYC_REASSIGN_KNOS\") || \"Reassign KNOs\" : 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 disabled\" value={filters.pincode} onChange={(e) => handleFilterChange(\"pincode\", e.target.value)} disabled>\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 isTableScrollable={true}\n data={paginatedData}\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 < totalPages - 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(totalPages - 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(null);\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 handleDownload = async () => {\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 }\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 }\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(range.from.getTime(), range.to.getTime());\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 setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(from.getTime(), to.getTime());\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\" }, { action: \"EKYC_REASSIGN\" }];\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n setShowModal(option.action);\n };\n\n const handleDownloadEkycData = async (fromDate, toDate) => {\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 ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\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\",\n \"source\",\n \"assignedAt\",\n \"connectionType\",\n \"approvedAt\",\n \"alternateMobileNo\",\n \"city\",\n \"state\",\n \"addressType\",\n \"addressProofType\",\n \"mrcode\",\n \"areacode\",\n \"verificationStatus\",\n \"surveyorId\",\n \"supervisorId\",\n \"vendorId\",\n \"assignmentType\",\n \"assignmentValue\",\n \"assignedTime\",\n \"isSelfAssigned\",\n \"userType\",\n \"tenantName\",\n \"tenantMobile\",\n \"doorPhotoFilestoreId\",\n \"panFilestoreId\",\n \"documentProofFilestoreId\",\n \"buildingImageFileStoreId\",\n \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\",\n \"modifiedBy\",\n \"zoneCode\",\n \"propertyType\",\n \"subPropertyCategory\",\n ];\n\n const headerMapping = {\n kno: t(\"KNO\"),\n firstName: t(\"FIRST_NAME\"),\n middleName: t(\"MIDDLE_NAME\"),\n lastName: t(\"LAST_NAME\"),\n status: t(\"STATUS\"),\n ekycStatus: t(\"EKYC_STATUS\"),\n zoneName: t(\"ZONE\"),\n zoneCode: t(\"ZONE_CODE\"),\n assembly: t(\"EKYC_ASSEMBLY\"),\n ward: t(\"WARD\"),\n pincode: t(\"EKYC_PINCODE\"),\n addressRaw: t(\"ADDRESS_RAW\"),\n locality: t(\"EKYC_LOCALITY\"),\n subLocality: t(\"SUB_LOCALITY\"),\n flatHouseNumber: t(\"FLAT_HOUSE_NUMBER\"),\n streetName: t(\"STREET_NAME\"),\n landmark: t(\"EKYC_LANDMARK\"),\n city: t(\"CITY\"),\n state: t(\"STATE\"),\n addressType: t(\"ADDRESS_TYPE\"),\n addressProofType: t(\"ADDRESS_PROOF_TYPE\"),\n mobileNo: t(\"MOBILE_NUMBER\"),\n alternateMobileNo: t(\"ALTERNATE_MOBILE_NUMBER\"),\n whatsappNo: t(\"WHATSAPP_NO\"),\n email: t(\"EMAIL\"),\n landlineNo: t(\"LANDLINE_NO\"),\n mrkey: t(\"MR_KEY\"),\n mrcode: t(\"MR_CODE\"),\n areacode: t(\"AREA_CODE\"),\n source: t(\"SOURCE\"),\n submittedAt: t(\"SUBMITTED_AT\"),\n assignedAt: t(\"ASSIGNED_AT\"),\n connectionType: t(\"CONNECTION_TYPE\"),\n Type: t(\"CONSUMER_TYPE\"),\n occupantType: t(\"OCCUPANT_TYPE\"),\n knoCategory: t(\"KNO_CATEGORY\"),\n approvedAt: t(\"APPROVED_AT\"),\n gender: t(\"GENDER\"),\n parentSpouse: t(\"PARENT_SPOUSE\"),\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\n relationship: t(\"RELATIONSHIP\"),\n informantName: t(\"INFORMANT_NAME\"),\n informantRelation: t(\"INFORMANT_RELATION\"),\n informantIs: t(\"INFORMANT_IS\"),\n contactPerson: t(\"CONTACT_PERSON\"),\n relation: t(\"RELATION\"),\n entityName: t(\"ENTITY_NAME\"),\n designation: t(\"DESIGNATION\"),\n department: t(\"DEPARTMENT\"),\n employeeId: t(\"EMPLOYEE_ID\"),\n ownerMobile: t(\"OWNER_MOBILE\"),\n ownerVerificationDone: t(\"OWNER_VERIFICATION_DONE\"),\n consentGiven: t(\"CONSENT_GIVEN\"),\n proofOfIdentityType: t(\"PROOF_OF_IDENTITY_TYPE\"),\n documentNumber: t(\"DOCUMENT_NUMBER\"),\n noOfPerson: t(\"NUMBER_OF_PERSON\"),\n latitude: t(\"LATITUDE\"),\n longitude: t(\"LONGITUDE\"),\n gpsValid: t(\"GPS_VALID\"),\n meterNumber: t(\"METER_NUMBER\"),\n meterMake: t(\"METER_MAKE\"),\n meterStatus: t(\"METER_STATUS\"),\n meterCondition: t(\"METER_CONDITION\"),\n meterLocation: t(\"METER_LOCATION\"),\n meterLocationAddress: t(\"METER_LOCATION_ADDRESS\"),\n workingStatus: t(\"WORKING_STATUS\"),\n sewerConnection: t(\"SEWER_CONNECTION\"),\n septicTank: t(\"SEPTIC_TANK\"),\n lastBillRaised: t(\"LAST_BILL_RAISED\"),\n lastBillReceivedDate: t(\"LAST_BILL_RECEIVED_DATE\"),\n accessToMeter: t(\"ACCESS_TO_METER\"),\n systemMeterId: t(\"SYSTEM_METER_ID\"),\n lastBillNotRaisedReason: t(\"LAST_BILL_NOT_RAISED_REASON\"),\n waterConnectionYears: t(\"WATER_CONNECTION_YEARS\"),\n sewerConnectionYears: t(\"SEWER_CONNECTION_YEARS\"),\n pidNumber: t(\"PID_NUMBER\"),\n propertyType: t(\"PROPERTY_TYPE\"),\n subPropertyCategory: t(\"SUB_PROPERTY_CATEGORY\"),\n noOfFloor: t(\"NO_OF_FLOOR\"),\n noOfRooms: t(\"NO_OF_ROOMS\"),\n noOfBeds: t(\"NO_OF_BEDS\"),\n numberOfDwellingUnits: t(\"NUMBER_OF_DWELLING_UNITS\"),\n floorNo: t(\"FLOOR_NO\"),\n userType: t(\"USER_TYPE\"),\n tenantName: t(\"TENANT_NAME\"),\n tenantMobile: t(\"TENANT_MOBILE\"),\n verificationStatus: t(\"VERIFICATION_STATUS\"),\n houseBuiltDuration: t(\"HOUSE_BUILT_DURATION\"),\n surveyorId: t(\"SURVEYOR_ID\"),\n supervisorId: t(\"SUPERVISOR_ID\"),\n vendorId: t(\"VENDOR_ID\"),\n assignmentType: t(\"ASSIGNMENT_TYPE\"),\n assignmentValue: t(\"ASSIGNMENT_VALUE\"),\n assignedTime: t(\"ASSIGNED_TIME\"),\n isSelfAssigned: t(\"IS_SELF_ASSIGNED\"),\n doorPhotoFilestoreId: t(\"DOOR_PHOTO_FILESTORE_ID\"),\n panFilestoreId: t(\"PAN_FILESTORE_ID\"),\n documentProofFilestoreId: t(\"DOCUMENT_PROOF_FILESTORE_ID\"),\n buildingImageFileStoreId: t(\"BUILDING_IMAGE_FILESTORE_ID\"),\n propertyDocumentFileStoreId: t(\"PROPERTY_DOCUMENT_FILESTORE_ID\"),\n meterPhotoFileStoreId: t(\"METER_PHOTO_FILESTORE_ID\"),\n modifiedBy: t(\"MODIFIED_BY\"),\n emailId: t(\"EMAIL_ID\"),\n dob: t(\"DOB\"),\n consumerType: t(\"CONSUMER_TYPE\"),\n createdTime: t(\"CREATED_TIME\"),\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\"),\n meterLatitude: t(\"EKYC_METER_LATITUDE1\"),\n meterLongitude: t(\"EKYC_METER_LONGITUDE1\"),\n };\n\n const skipTitleCase = [\n \"kno\",\n \"mobileNumber\",\n \"emailId\",\n \"email\",\n \"pincode\",\n \"mrkey\",\n \"dob\",\n \"createdTime\",\n \"lastModifiedTime\",\n \"meterLatitude\",\n \"meterLongitude\",\n ];\n const translatedFields = [\"meterMake\", \"meterLocation\"];\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 let val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n if (String(val).toLowerCase() === \"true\") {\n val = t(\"CS_YES\");\n } else if (String(val).toLowerCase() === \"false\") {\n val = t(\"CS_NO\");\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && translatedFields.includes(key)) {\n cleanObj[friendlyHeader] = t(val);\n } else 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_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(null);\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\">\n <button className=\"download-btn\" disabled={reportLoading} onClick={handleDownload}>\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n <StatCard\n title={t(\"TOTAL_ASSIGNED\")}\n value={dashboardData?.dashboardInfo?.total || 0}\n type=\"today\"\n isLoading={isDashboardLoading}\n icon={<FaUsers />}\n />\n <StatCard\n title={t(\"COMPLETED\")}\n value={dashboardData?.dashboardInfo?.completed || 0}\n type=\"week\"\n isLoading={isDashboardLoading}\n icon={<FaCheckCircle />}\n />\n <StatCard\n title={t(\"PENDING\")}\n value={dashboardData?.dashboardInfo?.pending || 0}\n type=\"pending\"\n isLoading={isDashboardLoading}\n icon={<FaClock />}\n />\n <StatCard\n title={t(\"SUBMITTED\")}\n value={dashboardData?.dashboardInfo?.submittedCount || 0}\n type=\"month\"\n isLoading={isDashboardLoading}\n icon={<FaChartLine />}\n />\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 {/* Top Row: Mobile, Email, and Download eKYC Data */}\n <div className=\"details-top-row\">\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=\"download-card\">\n <div>\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") || \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\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\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-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={() => {\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button className=\"picker-apply-btn\" onClick={handleCustomDownload}>\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Bottom Row: Remaining Details */}\n <div className=\"details-grid-row\">\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(\"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 </div>\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"ASSIGNED_KNOS\")}\n tableClass=\"ekycTable\"\n isTableScrollable={true}\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 const total = dashboardData?.dashboardInfo?.total || 0;\n if (currentPage < Math.ceil(total / 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 const total = dashboardData?.dashboardInfo?.total || 0;\n setCurrentPage(Math.max(Math.ceil(total / pageSize) - 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 && (\n <AssignEkycModal surveyor={surveyor} isReassign={showModal === \"EKYC_REASSIGN\"} closeModal={closeModal} refetchDashboard={refetchDashboard} />\n )}\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\";\n// import 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// 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, t) => [\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\", \"admin-dashboard\", \"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\n","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 } from \"@djb25/digit-ui-react-components\";\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 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 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=\"action\">\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","_useState2","showReportMenu","setShowReportMenu","_useState3","from","to","customDate","setCustomDate","_useState4","showCustomPicker","setShowCustomPicker","reportMenuRef","useRef","useEffect","handler","current","contains","target","document","addEventListener","removeEventListener","loggedInUser","fullName","name","handleDownloadEkycData","fromDate","toDate","Promise","resolve","EkycService","application_list","_extends","reportDownload","response","consumerList","alert","excludedKeys","headerMapping","kno","firstName","middleName","lastName","status","ekycStatus","zoneName","zoneCode","assembly","ward","pincode","addressRaw","locality","subLocality","flatHouseNumber","streetName","landmark","city","state","addressType","addressProofType","mobileNo","alternateMobileNo","whatsappNo","email","landlineNo","mrkey","mrcode","areacode","source","submittedAt","assignedAt","connectionType","Type","occupantType","knoCategory","approvedAt","gender","parentSpouse","fatherOrHusbandName","relationship","informantName","informantRelation","informantIs","contactPerson","relation","entityName","designation","department","employeeId","ownerMobile","ownerVerificationDone","consentGiven","proofOfIdentityType","documentNumber","noOfPerson","latitude","longitude","gpsValid","meterNumber","meterMake","meterStatus","meterCondition","meterLocation","meterLocationAddress","workingStatus","sewerConnection","septicTank","lastBillRaised","lastBillReceivedDate","accessToMeter","systemMeterId","lastBillNotRaisedReason","waterConnectionYears","sewerConnectionYears","pidNumber","propertyType","subPropertyCategory","noOfFloor","noOfRooms","noOfBeds","numberOfDwellingUnits","floorNo","userType","tenantName","tenantMobile","verificationStatus","houseBuiltDuration","surveyorId","supervisorId","vendorId","assignmentType","assignmentValue","assignedTime","isSelfAssigned","doorPhotoFilestoreId","panFilestoreId","documentProofFilestoreId","buildingImageFileStoreId","propertyDocumentFileStoreId","meterPhotoFileStoreId","modifiedBy","emailId","dob","consumerType","createdTime","lastModifiedTime","meterLatitude","meterLongitude","toTitleCase","str","cleanStr","String","isNaN","Number","split","pop","toLowerCase","replace","c","toUpperCase","skipTitleCase","translatedFields","excelData","item","cleanObj","filter","Boolean","join","keys","Object","orderedKeys","key","forEach","val","date","Date","pad","n","padStart","getDate","getMonth","getFullYear","getHours","getMinutes","getSeconds","friendlyHeader","cleanFileName","Download","Excel","error","console","_wasThrown","_result","reject","getDateRange","now","start","setHours","setDate","getDay","handlePresetDownload","range","getTime","handleCustomDownload","chartRef1","chartInstance1","efficiency","total","Math","round","submittedCount","completed","formatNumber","num","Intl","NumberFormat","format","destroy","ctx1","getContext","ChartConstructor","type","labels","datasets","pending","submitted","inprocess","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","totalAssignments","selfEkycCount","rejected","className","FaChartBar","size","style","paddingInline","borderRadius","ref","disabled","onClick","p","MdDownloadIcon","_ref2","onChange","gap","marginTop","stopPropagation","width","height","Dashboard","useEkycAssignmentProgress","allVendorsDetailed","keepPreviousData","progressData","isProgressLoading","useMemo","totalKnosInSystem","submittedKnos","pendingKnos","rejectedKnos","overallProgressPercent","Loader","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","_row$original","_row$original2","row","original","applicationNumber","_ref3","_row$original3","citizenName","_ref4","_row$original4","_row$original5","_ref5","_row$original6","_row$original7","raw","ekycstatus","_ref6","_row$original8","_row$original9","tableData","items","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","Card","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_searchParams","setSearchParams","prev","onSubmit","preventDefault","onClear","cleared","kName","HomeIcon","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","x1","y1","x2","y2","TextInput","placeholder","d","todaysAudits","auditChange","pendingCount","i","fromCharCode","MobileInbox","_data$items","mobileData","mobileNumber","Link","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","downloadSurveyorPDF","rows","surveyorName","vendorName","supervisorName","dashboardInfo","initData","tenants","tenantInfo","find","tenant","capitalize","substr","ulbCamel","ulb","phoneNumber","currentDate","formattedDate","toLocaleDateString","day","month","year","formattedTime","toLocaleTimeString","hour","minute","second","hour12","downloadDateTime","isValDefined","undefined","details","title","asSectionHeader","values","Utils","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","downloadSupervisorPDF","mappedRows","_row$owner","_row$owner2","owner","progress","originalToLocaleDateString","prototype","progressIndex","_len","arguments","args","_key","apply","customT","downloadVendorPDF","emailContact","_len2","_key2","VendorDetailsCard","_vendor$owner","_vendor$owner2","_vendorName$charAt","_useParams","useParams","_Digit$Hooks$fsm$useV","fsm","useVendorSearch","filters","ids","config","staleTime","_Digit$Hooks$fsm$useV2","_Digit$Hooks$fsm$useV3","_Digit$Hooks$fsm$useV4","vendor","_Digit$Hooks$fsm$useV5","isVendorSearchLoading","_Digit$Hooks$fsm$useS","useSupervisorSearch","supervisorSearchResponse","isSupervisorSearchLoading","targetVendorId","createDummySupervisors","supervisors","_","totalKnos","progressPercent","isDummy","vendorSupervisors","currentVendorId","matchedSups","s","sup","_progressData$supervi","_sup$owner2","_sup$owner3","_sup$owner4","report","supervisorReport","_sup$owner","uuid","zoneIds","_vendor$zoneIds","zone","trim","cards","totalKnosInZones","completedKnos","selfEkycCountInZones","submittedKnosInZones","icon","FaDatabase","FaFileAlt","FaCheckCircle","FaBuilding","FaUser","FaClock","FaChartLine","setCurrentPage","pageSize","setPageSize","paginatedSupervisors","end","slice","supervisorColumns","_Digit$SessionStorage3","targetPath","href","textDecoration","_useState5","_useState6","_useState7","reportLoading","setReportLoading","handleDownload","rowsWithStats","reduce","acc","assignedConnections","completedEkyc","err","StatCard","Fragment","isPageLoading","charAt","card","idx","flexWrap","tableTitle","tableClass","isTableScrollable","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","floor","_formState$tableForm3","action","parseInt","_formState$tableForm4","searchForm","message","SearchFormFieldsComponents","searchFormState","controlSearchForm","searchType","errors","Label","CustomTooltip","Controller","control","defaultValue","rules","pattern","render","CardLabelError","useInboxMobileCardsData","_ref$isSupervisor","isSupervisor","handleSupervisorReview","dataForMobileInboxCards","_item$owner","serviceType","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","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","progressMetrics","_progressData$totalKn","_progressData$submitt","_progressData$pending","_progressData$overall","toFixed","FaUsers","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","payload","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","onMobileSortOrderData","onSortFormReset","setSortFormValue","propsForMobileSortForm","sortFormDefaultValues","propsForInboxMobileCards","isInboxLoading","marginBottom","InboxComposer","forceTable","showSearchOnMobile","ActionButton","jumpTo","routeTo","isEditing","LinkButton","EditIcon","margin","checkForNA","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","background","border","overflow","borderBottom","justifyContent","alignItems","CardSubHeader","fontSize","borderCollapse","tableLayout","textTransform","field","valNew","valOld","normalizeVal","v","isChanged","borderTop","preTranslated","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","_Digit$UserService$ge","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","flatNewData","flatOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","address","connectionCategory","meterNo","statusFlag","knumber","fullAddress","flatNo","buildingTower","building","pinCode","noOfPersons","doorPhotoFileStoreId","property","typeOfConnection","numberOfFloors","buildingImageFilestoreId","meter","metered","meterPhotoFilestoreId","newDataRaw","connectionData","addressData","whatsappNumber","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","workingStatusData","lastBillRaisedData","handleDeclaration","loggedInUserInfo","UserService","getUser","_Digit$Hooks$useUserS","useUserSearch","userData","supervisorData","user","matchedSupervisor","userName","handleReject","_Digit$UserService$ge2","RequestInfo","apiId","ver","msgId","authToken","access_token","remarks","reviewedBy","role","_temp","mutateAsync","setTimeout","_err$response","_err$response$data","_err$response2","_err$response2$data","_err$response2$data$E","_err$response2$data$E2","_err$Errors","_err$Errors$","errMsg","Errors","handleApprove","_Digit$UserService$ge3","_temp2","_err$response3","_err$response3$data","_err$response3$data$E","_err$response3$data$E2","_err$Errors2","_err$Errors2$","handleViewDocument","fileStoreId","_temp4","UploadServices","FileFetchbyid","blobUrl","URL","createObjectURL","handleMenuSelect","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","informantIsConsumer","isMandatory","populators","component","validation","required","min","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","AadhaarVerification","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","idFile","tenantVerification","consent","defaultValues","setDefaultValues","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","_savedData$informantI2","fName","mName","lName","parts","updatedDefaults","handleUploadProof","file","files","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","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","some","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","AdminDashboard","_Digit$Hooks$fsm$useD","useDsoSearch","vendorSearchResponse","allVendorIds","dso","dsoDetails","vendorReports","_vendor$vendorName","_vendor$vendorName$","totalSupervisors","totalSurveyors","SupervisorDetailsCard","_fullName$charAt","targetId","matchedSup","_s$id","_s$owner","_s$owner$uuid","vendorIds","_Digit$Hooks$fsm$useS2","useSurveyorSearch","surveyorSearchResponse","isSurveyorSearchLoading","supervisor","targetOwnerOrId","resolvedSupervisorId","selfSup","_s$owner2","_s$owner2$uuid","_s$id2","_s$id3","_s$owner3","_s$owner3$uuid","progressReport","_s$supervisorId","_s$id4","_progressReport","_progressReport2","_progressReport3","_matchedSup$owner2","_matchedSup$owner3","_matchedSup$owner4","_matchedSup$owner5","_matchedSup$owner6","_matchedSup$owner7","matchedSurveyors","surveyors","surv","_matchedSup$owner","_surv$owner3","_surv$owner4","_surv$owner5","_surv$owner6","_surv$owner7","_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$id5","_surv$id2","_s$id6","_surv$owner2","_surv$owner2$uuid","assignedZoneId","_loggedInUser$uuid","_supervisorSearchResp","_matchedSupForFallbac","_matchedSupForFallbac2","_matchedSupForFallbac3","isSelf","matchedSupForFallback","_s$id7","_s$owner4","_s$owner4$uuid","surveyorsMapped","_surveyorSearchRespon","_matchedSurv$owner","_matchedSurv$owner2","_matchedSurv$owner3","_matchedSurv$owner4","_matchedSurv$owner5","_s$id8","_surv$surveyorId","_s$owner5","_s$owner5$uuid","_surv$surveyorId2","assignedZone","_matchedVendor$dsoDet","matchedVendor","_v$dsoDetails","_v$dsoDetails2","paginatedSurveyors","surveyorColumns","_Digit$SessionStorage4","points","AssignEkycModal","surveyor","isReassign","closeModal","refetchDashboard","propsTenantId","selectedKnos","setSelectedKnos","setFilters","debouncedFilters","setDebouncedFilters","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","structuredLocalityData","localities","boundaries","extractLocalities","node","localname","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","sanitizedPin","toString","add","sort","unassignedOnly","fetchFilterOptions","Infinity","filterOptionsData","pincodeOptions","mrkeyOptions","timer","clearTimeout","isFetching","refetchApplicationList","refetch","handleAssignmentError","isAlreadyAssigned","assignmentMutation","useEkycAssignmentCreate","onSuccess","variables","_response$data","skipped","_response$skipped$","reason","_temp3","_error$data","_error$response","_error$response$data","reassignMutation","useEkycAssignmentReassign","_response$data2","_response$skipped$2","_temp8","_temp6","_temp5","_temp7","_error$data2","_error$response2","_error$response2$data","activeMutation","allData","totalPages","paginatedData","handleAssign","_surveyor$owner","newSurveyorId","_surveyor$owner2","mutate","handleSelectAll","allMatchingKnos","isAllSelected","every","handleFilterChange","isAllChecked","Modal","headerBarMain","headerBarEnd","Close","actionCancelLabel","actionCancelOnSubmit","actionSaveLabel","actionSaveOnSubmit","pin","SurveyorDetailsDashboard","_surveyorSearchById$s","_surveyor$owner3","_surveyor$owner4","_dashboardData$dashbo","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner7","_surveyor$owner8","_surveyor$owner9","_dashboardData$dashbo5","_dashboardData$dashbo6","showModal","setShowModal","ownerIds","surveyorSearchById","isLoadingId","hasFoundById","surveyorSearchByOwner","isLoadingOwner","vendorData","isVendorLoading","_Digit$Hooks$fsm$useS3","_mappedVendor$dsoDeta","mappedVendor","_mappedSupervisor$own","mappedSupervisor","useEkycSurveyorDashboard","isDashboardLoading","dashboardData","knoColumns","_useState8","_useState9","_surveyor$owner5","dashboard","_response$dashboardIn","_surveyor$owner6","_wasThrown2","_result2","description","showAutoSerialNo","_dashboardData$dashbo7","_dashboardData$dashbo8","WorkOrder","setVendor","validFrom","setValidFrom","validTo","setValidTo","uploadedFile","setUploadedFile","setFile","setError","vendorOptions","_Digit$Hooks$wt$useVe","wt","useVendorWorkOrderCreate","createWorkOrder","getStateId","_response$data$files","_response$data2$files","vendorWorkOrder","isError","_err$response$data$Er","_err$response$data$Er2","selectfile","isFormDisabled","CollapsibleCardPage","flexDirection","DatePicker","extraStyleName","accept","storageKey","_row$original5$owner","SupervisorInboxTableConfig","AssignEkyc","paginationParms","isDataSearchLoading","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","additionalDetails","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","isHotel","isHospitalOrNursing","objectFit","PropertyInfo","noOfFloors","dwellingUnits","propType","subPropCat","matchingType","numberOfRooms","numberOfBeds","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","isFrozen","monthYearOptions","y","m","yesNo","MeterDetails","saType","mrCode","areaCode","mrKey","meterMaker","billMonthYear","mStatus","mCondition","mLoc","billRec","billMonYr","accToMeter","sewerConn","sepTank","matchingStatus","o","matchingCond","matchingLoc","strVal","formatted","parsedParts","mon","yr","_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","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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"}
|