@djb25/digit-ui-module-ekyc 1.0.60 → 1.0.62
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 +70 -87
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +70 -87
- 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\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n 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 hasExternalData = countData && typeof countData.total === \"number\" && typeof countData.submittedCount === \"number\";\n\n const { data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n ekycStatus: \"submitted\"\n },\n {\n enabled: !!tenantId && !hasExternalData,\n }\n );\n\n const apiCountData = React.useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n submittedCount: info.submittedCount || 0,\n inProgressCount: info.inProgressCount || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n };\n }, [dashboardData]);\n\n const handleDownloadEkycData = async (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\", \"source\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\", \"doorPhotoFilestoreId\", \"panFilestoreId\",\n \"documentProofFilestoreId\", \"buildingImageFileStoreId\", \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\", \"modifiedBy\", \"zoneCode\", \"propertyType\", \"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 fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\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 = [\"kno\", \"mobileNumber\", \"emailId\", \"email\", \"pincode\", \"mrkey\", \"dob\", \"createdTime\", \"lastModifiedTime\", \"meterLatitude\", \"meterLongitude\"];\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 = [\n ...keys.filter(key => key !== \"submittedAt\"),\n ...(keys.includes(\"submittedAt\") ? [\"submittedAt\"] : [])\n ];\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(date.getSeconds())}`;\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 =\n 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 const total = hasExternalData ? countData.total : (apiCountData?.total || countData?.total || countData?.totalCount || 0);\n const pending = hasExternalData ? countData.pending : (apiCountData?.pending || countData?.pending || 0);\n const active = hasExternalData ? countData.active : (apiCountData?.active || countData?.active || 0);\n const completed = hasExternalData ? countData.completed : (apiCountData?.completed || countData?.completed || 0);\n const inprocess = hasExternalData ? countData.inProgressCount : (apiCountData?.inProgressCount || countData?.inProgressCount || 0);\n const submitted = hasExternalData ? countData.submittedCount : (apiCountData?.submittedCount || countData?.submittedCount || 0);\n const actualCompleted = completed;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round(((submitted + completed) / total) * 100) : 0;\n // const healthPct = total > 0 ? Math.round((approved / total) * 100) : 0;\n const healthPct = submitted > 0 ? Math.round((approved / submitted) * 100) : 0;\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n\n\n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\"), t(\"EKYC_SUBMITTED\"), t(\"EKYC_INPROCESS\")],\n datasets: [\n {\n data: [pending, completed, submitted, inprocess],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\", \"#49a3fb\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n },\n ],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: false,\n responsive: true,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n };\n }, [pending, completed, active, t]);\n\n const legendItems = [\n { color: \"#77B6EA\", label: t(\"EKYC_COMPLETED\"), value: completed },\n { color: \"#0c2a52\", label: t(\"EKYC_PENDING\"), value: pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_SUBMITTED\"), value: submitted },\n { color: \"#49a3fb\", label: t(\"EKYC_INPROCESS\"), value: inprocess }\n\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-cards-wrapper\">\n {/* Header */}\n <div className=\"status-cards-header\">\n <div>\n <div className=\"eyebrow\">\n <span className=\"eyebrow-dot\" />\n {t(\"EKYC_INSTITUTIONAL_OVERVIEW\") || \"Institutional Performance Overview\"}\n </div>\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n <p className=\"status-cards-subtitle\">\n {t(\"EKYC_DASHBOARD_SUBTITLE\") || \"Real-time monitoring of consumer verification workflows across all administrative zones.\"}\n </p>\n </div>\n <div className=\"total-applications-card\">\n <div className=\"total-label\">{t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Processed\"}</div>\n <div className=\"total-number\">{formatNumber(total)}</div>\n {/* <div className=\"total-badge\">↗ +12.4% {t(\"EKYC_FROM_LAST_QUARTER\") || \"from last quarter\"}</div> */}\n <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 width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n\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 {/* Panels */}\n <div className=\"status-panels-grid\">\n {/* Panel 1: Status Breakdown */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">{t(\"EKYC_STATUS_BREAKDOWN\") || \"Status Breakdown\"}</div>\n <div className=\"panel-subtitle\">{t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle distribution\"}</div>\n <div className=\"breakdown-body\">\n <div className=\"status-legend\">\n {legendItems.map((item) => (\n <div key={item.label} className=\"legend-row\">\n <span className=\"legend-label\">\n <span className=\"indicator-dot\" style={{ background: item.color }} />\n {item.label}\n </span>\n <span className=\"legend-value\">{formatNumber(item.value)}</span>\n </div>\n ))}\n </div>\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n <div className=\"chart-center\">\n <div className=\"chart-percentage\">{efficiency}%</div>\n <div className=\"chart-label\">{t(\"EKYC_COMPLETE\") || \"Complete\"}</div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Panel 2: Submission Health */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">\n {t(\"EKYC_SUBMISSION_HEALTH\") || \"Submission Health\"}\n {/* <span className=\"optimal-badge\">{t(\"EKYC_OPTIMAL\") || \"Optimal\"}</span> */}\n </div>\n <div className=\"panel-subtitle\">{t(\"EKYC_PLATFORM_EFFICIENCY\") || \"Platform operational efficiency\"}</div>\n <div className=\"health-metrics-row\">\n <div className=\"health-percentage\">{healthPct}%</div>\n {/* <div className=\"health-trend\">↗ +2.1%</div> */}\n </div>\n <div className=\"status-progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${healthPct}%` }} />\n </div>\n <div className=\"mini-metrics-grid\">\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_AVG_LATENCY\") || \"Avg Latency\"}</div>\n <div className=\"metric-value\">0s</div>\n </div>\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_ERROR_RATE\") || \"Error Rate\"}</div>\n <div className=\"metric-value\">0.0%</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;\n","import React, { useMemo } from \"react\";\nimport StatusCards from \"./StatusCards\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\n\n// Mock data removed in favor of API integration\n\nconst Dashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 2. API Data Fetching\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const countData = useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n submittedCount: info.submittedCount || 0,\n inProgressCount: info.inProgressCount || 0,\n };\n }, [dashboardData]);\n\n return isLoading ? (\n <Loader />\n ) : (\n <Card className=\"min-width-full\">\n <StatusCards countData={countData} />\n </Card>\n );\n};\n\nexport default Dashboard;\n","import React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, Card, Loader, InboxLinks } from \"@djb25/digit-ui-react-components\";\nimport { useHistory } from \"react-router-dom\";\nimport StatusCards from \"./StatusCards\";\n\nconst DesktopInbox = ({ tableConfig, filterComponent, ...props }) => {\n const {\n data,\n isLoading,\n onSort,\n onNextPage,\n onPrevPage,\n currentPage,\n pageSizeLimit,\n onPageSizeChange,\n parentRoute,\n searchParams,\n sortParams,\n totalRecords,\n countData,\n } = props;\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const FilterComponent = Digit.ComponentRegistryService?.getComponent(filterComponent);\n\n // State for Review Modal\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(\"/digit-ui/employee/ekyc/review\", { kNumber: selectedKno, aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const columns = useMemo(\n () => [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n // {\n // Header: t(\"EKYC_MOBILE_NO\"),\n // accessor: \"mobileNumber\",\n // Cell: ({ row }) => <span>{row.original?.mobileNumber || \"NA\"}</span>,\n // },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n {\n Header: t(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","export const ekycMockData = {\n topKpis: {\n totalWaterConnections: 2990996,\n totalEkycCompleted: 2460810,\n totalPending: 530186,\n totalRejected: 224324,\n agencyEkycCompleted: 2352069,\n citizenSelfEkycCompleted: 638927,\n todaysEkyc: 54684,\n successRate: 82,\n rejectionPercentage: 7,\n },\n\n executiveMetrics: {\n totalSurveyors: 186,\n totalSupervisors: 56,\n activeJurisdictions: 27,\n todaysGrowth: 2.8,\n selfEkycAdoption: 38,\n avgApprovalTime: \"2.3 Days\",\n riskZones: 7,\n escalationsOpen: 18,\n },\n\n alerts: [\n {\n title: \"North East District pending increased\",\n priority: \"high\",\n change: \"+22%\",\n district: \"North East District\",\n },\n {\n title: \"Agency 2 self eKYC adoption low\",\n priority: \"medium\",\n change: \"-12%\",\n district: \"West District\",\n },\n {\n title: \"Escalation raised in NWS Bhera Enclave\",\n priority: \"high\",\n change: \"+18\",\n district: \"Outer North\",\n },\n {\n title: \"Approval rate improved in East District\",\n priority: \"low\",\n change: \"+9%\",\n district: \"East District\",\n },\n ],\n\n heatmapData: [\n {\n district: \"Outer North\",\n intensity: 82,\n },\n {\n district: \"East District\",\n intensity: 48,\n },\n {\n district: \"South District\",\n intensity: 67,\n },\n {\n district: \"North East District\",\n intensity: 74,\n },\n ],\n\n dailyTrend: [\n {\n label: \"Mon\",\n completed: 270689,\n pending: 491305,\n rejected: 145810,\n },\n {\n label: \"Tue\",\n completed: 442945,\n pending: 466563,\n rejected: 157026,\n },\n {\n label: \"Wed\",\n completed: 615202,\n pending: 441821,\n rejected: 168243,\n },\n {\n label: \"Thu\",\n completed: 812067,\n pending: 413545,\n rejected: 179459,\n },\n {\n label: \"Fri\",\n completed: 1033540,\n pending: 381733,\n rejected: 190675,\n },\n {\n label: \"Sat\",\n completed: 1279621,\n pending: 346388,\n rejected: 201891,\n },\n {\n label: \"Sun\",\n completed: 1574918,\n pending: 303973,\n rejected: 213107,\n },\n ],\n\n selfVsAgency: [\n {\n label: \"Agency1\",\n agency: 201457,\n citizen: 758414,\n },\n {\n label: \"Agency 2\",\n agency: 164302,\n citizen: 919322,\n },\n {\n label: \"Agency 3\",\n agency: 328451,\n citizen: 541772,\n },\n ],\n\n pendingVsCompleted: [\n {\n label: \"Agency1\",\n completed: 201457,\n pending: 201457,\n },\n {\n label: \"Agency 2\",\n completed: 164302,\n pending: 164302,\n },\n {\n label: \"Agency 3\",\n completed: 328451,\n pending: 77278,\n },\n ],\n\n rejectionAnalysis: [\n {\n label: \"Agency1\",\n rejected: 71990,\n success: 72,\n },\n {\n label: \"Agency 2\",\n rejected: 81271,\n success: 77,\n },\n {\n label: \"Agency 3\",\n rejected: 71063,\n success: 86,\n },\n ],\n\n vendors: [\n {\n id: 1,\n name: \"Agency1\",\n\n assignedConnections: 959871,\n\n completedEkyc: 201457,\n\n selfEkyc: 758414,\n\n pending: 201457,\n\n rejected: 71990,\n\n inactiveDemand: 1161328,\n\n successRate: 72,\n\n progress: 21,\n\n supervisors: 23,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"Outer North\", \"North West District\", \"Model Town AC 18\", \"Cluster 2\", \"North District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 16116,\n pending: 196084,\n rejected: 53272,\n },\n {\n day: \"Tue\",\n completed: 26189,\n pending: 192727,\n rejected: 55072,\n },\n {\n day: \"Wed\",\n completed: 38276,\n pending: 188698,\n rejected: 57232,\n },\n {\n day: \"Thu\",\n completed: 52378,\n pending: 183997,\n rejected: 59751,\n },\n {\n day: \"Fri\",\n completed: 68495,\n pending: 178625,\n rejected: 62631,\n },\n {\n day: \"Sat\",\n completed: 84611,\n pending: 173253,\n rejected: 65510,\n },\n {\n day: \"Sun\",\n completed: 100728,\n pending: 167880,\n rejected: 68390,\n },\n ],\n\n zones: [\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n cluster: \"NWS Bhera Enclave\",\n\n assignedConnections: 102669,\n\n location: \"102669\",\n\n zroOffice: \"NWS Bhera Enclave\",\n\n assemblyConstituency: \"Part of Mundka AC 08\",\n\n gpsLocation: null,\n\n distanceFromFarthestPoint: null,\n\n activeDemand: 202197,\n\n pppZones: 15800,\n\n inactiveDemand: 35265,\n\n districtwiseInactiveTotal: 237462,\n },\n\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n\n cluster: \"Narela\",\n\n assignedConnections: 99528,\n\n location: \"99528\",\n\n zroOffice: \"Narela\",\n\n assemblyConstituency: \"Narela AC 01\",\n\n activeDemand: 99528,\n\n pppZones: 19465,\n\n inactiveDemand: 35265,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"North West District\",\n\n cluster: \"Rohini AC 13\",\n\n assignedConnections: 71041,\n\n location: \"71041\",\n\n zroOffice: \"Rohini\",\n\n assemblyConstituency: \"Rithala AC 06\",\n\n activeDemand: 247949,\n\n pppZones: 28975,\n\n inactiveDemand: 49494,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Mangol Puri AC 12\",\n\n cluster: \"Model Town AC 18\",\n\n assignedConnections: 68957,\n\n location: \"68957\",\n\n zroOffice: \"Central North District\",\n\n assemblyConstituency: \"Ashok Vihar\",\n\n activeDemand: 231216,\n\n pppZones: 16627,\n\n inactiveDemand: 36915,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Timarpur AC 03\",\n\n cluster: \"Cluster 2\",\n\n assignedConnections: 34862,\n\n location: \"34862\",\n\n zroOffice: \"Old Delhi District\",\n\n assemblyConstituency: \"Pratap Nagar\",\n\n activeDemand: 99694,\n\n pppZones: 20011,\n\n inactiveDemand: 48011,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Bali Maran AC 22\",\n\n cluster: \"North District\",\n\n assignedConnections: 110507,\n\n location: \"110507\",\n\n zroOffice: \"Burari\",\n\n assemblyConstituency: \"Burari AC 2\",\n\n activeDemand: 178815,\n\n pppZones: 14700,\n\n inactiveDemand: 31772,\n },\n ],\n },\n\n {\n id: 2,\n\n name: \"Agency 2\",\n\n assignedConnections: 1083624,\n\n completedEkyc: 164302,\n\n selfEkyc: 919322,\n\n pending: 164302,\n\n rejected: 81271,\n\n inactiveDemand: 1247926,\n\n successRate: 77,\n\n progress: 15,\n\n supervisors: 14,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"West District\", \"Janak Puri\", \"South District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 13144,\n pending: 159920,\n rejected: 60140,\n },\n {\n day: \"Tue\",\n completed: 21359,\n pending: 157182,\n rejected: 62172,\n },\n {\n day: \"Wed\",\n completed: 31217,\n pending: 153896,\n rejected: 64610,\n },\n {\n day: \"Thu\",\n completed: 42718,\n pending: 150062,\n rejected: 67454,\n },\n {\n day: \"Fri\",\n completed: 55862,\n pending: 145681,\n rejected: 70705,\n },\n {\n day: \"Sat\",\n completed: 69006,\n pending: 141299,\n rejected: 73956,\n },\n {\n day: \"Sun\",\n completed: 82151,\n pending: 136918,\n rejected: 77207,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Rajouri Garden AC 27\",\n\n assignedConnections: 84506,\n\n location: \"84506\",\n\n zroOffice: \"Rajouri Garden AC 27\",\n\n assemblyConstituency: \"Punjabi Bagh\",\n\n activeDemand: 470766,\n\n pppZones: 13269,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Tilak Nagar AC 29\",\n\n assignedConnections: 51428,\n\n location: \"51428\",\n\n zroOffice: \"Tilak Nagar AC 29\",\n\n assemblyConstituency: \"Paschim Vihar\",\n\n activeDemand: 470766,\n\n pppZones: 6298,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"Part of Uttam Nagar & Vikas puri\",\n\n cluster: \"Janak Puri\",\n\n assignedConnections: 163041,\n\n location: \"163041\",\n\n zroOffice: \"Janakpuri\",\n\n assemblyConstituency: \"Janakpuri AC 30\",\n\n activeDemand: 369772,\n\n pppZones: 25729,\n\n inactiveDemand: 60534,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"South District\",\n\n assignedConnections: 52803,\n\n location: \"52803\",\n\n zroOffice: \"R K Puram\",\n\n assemblyConstituency: \"Malviya Nagar AC 43\",\n\n activeDemand: 243086,\n\n pppZones: 9678,\n\n inactiveDemand: 39204,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"Vasant Kunz\",\n\n assignedConnections: 58997,\n\n location: \"58997\",\n\n zroOffice: \"Vasant Kunj\",\n\n assemblyConstituency: \"Vasant Kunj\",\n\n activeDemand: 243086,\n\n pppZones: 6691,\n\n inactiveDemand: 39204,\n },\n ],\n },\n\n {\n id: 3,\n\n name: \"Agency 3\",\n\n assignedConnections: 947501,\n\n completedEkyc: 328451,\n\n selfEkyc: 541772,\n\n pending: 77278,\n\n rejected: 71063,\n\n inactiveDemand: 1016841,\n\n successRate: 86,\n\n progress: 78,\n\n supervisors: 19,\n\n activeSurveyors: 58,\n\n jurisdictions: [\"East District\", \"North East District\", \"South East District\", \"MNWS\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 44120,\n pending: 130002,\n rejected: 5711,\n },\n {\n day: \"Tue\",\n completed: 58221,\n pending: 121998,\n rejected: 7104,\n },\n {\n day: \"Wed\",\n completed: 70218,\n pending: 113201,\n rejected: 8842,\n },\n {\n day: \"Thu\",\n completed: 85124,\n pending: 104006,\n rejected: 9911,\n },\n {\n day: \"Fri\",\n completed: 102315,\n pending: 94441,\n rejected: 11214,\n },\n {\n day: \"Sat\",\n completed: 121009,\n pending: 85218,\n rejected: 12902,\n },\n {\n day: \"Sun\",\n completed: 142118,\n pending: 77278,\n rejected: 14101,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Mayur Vihar\",\n\n assignedConnections: 72326,\n\n location: \"72326\",\n\n zroOffice: \"Mayur Vihar\",\n\n assemblyConstituency: \"Trilokpuri AC 55\",\n\n activeDemand: 328564,\n\n pppZones: 9691,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Yojna Vihar\",\n\n assignedConnections: 40651,\n\n location: \"40651\",\n\n zroOffice: \"Yojna Vihar\",\n\n assemblyConstituency: \"Vishwas Nagar AC 59\",\n\n activeDemand: 328564,\n\n pppZones: 10097,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"GTB Enclave\",\n\n assignedConnections: 80453,\n\n location: \"80453\",\n\n zroOffice: \"GTB Enclave\",\n\n assemblyConstituency: \"Seemapuri AC 63\",\n\n activeDemand: 323753,\n\n pppZones: 10671,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"Yamuna Vihar\",\n\n assignedConnections: 90599,\n\n location: \"90599\",\n\n zroOffice: \"Yamuna Vihar\",\n\n assemblyConstituency: \"Mustafabad AC 69\",\n\n activeDemand: 323753,\n\n pppZones: 18185,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Kalkaji AC 51\",\n\n assignedConnections: 29188,\n\n location: \"29188\",\n\n zroOffice: \"Kalkaji AC 51\",\n\n assemblyConstituency: \"Saket\",\n\n activeDemand: 136102,\n\n pppZones: 3675,\n\n inactiveDemand: 23977,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Okhla\",\n\n assignedConnections: 18473,\n\n location: \"18473\",\n\n zroOffice: \"Sarita Vihar/Okhla\",\n\n assemblyConstituency: \"Okhla AC 54\",\n\n activeDemand: 136102,\n\n pppZones: 3703,\n\n inactiveDemand: 23977,\n },\n ],\n },\n ],\n};\n","export const downloadSurveyorPDF = async ({\n rows,\n surveyorName,\n employeeId,\n mobileNumber,\n vendorName,\n supervisorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const initData = Digit.SessionStorage.get(\"initData\");\n const tenants = initData?.tenants || [];\n const tenantInfo = tenants.find((tenant) => tenant.code === tenantId);\n\n const capitalize = (text) =>\n text && text.substr(0, 1).toUpperCase() + text.substr(1);\n const ulbCamel = (ulb) =>\n ulb &&\n ulb\n .toLowerCase()\n .split(\" \")\n .map(capitalize)\n .join(\" \");\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SURVEYOR_DETAILS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"SURVEYOR_NAME\"), value: surveyorName },\n { title: t(\"MOBILE_NUMBER\"), value: mobileNumber },\n { title: t(\"VENDOR_NAME\"), value: vendorName },\n { title: t(\"SUPERVISOR_NAME\"), value: supervisorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\"), value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\"), value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\"), value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\"), value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SURVEYOR_REPORT\"),\n details,\n applicationNumber: employeeId,\n rows,\n t,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n};\n\n\nexport const downloadSupervisorPDF = async ({\n rows,\n supervisorName,\n mobileNumber,\n vendorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SUPERVISOR_DETAILS\") || \"Supervisor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\", value: supervisorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from surveyors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || row.owner?.name || \"N/A\",\n firstName: row.owner?.mobileNumber || row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SURVEYOR_NAME\") || \"Surveyor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SUPERVISOR_REPORT\") || \"eKYC Supervisor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\nexport const downloadVendorPDF = async ({\n rows,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const emailContact = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"VENDOR_DETAILS\") || \"Vendor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"EMAIL\") || \"Email\", value: email }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from supervisors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || \"N/A\",\n firstName: row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SUPERVISOR_NAME\") || \"Supervisor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email: emailContact,\n phoneNumber,\n heading: t(\"EKYC_VENDOR_REPORT\") || \"eKYC Vendor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\n\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport { downloadVendorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst VendorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { vendorId } = useParams();\n\n // Fetch 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\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, vendorIds: [targetVendorId] } : {},\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n // Supervisors belonging to this vendor\n const vendorSupervisors = useMemo(() => {\n if (!supervisorSearchResponse?.supervisors) {\n // Mock fallback if supervisors count is present\n if (vendor && Array.isArray(ekycMockData.vendors)) {\n // Return dummy supervisors based on vendor name or id\n const mockSupList = Array.from({ length: vendor.supervisors || 5 }, (_, i) => ({\n id: `SUP_V_${vendor.id || 1}_${i}`,\n name: `Supervisor ${i + 1} (${vendor.name})`,\n mobileNo: `99999120${i}`,\n status: \"ACTIVE\",\n totalKnos: Math.round(1000 + Math.random() * 4000),\n submittedKnos: Math.round(500 + Math.random() * 2000),\n pendingKnos: Math.round(200 + Math.random() * 1000),\n progressPercent: Math.round(40 + Math.random() * 50),\n }));\n return mockSupList;\n }\n return [];\n }\n\n // Filter real supervisors belonging to this vendor\n const currentVendorId = vendor?.id || vendor?.vendorId || vendorId;\n const matchedSups = supervisorSearchResponse.supervisors.filter(\n (s) => s.vendorId === currentVendorId\n );\n\n return matchedSups.map((sup) => {\n // Find progress report for this supervisor in progressData\n const report = progressData?.supervisorReport?.find(\n (r) => r.supervisorId === sup.id || r.supervisorId === sup.owner?.uuid\n );\n\n return {\n id: sup.id || sup.owner?.uuid,\n name: sup.name || sup.owner?.name || \"N/A\",\n mobileNo: sup.owner?.mobileNumber || sup.mobileNo || \"N/A\",\n status: sup.status || \"ACTIVE\",\n totalKnos: report?.totalKnos || 0,\n submittedKnos: report?.submittedKnos || 0,\n pendingKnos: report?.pendingKnos || 0,\n progressPercent: report?.progressPercent || 0,\n };\n });\n }, [supervisorSearchResponse, vendor, progressData, vendorId]);\n\n const vendorName = vendor?.name || \"N/A\";\n const mobileNumber = vendor?.mobileNumber || vendor?.owner?.mobileNumber || \"N/A\";\n const email = vendor?.owner?.emailId || \"N/A\";\n const status = vendor ? \"ACTIVE\" : \"N/A\";\n const jurisdictions = useMemo(() => {\n if (Array.isArray(vendor?.jurisdictions)) {\n return vendor.jurisdictions.join(\", \");\n }\n return \"N/A\";\n }, [vendor]);\n const zoneIds = useMemo(() => {\n return vendor?.zoneIds?.length\n ? vendor.zoneIds.filter(Boolean).map(zone => String(zone).trim().toUpperCase())\n : [];\n }, [vendor]);\n\n // KPI stats calculation\n const cards = useMemo(() => {\n const hasRealData = vendorSupervisors.some((s) => s.totalKnos > 0);\n\n const totalKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0)\n : (progressData?.totalKnos || vendor?.assignedConnections || 0);\n\n const completedKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0)\n : (progressData?.completedKnos || vendor?.completedEkyc || 0);\n\n const pendingKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0)\n : (totalKnos - completedKnos);\n\n const progressPercent = totalKnos > 0 ? Math.round((completedKnos / totalKnos) * 100) : (vendor?.progress || 0);\n\n return [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: totalKnos,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n // {\n // label: \"TOTAL_ASSIGNMENTS\",\n // count: totalKnos,\n // color: \"#3B82F6\",\n // type: \"week\",\n // icon: <FaMapMarkedAlt />,\n // },\n {\n label: \"EKYC_COMPLETED\",\n count: completedKnos,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: pendingKnos,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${progressPercent}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n }, [vendorSupervisors, vendor, progressData]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const handleDownloadEkycData = async (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\n if (!consumerList || consumerList.length === 0) {\n alert(t(\"NO_EKYC_DATA_FOUND\") || \"No eKYC data found to download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\", \"doorPhotoFilestoreId\", \"panFilestoreId\",\n \"documentProofFilestoreId\", \"buildingImageFileStoreId\", \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\", \"modifiedBy\", \"zoneCode\", \"propertyType\", \"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 fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\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 = [\"kno\", \"mobileNumber\", \"emailId\", \"email\", \"pincode\", \"mrkey\", \"dob\", \"createdTime\", \"lastModifiedTime\", \"meterLatitude\", \"meterLongitude\"];\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 }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || row?.progressPercent === 0 ? row.progressPercent : row.progress}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = vendorSupervisors.map((s) => ({\n name: s.name,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0) || vendor?.assignedConnections || 0;\n const completedKnos = vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0) || vendor?.completedEkyc || 0;\n\n downloadVendorPDF({\n rows: rowsWithStats,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate report:\", err);\n } finally {\n setReportLoading(false);\n }\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\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={handleDownload}\n >\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 {\n cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isPageLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* 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\") ||\n \"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 width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-inputs\">\n <label>\n <span>From</span>\n <input\n type=\"date\"\n value={customDate.from}\n onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })}\n />\n </label>\n <label>\n <span>To</span>\n <input\n type=\"date\"\n value={customDate.to}\n onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })}\n />\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 ? (\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 </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 data={paginatedSupervisors}\n columns={supervisorColumns}\n isLoading={isPageLoading}\n totalRecords={vendorSupervisors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(vendorSupervisors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(vendorSupervisors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card> */}\n\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\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 },\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\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?.completedKnos ?? progressData?.submittedKnos ?? 0;\n const pendingKnos = progressData?.pendingKnos ?? (totalKnos >= submittedKnos ? totalKnos - submittedKnos : 0);\n const progressPercent = 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 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 ], [progressMetrics, t]);\n const totalRecords = listData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n function formReducer(state, payload) {\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isListLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n {/* Stats */}\n <div className=\"surveyor-dashboard\" style={{ overflowY: \"visible\", marginBottom: \"24px\" }}>\n <div className=\"stats-wrapper\" style={{ display: \"flex\", gap: \"16px\", flexWrap: \"wrap\" }}>\n {cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isProgressLoading}\n icon={card.icon}\n />\n ))}\n </div>\n </div>\n\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: listData,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { Fragment, useState } from \"react\";\nimport {\n Card,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n Menu,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\n\n// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />} style={{ margin: 0, padding: 0 }} onClick={routeTo} />\n );\n};\n\nconst checkForNA = (value) => (value !== null && value !== undefined && value !== \"\" ? value : \"N/A\");\n\nconst boolToYesNo = (value, t) => {\n if (value === true || value === \"true\" || String(value).toLowerCase() === \"yes\") return t(\"CORE_COMMON_YES\");\n if (value === false || value === \"false\" || String(value).toLowerCase() === \"no\") return t(\"CORE_COMMON_NO\");\n if (value === \"true\") return t(\"CORE_COMMON_YES\");\n if (value === \"false\") return t(\"CORE_COMMON_NO\");\n};\n/**\n * Robust data extraction for comparison.\n * The API returns { applicationReviewInfo: { newData: { ... }, oldData: { ... } } }\n */\nconst extractReviewData = (searchData, flowState) => {\n const rawData = searchData && Object.keys(searchData).length > 0 ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReviewInfo -> newData/oldData\n const reviewWrapper = rawData?.applicationReviewInfo || rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n\n return {\n newData: applicationData?.newData || applicationData,\n oldData: applicationData?.oldData || null,\n };\n};\n\nconst ReviewSection = ({ title, fields, newData, oldData, t, jumpTo, state, hideEditButton }) => {\n return (\n <div\n className=\"review-section-wrapper\"\n style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}\n >\n <div\n style={{\n padding: \"20px 24px\",\n background: \"#F9FAFB\",\n borderBottom: \"1px solid #EAECF0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && !hideEditButton && <ActionButton jumpTo={jumpTo} state={state} />}\n </div>\n\n <div style={{ padding: \"0 24px\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", tableLayout: \"fixed\" }}>\n <thead>\n <tr>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"30%\",\n }}\n >\n {t(\"EKYC_FIELD_NAME\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_EXISTING_INFORMATION\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_PROPOSED_UPDATES\")}\n </th>\n </tr>\n </thead>\n <tbody>\n {fields.map((field, idx) => {\n const valNew = newData?.[field.key];\n const valOld = oldData?.[field.key];\n const 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, useState } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport Dashboard from \"./Dashboard\";\n\nconst parseAdditionalDetails = (additionalDetails) => {\n if (!additionalDetails) return {};\n if (typeof additionalDetails === \"object\") return additionalDetails;\n if (typeof additionalDetails !== \"string\") return {};\n try {\n return JSON.parse(additionalDetails);\n } catch (error) {\n return {};\n }\n};\n\nconst AdminDashboard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n 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 allVendorIds.length > 0 ? { vendorId: allVendorIds[0], vendorIds: allVendorIds } : {},\n {\n enabled: !!tenantId && allVendorIds.length > 0,\n keepPreviousData: true,\n }\n );\n\n const vendorsList = useMemo(() => {\n if (vendorSearchResponse && vendorSearchResponse.length > 0) {\n const filteredVendors = vendorSearchResponse.filter((v) => {\n const dso = v.dsoDetails || v;\n const additionalDetails = parseAdditionalDetails(dso.additionalDetails || v.additionalDetails);\n return additionalDetails?.serviceType?.toLowerCase() === \"ekyc\";\n });\n\n return filteredVendors.map((v) => {\n const dso = v.dsoDetails || v;\n const supervisorsList = dso.supervisors || [];\n const surveyorsList = dso.surveyors || [];\n\n // Extract supervisor IDs for this vendor\n const supervisorIds = supervisorsList.map((s) => s.id || s.owner?.uuid).filter(Boolean);\n\n // Find supervisor reports in progressData matching these IDs\n const matchedReports = progressData?.supervisorReport?.filter(\n (r) => supervisorIds.includes(r.supervisorId)\n ) || [];\n\n const completed = matchedReports.reduce((acc, r) => acc + (r.submittedKnos || 0), 0);\n const pending = matchedReports.reduce((acc, r) => acc + (r.pendingKnos || 0), 0);\n const total = matchedReports.reduce((acc, r) => acc + (r.totalKnos || 0), 0);\n const progress = total > 0 ? Math.round((completed / total) * 100) : 0;\n const rejected = 0; // Default to 0 or calculate if data exists\n\n return {\n id: dso.id || dso.vendorId || v.id || v.vendorId,\n name: dso.name || dso.displayName || v.name || \"N/A\",\n ownerName: dso.owner?.name || v.owner?.name || \"N/A\",\n mobileNumber: dso.mobileNumber || dso.owner?.mobileNumber || v.mobileNumber || \"N/A\",\n supervisors: supervisorsList.length,\n surveyors: surveyorsList.length,\n completed: completed,\n progress: progress,\n pending: pending,\n rejected: rejected,\n };\n });\n }\n return [];\n }, [vendorSearchResponse, progressData]);\n\n return (\n <Card className=\"surveyor-dashboard\">\n <Dashboard />\n <div className=\"admin-performance-section\">\n <h3 className=\"section-title\">\n {t(\"EKYC_VENDORS_PERFORMANCE\") || \"eKYC Vendors Performance\"}\n </h3>\n\n {isVendorSearchLoading || isProgressLoading ? (\n <Loader />\n ) : (\n <div className=\"vendors-grid\">\n {vendorsList.length === 0 ? (\n <div className=\"no-vendors\">\n {t(\"NO_VENDORS_FOUND\") || \"No vendors found.\"}\n </div>\n ) : (\n vendorsList.map((vendor) => (\n <div\n key={vendor.id}\n className=\"vendor-perf-card\"\n onClick={() => history.push(`/digit-ui/employee/ekyc/vendors/${vendor.id}`)}\n >\n <div className=\"card-header\">\n <div className=\"vendor-info\">\n <h4>{vendor.name}</h4>\n <p>{t(\"MOBILE\") || \"Mobile\"}: {vendor.mobileNumber}</p>\n </div>\n <span className=\"progress-badge\">\n {vendor.progress}%\n </span>\n </div>\n\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${vendor.progress}%` }}></div>\n </div>\n\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.supervisors}</div>\n <div className=\"label\">{t(\"SUPERVISORS\") || \"Supervisors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.surveyors}</div>\n <div className=\"label\">{t(\"SURVEYORS\") || \"Surveyors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value completed-val\">{vendor.completed}</div>\n <div className=\"label\">{t(\"COMPLETED\") || \"Completed\"}</div>\n </div>\n </div>\n\n <div className=\"card-footer\">\n <span>{t(\"PENDING\") || \"Pending\"}: <span className=\"pending-count\">{vendor.pending}</span></span>\n <span>{t(\"REJECTED\") || \"Rejected\"}: <span className=\"rejected-count\">{vendor.rejected}</span></span>\n </div>\n </div>\n ))\n )}\n </div>\n )}\n </div>\n\n </Card>\n );\n};\n\nexport default AdminDashboard;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { downloadSupervisorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst SupervisorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { id: supervisorId } = useParams();\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n // Fetch 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) =>\n s.owner?.uuid?.toLowerCase() === targetOwnerOrId?.toLowerCase() ||\n s.id?.toLowerCase() === targetOwnerOrId?.toLowerCase()\n );\n resolvedSupervisorId = selfSup?.id;\n }\n\n const targetId = resolvedSupervisorId || targetOwnerOrId;\n\n // 1. Find the supervisor profile from search response\n let matchedSup = null;\n if (supervisorSearchResponse?.supervisors) {\n matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n // 2. Find progress report for this supervisor from progressData\n let progressReport = null;\n if (progressData?.supervisorReport && targetId) {\n progressReport = progressData.supervisorReport.find(\n (s) =>\n s.supervisorId?.toLowerCase() === targetId?.toLowerCase() ||\n s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n // 3. If we found the supervisor in search response, enrich and return\n if (matchedSup) {\n const matchedSurveyors = surveyorSearchResponse?.surveyors\n ? surveyorSearchResponse.surveyors\n .filter((surv) => surv.supervisorId === (matchedSup.id || matchedSup.owner?.uuid))\n .map((surv) => {\n let realStats = null;\n if (progressData?.supervisorReport) {\n for (const report of progressData.supervisorReport) {\n if (\n report.supervisorId?.toLowerCase() !== matchedSup.id?.toLowerCase() &&\n report.id?.toLowerCase() !== matchedSup.id?.toLowerCase()\n ) continue;\n const matchedSurv = report.surveyors?.find(\n (s) =>\n (s.surveyorId && (s.surveyorId?.toLowerCase() === surv.id?.toLowerCase() || s.surveyorId?.toLowerCase() === surv.owner?.uuid?.toLowerCase())) ||\n (s.id && (s.id?.toLowerCase() === surv.id?.toLowerCase() || s.id?.toLowerCase() === surv.owner?.uuid?.toLowerCase()))\n );\n if (matchedSurv) {\n realStats = matchedSurv;\n break;\n }\n }\n }\n\n return {\n surveyorId: surv.id || surv.owner?.uuid,\n surveyorName: surv.name || surv.owner?.name || \"N/A\",\n mobileNo: surv.owner?.mobileNumber || surv.mobileNo || \"N/A\",\n status: surv.status || \"ACTIVE\",\n totalKnos: realStats?.totalKnos || 0,\n submittedKnos: realStats?.submittedKnos || 0,\n pendingKnos: realStats?.pendingKnos || 0,\n progressPercent: realStats?.progressPercent || 0,\n };\n })\n : [];\n\n const totalKnos = progressReport?.totalKnos || matchedSurveyors.reduce((acc, s) => acc + (s.totalKnos || 0), 0);\n const submittedKnos = progressReport?.submittedKnos || matchedSurveyors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0);\n const pendingKnos = progressReport?.pendingKnos || matchedSurveyors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0);\n const progressPercent = progressReport ? progressReport.progressPercent : (totalKnos > 0 ? Math.round((submittedKnos / totalKnos) * 100) : 0);\n\n return {\n supervisorId: matchedSup.id || matchedSup.owner?.uuid,\n supervisorName: matchedSup.name || matchedSup.owner?.name || \"N/A\",\n mobileNo: matchedSup.owner?.mobileNumber || matchedSup.mobileNo || \"N/A\",\n status: matchedSup.status || \"ACTIVE\",\n assignedZoneId: matchedSup.assignedZoneId || \"N/A\",\n vendorId: matchedSup.vendorId,\n surveyors: matchedSurveyors,\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }\n\n // 4. Fallback: If not found in search response, but we have progressData report, return it and enrich with loggedInUser details\n if (progressReport) {\n const isSelf = targetId?.toLowerCase() === loggedInUser?.uuid?.toLowerCase();\n const supervisorName = isSelf ? (loggedInUser?.name || progressReport.supervisorName || \"N/A\") : (progressReport.supervisorName || \"N/A\");\n const mobileNo = isSelf ? (loggedInUser?.mobileNumber || progressReport.mobileNo || \"N/A\") : (progressReport.mobileNo || \"N/A\");\n\n const surveyorsMapped = progressReport.surveyors\n ? progressReport.surveyors.map((surv) => {\n const matchedSurv = surveyorSearchResponse?.surveyors?.find(\n (s) => s.id?.toLowerCase() === surv.surveyorId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === surv.surveyorId?.toLowerCase()\n );\n\n return {\n surveyorId: surv.surveyorId || surv.id,\n surveyorName: matchedSurv?.name || matchedSurv?.owner?.name || surv.surveyorName || \"N/A\",\n mobileNo: matchedSurv?.owner?.mobileNumber || matchedSurv?.mobileNo || surv.mobileNo || \"N/A\",\n status: matchedSurv?.status || surv.status || \"ACTIVE\",\n totalKnos: surv.totalKnos || 0,\n submittedKnos: surv.submittedKnos || 0,\n pendingKnos: surv.pendingKnos || 0,\n progressPercent: surv.progressPercent || 0,\n };\n })\n : [];\n\n return {\n supervisorId: progressReport.supervisorId || progressReport.id,\n supervisorName,\n mobileNo,\n status: progressReport.status || \"ACTIVE\",\n assignedZoneId: progressReport.assignedZoneId || \"N/A\",\n vendorId: progressReport.vendorId,\n surveyors: surveyorsMapped,\n totalKnos: progressReport.totalKnos || 0,\n submittedKnos: progressReport.submittedKnos || 0,\n pendingKnos: progressReport.pendingKnos || 0,\n progressPercent: progressReport.progressPercent || 0,\n };\n }\n\n return null;\n }, [progressData, supervisorSearchResponse, surveyorSearchResponse, supervisorId, loggedInUser]);\n\n const fullName = supervisor?.supervisorName || \"N/A\";\n const mobileNumber = supervisor?.mobileNo || \"N/A\";\n const email = loggedInUser?.emailId || \"N/A\";\n const gender = loggedInUser?.gender || \"N/A\";\n const status = supervisor?.status || \"N/A\";\n const assignedZone = supervisor?.assignedZoneId || \"N/A\";\n\n const vendorName = useMemo(() => {\n if (!vendorSearchResponse || !supervisor) return \"N/A\";\n const targetVendorId = supervisor.vendorId;\n if (!targetVendorId) return \"N/A\";\n const matchedVendor = vendorSearchResponse.find(\n (v) => v.dsoDetails?.id === targetVendorId || v.dsoDetails?.vendorId === targetVendorId || v.id === targetVendorId || v.vendorId === targetVendorId\n );\n return matchedVendor?.dsoDetails?.name || matchedVendor?.name || \"N/A\";\n }, [vendorSearchResponse, supervisor]);\n\n const surveyors = useMemo(() => {\n return supervisor?.surveyors || [];\n }, [supervisor]);\n\n const cards = useMemo(() => [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: supervisor?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: supervisor?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: supervisor?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${supervisor?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n\n },\n ], [supervisor]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const paginatedSurveyors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return surveyors.slice(start, end);\n }, [surveyors, currentPage, pageSize]);\n\n const surveyorColumns = useMemo(\n () => [\n {\n Header: t(\"SURVEYOR_NAME\") || \"Surveyor Name\",\n accessor: (row) => row?.surveyorName || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/surveyor-dashboard/${row.original.surveyorId}`\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.surveyorName || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: () => \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || 0}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = surveyors.map((s) => ({\n name: s.surveyorName,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = supervisor?.totalKnos || 0;\n const completedKnos = supervisor?.submittedKnos || 0;\n\n downloadSupervisorPDF({\n rows: rowsWithStats,\n supervisorName: fullName,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate supervisor report:\", err);\n } finally {\n setReportLoading(false);\n }\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 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\", \"source\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\", \"doorPhotoFilestoreId\", \"panFilestoreId\",\n \"documentProofFilestoreId\", \"buildingImageFileStoreId\", \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\", \"modifiedBy\", \"zoneCode\", \"propertyType\", \"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 fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\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 = [\"kno\", \"mobileNumber\", \"emailId\", \"email\", \"pincode\", \"mrkey\", \"dob\", \"createdTime\", \"lastModifiedTime\", \"meterLatitude\", \"meterLongitude\"];\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\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={handleDownload}\n >\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\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isProgressLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* 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\") ||\n \"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 width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-inputs\">\n <label>\n <span>From</span>\n <input\n type=\"date\"\n value={customDate.from}\n onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })}\n />\n </label>\n <label>\n <span>To</span>\n <input\n type=\"date\"\n value={customDate.to}\n onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })}\n />\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\">{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 ? (\n <div className=\"selected-zones\" style={{ marginTop: \"4px\" }}>\n <span className=\"selected-zone-chip\">\n {t(assignedZone.trim().toUpperCase()) || assignedZone}\n </span>\n </div>\n )\n : assignedZone}\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;","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 useEffect(() => {\n if (filters.mrkey && allData?.length > 0) {\n const mrKnos = allData.map((item) => item.kno).filter(Boolean);\n setSelectedKnos(mrKnos);\n }\n }, [filters.mrkey, allData]);\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 handleSelectAll = () => {\n const currentKnos = paginatedData.map((item) => item.kno);\n\n const allSelected = currentKnos.length > 0 && currentKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos((prev) => (allSelected ? prev.filter((kno) => !currentKnos.includes(kno)) : [...new Set([...prev, ...currentKnos])]));\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => (\n <input\n type=\"checkbox\"\n checked={paginatedData.length > 0 && paginatedData.every((item) => selectedKnos.includes(item.kno))}\n onChange={handleSelectAll}\n />\n ),\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return <input type=\"checkbox\" checked={selectedKnos.includes(kno)} onChange={() => handleSelect(kno)} />;\n },\n },\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n {\n Header: \"Pincode\",\n accessor: \"pincode\",\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{t(status)}</span> : \"-\";\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedKnos, paginatedData]\n );\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n return (\n <Modal\n headerBarMain={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\" value={filters.pincode} onChange={(e) => handleFilterChange(\"pincode\", e.target.value)}>\n <option value=\"\">Select Pincode</option>\n {pincodeOptions.map((pin) => (\n <option key={pin} value={pin}>\n {pin}\n </option>\n ))}\n </select>\n\n {/* <select\n className=\"form-control\"\n value={filters.zoneName}\n onChange={(e) => {\n const val = e.target.value;\n setFilters((prev) => ({\n ...prev,\n zoneCode: val,\n zoneName: val,\n }));\n }}\n disabled={isZroLoading}\n >\n <option value=\"\">{isZroLoading ? \"Loading ZRO Locations...\" : \"Select ZRO Location\"}</option>\n {mappedZROLocation.map((loc) => (\n <option key={loc.code} value={loc.name}>\n {loc.name}\n </option>\n ))}\n </select> */}\n\n {/* <select className=\"form-control\" value={filters.ward} onChange={(e) => handleFilterChange(\"ward\", e.target.value)}>\n <option value=\"\">Select Ward</option>\n {wardOptions\n .filter((ward) => {\n const stripped = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return stripped.trim().length > 0;\n })\n .map((ward) => {\n const displayName = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return (\n <option key={ward.code} value={ward.name}>\n {displayName}\n </option>\n );\n })}\n </select> */}\n {/* \n <select className=\"form-control\" value={filters.assembly} onChange={(e) => handleFilterChange(\"assembly\", e.target.value)}>\n <option value=\"\">Select Assembly</option>\n {assemblyOptions.map((assembly) => (\n <option key={assembly.code} value={assembly.name}>\n {assembly.name}\n </option>\n ))}\n </select> */}\n\n <select className=\"form-control\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)}>\n <option value=\"\">Select MR Key</option>\n {mrkeyOptions.map((key) => (\n <option key={key} value={key}>\n {key}\n </option>\n ))}\n </select>\n\n {selectedKnos.length > 0 && (\n <button className=\"clear-selected-btn\" type=\"button\" onClick={() => setSelectedKnos([])}>\n {t(\"EKYC_CLEAR_SELECTION\") || \"Clear Selected\"}\n </button>\n )}\n\n {/* <select className=\"form-control\" value={filters.ekycStatus} onChange={(e) => handleFilterChange(\"ekycStatus\", e.target.value)}>\n <option value=\"\">All eKYC Status</option>\n <option value=\"PENDING\">Pending</option>\n <option value=\"APPROVED\">Approved</option>\n <option value=\"REJECTED\">Rejected</option>\n </select> */}\n </div>\n\n {/* Table */}\n <Table\n tableTitle=\"eKYC Applications\"\n tableClass=\"ekycTable\"\n 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\", \"source\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\", \"doorPhotoFilestoreId\", \"panFilestoreId\",\n \"documentProofFilestoreId\", \"buildingImageFileStoreId\", \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\", \"modifiedBy\", \"zoneCode\", \"propertyType\", \"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 fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\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 = [\"kno\", \"mobileNumber\", \"emailId\", \"email\", \"pincode\", \"mrkey\", \"dob\", \"createdTime\", \"lastModifiedTime\", \"meterLatitude\", \"meterLongitude\"];\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\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={handleDownload}\n >\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 title={t(\"TOTAL_ASSIGNED\")} value={dashboardData?.dashboardInfo?.total || 0} type=\"today\" isLoading={isDashboardLoading} icon={<FaUsers />} />\n <StatCard title={t(\"COMPLETED\")} value={dashboardData?.dashboardInfo?.completed || 0} type=\"week\" isLoading={isDashboardLoading} icon={<FaCheckCircle />} />\n <StatCard title={t(\"PENDING\")} value={dashboardData?.dashboardInfo?.pending || 0} type=\"pending\" isLoading={isDashboardLoading} icon={<FaClock />} />\n <StatCard title={t(\"SUBMITTED\")} value={dashboardData?.dashboardInfo?.submittedCount || 0} type=\"month\" isLoading={isDashboardLoading} icon={<FaChartLine />} />\n </div>\n\n {/* Charts */}\n <div className=\"charts-wrapper\">\n {/* Weekly Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"WEEKLY_SURVEY_PROGRESS\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart data={weeklyData}>\n <CartesianGrid strokeDasharray=\"3 3\" />\n\n <XAxis dataKey=\"day\" />\n\n <YAxis />\n\n <Tooltip />\n\n <Bar dataKey=\"completed\" fill=\"#0B2559\" radius={[6, 6, 0, 0]} />\n </BarChart>\n </ResponsiveContainer>\n </div> */}\n\n {/* Pie Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"CASE_DISTRIBUTION\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <PieChart>\n <Pie data={statusData} dataKey=\"value\" nameKey=\"name\" outerRadius={90} label>\n {statusData.map((entry, index) => (\n <Cell key={index} fill={entry.color} />\n ))}\n </Pie>\n\n <Tooltip />\n\n <Legend />\n </PieChart>\n </ResponsiveContainer>\n </div> */}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* 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\") ||\n \"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 width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n\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\n type=\"date\"\n value={customDate.from}\n onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })}\n />\n </label>\n <label>\n <span>To</span>\n <input\n type=\"date\"\n value={customDate.to}\n onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })}\n />\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 && <AssignEkycModal surveyor={surveyor} isReassign={showModal === \"EKYC_REASSIGN\"} closeModal={closeModal} refetchDashboard={refetchDashboard} />}\n </Card>\n );\n};\n\nexport default SurveyorDetailsDashboard;\n","import React, { useState, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { Label, DatePicker, SubmitBar, Toast, Dropdown, UploadFile, CollapsibleCardPage, VerticalTimeline } from \"@djb25/digit-ui-react-components\";\n\nconst WorkOrder = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n const history = useHistory();\n\n const [showToast, setShowToast] = useState(null);\n const [vendor, setVendor] = useState(null);\n const [validFrom, setValidFrom] = useState(\"\");\n const [validTo, setValidTo] = useState(\"\");\n const [uploadedFile, setUploadedFile] = useState(null);\n const [file, setFile] = useState(null);\n const [error, setError] = useState(null);\n\n const { data: vendorOptions, isLoading: isVendorLoading } = Digit.Hooks.fsm.useVendorSearch({\n tenantId,\n filters: { status: \"ACTIVE\" },\n config: {\n select: (data) => data?.vendor || [],\n },\n });\n\n const { mutate: createWorkOrder } = Digit.Hooks.wt.useVendorWorkOrderCreate(tenantId);\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (file) {\n if (file.size >= 10000000) {\n setError(t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") || \"File size exceeds 10MB\");\n } else {\n try {\n const response = await Digit.UploadServices.Filestorage(\"EKYC\", file, Digit.ULBService.getStateId());\n if (response?.data?.files?.length > 0) {\n setUploadedFile(response?.data?.files[0]?.fileStoreId);\n } else {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n }\n } catch (err) {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n }\n }\n }\n })();\n }, [file]);\n\n const handleSubmit = () => {\n const payload = {\n vendorWorkOrder: {\n tenantId,\n name: vendor?.name,\n mobileNumber: vendor?.owner?.mobileNumber,\n emailId: vendor?.owner?.emailId,\n vendorId: vendor?.code || vendor?.id,\n validFrom: new Date(validFrom).getTime(),\n validTo: new Date(validTo).getTime(),\n serviceType: \"EKYC\",\n fileStoreId: uploadedFile,\n },\n };\n\n createWorkOrder(payload, {\n onSuccess: (result) => {\n setShowToast({ isError: false, label: t(\"EKYC_WORK_ORDER_SAVE_SUCCESS\") });\n setTimeout(() => {\n history.push(\"/digit-ui/employee/module/details\");\n }, 3000);\n },\n onError: (err) => {\n setShowToast({ isError: true, label: err?.response?.data?.Errors?.[0]?.message || t(\"EKYC_WORK_ORDER_SAVE_ERROR\") });\n },\n });\n };\n\n function selectfile(e) {\n setUploadedFile(null);\n setFile(e.target.files[0]);\n }\n\n const isFormDisabled = !vendor || !validFrom || !validTo || !uploadedFile;\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n return (\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={[{ timeLine: [{ actions: t(\"EKYC_WORK_ORDER_ASSIGN\"), currentStep: 1 }] }]} showFinalStep={false} />\n\n <div style={{ flex: 1 }}>\n <CollapsibleCardPage title={t(\"EKYC_UPLOAD_WORK_ORDER\")} defaultOpen={true}>\n <div className=\"formcomposer-section-grid\">\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"EKYC_VENDOR_NAME\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <Dropdown t={t} option={vendorOptions} optionKey=\"name\" select={setVendor} selected={vendor} placeholder={t(\"EKYC_SELECT_VENDOR\")} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"COMMON_VALID_FROM_DATE\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <DatePicker date={validFrom} onChange={(date) => setValidFrom(date)} style={{ width: \"100%\" }} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"COMMON_VALID_TO_DATE\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <DatePicker date={validTo} min={validFrom} onChange={(date) => setValidTo(date)} style={{ width: \"100%\" }} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>{`${t(\"EKYC_UPLOAD_DOCUMENT\")}`} <span className=\"check-page-link-button\">*</span></Label>\n <UploadFile\n id={\"ekyc-doc\"}\n extraStyleName={\"propertyCreate\"}\n accept=\"image/*, .pdf, .png, .jpeg, .jpg\"\n onUpload={selectfile}\n onDelete={() => setUploadedFile(null)}\n message={uploadedFile ? `1 ${t(`EKYC_ACTION_FILEUPLOADED`)}` : t(`EKYC_ACTION_NO_FILEUPLOADED`)}\n error={error}\n />\n </div>\n </div>\n </CollapsibleCardPage>\n\n <div style={{ display: \"flex\", marginTop: \"24px\", justifyContent: isMobile ? \"center\" : \"flex-end\" }}>\n <SubmitBar label={t(\"ES_COMMON_SAVE\")} onSubmit={isFormDisabled ? null : handleSubmit} disabled={isFormDisabled} />\n </div>\n </div>\n\n {showToast && <Toast error={showToast.isError} label={showToast.label} onClose={() => setShowToast(null)} />}\n </div>\n );\n};\n\nexport default WorkOrder;\n","import React from \"react\";\nexport function formReducer(state, payload) {\n const storageKey = \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n}\n\nexport const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n};\n\nexport const tableColumnConfig = (t, handleReview) => [\n {\n Header: t(\"SURVEYOR_NAME\"),\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const id = row.original?.id;\n return (\n <span className=\"link\" onClick={() => handleReview(id)}>\n {row.original?.surveyorName || row.original?.name || \"NA\"}\n </span>\n );\n },\n },\n // {\n // Header: t(\"SURVEYOR_NAME\"),\n // accessor: \"surveyorName\",\n // Cell: ({ row }) => <span>{row.original?.surveyorName || row.original?.name || \"NA\"}</span>,\n // },\n {\n Header: t(\"MOBILE_NUMBER\"),\n accessor: \"mobileNo\",\n Cell: ({ row }) => <span>{row.original?.mobileNo || row.original?.owner?.mobileNumber || \"NA\"}</span>,\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>;\n },\n },\n {\n Header: t(\"SERVICE_TYPE\"),\n accessor: \"serviceType\",\n Cell: ({ row }) => <span>{row.original?.serviceType || \"NA\"}</span>,\n },\n];\n","import { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { tableColumnConfig } from \"../../../vendor/src/config/tableConfig\";\n\nconst SupervisorInboxTableConfig = ({\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n onSortingByData,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n const handleReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n\n currentPage: Math.floor(offset / limit),\n\n onPageSizeChange,\n\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) + Number(limit),\n },\n }),\n\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) - Number(limit),\n },\n }),\n\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Math.ceil(totalCount / limit) * limit - Number(limit),\n },\n }),\n\n onFirstPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: 0 },\n }),\n\n totalRecords: totalCount,\n onSort: onSortingByData,\n\n data: table,\n columns: tableColumnConfig(t, handleReview),\n\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default SupervisorInboxTableConfig;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport SupervisorInboxTableConfig from \"../hook/SupervisorInboxTableConfig\";\nimport SearchFormFieldsComponents from \"./SearchFormFieldsComponent\";\nimport { formInitValue, formReducer } from \"../../../vendor/src/config/tableConfig\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\nimport useInboxMobileCardsData from \"../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst AssignEkyc = () => {\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\"; // Force tenantId to dl.djb for EKYC APIs in citizen portal\n }\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n let paginationParms = {\n limit: formState?.tableForm?.limit || 10,\n offset: formState?.tableForm?.offset || 0,\n sortBy: formState?.tableForm?.sortBy || \"createdTime\",\n sortOrder: formState?.tableForm?.sortOrder || \"DESC\",\n };\n\n const mobileNumber = formState?.searchForm?.mobileNumber || \"\";\n const isSearchActive = !!mobileNumber;\n\n const filters = {\n ...paginationParms,\n status: \"ACTIVE,DISABLED\",\n };\n\n if (isSearchActive) {\n filters.mobileNumber = mobileNumber;\n }\n\n const { data: dashboardData, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, filters, { enabled: !!tenantId, keepPreviousData: true });\n\n const { isLoading: isDataSearchLoading, data } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const sourceData = useMemo(() => {\n return dashboardData?.surveyors || [];\n }, [dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n const owner = item?.owner || {};\n const roleCodes = owner?.roles?.map((role) => role.code)?.join(\", \") || \"\";\n\n return {\n ...item,\n id: item?.id || \"\",\n surveyorName: item?.name || owner?.name || \"\",\n mobileNo: item?.mobileNo || owner?.mobileNumber || \"\",\n email: owner?.emailId || \"\",\n vendorId: item?.vendorId || \"\",\n tenantId: item?.tenantId || \"\",\n supervisorId: item?.supervisorId || \"\",\n status: item?.status || \"\",\n roleCodes,\n userName: owner?.userName || \"\",\n gender: owner?.gender || \"\",\n serviceType: item?.additionalDetails?.serviceType || \"\",\n createdTime: item?.auditDetails?.createdTime || 0,\n lastModifiedTime: item?.auditDetails?.lastModifiedTime || 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"mobile\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues } });\n dispatch({ action: \"mutateSearchForm\", data });\n };\n\n const searchFormDefaultValues = {\n mobileNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"mobileNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n });\n }\n }\n };\n\n const propsForInboxTable = SupervisorInboxTableConfig({\n ...{\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading;\n\n const cards = [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: data?.totalKnos || 0,\n color: \"#0B2559\",\n filter: null,\n active: true,\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: data?.totalAssignments || 0,\n color: \"#3B82F6\",\n filter: [\"ASSIGNED\"],\n type: \"week\",\n icon: <FaMapMarkedAlt />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: data?.completedKnos || 0,\n color: \"#10B981\",\n filter: [\"COMPLETED\"],\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: (data?.totalKnos || 0) - (data?.completedKnos || 0),\n color: \"#F59E0B\",\n filter: [\"PENDING\"],\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${data?.overallProgressPercent || 0}%`,\n color: \"#A855F7\",\n filter: [\"IN_PROGRESS\"],\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, isSupervisor: true });\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: dashboardData?.dashboardInfo,\n // cards,\n isCardLoading: isDataSearchLoading,\n showSearchOnMobile: true,\n forceTable: true,\n }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\n","import Dashboard from \"../components/Dashboard\";\nimport Inbox from \"../pages/employee/Inbox\";\n// import Create from \"../pages/employee/Create\";\n// import Mapping from \"../pages/employee/Mapping\";\nimport EKYCForm from \"../pages/employee/EKYCForm\";\nimport Review from \"../components/Review\";\nimport AssignEkyc from \"../components/AssignEkyc\";\nimport AdminDashboard from \"../components/AdminDashboard\";\nimport CeoDashboard from \"../components/CeoDashboard\";\nimport VendorDetailsCard from \"../components/VendorDetailsCard\";\nimport SupervisorDetailsCard from \"../components/SupervisorDetailsCard\";\nimport SurveyorDetailsCard from \"../components/SurveyorDetailsCard\";\nimport WorkOrder from \"../pages/employee/WorkOrder\";\n\n\n// yeh function role (employee/citizen) leta hai aur uske hisaab se\n// breadcrumb ka URL bana deta hai. Baaki sab kuch same rehta hai.\nconst breadcrumb = (userType, listLabel, listPath, detailLabel) => [\n { label: listLabel, path: `/digit-ui/${userType}/ekyc/${listPath}` },\n { label: detailLabel },\n];\n\n// 👇 isi function ko employee ke liye bhi call karenge, citizen ke liye bhi\nexport const getEkycRoutes = (userType) => [\n // ---- simple pages ----\n { path: \"/dashboard\", component: Dashboard, layout: \"normal\", breadcrumb: \"EKYC_DASHBOARD\" },\n { path: \"/inbox\", component: Inbox, layout: \"normal\", breadcrumb: \"EKYC_INBOX\" },\n { path: \"/review/:kno\", component: Review, layout: \"normal\", breadcrumb: \"EKYC_REVIEW\" },\n // { path: \"/create-kyc\", component: Create, layout: \"normal\", breadcrumb: \"EKYC_CREATE_KYC\" },\n // { path: \"/mapping\", component: Mapping, layout: \"normal\", breadcrumb: \"EKYC_MAPPING\" },\n { path: \"/admin-dashboard\", component: AdminDashboard, layout: \"normal\", breadcrumb: \"EKYC_ADMIN_DASHBOARD\" },\n // { path: \"/work-order\", component: WorkOrder, layout: \"normal\", breadcrumb: \"EKYC_WORK_ORDER\" },\n { path: \"/work-order\", component: WorkOrder, layout: \"normal\", breadcrumb: \"EKYC_WORK_ORDER\" },\n // { path: \"/ceo-dashboard\", component: CeoDashboard, layout: \"normal\", breadcrumb: \"CEO_M.F_DOR_FINANCE_VIEW\" },\n\n // ---- EKYC form ke 4 steps ----\n { path: \"/consumer-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_CONSUMER_DETAILS\" },\n { path: \"/address-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_ADDRESS_DETAILS\" },\n { path: \"/property-info\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_PROPERTY_INFO\" },\n { path: \"/meter-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_METER_DETAILS\" },\n\n // ---- assign ----\n {\n path: [\"/assign\"],\n component: AssignEkyc,\n layout: \"normal\",\n breadcrumb: [{ label: \"EKYC_ASSIGN\", path: `/digit-ui/${userType}/ekyc/assign` }],\n },\n\n // ---- detail-card wale routes ----\n // {\n // path: [\"/review/:kno\", \"/review\"],\n // component: Review,\n // layout: \"action\",\n // breadcrumb: breadcrumb(userType, \"EKYC_INBOX\", \"inbox:kno\", \"EKYC_REVIEW\"),\n // },\n {\n path: [\"/vendors/:vendorId\", \"/vendors\"],\n component: VendorDetailsCard,\n layout: \"normal\",\n breadcrumb: breadcrumb(userType, \"EKYC_VENDORS\", \"vendors:vendorId\", \"EKYC_VENDOR_DETAILS\"),\n },\n {\n path: [\"/supervisor-dashboard/:id\", \"/supervisor-dashboard\"],\n component: SupervisorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SUPERVISOR_DASHBOARD\", \"supervisor-dashboard:id\", \"EKYC_SUPERVISOR_DETAILS\"),\n },\n {\n path: [\"/surveyor-dashboard/:id\", \"/surveyor-dashboard\"],\n component: SurveyorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SURVEYOR_DASHBOARD\", \"surveyor-dashboard/:id\", \"EKYC_SURVEYOR_DETAILS\"),\n },\n];\n\n// dono role ke liye ready-made arrays — jaha jaruratho wahi import karo\nexport const ekycRoutes = getEkycRoutes(\"employee\"); // employee ke liye\nexport const citizenEkycRoutes = getEkycRoutes(\"citizen\"); // citizen ke liye","import { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation } from \"react-router-dom\";\nimport Dashboard from \"../../components/Dashboard\";\n// import CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard.js\";\nimport Inbox from \"./Inbox\";\n// import Mapping from \"./Mapping\";\n// import Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\n// import AssignEkyc from \"../../components/AssignEkyc.js\";\nimport AdminDashboard from \"../../components/AdminDashboard.js\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard.js\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\"\nimport WorkOrder from \"./WorkOrder\";\nimport { ekycRoutes } from \"../../config/Routes\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n // const getDynamicBreadcrumbs = () => {\n // const pathname = location.pathname;\n\n // // Parent crumb — always present and clickable → redirects to eKYC inbox\n // const crumbs = [\n // { icon: HomeIcon, path: \"/digit-ui/employee\" },\n // { label: t(\"ACTION_TEST_EKYC\"), path: `/digit-ui/employee/module/details` },\n // ];\n\n // // Child crumb — only appended when on a sub-page (not inbox/dashboard itself)\n // if (pathname.includes(\"/create-kyc\")) {\n // crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n // } else if (pathname.includes(\"/consumer-details\")) {\n // crumbs.push({ label: t(\"EKYC_CONSUMER_DETAILS\") });\n // } else if (pathname.includes(\"/address-details\")) {\n // crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n // } else if (pathname.includes(\"/property-info\")) {\n // crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n // } else if (pathname.includes(\"/meter-details\")) {\n // crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n // } else if (pathname.includes(\"/review\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/employee/ekyc/inbox` });\n // crumbs.push({ label: t(\"EKYC_REVIEW\") });\n // } else if (pathname.includes(\"/surveyor-dashboard\") || pathname.includes(\"/assign/surveyor-details\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") || \"Surveyor Dashboard\" });\n // } else if (pathname.includes(\"/assign\")) {\n // crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n // } else if (pathname.includes(\"/ceo-dashboard\")) {\n // crumbs.push({ label: t(\"CEO_M.F_DOR_FINANCE_VIEW\") });\n // } else if (pathname.includes(\"/admin-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\" });\n // } else if (pathname.includes(\"/supervisor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") || \"Supervisor Dashboard\" });\n // } else if (pathname.includes(\"/surveyor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n // } else if (pathname.includes(\"/vendors/\")) {\n // crumbs.push({ label: t(\"EKYC_VENDOR_DETAILS\") });\n // } else if (pathname.includes(\"/mapping\")) {\n // crumbs.push({ label: t(\"EKYC_MAPPING\") });\n // } else if (pathname.includes(\"/dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n // } else if (pathname.includes(\"/inbox\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\") });\n // }\n // // dashboard & inbox → no child crumb (only \"eKYC Admin\" shown)\n\n // return crumbs;\n // };\n\n const getDynamicBreadcrumbs = () => {\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(\"ACTION_TEST_EKYC\"), path: \"/digit-ui/employee/module/details\" },\n ];\n const pathSegments = location.pathname.split(\"/\").filter(Boolean);\n const ekycIndex = pathSegments.indexOf(\"ekyc\");\n const relativeSegments = ekycIndex !== -1 ? pathSegments.slice(ekycIndex + 1) : [];\n\n let matchedPath = \"\";\n const currentRoute = ekycRoutes.find((route) => {\n const paths = Array.isArray(route.path) ? route.path : [route.path];\n return paths.some((singlePath) => {\n const routeSegments = singlePath.split(\"/\").filter(Boolean);\n if (routeSegments.length === relativeSegments.length && routeSegments.every((seg, i) => seg.startsWith(\":\") || seg === relativeSegments[i])) {\n matchedPath = singlePath;\n return true;\n }\n return false;\n });\n });\n\n if (currentRoute) {\n if (Array.isArray(currentRoute.breadcrumb)) {\n currentRoute.breadcrumb.forEach((crumb) => {\n let crumbPath = crumb.path;\n if (crumbPath && matchedPath) {\n matchedPath.split(\"/\").filter(Boolean).forEach((segment, idx) => {\n if (segment.startsWith(\":\")) {\n const val = relativeSegments[idx];\n crumbPath = crumbPath.replace(new RegExp(`\\\\/${segment}`, \"g\"), `/${val}`)\n .replace(new RegExp(`(\\\\w+)${segment}`, \"g\"), `$1/${val}`)\n .replace(new RegExp(segment, \"g\"), val);\n }\n });\n }\n crumbs.push({ label: t(crumb.label), ...(crumbPath ? { path: crumbPath } : {}) });\n });\n } else {\n crumbs.push({ label: t(currentRoute.breadcrumb) });\n }\n }\n return crumbs;\n };\n const formStepRoutes = [\"consumer-details\", \"address-details\", \"property-info\", \"meter-details\"];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n Back\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <div className=\"employee-form\">\n <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Create />\n </LayoutWrapper>\n )}\n /> */}\n\n {/* <PrivateRoute\n path={`${path}/mapping`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Mapping />\n </LayoutWrapper>\n )}\n /> */}\n {/* <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n /> */}\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={formStepRoutes.map((route) => `${path}/${route}`)}\n component={(props) => (\n <LayoutWrapper layoutClass=\"normal\">\n <EKYCForm {...props} path={path} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review/:kno`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/ceo-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <CeoDashboard />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/admin-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AdminDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/vendors/:vendorId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/surveyor-dashboard/:id`, `${path}/surveyor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/work-order`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <WorkOrder />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n /> */}\n </Switch>\n </div>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst PropertyInfoConfig = (t, formData = {}, uploadFile, buildingImage, buildingImageId, setBuildingImage, setBuildingImageId) => {\n const propertyType = formData?.propertyType?.name || formData?.propertyType;\n const isHotel = propertyType === \"Hotel\";\n const isHospitalOrNursing = propertyType === \"Hospital\" || propertyType === \"Nursing Home\";\n\n const fields = [\n {\n label: t(\"PID Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"pidNumber\",\n },\n },\n {\n label: t(\"Property Type\"),\n isMandatory: false,\n type: \"custom\",\n key: \"propertyType\",\n populators: {\n name: \"propertyType\",\n component: (props) => (\n <Dropdown\n option={[\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sub Property Category\"),\n isMandatory: false,\n type: \"custom\",\n key: \"subPropertyCategory\",\n populators: {\n name: \"subPropertyCategory\",\n component: (props) => (\n <Dropdown\n option={[]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"No. of Floors\"),\n isMandatory: true,\n type: \"number\",\n populators: {\n name: \"noOfFloors\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Floor No. of this KNO\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"floorNo\",\n },\n },\n {\n label: isHospitalOrNursing ? t(\"No of Beds\") : t(\"No of Beds\"),\n isMandatory: isHospitalOrNursing,\n type: \"number\",\n populators: {\n name: \"noOfBeds\",\n validation: isHospitalOrNursing ? { required: true, min: 1 } : {},\n },\n },\n {\n label: isHotel ? t(\"No. of Rooms\") : t(\"No. of Rooms\"),\n isMandatory: isHotel,\n type: \"number\",\n populators: {\n name: \"noOfRooms\",\n validation: isHotel ? { required: true, min: 1 } : {},\n },\n },\n {\n label: t(\"Number of Dwelling Units\"),\n isMandatory: false,\n type: \"number\",\n populators: {\n name: \"dwellingUnits\",\n },\n },\n {\n label: t(\"Building Image\"),\n isMandatory: true,\n type: \"custom\",\n key: \"buildingImage\",\n populators: {\n name: \"buildingImage\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {buildingImage && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n },\n ];\n\n return [\n {\n head: t(\"EKYC_PROPERTY_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default PropertyInfoConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport PropertyInfoConfig from \"../config/PropertyInfoConfig\";\n\nconst PropertyInfo = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"PROPERTY\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.propertyDetails || {};\n\n // 🔹 STATES\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n pidNumber: savedData.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : null,\n subPropertyCategory: savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null,\n noOfFloors: savedData.noOfFloors || \"\",\n floorNo: savedData.floorNo || \"\",\n noOfRooms: savedData.noOfRooms || \"\",\n noOfBeds: savedData.noOfBeds || \"\",\n dwellingUnits: savedData.dwellingUnits || \"\",\n buildingImage: savedData.buildingImageId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || rawData || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !isDataLoaded) {\n let propType = null;\n let subPropCat = null;\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ].find((type) => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) propType = matchingType;\n else propType = { name: propertyInfo.subPropertyCategory };\n subPropCat = { name: propertyInfo.subPropertyCategory };\n }\n\n if (propertyInfo.propertyType) {\n subPropCat = { name: propertyInfo.propertyType };\n if (!propertyInfo.subPropertyCategory) propType = { name: propertyInfo.propertyType };\n }\n\n const updatedDefaults = {\n pidNumber: savedData.pidNumber || propertyInfo.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : propType,\n subPropertyCategory: savedData.subPropertyCategory\n ? { name: savedData.subPropertyCategory }\n : subPropCat,\n noOfFloors:\n savedData.noOfFloors ||\n (propertyInfo.numberOfFloors || propertyInfo.noOfFloor\n ? String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor)\n : \"\"),\n floorNo: savedData.floorNo || propertyInfo.floorNo || \"\",\n noOfRooms:\n savedData.noOfRooms ||\n (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined\n ? String(propertyInfo.numberOfRooms)\n : \"\"),\n noOfBeds:\n savedData.noOfBeds ||\n (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined\n ? String(propertyInfo.numberOfBeds)\n : \"\"),\n dwellingUnits:\n savedData.dwellingUnits ||\n (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined\n ? String(propertyInfo.numberOfDwellingUnits)\n : \"\"),\n buildingImage: savedData.buildingImageId || propertyInfo.buildingImageFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.buildingImage) {\n setBuildingImageId(updatedDefaults.buildingImage);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setBuildingImageId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setBuildingImage(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Check if propertyType changed to re-evaluate mandatory validation or conditional visibility\n const propertyTypeChanged =\n (data?.propertyType?.name || data?.propertyType) !==\n (localFormData?.propertyType?.name || localFormData?.propertyType);\n\n if (propertyTypeChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const propTypeVal = data?.propertyType;\n const subPropCatVal = data?.subPropertyCategory;\n const noOfFloorsVal = data?.noOfFloors;\n const buildingImgId = buildingImageId || data?.buildingImage;\n const noOfRoomsVal = data?.noOfRooms;\n const noOfBedsVal = data?.noOfBeds;\n\n let valid = true;\n if (!propTypeVal) valid = false;\n if (!subPropCatVal) valid = false;\n if (!noOfFloorsVal || Number(noOfFloorsVal) < 1) valid = false;\n if (!buildingImgId) valid = false;\n\n if (propTypeVal?.name === \"Hotel\" && !noOfRoomsVal) valid = false;\n if (\n (propTypeVal?.name === \"Hospital\" || propTypeVal?.name === \"Nursing Home\") &&\n !noOfBedsVal\n )\n valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n pidNumber: data.pidNumber,\n propertyType: data.propertyType?.name || data.propertyType,\n subPropertyCategory: data.subPropertyCategory?.name || data.subPropertyCategory,\n noOfFloors: data.noOfFloors,\n floorNo: data.floorNo,\n noOfRooms: data.noOfRooms,\n noOfBeds: data.noOfBeds,\n dwellingUnits: data.dwellingUnits,\n buildingImageId: buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Property details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update property details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = PropertyInfoConfig(\n t,\n localFormData,\n handleUpload,\n buildingImage,\n buildingImageId,\n setBuildingImage,\n setBuildingImageId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetailsConfig = (t, formData = {}, uploadPhoto, meterPhoto, meterPhotoId, setMeterPhoto, setMeterPhotoId) => {\n const meterStatus = formData?.meterStatus?.name || formData?.meterStatus;\n const lastBillReceived = formData?.lastBillReceived?.name || formData?.lastBillReceived;\n const sewerConnection = formData?.sewerConnection?.name || formData?.sewerConnection;\n\n const isFrozen = meterStatus === \"Can not be identified\";\n\n // Generate Month-Year Options (1998–2026)\n const monthYearOptions = [];\n for (let y = 1998; y <= 2026; y++) {\n for (let m = 1; m <= 12; m++) {\n monthYearOptions.push({ name: `${m}/${y}` });\n }\n }\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const fields = [\n {\n label: t(\"Connection Category\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"connectionCategory\",\n validation: { required: true },\n },\n },\n {\n label: t(\"SA Type\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"saType\",\n },\n },\n {\n label: t(\"Status\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"status\",\n },\n },\n {\n label: t(\"MR Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrCode\",\n },\n },\n {\n label: t(\"Area Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"areaCode\",\n },\n },\n {\n label: t(\"MR Key\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrKey\",\n },\n },\n ];\n\n // 🔹 Non-frozen fields\n if (!isFrozen) {\n fields.push(\n {\n label: t(\"Meter Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterNumber\",\n },\n },\n {\n label: t(\"Meter Maker\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterMaker\",\n },\n },\n {\n label: t(\"Meter Condition\"),\n isMandatory: false,\n type: \"custom\",\n key: \"meterCondition\",\n populators: {\n name: \"meterCondition\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Damaged\" }, { name: \"Not-Damaged\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (meterStatus === \"Metered\") {\n fields.push({\n label: t(\"Meter Photo\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterPhoto\",\n populators: {\n name: \"meterPhoto\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadPhoto(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setMeterPhoto(null);\n setMeterPhotoId(null);\n }}\n message={meterPhotoId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {meterPhoto && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={meterPhoto}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n });\n }\n }\n\n // 🔹 Standard fields after the conditional section\n fields.push(\n {\n label: t(\"Meter Status\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterStatus\",\n populators: {\n name: \"meterStatus\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Metered\" }, { name: \"Unmetered\" }, { name: \"Can not be identified\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Meter Location\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterLocation\",\n populators: {\n name: \"meterLocation\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Inside\" }, { name: \"Outside\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Last Bill Received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"lastBillReceived\",\n populators: {\n name: \"lastBillReceived\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n // 🔹 Bill-received fields\n if (lastBillReceived === \"Yes\") {\n fields.push({\n label: t(\"When was the last bill received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"billMonthYear\",\n populators: {\n name: \"billMonthYear\",\n component: (props) => (\n <Dropdown\n option={monthYearOptions}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n } else if (lastBillReceived === \"No\") {\n fields.push({\n label: t(\"Reason *\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"reason\",\n validation: { required: true },\n },\n });\n }\n\n fields.push(\n {\n label: t(\"Access to Meter\"),\n isMandatory: false,\n type: \"custom\",\n key: \"accessToMeter\",\n populators: {\n name: \"accessToMeter\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sewer Connection\"),\n isMandatory: true,\n type: \"custom\",\n key: \"sewerConnection\",\n populators: {\n name: \"sewerConnection\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (sewerConnection === \"No\") {\n fields.push({\n label: t(\"Septic Tank\"),\n isMandatory: true,\n type: \"custom\",\n key: \"septicTank\",\n populators: {\n name: \"septicTank\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n }\n\n return [\n {\n head: t(\"EKYC_METER_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default MeterDetailsConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport MeterDetailsConfig from \"../config/MeterDetailsConfig\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"METER\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.meterDetails || {};\n\n // 🔹 STATES\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n connectionCategory: savedData.connectionCategory || \"\",\n saType: savedData.saType || \"\",\n status: savedData.status || \"\",\n mrCode: savedData.mrCode || \"\",\n areaCode: savedData.areaCode || \"\",\n mrKey: savedData.mrKey || \"\",\n meterNumber: savedData.meterNumber || \"\",\n meterMaker: savedData.meterMaker || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : null,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : null,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : null,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : null,\n reason: savedData.reason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : null,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : null,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : null,\n meterPhoto: savedData.meterPhotoId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !isDataLoaded) {\n let mStatus = null;\n let mCondition = null;\n let mLoc = null;\n let billRec = null;\n let billMonYr = null;\n let accToMeter = null;\n let sewerConn = null;\n let sepTank = null;\n\n if (apiMeter.meterStatus) {\n const matchingStatus = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ].find((o) => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) mStatus = matchingStatus;\n else mStatus = { name: apiMeter.meterStatus };\n } else if (apiMeter.metered !== undefined) {\n mStatus = { name: apiMeter.metered ? \"Metered\" : \"Unmetered\" };\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = [{ name: \"Damaged\" }, { name: \"Not-Damaged\" }].find(\n (o) => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase()\n );\n if (matchingCond) mCondition = matchingCond;\n else mCondition = { name: apiMeter.meterCondition };\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = [{ name: \"Inside\" }, { name: \"Outside\" }].find(\n (o) =>\n o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() ||\n apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase())\n );\n if (matchingLoc) mLoc = matchingLoc;\n else mLoc = { name: apiMeter.meterLocation };\n }\n\n if (apiMeter.lastBillRaised !== undefined && apiMeter.lastBillRaised !== null) {\n const strVal = String(apiMeter.lastBillRaised).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") billRec = { name: \"Yes\" };\n else billRec = { name: \"No\" };\n }\n\n if (apiMeter.lastBillReceivedDate) {\n const formatted = apiMeter.lastBillReceivedDate.replace(\"-\", \"/\");\n const parsedParts = formatted.split(\"/\");\n if (parsedParts.length === 2) {\n const mon = parseInt(parsedParts[0], 10);\n const yr = parseInt(parsedParts[1], 10);\n billMonYr = { name: `${mon}/${yr}` };\n } else {\n billMonYr = { name: apiMeter.lastBillReceivedDate };\n }\n }\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") accToMeter = { name: \"Yes\" };\n else accToMeter = { name: \"No\" };\n }\n\n if (apiMeter.sewerConnection !== undefined && apiMeter.sewerConnection !== null) {\n const strVal = String(apiMeter.sewerConnection).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sewerConn = { name: \"Yes\" };\n else sewerConn = { name: \"No\" };\n }\n\n if (apiMeter.septicTank !== undefined && apiMeter.septicTank !== null) {\n const strVal = String(apiMeter.septicTank).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sepTank = { name: \"Yes\" };\n else sepTank = { name: \"No\" };\n }\n\n const updatedDefaults = {\n connectionCategory: savedData.connectionCategory || apiMeter.connectionCategory || \"\",\n saType: savedData.saType || apiMeter.saType || \"\",\n status: savedData.status || apiMeter.statusFlag || \"\",\n mrCode: savedData.mrCode || (apiMeter.mrcode ? String(apiMeter.mrcode) : \"\"),\n areaCode: savedData.areaCode || (apiMeter.areacode ? String(apiMeter.areacode) : \"\"),\n mrKey: savedData.mrKey || (apiMeter.mrkey ? String(apiMeter.mrkey) : \"\"),\n meterNumber: savedData.meterNumber || apiMeter.meterNumber || \"\",\n meterMaker: savedData.meterMaker || apiMeter.meterMake || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : mStatus,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : mCondition,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : mLoc,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : billRec,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : billMonYr,\n reason: savedData.reason || apiMeter.lastBillNotRaisedReason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : accToMeter,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : sewerConn,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : sepTank,\n meterPhoto: savedData.meterPhotoId || apiMeter.meterPhotoFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.meterPhoto) {\n setMeterPhotoId(updatedDefaults.meterPhoto);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setMeterPhotoId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n const meterStatusChanged =\n (data?.meterStatus?.name || data?.meterStatus) !==\n (localFormData?.meterStatus?.name || localFormData?.meterStatus);\n\n const lastBillReceivedChanged =\n (data?.lastBillReceived?.name || data?.lastBillReceived) !==\n (localFormData?.lastBillReceived?.name || localFormData?.lastBillReceived);\n\n const sewerConnectionChanged =\n (data?.sewerConnection?.name || data?.sewerConnection) !==\n (localFormData?.sewerConnection?.name || localFormData?.sewerConnection);\n\n if (meterStatusChanged || lastBillReceivedChanged || sewerConnectionChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const connCatVal = data?.connectionCategory;\n const mStatusVal = data?.meterStatus;\n const mLocVal = data?.meterLocation;\n const billRecVal = data?.lastBillReceived;\n const sewerConnVal = data?.sewerConnection;\n const mPhotoId = meterPhotoId || data?.meterPhoto;\n const reasonVal = data?.reason;\n const billMonYrVal = data?.billMonthYear;\n const sepTankVal = data?.septicTank;\n\n let valid = true;\n if (!connCatVal) valid = false;\n if (!mStatusVal) valid = false;\n if (!mLocVal) valid = false;\n if (!billRecVal) valid = false;\n if (!sewerConnVal) valid = false;\n\n if (mStatusVal?.name === \"Metered\" && !mPhotoId) valid = false;\n if (billRecVal?.name === \"No\" && !reasonVal) valid = false;\n if (billRecVal?.name === \"Yes\" && !billMonYrVal) valid = false;\n if (sewerConnVal?.name === \"No\" && !sepTankVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n connectionCategory: data.connectionCategory,\n saType: data.saType,\n status: data.status,\n mrCode: data.mrCode,\n areaCode: data.areaCode,\n mrKey: data.mrKey,\n meterNumber: data.meterNumber,\n meterMaker: data.meterMaker,\n meterStatus: data.meterStatus?.name || data.meterStatus,\n meterCondition: data.meterCondition?.name || data.meterCondition,\n meterLocation: data.meterLocation?.name || data.meterLocation,\n lastBillReceived: data.lastBillReceived?.name || data.lastBillReceived,\n billMonthYear: data.billMonthYear?.name || data.billMonthYear,\n reason: data.reason,\n accessToMeter: data.accessToMeter?.name || data.accessToMeter,\n sewerConnection: data.sewerConnection?.name || data.sewerConnection,\n septicTank: data.septicTank?.name || data.septicTank,\n meterPhotoId: meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Meter details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update meter details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = MeterDetailsConfig(\n t,\n localFormData,\n handleUpload,\n meterPhoto,\n meterPhotoId,\n setMeterPhoto,\n setMeterPhotoId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 20,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 20,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return dashboardData?.consumerList || [];\n }, [isSearchActive, searchData, dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n const searchDetails = item.connectionDetails || {};\n const fullName = (searchDetails.firstName || searchDetails.middleName || searchDetails.lastName)\n ? `${searchDetails.firstName || \"\"} ${searchDetails.middleName || \"\"} ${searchDetails.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : searchDetails.consumerName || \"\";\n\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: fullName,\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: fullName,\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = (item.firstName || item.middleName || item.lastName)\n ? `${item.firstName || \"\"} ${item.middleName || \"\"} ${item.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : item.consumerName || item.citizenName || \"\";\n\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: fullName,\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName,\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 20,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useEffect, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport {\n Card,\n CardHeader,\n CardText,\n Loader,\n StatusTable,\n Row,\n InboxComposer,\n VerticalTimeline,\n SubmitBar,\n} from \"@djb25/digit-ui-react-components\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\nconst EkycStatus = () => {\n const { t } = useTranslation();\n const { id } = useParams();\n const history = useHistory();\n\n // Separate states for the input form state and the triggered search query\n const [formState, setFormState] = useState({\n searchForm: {\n kNumber: id && id !== \":id\" ? id : \"\",\n },\n filterForm: {},\n });\n const [searchQuery, setSearchQuery] = useState(id && id !== \":id\" ? id : \"\");\n const [errorMsg, setErrorMsg] = useState(\"\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // Sync states with URL id parameter change (e.g. back navigation or page load)\n // Added strict equality check to prevent infinite re-render loop\n useEffect(() => {\n const currentKNumber = formState?.searchForm?.kNumber || \"\";\n const targetKNumber = id && id !== \":id\" ? id : \"\";\n if (currentKNumber !== targetKNumber) {\n setFormState({\n searchForm: { kNumber: targetKNumber },\n filterForm: {},\n });\n setSearchQuery(targetKNumber);\n }\n }, [id]);\n\n // Fetch eKYC review/status data - only triggers on 'searchQuery' state\n const { data: searchData, isLoading: isReviewLoading } = Digit.Hooks.ekyc.useEkycSearchReview(\n { kno: searchQuery, fetchType: \"REVIEW\" },\n tenantId,\n {\n enabled: !!searchQuery,\n retry: false,\n onError: (err) => {\n setErrorMsg(err?.message || t(\"EKYC_STATUS_NOT_FOUND\", \"eKYC Application not found.\"));\n },\n }\n );\n\n // Fetch connection/application details via useSearchConnection\n const { data: connectionSearchData, isLoading: isConnectionLoading } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchQuery } },\n { enabled: !!searchQuery, retry: false }\n );\n\n const isLoading = isReviewLoading || isConnectionLoading;\n\n const onSearchFormSubmit = (data) => {\n const val = data?.kNumber?.trim();\n if (!val) {\n setErrorMsg(t(\"EKYC_PLEASE_ENTER_KNO\", \"Please enter a valid K-Number.\"));\n return;\n }\n setErrorMsg(\"\");\n setFormState({\n searchForm: data,\n filterForm: {},\n });\n setSearchQuery(val);\n history.push(`/digit-ui/citizen/ekyc/${val}`);\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", \"\");\n setErrorMsg(\"\");\n setFormState({\n searchForm: { kNumber: \"\" },\n filterForm: {},\n });\n setSearchQuery(\"\");\n history.push(\"/digit-ui/citizen/ekyc/:id\");\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n const propsForInboxTable = {\n columns: [],\n data: [],\n limit: 10,\n offset: 0,\n };\n\n const propsForInboxMobileCards = {\n data: [],\n };\n\n const getStatusDetails = () => {\n if (!searchData) return null;\n const reviewWrapper = searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const appData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n const newData = appData?.newData || appData;\n const connection = newData?.connectionDetails || newData || {};\n\n const naText = t(\"CS_NA\", \"N/A\");\n const connRaw = connectionSearchData?.connectionDetails || connectionSearchData || {};\n const addrRaw = connectionSearchData?.addressDetails || {};\n const propRaw = connectionSearchData?.propertyInfo || {};\n const meterRaw = connectionSearchData?.meterDetails || {};\n\n const rawStatus = (connection?.ekycStatus || connection?.ekycstatus || connRaw?.ekycStatus || propRaw?.ekycStatus || meterRaw?.ekycStatus || \"NA\").toUpperCase();\n\n const reviewName = connection?.consumerName || [newData?.firstName, newData?.middleName, newData?.lastName].filter(Boolean).join(\" \");\n const connName = connRaw?.consumerName || [connRaw?.firstName, connRaw?.middleName, connRaw?.lastName].filter(Boolean).join(\" \");\n\n const reviewPhone = connection?.phoneNumber || connection?.mobileNo || connection?.mobileNumber;\n const connPhone = connRaw?.phoneNumber || connRaw?.mobileNo || connRaw?.mobileNumber || addrRaw?.mobileNo || addrRaw?.phoneNumber || addrRaw?.mobileNumber;\n\n const reviewType = connection?.connectionType || connection?.connectionCategory;\n const connType = connRaw?.connectionType || connRaw?.connectionCategory || connRaw?.knoCategory || propRaw?.connectionType || propRaw?.connectionCategory || meterRaw?.connectionCategory;\n\n return {\n kno: connection?.knumber || connection?.kno || connRaw?.knumber || connRaw?.kno || searchQuery,\n consumerName: (reviewName && reviewName !== naText && reviewName !== \"\") ? reviewName : (connName || naText),\n phoneNumber: (reviewPhone && reviewPhone !== naText && reviewPhone !== \"\") ? reviewPhone : (connPhone || naText),\n connectionType: (reviewType && reviewType !== naText && reviewType !== \"\") ? reviewType : (connType || naText),\n status: rawStatus,\n };\n };\n\n const details = getStatusDetails();\n\n // Visual Stepper configuration for VerticalTimeline\n const timelineConfig = [\n {\n route: \"submitted\",\n timeLine: [\n {\n currentStep: 1,\n actions: t(\"EKYC_STEP_SUBMITTED\", \"eKYC Survey Submitted\"),\n },\n ],\n },\n {\n route: \"verification\",\n timeLine: [\n {\n currentStep: 2,\n actions: t(\"EKYC_STEP_UNDER_VERIFICATION\", \"Under Verification\"),\n },\n ],\n },\n {\n route: \"zro-decision\",\n timeLine: [\n {\n currentStep: 3,\n actions: t(\"EKYC_STEP_ZRO_DECISION\", \"ZRO Decision\"),\n },\n ],\n },\n ];\n\n let activeStepIndex = 0;\n if (details) {\n if (details.status === \"APPROVED\") {\n activeStepIndex = 3;\n } else if (details.status === \"REJECTED\") {\n activeStepIndex = 2;\n } else if (details.status === \"PENDING_FOR_VERIFICATION\") {\n activeStepIndex = 1;\n } else {\n activeStepIndex = 1;\n }\n }\n\n const getStatusText = (status) => {\n const key = `EKYC_STATUS_${status}`;\n const val = t(key);\n if (val === key) {\n if (status === \"APPROVED\") return \"Approved\";\n if (status === \"REJECTED\") return \"Rejected\";\n if (status === \"PENDING_FOR_VERIFICATION\") return \"Pending For Verification\";\n return status;\n }\n return val;\n };\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n {!isLoading && details && (\n <VerticalTimeline config={timelineConfig} currentActiveIndex={activeStepIndex} />\n )}\n <div className=\"employee-form-section\">\n <div className=\"single-page-form-container\">\n {/* 1. Search Form Card rendered with InboxComposer */}\n <Card className=\"ekyc-status-search-card\">\n <CardHeader className=\"ekyc-status-card-header\">\n {t(\"EKYC_APPLICATION_STATUS_TRACKER\", \"eKYC Application Status\")}\n </CardHeader>\n <CardText className=\"ekyc-status-card-text\">\n {t(\"EKYC_STATUS_TRACKER_SUBHEADER\", \"Enter your K-Number below to track the real-time status of your eKYC application.\")}\n </CardText>\n\n <div className=\"status-search-composer-wrapper\">\n <InboxComposer\n {...{\n isInboxLoading: false,\n ...propsForSearchForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n showSearchOnMobile: true,\n }}\n />\n </div>\n </Card>\n\n {errorMsg && (\n <div className=\"ekyc-status-error-msg\">\n {errorMsg}\n </div>\n )}\n\n {/* 2. Results Card */}\n {isLoading && <Loader />}\n\n {!isLoading && details && (\n <Card className=\"ekyc-status-results-card\">\n {/* Status overview and badge */}\n <div className=\"ekyc-status-overview-header\">\n <div>\n <span className=\"ekyc-status-label-title\">\n {t(\"EKYC_CURRENT_STATUS\", \"Current Status\")}\n </span>\n <div className=\"ekyc-status-value-text\">\n {getStatusText(details.status)}\n </div>\n </div>\n <span className={`ekyc-status-badge ${details.status.toLowerCase()}`}>\n {details.status}\n </span>\n </div>\n\n {/* Details Table */}\n <div className=\"ekyc-status-details-section\">\n <h3 className=\"ekyc-status-details-title\">\n {t(\"EKYC_CONNECTION_SUMMARY\", \"Connection Summary\")}\n </h3>\n <StatusTable>\n <Row label={t(\"EKYC_K_NUMBER\", \"K-Number\")} text={details.kno} />\n <Row label={t(\"EKYC_CONSUMER_NAME\", \"Consumer Name\")} text={details.consumerName} />\n <Row label={t(\"EKYC_MOBILE_NO\", \"Mobile Number\")} text={details.phoneNumber} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\", \"Connection Type\")} text={details.connectionType} />\n </StatusTable>\n </div>\n\n {/* View Application button */}\n <div className=\"ekyc-status-action-section\" style={{ marginTop: \"24px\", display: \"flex\", justifyContent: \"flex-end\" }}>\n <SubmitBar\n label={t(\"EKYC_VIEW_APPLICATION\", \"View Application\")}\n onSubmit={() => history.push(`/digit-ui/citizen/ekyc/status/${details.kno}`)}\n />\n </div>\n </Card>\n )}\n </div>\n </div>\n </div>\n </React.Fragment>\n );\n\n \n};\n\nexport default EkycStatus;\n","import React from \"react\";\nimport { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper, BackButton, ExpandedViewContext } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"../../components/EKYCCard\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch, Redirect, Route } from \"react-router-dom\";\nimport AadhaarVerification from \"../../components/AadhaarVerification\";\nimport PropertyInfo from \"../../components/PropertyInfo\";\nimport MeterDetails from \"../../components/MeterDetails\";\nimport Review from \"../../components/Review\";\nimport Home from \"./Home\";\nimport Inbox from \"./Inbox\";\nimport AssignEkyc from \"../../components/AssignEkyc\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard\";\nimport EkycStatus from \"./EkycStatus\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n const { data: { stateInfo } = {} } = Digit.Hooks.useStore.getInitData();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC citizen home\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(\"EKYC_MODULE_NAME\"), path: `/digit-ui/citizen/ekyc` },\n ];\n\n // Child crumb — only appended when on a sub-page\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/aadhaar-verification\")) {\n crumbs.push({ label: t(\"EKYC_AADHAAR_VERIFICATION\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/citizen/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/citizen/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n } else if (pathname.includes(\"/supervisor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") });\n } else if (pathname.includes(\"/surveyor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n } else if (pathname.includes(\"/vendor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DASHBOARD\") || \"Vendor Dashboard\" });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/status/\") || /^\\/digit-ui\\/citizen\\/ekyc\\/[^/]+$/.test(pathname)) {\n const statusLabel = t(\"EKYC_STATUS\");\n crumbs.push({ label: statusLabel === \"EKYC_STATUS\" || statusLabel === \"STATUS\" ? \"eKYC Status\" : statusLabel });\n }\n // home (exact path) → no child crumb\n\n return crumbs;\n };\n\n // const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n // const isEkyAction = (!roles?.includes(\"EKYC_SURVEYOR\") || roles?.includes(\"EMPLOYEE\"))\n\n\n return (\n <AppContainer>\n <div className=\"ground-container form-container\" style={{ flex: 1 }}>\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <Switch>\n <Route exact path={`${path}`}>\n <Redirect to=\"/digit-ui/citizen/ekyc-home\" />\n </Route>\n <PrivateRoute\n path={[`${path}/vendor-dashboard/:vendorId`, `${path}/vendor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AadhaarVerification />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/address-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AddressDetails />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <PropertyInfo />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <MeterDetails />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => (\n <LayoutWrapper layoutClass=\"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","hasExternalData","total","submittedCount","useEkycSurveyorDashboard","ekycStatus","dashboardData","apiCountData","useMemo","dashboardInfo","completed","pending","inProgressCount","rejected","active","handleDownloadEkycData","fromDate","toDate","Promise","resolve","EkycService","application_list","_extends","reportDownload","response","consumerList","alert","excludedKeys","headerMapping","kno","firstName","middleName","lastName","status","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","inprocess","submitted","actualCompleted","approved","efficiency","Math","round","healthPct","formatNumber","num","Intl","NumberFormat","format","destroy","ctx1","getContext","ChartConstructor","type","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","className","ref","disabled","onClick","p","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","points","x1","y1","x2","y2","_ref2","onChange","style","gap","marginTop","background","Dashboard","Loader","Card","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kNumber","aadhaarData","columns","Header","accessor","Cell","_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","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_searchParams","setSearchParams","prev","onSubmit","preventDefault","onClear","cleared","kName","HomeIcon","cx","cy","r","TextInput","placeholder","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","useEkycAssignmentProgress","vendorIds","keepPreviousData","isProgressLoading","progressData","vendorSupervisors","mockSupList","_","totalKnos","random","submittedKnos","pendingKnos","progressPercent","currentVendorId","matchedSups","s","sup","_progressData$supervi","_sup$owner2","_sup$owner3","_sup$owner4","report","supervisorReport","_sup$owner","zoneIds","_vendor$zoneIds","zone","trim","cards","hasRealData","some","reduce","acc","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","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$use2","_useMemo","allVendorIds","allIds","dso","matchedId","_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$complet","_progressData$pending","_progressData$overall","totalAssignments","overallProgressPercent","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","borderRadius","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","size","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","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","parseAdditionalDetails","additionalDetails","JSON","parse","AdminDashboard","vendorsList","filteredVendors","_additionalDetails$se","_dso$owner","_dso$owner2","supervisorsList","surveyorsList","surveyors","supervisorIds","_s$owner","matchedReports","displayName","ownerName","SupervisorDetailsCard","_fullName$charAt","targetId","matchedSup","_s$id","_s$owner$uuid","_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","matchedSurveyors","surv","_matchedSup$owner","_surv$owner3","_surv$owner4","_surv$owner5","_realStats","_realStats2","_realStats3","_realStats4","realStats","_report$supervisorId","_matchedSup$id","_report$id","_matchedSup$id2","_report$surveyors","matchedSurv","_s$surveyorId","_surv$id","_s$surveyorId2","_surv$owner","_surv$owner$uuid","_s$id5","_surv$id2","_s$id6","_surv$owner2","_surv$owner2$uuid","assignedZoneId","_loggedInUser$uuid","isSelf","surveyorsMapped","_surveyorSearchRespon","_matchedSurv$owner","_matchedSurv$owner2","_s$id7","_surv$surveyorId","_s$owner4","_s$owner4$uuid","_surv$surveyorId2","assignedZone","_matchedVendor$dsoDet","matchedVendor","paginatedSurveyors","surveyorColumns","AssignEkycModal","surveyor","isReassign","closeModal","refetchDashboard","propsTenantId","selectedKnos","setSelectedKnos","setFilters","debouncedFilters","setDebouncedFilters","_Digit$Hooks$ws$useWS","ws","useWSConfigMDMS","ZROLocation","zroLocationsData","mappedZROLocation","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","assemblies","Map","wards","boundaries","traverse","node","localname","assemblyOptions","sort","a","b","localeCompare","wardOptions","structuredLocalityData","localities","extractLocalities","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","sanitizedPin","toString","add","unassignedOnly","fetchFilterOptions","Infinity","filterOptionsData","pincodeOptions","mrkeyOptions","timer","clearTimeout","isFetching","refetchApplicationList","refetch","handleAssignmentError","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","mrKnos","handleAssign","_surveyor$owner","newSurveyorId","_surveyor$owner2","mutate","handleSelectAll","currentKnos","allSelected","every","handleFilterChange","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","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/components/mockData.js","../src/utils/reportDownloader.js","../src/components/VendorDetailsCard.js","../src/hook/useInboxTableConfig.js","../src/components/SearchFormFieldsComponent.js","../src/hook/useInboxMobileCardsData.js","../src/pages/employee/Inbox.js","../src/components/Review.js","../src/config/AadhaarVerificationConfig.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../src/components/AdminDashboard.js","../src/components/SupervisorDetailsCard.js","../src/components/AssignEkycModal.js","../src/components/SurveyorDetailsCard.js","../src/pages/employee/WorkOrder.js","../../vendor/src/config/tableConfig.js","../src/hook/SupervisorInboxTableConfig.js","../src/components/AssignEkyc.js","../src/config/Routes.js","../src/pages/employee/index.js","../src/config/PropertyInfoConfig.js","../src/components/PropertyInfo.js","../src/config/MeterDetailsConfig.js","../src/components/MeterDetails.js","../src/pages/citizen/Inbox.js","../src/pages/citizen/EkycStatus.js","../src/pages/citizen/index.js","../src/Module.js"],"sourcesContent":["import { PersonIcon, EmployeeModuleCard } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst EKYCCard = () => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code || ele) : [];\n\n const { data: listData, isLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {},\n { tenantId, offset: 0, limit: 1 },\n { enabled: !!tenantId }\n );\n\n const totalCount = isLoading ? \"-\" : listData?.totalCount || 0;\n\n const isCitizen = window.location.pathname.includes(\"/citizen\");\n const prefix = isCitizen ? \"/digit-ui/citizen/ekyc\" : \"/digit-ui/employee/ekyc\";\n\n let links = [];\n if (isCitizen) {\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `${prefix}/surveyor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n links.push(\n {\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `${prefix}/supervisor-dashboard`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n }\n );\n }\n if (roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `${prefix}/vendor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n if (links.length === 0 || (roles.length === 1 && roles.includes(\"CITIZEN\"))) {\n links.push({\n label: t(\"EKYC_STATUS\"),\n link: `${prefix}/:id`,\n });\n }\n } else {\n // Employee links\n links = [\n // {\n // label: t(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n // link: `${prefix}/ceo-dashboard`,\n // },\n {\n label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\",\n link: `${prefix}/admin-dashboard`,\n },\n {\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n },\n {\n label: t(\"EKYC_WORK_ORDER\"),\n link: `${prefix}/work-order`,\n },\n ...(!roles.includes(\"EMPLOYEE\")\n ? [\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n },\n ]\n : []),\n ];\n }\n\n const propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: isCitizen\n ? []\n : [\n {\n count: totalCount,\n label: t(\"TOTAL_EKYC\"),\n link: `${prefix}/admin-dashboard`,\n },\n ],\n links: links,\n };\n\n return <EmployeeModuleCard {...propsForModuleCard} />;\n};\n\nexport default EKYCCard;\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Chartjs from \"chart.js/auto\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n 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 hasExternalData = countData && typeof countData.total === \"number\" && typeof countData.submittedCount === \"number\";\n\n const { data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n ekycStatus: \"submitted\"\n },\n {\n enabled: !!tenantId && !hasExternalData,\n }\n );\n\n const apiCountData = React.useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n submittedCount: info.submittedCount || 0,\n inProgressCount: info.inProgressCount || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n };\n }, [dashboardData]);\n\n const handleDownloadEkycData = async (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\", \"source\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\", \"doorPhotoFilestoreId\", \"panFilestoreId\",\n \"documentProofFilestoreId\", \"buildingImageFileStoreId\", \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\", \"modifiedBy\", \"zoneCode\", \"propertyType\", \"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 fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\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 = [\"kno\", \"mobileNumber\", \"emailId\", \"email\", \"pincode\", \"mrkey\", \"dob\", \"createdTime\", \"lastModifiedTime\", \"meterLatitude\", \"meterLongitude\"];\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 = [\n ...keys.filter(key => key !== \"submittedAt\"),\n ...(keys.includes(\"submittedAt\") ? [\"submittedAt\"] : [])\n ];\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(date.getSeconds())}`;\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 =\n 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 const total = hasExternalData ? countData.total : (apiCountData?.total || countData?.total || countData?.totalCount || 0);\n const pending = hasExternalData ? countData.pending : (apiCountData?.pending || countData?.pending || 0);\n const active = hasExternalData ? countData.active : (apiCountData?.active || countData?.active || 0);\n const completed = hasExternalData ? countData.completed : (apiCountData?.completed || countData?.completed || 0);\n const inprocess = hasExternalData ? countData.inProgressCount : (apiCountData?.inProgressCount || countData?.inProgressCount || 0);\n const submitted = hasExternalData ? countData.submittedCount : (apiCountData?.submittedCount || countData?.submittedCount || 0);\n const actualCompleted = completed;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round(((submitted + completed) / total) * 100) : 0;\n // const healthPct = total > 0 ? Math.round((approved / total) * 100) : 0;\n const healthPct = submitted > 0 ? Math.round((approved / submitted) * 100) : 0;\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n\n\n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\"), t(\"EKYC_SUBMITTED\"), t(\"EKYC_INPROCESS\")],\n datasets: [\n {\n data: [pending, completed, submitted, inprocess],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\", \"#49a3fb\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n },\n ],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: false,\n responsive: true,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n };\n }, [pending, completed, active, t]);\n\n const legendItems = [\n { color: \"#77B6EA\", label: t(\"EKYC_COMPLETED\"), value: completed },\n { color: \"#0c2a52\", label: t(\"EKYC_PENDING\"), value: pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_SUBMITTED\"), value: submitted },\n { color: \"#49a3fb\", label: t(\"EKYC_INPROCESS\"), value: inprocess }\n\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-cards-wrapper\">\n {/* Header */}\n <div className=\"status-cards-header\">\n <div>\n <div className=\"eyebrow\">\n <span className=\"eyebrow-dot\" />\n {t(\"EKYC_INSTITUTIONAL_OVERVIEW\") || \"Institutional Performance Overview\"}\n </div>\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n <p className=\"status-cards-subtitle\">\n {t(\"EKYC_DASHBOARD_SUBTITLE\") || \"Real-time monitoring of consumer verification workflows across all administrative zones.\"}\n </p>\n </div>\n <div className=\"total-applications-card\">\n <div className=\"total-label\">{t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Processed\"}</div>\n <div className=\"total-number\">{formatNumber(total)}</div>\n {/* <div className=\"total-badge\">↗ +12.4% {t(\"EKYC_FROM_LAST_QUARTER\") || \"from last quarter\"}</div> */}\n <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 width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n\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 {/* Panels */}\n <div className=\"status-panels-grid\">\n {/* Panel 1: Status Breakdown */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">{t(\"EKYC_STATUS_BREAKDOWN\") || \"Status Breakdown\"}</div>\n <div className=\"panel-subtitle\">{t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle distribution\"}</div>\n <div className=\"breakdown-body\">\n <div className=\"status-legend\">\n {legendItems.map((item) => (\n <div key={item.label} className=\"legend-row\">\n <span className=\"legend-label\">\n <span className=\"indicator-dot\" style={{ background: item.color }} />\n {item.label}\n </span>\n <span className=\"legend-value\">{formatNumber(item.value)}</span>\n </div>\n ))}\n </div>\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n <div className=\"chart-center\">\n <div className=\"chart-percentage\">{efficiency}%</div>\n <div className=\"chart-label\">{t(\"EKYC_COMPLETE\") || \"Complete\"}</div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Panel 2: Submission Health */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">\n {t(\"EKYC_SUBMISSION_HEALTH\") || \"Submission Health\"}\n {/* <span className=\"optimal-badge\">{t(\"EKYC_OPTIMAL\") || \"Optimal\"}</span> */}\n </div>\n <div className=\"panel-subtitle\">{t(\"EKYC_PLATFORM_EFFICIENCY\") || \"Platform operational efficiency\"}</div>\n <div className=\"health-metrics-row\">\n <div className=\"health-percentage\">{healthPct}%</div>\n {/* <div className=\"health-trend\">↗ +2.1%</div> */}\n </div>\n <div className=\"status-progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${healthPct}%` }} />\n </div>\n <div className=\"mini-metrics-grid\">\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_AVG_LATENCY\") || \"Avg Latency\"}</div>\n <div className=\"metric-value\">0s</div>\n </div>\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_ERROR_RATE\") || \"Error Rate\"}</div>\n <div className=\"metric-value\">0.0%</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;\n","import React, { useMemo } from \"react\";\nimport StatusCards from \"./StatusCards\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\n\n// Mock data removed in favor of API integration\n\nconst Dashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 2. API Data Fetching\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const countData = useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n submittedCount: info.submittedCount || 0,\n inProgressCount: info.inProgressCount || 0,\n };\n }, [dashboardData]);\n\n return isLoading ? (\n <Loader />\n ) : (\n <Card className=\"min-width-full\">\n <StatusCards countData={countData} />\n </Card>\n );\n};\n\nexport default Dashboard;\n","import React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, Card, Loader, InboxLinks } from \"@djb25/digit-ui-react-components\";\nimport { useHistory } from \"react-router-dom\";\nimport StatusCards from \"./StatusCards\";\n\nconst DesktopInbox = ({ tableConfig, filterComponent, ...props }) => {\n const {\n data,\n isLoading,\n onSort,\n onNextPage,\n onPrevPage,\n currentPage,\n pageSizeLimit,\n onPageSizeChange,\n parentRoute,\n searchParams,\n sortParams,\n totalRecords,\n countData,\n } = props;\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const FilterComponent = Digit.ComponentRegistryService?.getComponent(filterComponent);\n\n // State for Review Modal\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(\"/digit-ui/employee/ekyc/review\", { kNumber: selectedKno, aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const columns = useMemo(\n () => [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n // {\n // Header: t(\"EKYC_MOBILE_NO\"),\n // accessor: \"mobileNumber\",\n // Cell: ({ row }) => <span>{row.original?.mobileNumber || \"NA\"}</span>,\n // },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n {\n Header: t(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","export const ekycMockData = {\n topKpis: {\n totalWaterConnections: 2990996,\n totalEkycCompleted: 2460810,\n totalPending: 530186,\n totalRejected: 224324,\n agencyEkycCompleted: 2352069,\n citizenSelfEkycCompleted: 638927,\n todaysEkyc: 54684,\n successRate: 82,\n rejectionPercentage: 7,\n },\n\n executiveMetrics: {\n totalSurveyors: 186,\n totalSupervisors: 56,\n activeJurisdictions: 27,\n todaysGrowth: 2.8,\n selfEkycAdoption: 38,\n avgApprovalTime: \"2.3 Days\",\n riskZones: 7,\n escalationsOpen: 18,\n },\n\n alerts: [\n {\n title: \"North East District pending increased\",\n priority: \"high\",\n change: \"+22%\",\n district: \"North East District\",\n },\n {\n title: \"Agency 2 self eKYC adoption low\",\n priority: \"medium\",\n change: \"-12%\",\n district: \"West District\",\n },\n {\n title: \"Escalation raised in NWS Bhera Enclave\",\n priority: \"high\",\n change: \"+18\",\n district: \"Outer North\",\n },\n {\n title: \"Approval rate improved in East District\",\n priority: \"low\",\n change: \"+9%\",\n district: \"East District\",\n },\n ],\n\n heatmapData: [\n {\n district: \"Outer North\",\n intensity: 82,\n },\n {\n district: \"East District\",\n intensity: 48,\n },\n {\n district: \"South District\",\n intensity: 67,\n },\n {\n district: \"North East District\",\n intensity: 74,\n },\n ],\n\n dailyTrend: [\n {\n label: \"Mon\",\n completed: 270689,\n pending: 491305,\n rejected: 145810,\n },\n {\n label: \"Tue\",\n completed: 442945,\n pending: 466563,\n rejected: 157026,\n },\n {\n label: \"Wed\",\n completed: 615202,\n pending: 441821,\n rejected: 168243,\n },\n {\n label: \"Thu\",\n completed: 812067,\n pending: 413545,\n rejected: 179459,\n },\n {\n label: \"Fri\",\n completed: 1033540,\n pending: 381733,\n rejected: 190675,\n },\n {\n label: \"Sat\",\n completed: 1279621,\n pending: 346388,\n rejected: 201891,\n },\n {\n label: \"Sun\",\n completed: 1574918,\n pending: 303973,\n rejected: 213107,\n },\n ],\n\n selfVsAgency: [\n {\n label: \"Agency1\",\n agency: 201457,\n citizen: 758414,\n },\n {\n label: \"Agency 2\",\n agency: 164302,\n citizen: 919322,\n },\n {\n label: \"Agency 3\",\n agency: 328451,\n citizen: 541772,\n },\n ],\n\n pendingVsCompleted: [\n {\n label: \"Agency1\",\n completed: 201457,\n pending: 201457,\n },\n {\n label: \"Agency 2\",\n completed: 164302,\n pending: 164302,\n },\n {\n label: \"Agency 3\",\n completed: 328451,\n pending: 77278,\n },\n ],\n\n rejectionAnalysis: [\n {\n label: \"Agency1\",\n rejected: 71990,\n success: 72,\n },\n {\n label: \"Agency 2\",\n rejected: 81271,\n success: 77,\n },\n {\n label: \"Agency 3\",\n rejected: 71063,\n success: 86,\n },\n ],\n\n vendors: [\n {\n id: 1,\n name: \"Agency1\",\n\n assignedConnections: 959871,\n\n completedEkyc: 201457,\n\n selfEkyc: 758414,\n\n pending: 201457,\n\n rejected: 71990,\n\n inactiveDemand: 1161328,\n\n successRate: 72,\n\n progress: 21,\n\n supervisors: 23,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"Outer North\", \"North West District\", \"Model Town AC 18\", \"Cluster 2\", \"North District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 16116,\n pending: 196084,\n rejected: 53272,\n },\n {\n day: \"Tue\",\n completed: 26189,\n pending: 192727,\n rejected: 55072,\n },\n {\n day: \"Wed\",\n completed: 38276,\n pending: 188698,\n rejected: 57232,\n },\n {\n day: \"Thu\",\n completed: 52378,\n pending: 183997,\n rejected: 59751,\n },\n {\n day: \"Fri\",\n completed: 68495,\n pending: 178625,\n rejected: 62631,\n },\n {\n day: \"Sat\",\n completed: 84611,\n pending: 173253,\n rejected: 65510,\n },\n {\n day: \"Sun\",\n completed: 100728,\n pending: 167880,\n rejected: 68390,\n },\n ],\n\n zones: [\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n cluster: \"NWS Bhera Enclave\",\n\n assignedConnections: 102669,\n\n location: \"102669\",\n\n zroOffice: \"NWS Bhera Enclave\",\n\n assemblyConstituency: \"Part of Mundka AC 08\",\n\n gpsLocation: null,\n\n distanceFromFarthestPoint: null,\n\n activeDemand: 202197,\n\n pppZones: 15800,\n\n inactiveDemand: 35265,\n\n districtwiseInactiveTotal: 237462,\n },\n\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n\n cluster: \"Narela\",\n\n assignedConnections: 99528,\n\n location: \"99528\",\n\n zroOffice: \"Narela\",\n\n assemblyConstituency: \"Narela AC 01\",\n\n activeDemand: 99528,\n\n pppZones: 19465,\n\n inactiveDemand: 35265,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"North West District\",\n\n cluster: \"Rohini AC 13\",\n\n assignedConnections: 71041,\n\n location: \"71041\",\n\n zroOffice: \"Rohini\",\n\n assemblyConstituency: \"Rithala AC 06\",\n\n activeDemand: 247949,\n\n pppZones: 28975,\n\n inactiveDemand: 49494,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Mangol Puri AC 12\",\n\n cluster: \"Model Town AC 18\",\n\n assignedConnections: 68957,\n\n location: \"68957\",\n\n zroOffice: \"Central North District\",\n\n assemblyConstituency: \"Ashok Vihar\",\n\n activeDemand: 231216,\n\n pppZones: 16627,\n\n inactiveDemand: 36915,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Timarpur AC 03\",\n\n cluster: \"Cluster 2\",\n\n assignedConnections: 34862,\n\n location: \"34862\",\n\n zroOffice: \"Old Delhi District\",\n\n assemblyConstituency: \"Pratap Nagar\",\n\n activeDemand: 99694,\n\n pppZones: 20011,\n\n inactiveDemand: 48011,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Bali Maran AC 22\",\n\n cluster: \"North District\",\n\n assignedConnections: 110507,\n\n location: \"110507\",\n\n zroOffice: \"Burari\",\n\n assemblyConstituency: \"Burari AC 2\",\n\n activeDemand: 178815,\n\n pppZones: 14700,\n\n inactiveDemand: 31772,\n },\n ],\n },\n\n {\n id: 2,\n\n name: \"Agency 2\",\n\n assignedConnections: 1083624,\n\n completedEkyc: 164302,\n\n selfEkyc: 919322,\n\n pending: 164302,\n\n rejected: 81271,\n\n inactiveDemand: 1247926,\n\n successRate: 77,\n\n progress: 15,\n\n supervisors: 14,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"West District\", \"Janak Puri\", \"South District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 13144,\n pending: 159920,\n rejected: 60140,\n },\n {\n day: \"Tue\",\n completed: 21359,\n pending: 157182,\n rejected: 62172,\n },\n {\n day: \"Wed\",\n completed: 31217,\n pending: 153896,\n rejected: 64610,\n },\n {\n day: \"Thu\",\n completed: 42718,\n pending: 150062,\n rejected: 67454,\n },\n {\n day: \"Fri\",\n completed: 55862,\n pending: 145681,\n rejected: 70705,\n },\n {\n day: \"Sat\",\n completed: 69006,\n pending: 141299,\n rejected: 73956,\n },\n {\n day: \"Sun\",\n completed: 82151,\n pending: 136918,\n rejected: 77207,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Rajouri Garden AC 27\",\n\n assignedConnections: 84506,\n\n location: \"84506\",\n\n zroOffice: \"Rajouri Garden AC 27\",\n\n assemblyConstituency: \"Punjabi Bagh\",\n\n activeDemand: 470766,\n\n pppZones: 13269,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Tilak Nagar AC 29\",\n\n assignedConnections: 51428,\n\n location: \"51428\",\n\n zroOffice: \"Tilak Nagar AC 29\",\n\n assemblyConstituency: \"Paschim Vihar\",\n\n activeDemand: 470766,\n\n pppZones: 6298,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"Part of Uttam Nagar & Vikas puri\",\n\n cluster: \"Janak Puri\",\n\n assignedConnections: 163041,\n\n location: \"163041\",\n\n zroOffice: \"Janakpuri\",\n\n assemblyConstituency: \"Janakpuri AC 30\",\n\n activeDemand: 369772,\n\n pppZones: 25729,\n\n inactiveDemand: 60534,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"South District\",\n\n assignedConnections: 52803,\n\n location: \"52803\",\n\n zroOffice: \"R K Puram\",\n\n assemblyConstituency: \"Malviya Nagar AC 43\",\n\n activeDemand: 243086,\n\n pppZones: 9678,\n\n inactiveDemand: 39204,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"Vasant Kunz\",\n\n assignedConnections: 58997,\n\n location: \"58997\",\n\n zroOffice: \"Vasant Kunj\",\n\n assemblyConstituency: \"Vasant Kunj\",\n\n activeDemand: 243086,\n\n pppZones: 6691,\n\n inactiveDemand: 39204,\n },\n ],\n },\n\n {\n id: 3,\n\n name: \"Agency 3\",\n\n assignedConnections: 947501,\n\n completedEkyc: 328451,\n\n selfEkyc: 541772,\n\n pending: 77278,\n\n rejected: 71063,\n\n inactiveDemand: 1016841,\n\n successRate: 86,\n\n progress: 78,\n\n supervisors: 19,\n\n activeSurveyors: 58,\n\n jurisdictions: [\"East District\", \"North East District\", \"South East District\", \"MNWS\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 44120,\n pending: 130002,\n rejected: 5711,\n },\n {\n day: \"Tue\",\n completed: 58221,\n pending: 121998,\n rejected: 7104,\n },\n {\n day: \"Wed\",\n completed: 70218,\n pending: 113201,\n rejected: 8842,\n },\n {\n day: \"Thu\",\n completed: 85124,\n pending: 104006,\n rejected: 9911,\n },\n {\n day: \"Fri\",\n completed: 102315,\n pending: 94441,\n rejected: 11214,\n },\n {\n day: \"Sat\",\n completed: 121009,\n pending: 85218,\n rejected: 12902,\n },\n {\n day: \"Sun\",\n completed: 142118,\n pending: 77278,\n rejected: 14101,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Mayur Vihar\",\n\n assignedConnections: 72326,\n\n location: \"72326\",\n\n zroOffice: \"Mayur Vihar\",\n\n assemblyConstituency: \"Trilokpuri AC 55\",\n\n activeDemand: 328564,\n\n pppZones: 9691,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Yojna Vihar\",\n\n assignedConnections: 40651,\n\n location: \"40651\",\n\n zroOffice: \"Yojna Vihar\",\n\n assemblyConstituency: \"Vishwas Nagar AC 59\",\n\n activeDemand: 328564,\n\n pppZones: 10097,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"GTB Enclave\",\n\n assignedConnections: 80453,\n\n location: \"80453\",\n\n zroOffice: \"GTB Enclave\",\n\n assemblyConstituency: \"Seemapuri AC 63\",\n\n activeDemand: 323753,\n\n pppZones: 10671,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"Yamuna Vihar\",\n\n assignedConnections: 90599,\n\n location: \"90599\",\n\n zroOffice: \"Yamuna Vihar\",\n\n assemblyConstituency: \"Mustafabad AC 69\",\n\n activeDemand: 323753,\n\n pppZones: 18185,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Kalkaji AC 51\",\n\n assignedConnections: 29188,\n\n location: \"29188\",\n\n zroOffice: \"Kalkaji AC 51\",\n\n assemblyConstituency: \"Saket\",\n\n activeDemand: 136102,\n\n pppZones: 3675,\n\n inactiveDemand: 23977,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Okhla\",\n\n assignedConnections: 18473,\n\n location: \"18473\",\n\n zroOffice: \"Sarita Vihar/Okhla\",\n\n assemblyConstituency: \"Okhla AC 54\",\n\n activeDemand: 136102,\n\n pppZones: 3703,\n\n inactiveDemand: 23977,\n },\n ],\n },\n ],\n};\n","export const downloadSurveyorPDF = async ({\n rows,\n surveyorName,\n employeeId,\n mobileNumber,\n vendorName,\n supervisorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const initData = Digit.SessionStorage.get(\"initData\");\n const tenants = initData?.tenants || [];\n const tenantInfo = tenants.find((tenant) => tenant.code === tenantId);\n\n const capitalize = (text) =>\n text && text.substr(0, 1).toUpperCase() + text.substr(1);\n const ulbCamel = (ulb) =>\n ulb &&\n ulb\n .toLowerCase()\n .split(\" \")\n .map(capitalize)\n .join(\" \");\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SURVEYOR_DETAILS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"SURVEYOR_NAME\"), value: surveyorName },\n { title: t(\"MOBILE_NUMBER\"), value: mobileNumber },\n { title: t(\"VENDOR_NAME\"), value: vendorName },\n { title: t(\"SUPERVISOR_NAME\"), value: supervisorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\"), value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\"), value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\"), value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\"), value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SURVEYOR_REPORT\"),\n details,\n applicationNumber: employeeId,\n rows,\n t,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n};\n\n\nexport const downloadSupervisorPDF = async ({\n rows,\n supervisorName,\n mobileNumber,\n vendorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SUPERVISOR_DETAILS\") || \"Supervisor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\", value: supervisorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from surveyors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || row.owner?.name || \"N/A\",\n firstName: row.owner?.mobileNumber || row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SURVEYOR_NAME\") || \"Surveyor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SUPERVISOR_REPORT\") || \"eKYC Supervisor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\nexport const downloadVendorPDF = async ({\n rows,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const emailContact = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"VENDOR_DETAILS\") || \"Vendor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"EMAIL\") || \"Email\", value: email }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from supervisors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || \"N/A\",\n firstName: row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SUPERVISOR_NAME\") || \"Supervisor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email: emailContact,\n phoneNumber,\n heading: t(\"EKYC_VENDOR_REPORT\") || \"eKYC Vendor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\n\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport { downloadVendorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst VendorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { vendorId } = useParams();\n\n // Fetch 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\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, vendorIds: [targetVendorId] } : {},\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n // Supervisors belonging to this vendor\n const vendorSupervisors = useMemo(() => {\n if (!supervisorSearchResponse?.supervisors) {\n // Mock fallback if supervisors count is present\n if (vendor && Array.isArray(ekycMockData.vendors)) {\n // Return dummy supervisors based on vendor name or id\n const mockSupList = Array.from({ length: vendor.supervisors || 5 }, (_, i) => ({\n id: `SUP_V_${vendor.id || 1}_${i}`,\n name: `Supervisor ${i + 1} (${vendor.name})`,\n mobileNo: `99999120${i}`,\n status: \"ACTIVE\",\n totalKnos: Math.round(1000 + Math.random() * 4000),\n submittedKnos: Math.round(500 + Math.random() * 2000),\n pendingKnos: Math.round(200 + Math.random() * 1000),\n progressPercent: Math.round(40 + Math.random() * 50),\n }));\n return mockSupList;\n }\n return [];\n }\n\n // Filter real supervisors belonging to this vendor\n const currentVendorId = vendor?.id || vendor?.vendorId || vendorId;\n const matchedSups = supervisorSearchResponse.supervisors.filter(\n (s) => s.vendorId === currentVendorId\n );\n\n return matchedSups.map((sup) => {\n // Find progress report for this supervisor in progressData\n const report = progressData?.supervisorReport?.find(\n (r) => r.supervisorId === sup.id || r.supervisorId === sup.owner?.uuid\n );\n\n return {\n id: sup.id || sup.owner?.uuid,\n name: sup.name || sup.owner?.name || \"N/A\",\n mobileNo: sup.owner?.mobileNumber || sup.mobileNo || \"N/A\",\n status: sup.status || \"ACTIVE\",\n totalKnos: report?.totalKnos || 0,\n submittedKnos: report?.submittedKnos || 0,\n pendingKnos: report?.pendingKnos || 0,\n progressPercent: report?.progressPercent || 0,\n };\n });\n }, [supervisorSearchResponse, vendor, progressData, vendorId]);\n\n const vendorName = vendor?.name || \"N/A\";\n const mobileNumber = vendor?.mobileNumber || vendor?.owner?.mobileNumber || \"N/A\";\n const email = vendor?.owner?.emailId || \"N/A\";\n const status = vendor ? \"ACTIVE\" : \"N/A\";\n const jurisdictions = useMemo(() => {\n if (Array.isArray(vendor?.jurisdictions)) {\n return vendor.jurisdictions.join(\", \");\n }\n return \"N/A\";\n }, [vendor]);\n const zoneIds = useMemo(() => {\n return vendor?.zoneIds?.length\n ? vendor.zoneIds.filter(Boolean).map(zone => String(zone).trim().toUpperCase())\n : [];\n }, [vendor]);\n\n // KPI stats calculation\n const cards = useMemo(() => {\n const hasRealData = vendorSupervisors.some((s) => s.totalKnos > 0);\n\n const totalKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0)\n : (progressData?.totalKnos || vendor?.assignedConnections || 0);\n\n const completedKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0)\n : (progressData?.completedKnos || vendor?.completedEkyc || 0);\n\n const pendingKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0)\n : (totalKnos - completedKnos);\n\n const progressPercent = totalKnos > 0 ? Math.round((completedKnos / totalKnos) * 100) : (vendor?.progress || 0);\n\n return [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: totalKnos,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n // {\n // label: \"TOTAL_ASSIGNMENTS\",\n // count: totalKnos,\n // color: \"#3B82F6\",\n // type: \"week\",\n // icon: <FaMapMarkedAlt />,\n // },\n {\n label: \"EKYC_COMPLETED\",\n count: completedKnos,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: pendingKnos,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${progressPercent}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n }, [vendorSupervisors, vendor, progressData]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const handleDownloadEkycData = async (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\n if (!consumerList || consumerList.length === 0) {\n alert(t(\"NO_EKYC_DATA_FOUND\") || \"No eKYC data found to download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\", \"doorPhotoFilestoreId\", \"panFilestoreId\",\n \"documentProofFilestoreId\", \"buildingImageFileStoreId\", \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\", \"modifiedBy\", \"zoneCode\", \"propertyType\", \"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 fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\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 = [\"kno\", \"mobileNumber\", \"emailId\", \"email\", \"pincode\", \"mrkey\", \"dob\", \"createdTime\", \"lastModifiedTime\", \"meterLatitude\", \"meterLongitude\"];\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 }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || row?.progressPercent === 0 ? row.progressPercent : row.progress}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = vendorSupervisors.map((s) => ({\n name: s.name,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0) || vendor?.assignedConnections || 0;\n const completedKnos = vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0) || vendor?.completedEkyc || 0;\n\n downloadVendorPDF({\n rows: rowsWithStats,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate report:\", err);\n } finally {\n setReportLoading(false);\n }\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\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={handleDownload}\n >\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 {\n cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isPageLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* 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\") ||\n \"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 width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-inputs\">\n <label>\n <span>From</span>\n <input\n type=\"date\"\n value={customDate.from}\n onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })}\n />\n </label>\n <label>\n <span>To</span>\n <input\n type=\"date\"\n value={customDate.to}\n onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })}\n />\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 ? (\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 </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 data={paginatedSupervisors}\n columns={supervisorColumns}\n isLoading={isPageLoading}\n totalRecords={vendorSupervisors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(vendorSupervisors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(vendorSupervisors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card> */}\n\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\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 },\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\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?.completedKnos ?? progressData?.submittedKnos ?? 0;\n const pendingKnos = progressData?.pendingKnos ?? (totalKnos >= submittedKnos ? totalKnos - submittedKnos : 0);\n const progressPercent = 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 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 ], [progressMetrics, t]);\n const totalRecords = listData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n function formReducer(state, payload) {\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isListLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n {/* Stats */}\n <div className=\"surveyor-dashboard\" style={{ overflowY: \"visible\", marginBottom: \"24px\" }}>\n <div className=\"stats-wrapper\" style={{ display: \"flex\", gap: \"16px\", flexWrap: \"wrap\" }}>\n {cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isProgressLoading}\n icon={card.icon}\n />\n ))}\n </div>\n </div>\n\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: listData,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { Fragment, useState } from \"react\";\nimport {\n Card,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n Menu,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\n\n// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />} style={{ margin: 0, padding: 0 }} onClick={routeTo} />\n );\n};\n\nconst checkForNA = (value) => (value !== null && value !== undefined && value !== \"\" ? value : \"N/A\");\n\nconst boolToYesNo = (value, t) => {\n if (value === true || value === \"true\" || String(value).toLowerCase() === \"yes\") return t(\"CORE_COMMON_YES\");\n if (value === false || value === \"false\" || String(value).toLowerCase() === \"no\") return t(\"CORE_COMMON_NO\");\n if (value === \"true\") return t(\"CORE_COMMON_YES\");\n if (value === \"false\") return t(\"CORE_COMMON_NO\");\n};\n/**\n * Robust data extraction for comparison.\n * The API returns { applicationReviewInfo: { newData: { ... }, oldData: { ... } } }\n */\nconst extractReviewData = (searchData, flowState) => {\n const rawData = searchData && Object.keys(searchData).length > 0 ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReviewInfo -> newData/oldData\n const reviewWrapper = rawData?.applicationReviewInfo || rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n\n return {\n newData: applicationData?.newData || applicationData,\n oldData: applicationData?.oldData || null,\n };\n};\n\nconst ReviewSection = ({ title, fields, newData, oldData, t, jumpTo, state, hideEditButton }) => {\n return (\n <div\n className=\"review-section-wrapper\"\n style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}\n >\n <div\n style={{\n padding: \"20px 24px\",\n background: \"#F9FAFB\",\n borderBottom: \"1px solid #EAECF0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && !hideEditButton && <ActionButton jumpTo={jumpTo} state={state} />}\n </div>\n\n <div style={{ padding: \"0 24px\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", tableLayout: \"fixed\" }}>\n <thead>\n <tr>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"30%\",\n }}\n >\n {t(\"EKYC_FIELD_NAME\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_EXISTING_INFORMATION\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_PROPOSED_UPDATES\")}\n </th>\n </tr>\n </thead>\n <tbody>\n {fields.map((field, idx) => {\n const valNew = newData?.[field.key];\n const valOld = oldData?.[field.key];\n const 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, useState } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport Dashboard from \"./Dashboard\";\n\nconst parseAdditionalDetails = (additionalDetails) => {\n if (!additionalDetails) return {};\n if (typeof additionalDetails === \"object\") return additionalDetails;\n if (typeof additionalDetails !== \"string\") return {};\n try {\n return JSON.parse(additionalDetails);\n } catch (error) {\n return {};\n }\n};\n\nconst AdminDashboard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n 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 allVendorIds.length > 0 ? { vendorId: allVendorIds[0], vendorIds: allVendorIds } : {},\n {\n enabled: !!tenantId && allVendorIds.length > 0,\n keepPreviousData: true,\n }\n );\n\n const vendorsList = useMemo(() => {\n if (vendorSearchResponse && vendorSearchResponse.length > 0) {\n const filteredVendors = vendorSearchResponse.filter((v) => {\n const dso = v.dsoDetails || v;\n const additionalDetails = parseAdditionalDetails(dso.additionalDetails || v.additionalDetails);\n return additionalDetails?.serviceType?.toLowerCase() === \"ekyc\";\n });\n\n return filteredVendors.map((v) => {\n const dso = v.dsoDetails || v;\n const supervisorsList = dso.supervisors || [];\n const surveyorsList = dso.surveyors || [];\n\n // Extract supervisor IDs for this vendor\n const supervisorIds = supervisorsList.map((s) => s.id || s.owner?.uuid).filter(Boolean);\n\n // Find supervisor reports in progressData matching these IDs\n const matchedReports = progressData?.supervisorReport?.filter(\n (r) => supervisorIds.includes(r.supervisorId)\n ) || [];\n\n const completed = matchedReports.reduce((acc, r) => acc + (r.submittedKnos || 0), 0);\n const pending = matchedReports.reduce((acc, r) => acc + (r.pendingKnos || 0), 0);\n const total = matchedReports.reduce((acc, r) => acc + (r.totalKnos || 0), 0);\n const progress = total > 0 ? Math.round((completed / total) * 100) : 0;\n const rejected = 0; // Default to 0 or calculate if data exists\n\n return {\n id: dso.id || dso.vendorId || v.id || v.vendorId,\n name: dso.name || dso.displayName || v.name || \"N/A\",\n ownerName: dso.owner?.name || v.owner?.name || \"N/A\",\n mobileNumber: dso.mobileNumber || dso.owner?.mobileNumber || v.mobileNumber || \"N/A\",\n supervisors: supervisorsList.length,\n surveyors: surveyorsList.length,\n completed: completed,\n progress: progress,\n pending: pending,\n rejected: rejected,\n };\n });\n }\n return [];\n }, [vendorSearchResponse, progressData]);\n\n return (\n <Card className=\"surveyor-dashboard\">\n <Dashboard />\n <div className=\"admin-performance-section\">\n <h3 className=\"section-title\">\n {t(\"EKYC_VENDORS_PERFORMANCE\") || \"eKYC Vendors Performance\"}\n </h3>\n\n {isVendorSearchLoading || isProgressLoading ? (\n <Loader />\n ) : (\n <div className=\"vendors-grid\">\n {vendorsList.length === 0 ? (\n <div className=\"no-vendors\">\n {t(\"NO_VENDORS_FOUND\") || \"No vendors found.\"}\n </div>\n ) : (\n vendorsList.map((vendor) => (\n <div\n key={vendor.id}\n className=\"vendor-perf-card\"\n onClick={() => history.push(`/digit-ui/employee/ekyc/vendors/${vendor.id}`)}\n >\n <div className=\"card-header\">\n <div className=\"vendor-info\">\n <h4>{vendor.name}</h4>\n <p>{t(\"MOBILE\") || \"Mobile\"}: {vendor.mobileNumber}</p>\n </div>\n <span className=\"progress-badge\">\n {vendor.progress}%\n </span>\n </div>\n\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${vendor.progress}%` }}></div>\n </div>\n\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.supervisors}</div>\n <div className=\"label\">{t(\"SUPERVISORS\") || \"Supervisors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.surveyors}</div>\n <div className=\"label\">{t(\"SURVEYORS\") || \"Surveyors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value completed-val\">{vendor.completed}</div>\n <div className=\"label\">{t(\"COMPLETED\") || \"Completed\"}</div>\n </div>\n </div>\n\n <div className=\"card-footer\">\n <span>{t(\"PENDING\") || \"Pending\"}: <span className=\"pending-count\">{vendor.pending}</span></span>\n <span>{t(\"REJECTED\") || \"Rejected\"}: <span className=\"rejected-count\">{vendor.rejected}</span></span>\n </div>\n </div>\n ))\n )}\n </div>\n )}\n </div>\n\n </Card>\n );\n};\n\nexport default AdminDashboard;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { downloadSupervisorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst SupervisorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { id: supervisorId } = useParams();\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n // Fetch 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) =>\n s.owner?.uuid?.toLowerCase() === targetOwnerOrId?.toLowerCase() ||\n s.id?.toLowerCase() === targetOwnerOrId?.toLowerCase()\n );\n resolvedSupervisorId = selfSup?.id;\n }\n\n const targetId = resolvedSupervisorId || targetOwnerOrId;\n\n // 1. Find the supervisor profile from search response\n let matchedSup = null;\n if (supervisorSearchResponse?.supervisors) {\n matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n // 2. Find progress report for this supervisor from progressData\n let progressReport = null;\n if (progressData?.supervisorReport && targetId) {\n progressReport = progressData.supervisorReport.find(\n (s) =>\n s.supervisorId?.toLowerCase() === targetId?.toLowerCase() ||\n s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n // 3. If we found the supervisor in search response, enrich and return\n if (matchedSup) {\n const matchedSurveyors = surveyorSearchResponse?.surveyors\n ? surveyorSearchResponse.surveyors\n .filter((surv) => surv.supervisorId === (matchedSup.id || matchedSup.owner?.uuid))\n .map((surv) => {\n let realStats = null;\n if (progressData?.supervisorReport) {\n for (const report of progressData.supervisorReport) {\n if (\n report.supervisorId?.toLowerCase() !== matchedSup.id?.toLowerCase() &&\n report.id?.toLowerCase() !== matchedSup.id?.toLowerCase()\n ) continue;\n const matchedSurv = report.surveyors?.find(\n (s) =>\n (s.surveyorId && (s.surveyorId?.toLowerCase() === surv.id?.toLowerCase() || s.surveyorId?.toLowerCase() === surv.owner?.uuid?.toLowerCase())) ||\n (s.id && (s.id?.toLowerCase() === surv.id?.toLowerCase() || s.id?.toLowerCase() === surv.owner?.uuid?.toLowerCase()))\n );\n if (matchedSurv) {\n realStats = matchedSurv;\n break;\n }\n }\n }\n\n return {\n surveyorId: surv.id || surv.owner?.uuid,\n surveyorName: surv.name || surv.owner?.name || \"N/A\",\n mobileNo: surv.owner?.mobileNumber || surv.mobileNo || \"N/A\",\n 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) => s.id?.toLowerCase() === (progressReport.supervisorId || progressReport.id)?.toLowerCase() || s.owner?.uuid?.toLowerCase() === (progressReport.supervisorId || progressReport.id)?.toLowerCase()\n );\n\n const email = matchedSupForFallback?.owner?.emailId || matchedSupForFallback?.owner?.email || matchedSupForFallback?.email || (isSelf ? loggedInUser?.emailId : null) || progressReport.email || \"N/A\";\n const gender = matchedSupForFallback?.owner?.gender || matchedSupForFallback?.gender || (isSelf ? loggedInUser?.gender : null) || progressReport.gender || \"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) => v.dsoDetails?.id === targetVendorId || v.dsoDetails?.vendorId === targetVendorId || v.id === targetVendorId || v.vendorId === targetVendorId\n );\n return matchedVendor?.dsoDetails?.name || matchedVendor?.name || \"N/A\";\n }, [vendorSearchResponse, supervisor]);\n\n const surveyors = useMemo(() => {\n return supervisor?.surveyors || [];\n }, [supervisor]);\n\n const cards = useMemo(() => [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: supervisor?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: supervisor?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: supervisor?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${supervisor?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n\n },\n ], [supervisor]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const paginatedSurveyors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return surveyors.slice(start, end);\n }, [surveyors, currentPage, pageSize]);\n\n const surveyorColumns = useMemo(\n () => [\n {\n Header: t(\"SURVEYOR_NAME\") || \"Surveyor Name\",\n accessor: (row) => row?.surveyorName || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/surveyor-dashboard/${row.original.surveyorId}`\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.surveyorName || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: () => \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || 0}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = surveyors.map((s) => ({\n name: s.surveyorName,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = supervisor?.totalKnos || 0;\n const completedKnos = supervisor?.submittedKnos || 0;\n\n downloadSupervisorPDF({\n rows: rowsWithStats,\n supervisorName: fullName,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate supervisor report:\", err);\n } finally {\n setReportLoading(false);\n }\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 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\", \"source\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\", \"doorPhotoFilestoreId\", \"panFilestoreId\",\n \"documentProofFilestoreId\", \"buildingImageFileStoreId\", \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\", \"modifiedBy\", \"zoneCode\", \"propertyType\", \"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 fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\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 = [\"kno\", \"mobileNumber\", \"emailId\", \"email\", \"pincode\", \"mrkey\", \"dob\", \"createdTime\", \"lastModifiedTime\", \"meterLatitude\", \"meterLongitude\"];\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\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={handleDownload}\n >\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\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isProgressLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* 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\") ||\n \"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 width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-inputs\">\n <label>\n <span>From</span>\n <input\n type=\"date\"\n value={customDate.from}\n onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })}\n />\n </label>\n <label>\n <span>To</span>\n <input\n type=\"date\"\n value={customDate.to}\n onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })}\n />\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 ? (\n <div className=\"selected-zones\" style={{ marginTop: \"4px\" }}>\n <span className=\"selected-zone-chip\">\n {t(assignedZone.trim().toUpperCase()) || assignedZone}\n </span>\n </div>\n )\n : assignedZone}\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;","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, BackButton, ExpandedViewContext } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"../../components/EKYCCard\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch, Redirect, Route } from \"react-router-dom\";\nimport AadhaarVerification from \"../../components/AadhaarVerification\";\nimport PropertyInfo from \"../../components/PropertyInfo\";\nimport MeterDetails from \"../../components/MeterDetails\";\nimport Review from \"../../components/Review\";\nimport Home from \"./Home\";\nimport Inbox from \"./Inbox\";\nimport AssignEkyc from \"../../components/AssignEkyc\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard\";\nimport EkycStatus from \"./EkycStatus\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n const { data: { stateInfo } = {} } = Digit.Hooks.useStore.getInitData();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC citizen home\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(\"EKYC_MODULE_NAME\"), path: `/digit-ui/citizen/ekyc` },\n ];\n\n // Child crumb — only appended when on a sub-page\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/aadhaar-verification\")) {\n crumbs.push({ label: t(\"EKYC_AADHAAR_VERIFICATION\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/citizen/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/citizen/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n } else if (pathname.includes(\"/supervisor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") });\n } else if (pathname.includes(\"/surveyor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n } else if (pathname.includes(\"/vendor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DASHBOARD\") || \"Vendor Dashboard\" });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/status/\") || /^\\/digit-ui\\/citizen\\/ekyc\\/[^/]+$/.test(pathname)) {\n const statusLabel = t(\"EKYC_STATUS\");\n crumbs.push({ label: statusLabel === \"EKYC_STATUS\" || statusLabel === \"STATUS\" ? \"eKYC Status\" : statusLabel });\n }\n // home (exact path) → no child crumb\n\n return crumbs;\n };\n\n // const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n // const isEkyAction = (!roles?.includes(\"EKYC_SURVEYOR\") || roles?.includes(\"EMPLOYEE\"))\n\n\n return (\n <AppContainer>\n <div className=\"ground-container form-container\" style={{ flex: 1 }}>\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <Switch>\n <Route exact path={`${path}`}>\n <Redirect to=\"/digit-ui/citizen/ekyc-home\" />\n </Route>\n <PrivateRoute\n path={[`${path}/vendor-dashboard/:vendorId`, `${path}/vendor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AadhaarVerification />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/address-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AddressDetails />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <PropertyInfo />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <MeterDetails />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => (\n <LayoutWrapper layoutClass=\"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","hasExternalData","total","submittedCount","useEkycSurveyorDashboard","ekycStatus","dashboardData","apiCountData","useMemo","dashboardInfo","completed","pending","inProgressCount","rejected","active","handleDownloadEkycData","fromDate","toDate","Promise","resolve","EkycService","application_list","_extends","reportDownload","response","consumerList","alert","excludedKeys","headerMapping","kno","firstName","middleName","lastName","status","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","inprocess","submitted","actualCompleted","approved","efficiency","Math","round","healthPct","formatNumber","num","Intl","NumberFormat","format","destroy","ctx1","getContext","ChartConstructor","type","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","className","ref","disabled","onClick","p","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","points","x1","y1","x2","y2","_ref2","onChange","style","gap","marginTop","background","Dashboard","Loader","Card","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kNumber","aadhaarData","columns","Header","accessor","Cell","_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","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_searchParams","setSearchParams","prev","onSubmit","preventDefault","onClear","cleared","kName","HomeIcon","cx","cy","r","TextInput","placeholder","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","useEkycAssignmentProgress","vendorIds","keepPreviousData","isProgressLoading","progressData","vendorSupervisors","mockSupList","_","totalKnos","random","submittedKnos","pendingKnos","progressPercent","currentVendorId","matchedSups","s","sup","_progressData$supervi","_sup$owner2","_sup$owner3","_sup$owner4","report","supervisorReport","_sup$owner","zoneIds","_vendor$zoneIds","zone","trim","cards","hasRealData","some","reduce","acc","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","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$use2","_useMemo","allVendorIds","allIds","dso","matchedId","_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$complet","_progressData$pending","_progressData$overall","totalAssignments","overallProgressPercent","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","borderRadius","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","size","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","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","parseAdditionalDetails","additionalDetails","JSON","parse","AdminDashboard","vendorsList","filteredVendors","_additionalDetails$se","_dso$owner","_dso$owner2","supervisorsList","surveyorsList","surveyors","supervisorIds","_s$owner","matchedReports","displayName","ownerName","SupervisorDetailsCard","_fullName$charAt","targetId","matchedSup","_s$id","_s$owner$uuid","_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","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","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","stopPropagation","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","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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"}
|