@djb25/digit-ui-module-ekyc 1.0.69 → 1.0.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/EKYCCard.js","../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/components/StatusCards.js","../src/components/Dashboard.js","../src/components/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/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 if (!Digit.Utils.ekycAccess()) {\n return null;\n }\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({}, { tenantId, offset: 0, limit: 1 }, { enabled: !!tenantId });\n\n const totalCount = isLoading ? \"-\" : listData?.totalCount || 0;\n\n const isCitizen = window.location.pathname.includes(\"/citizen\");\n const prefix = isCitizen ? \"/digit-ui/citizen/ekyc\" : \"/digit-ui/employee/ekyc\";\n\n let links = [];\n if (isCitizen) {\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `${prefix}/surveyor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n links.push(\n {\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `${prefix}/supervisor-dashboard`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n }\n );\n }\n if (roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `${prefix}/vendor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n if (links.length === 0 || (roles.length === 1 && roles.includes(\"CITIZEN\"))) {\n links.push({\n label: t(\"EKYC_STATUS\"),\n link: `${prefix}/:id`,\n });\n }\n } else {\n // Employee links\n links = [\n // {\n // label: t(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n // link: `${prefix}/ceo-dashboard`,\n // },\n {\n label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\",\n link: `${prefix}/admin-dashboard`,\n },\n {\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n },\n {\n label: t(\"EKYC_WORK_ORDER\"),\n link: `${prefix}/work-order`,\n },\n ...(!roles.includes(\"EMPLOYEE\")\n ? [\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n },\n ]\n : []),\n ];\n }\n\n const propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: isCitizen\n ? []\n : [\n {\n count: totalCount,\n label: t(\"TOTAL_EKYC\"),\n link: `${prefix}/admin-dashboard`,\n },\n ],\n links: links,\n };\n\n return <EmployeeModuleCard {...propsForModuleCard} />;\n};\n\nexport default EKYCCard;\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Chartjs from \"chart.js/auto\";\nimport { FaChartBar, MdDownloadIcon } from \"@djb25/digit-ui-react-components\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\n\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const fullName = loggedInUser?.name || \"Admin\";\n\n const handleDownloadEkycData = async (fromDate, toDate) => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true,\n ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\",\n \"source\",\n \"assignedAt\",\n \"connectionType\",\n \"approvedAt\",\n \"alternateMobileNo\",\n \"city\",\n \"state\",\n \"addressType\",\n \"addressProofType\",\n \"mrcode\",\n \"areacode\",\n \"verificationStatus\",\n \"surveyorId\",\n \"supervisorId\",\n \"vendorId\",\n \"assignmentType\",\n \"assignmentValue\",\n \"assignedTime\",\n \"isSelfAssigned\",\n \"userType\",\n \"tenantName\",\n \"tenantMobile\",\n \"doorPhotoFilestoreId\",\n \"panFilestoreId\",\n \"documentProofFilestoreId\",\n \"buildingImageFileStoreId\",\n \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\",\n \"modifiedBy\",\n \"zoneCode\",\n \"propertyType\",\n \"subPropertyCategory\",\n ];\n\n const headerMapping = {\n kno: t(\"KNO\"),\n firstName: t(\"FIRST_NAME\"),\n middleName: t(\"MIDDLE_NAME\"),\n lastName: t(\"LAST_NAME\"),\n status: t(\"STATUS\"),\n ekycStatus: t(\"EKYC_STATUS\"),\n zoneName: t(\"ZONE\"),\n zoneCode: t(\"ZONE_CODE\"),\n assembly: t(\"EKYC_ASSEMBLY\"),\n ward: t(\"WARD\"),\n pincode: t(\"EKYC_PINCODE\"),\n addressRaw: t(\"ADDRESS_RAW\"),\n locality: t(\"EKYC_LOCALITY\"),\n subLocality: t(\"SUB_LOCALITY\"),\n flatHouseNumber: t(\"FLAT_HOUSE_NUMBER\"),\n streetName: t(\"STREET_NAME\"),\n landmark: t(\"EKYC_LANDMARK\"),\n city: t(\"CITY\"),\n state: t(\"STATE\"),\n addressType: t(\"ADDRESS_TYPE\"),\n addressProofType: t(\"ADDRESS_PROOF_TYPE\"),\n mobileNo: t(\"MOBILE_NUMBER\"),\n alternateMobileNo: t(\"ALTERNATE_MOBILE_NUMBER\"),\n whatsappNo: t(\"WHATSAPP_NO\"),\n email: t(\"EMAIL\"),\n landlineNo: t(\"LANDLINE_NO\"),\n mrkey: t(\"MR_KEY\"),\n mrcode: t(\"MR_CODE\"),\n areacode: t(\"AREA_CODE\"),\n source: t(\"SOURCE\"),\n submittedAt: t(\"SUBMITTED_AT\"),\n assignedAt: t(\"ASSIGNED_AT\"),\n connectionType: t(\"CONNECTION_TYPE\"),\n Type: t(\"CONSUMER_TYPE\"),\n occupantType: t(\"OCCUPANT_TYPE\"),\n knoCategory: t(\"KNO_CATEGORY\"),\n approvedAt: t(\"APPROVED_AT\"),\n gender: t(\"GENDER\"),\n parentSpouse: t(\"PARENT_SPOUSE\"),\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\n relationship: t(\"RELATIONSHIP\"),\n informantName: t(\"INFORMANT_NAME\"),\n informantRelation: t(\"INFORMANT_RELATION\"),\n informantIs: t(\"INFORMANT_IS\"),\n contactPerson: t(\"CONTACT_PERSON\"),\n relation: t(\"RELATION\"),\n entityName: t(\"ENTITY_NAME\"),\n designation: t(\"DESIGNATION\"),\n department: t(\"DEPARTMENT\"),\n employeeId: t(\"EMPLOYEE_ID\"),\n ownerMobile: t(\"OWNER_MOBILE\"),\n ownerVerificationDone: t(\"OWNER_VERIFICATION_DONE\"),\n consentGiven: t(\"CONSENT_GIVEN\"),\n proofOfIdentityType: t(\"PROOF_OF_IDENTITY_TYPE\"),\n documentNumber: t(\"DOCUMENT_NUMBER\"),\n noOfPerson: t(\"NUMBER_OF_PERSON\"),\n latitude: t(\"LATITUDE\"),\n longitude: t(\"LONGITUDE\"),\n gpsValid: t(\"GPS_VALID\"),\n meterNumber: t(\"METER_NUMBER\"),\n meterMake: t(\"METER_MAKE\"),\n meterStatus: t(\"METER_STATUS\"),\n meterCondition: t(\"METER_CONDITION\"),\n meterLocation: t(\"METER_LOCATION\"),\n meterLocationAddress: t(\"METER_LOCATION_ADDRESS\"),\n workingStatus: t(\"WORKING_STATUS\"),\n sewerConnection: t(\"SEWER_CONNECTION\"),\n septicTank: t(\"SEPTIC_TANK\"),\n lastBillRaised: t(\"LAST_BILL_RAISED\"),\n lastBillReceivedDate: t(\"LAST_BILL_RECEIVED_DATE\"),\n accessToMeter: t(\"ACCESS_TO_METER\"),\n systemMeterId: t(\"SYSTEM_METER_ID\"),\n lastBillNotRaisedReason: t(\"LAST_BILL_NOT_RAISED_REASON\"),\n waterConnectionYears: t(\"WATER_CONNECTION_YEARS\"),\n sewerConnectionYears: t(\"SEWER_CONNECTION_YEARS\"),\n pidNumber: t(\"PID_NUMBER\"),\n propertyType: t(\"PROPERTY_TYPE\"),\n subPropertyCategory: t(\"SUB_PROPERTY_CATEGORY\"),\n noOfFloor: t(\"NO_OF_FLOOR\"),\n noOfRooms: t(\"NO_OF_ROOMS\"),\n noOfBeds: t(\"NO_OF_BEDS\"),\n numberOfDwellingUnits: t(\"NUMBER_OF_DWELLING_UNITS\"),\n floorNo: t(\"FLOOR_NO\"),\n userType: t(\"USER_TYPE\"),\n tenantName: t(\"TENANT_NAME\"),\n tenantMobile: t(\"TENANT_MOBILE\"),\n verificationStatus: t(\"VERIFICATION_STATUS\"),\n houseBuiltDuration: t(\"HOUSE_BUILT_DURATION\"),\n surveyorId: t(\"SURVEYOR_ID\"),\n supervisorId: t(\"SUPERVISOR_ID\"),\n vendorId: t(\"VENDOR_ID\"),\n assignmentType: t(\"ASSIGNMENT_TYPE\"),\n assignmentValue: t(\"ASSIGNMENT_VALUE\"),\n assignedTime: t(\"ASSIGNED_TIME\"),\n isSelfAssigned: t(\"IS_SELF_ASSIGNED\"),\n doorPhotoFilestoreId: t(\"DOOR_PHOTO_FILESTORE_ID\"),\n panFilestoreId: t(\"PAN_FILESTORE_ID\"),\n documentProofFilestoreId: t(\"DOCUMENT_PROOF_FILESTORE_ID\"),\n buildingImageFileStoreId: t(\"BUILDING_IMAGE_FILESTORE_ID\"),\n propertyDocumentFileStoreId: t(\"PROPERTY_DOCUMENT_FILESTORE_ID\"),\n meterPhotoFileStoreId: t(\"METER_PHOTO_FILESTORE_ID\"),\n modifiedBy: t(\"MODIFIED_BY\"),\n emailId: t(\"EMAIL_ID\"),\n dob: t(\"DOB\"),\n consumerType: t(\"CONSUMER_TYPE\"),\n createdTime: t(\"CREATED_TIME\"),\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\"),\n meterLatitude: t(\"EKYC_METER_LATITUDE1\"),\n meterLongitude: t(\"EKYC_METER_LONGITUDE1\"),\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n let cleanStr = String(str);\n if (cleanStr.includes(\".\") && !cleanStr.includes(\"@\") && isNaN(Number(cleanStr))) {\n cleanStr = cleanStr.split(\".\").pop();\n }\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const skipTitleCase = [\n \"kno\",\n \"mobileNumber\",\n \"emailId\",\n \"email\",\n \"pincode\",\n \"mrkey\",\n \"dob\",\n \"createdTime\",\n \"lastModifiedTime\",\n \"meterLatitude\",\n \"meterLongitude\",\n ];\n const translatedFields = [\"meterMake\", \"meterLocation\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const name = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (name) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(name);\n }\n\n const keys = Object.keys(item);\n\n // submittedAt ko last column me bhejne ke liye\n const orderedKeys = [...keys.filter((key) => key !== \"submittedAt\"), ...(keys.includes(\"submittedAt\") ? [\"submittedAt\"] : [])];\n\n orderedKeys.forEach((key) => {\n if (excludedKeys.includes(key)) return;\n\n let val = item[key];\n\n // Convert submittedAt timestamp to date/time\n if (key === \"submittedAt\" && val) {\n const date = new Date(Number(val));\n\n const pad = (n) => String(n).padStart(2, \"0\");\n\n val = `${pad(date.getDate())}/${pad(date.getMonth() + 1)}/${date.getFullYear()} ${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(\n date.getSeconds()\n )}`;\n }\n\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n if (String(val).toLowerCase() === \"true\") {\n val = t(\"CS_YES\");\n } else if (String(val).toLowerCase() === \"false\") {\n val = t(\"CS_NO\");\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && translatedFields.includes(key)) {\n cleanObj[friendlyHeader] = t(val);\n } else if (typeof val === \"string\" && !skipTitleCase.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_All_Data_Admin_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(range.from.getTime(), range.to.getTime());\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(from.getTime(), to.getTime());\n };\n\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n\n const efficiency = countData?.total > 0 ? Math.round(((countData?.submittedCount + countData?.completed) / countData?.total) * 100) : 0;\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n\n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\"), t(\"EKYC_SUBMITTED\"), t(\"EKYC_INPROCESS\")],\n datasets: [\n {\n data: [countData?.pending, countData?.completed, countData?.submitted, countData?.inprocess],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\", \"#49a3fb\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n },\n ],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: false,\n responsive: true,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n };\n }, [countData, t]);\n\n const legendItems = [\n {\n color: \"#77B6EA\",\n label: t(\"EKYC_TOTAL\"),\n value: countData?.total || 0,\n },\n {\n color: \"#0c2a52\",\n label: t(\"EKYC_PENDING\"),\n value: countData?.pending || 0,\n },\n {\n color: \"#2E8B57\",\n label: t(\"EKYC_COMPLETED\"),\n value: countData?.completed || 0,\n },\n // {\n // color: \"#4C8BF5\",\n // label: t(\"EKYC_ASSIGNED\"),\n // value: countData?.totalAssignments || 0,\n // },\n\n {\n color: \"#8B5CF6\",\n label: t(\"EKYC_SUBMITTED_BY_VENDORS\"),\n value: countData?.submittedCount || 0,\n },\n {\n color: \"#F59E0B\",\n label: t(\"EKYC_SUBMITTED_BY_CITIZEN\"),\n value: countData?.selfEkycCount || 0,\n },\n {\n color: \"#DC3545\",\n label: t(\"EKYC_REJECTED\"),\n value: countData?.rejected || 0,\n },\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-panel\">\n <div className=\"status-cards-header\">\n <div className=\"status-card-title\">\n <FaChartBar size={32} color=\"#fff\" backgroundColor=\"#065297\" style={{ paddingInline: \"4px\", borderRadius: \"4px \" }} />\n\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"total-applications-card download-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n\n <MdDownloadIcon />\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={(e) => {\n e.stopPropagation();\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button\n className=\"picker-apply-btn\"\n onClick={(e) => {\n e.stopPropagation();\n handleCustomDownload();\n }}\n >\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n <div className=\"status-breakdown-content\">\n {/* Chart */}\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n\n <div className=\"chart-center\">\n <div className=\"chart-percentage\">{efficiency}%</div>\n <div className=\"chart-label\">{t(\"EKYC_COMPLETE\") || \"Complete\"}</div>\n </div>\n </div>\n\n {/* Status Boxes */}\n <div className=\"status-boxes\">\n {legendItems.map((item) => (\n <div className=\"status-box\" key={item.label} style={{ \"--status-color\": item.color }}>\n <div className=\"status-box-top\">\n <span className=\"status-indicator\" style={{ backgroundColor: item.color }} />\n\n <span className=\"status-name\">{item.label}</span>\n </div>\n\n <div className=\"status-box-value\">{formatNumber(item.value)}</div>\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;\n","import React, { useMemo } from \"react\";\nimport StatusCards from \"./StatusCards\";\nimport { Loader } from \"@djb25/digit-ui-react-components\";\n\n// Mock data removed in favor of API integration\n\nconst Dashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n {\n tenantId,\n allVendorsDetailed: true,\n },\n {\n enabled: true,\n keepPreviousData: true,\n }\n );\n\n const countData = useMemo(() => {\n return {\n total: progressData?.totalKnosInSystem || 0,\n completed: progressData?.completedKnosInZones || 0,\n pending: progressData?.pendingKnosInZones || 0,\n rejected: progressData?.rejectedKnos || 0,\n totalAssignments: progressData?.totalAssignments || 0,\n submittedCount: progressData?.submittedKnos || 0,\n selfEkycCount: progressData?.selfEkycCount || 0,\n overallProgressPercent: progressData?.overallProgressPercent || 0,\n };\n }, [progressData]);\n\n return isProgressLoading ? <Loader /> : <StatusCards countData={countData} />;\n};\n\nexport default Dashboard;\n","import React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, Card, Loader, InboxLinks } from \"@djb25/digit-ui-react-components\";\nimport { useHistory } from \"react-router-dom\";\nimport StatusCards from \"./StatusCards\";\n\nconst DesktopInbox = ({ tableConfig, filterComponent, ...props }) => {\n const {\n data,\n isLoading,\n onSort,\n onNextPage,\n onPrevPage,\n currentPage,\n pageSizeLimit,\n onPageSizeChange,\n parentRoute,\n searchParams,\n sortParams,\n totalRecords,\n countData,\n } = props;\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const FilterComponent = Digit.ComponentRegistryService?.getComponent(filterComponent);\n\n // State for Review Modal\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(\"/digit-ui/employee/ekyc/review\", { kNumber: selectedKno, aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const columns = useMemo(\n () => [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n // {\n // Header: t(\"EKYC_MOBILE_NO\"),\n // accessor: \"mobileNumber\",\n // Cell: ({ row }) => <span>{row.original?.mobileNumber || \"NA\"}</span>,\n // },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n {\n Header: t(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","export const downloadSurveyorPDF = async ({ rows, surveyorName, employeeId, mobileNumber, vendorName, supervisorName, dashboardInfo, t }) => {\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) => text && text.substr(0, 1).toUpperCase() + text.substr(1);\n const ulbCamel = (ulb) => ulb && ulb.toLowerCase().split(\" \").map(capitalize).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 (window.Digit && window.Digit.Utils && window.Digit.Utils.pdf && window.Digit.Utils.pdf.generateSurveyorReport) {\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\nexport const downloadSupervisorPDF = async ({ rows, supervisorName, mobileNumber, vendorName, dashboardInfo, t }) => {\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 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 (window.Digit && window.Digit.Utils && window.Digit.Utils.pdf && window.Digit.Utils.pdf.generateSurveyorReport) {\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 ({ rows, vendorName, mobileNumber, email, dashboardInfo, t }) => {\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(\"TOTAL_EKYC_APPLICATIONS\") || \"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 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 === \"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 (window.Digit && window.Digit.Utils && window.Digit.Utils.pdf && window.Digit.Utils.pdf.generateSurveyorReport) {\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","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table, MdDownloadIcon, FaDatabase, FaFileAlt } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { downloadVendorPDF } from \"../utils/reportDownloader\";\nimport { FaBuilding, FaUser, FaClock, FaChartLine } from \"react-icons/fa\";\n\nconst VendorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { vendorId } = useParams();\n\n const { data: { vendor: [vendor] = [] } = {}, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useVendorSearch({\n tenantId,\n filters: {\n status: \"ACTIVE\",\n ids: vendorId,\n },\n config: {\n enabled: !!tenantId,\n staleTime: 300000,\n },\n });\n\n // Match vendor details\n\n const targetVendorId = vendorId || vendor?.id || vendor?.vendorId;\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details) for target vendor\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n targetVendorId ? { vendorId: targetVendorId } : {},\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n const vendorName = vendor?.name || \"N/A\";\n const mobileNumber = vendor?.mobileNumber || vendor?.owner?.mobileNumber || \"N/A\";\n const email = vendor?.owner?.emailId || \"N/A\";\n // const status = vendor ? \"ACTIVE\" : \"N/A\";\n // const jurisdictions = useMemo(() => {\n // if (Array.isArray(vendor?.jurisdictions)) {\n // return vendor.jurisdictions.join(\", \");\n // }\n // return \"N/A\";\n // }, [vendor]);\n const zoneIds = useMemo(() => {\n return vendor?.zoneIds?.length ? vendor.zoneIds.filter(Boolean).map((zone) => String(zone).trim().toUpperCase()) : [];\n }, [vendor]);\n\n // KPI stats calculation\n const cards = useMemo(() => {\n const totalKnos = progressData?.totalKnosInZones || 0;\n const totalAssignments = progressData?.totalKnos || 0;\n // const completedKnos = progressData?.submittedKnos || 0;\n const selfEkycCount = progressData?.selfEkycCountInZones || 0;\n const submittedKnos = progressData?.submittedKnosInZones || 0;\n const pendingKnos = progressData?.pendingKnosInZones || 0;\n const progressPercent = progressData?.overallProgressPercent || 0;\n\n return [\n {\n label: \"TOTAL_KNOS\",\n count: totalKnos,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaDatabase />,\n },\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: totalAssignments,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaFileAlt />,\n },\n // {\n // label: \"EKYC_COMPLETED\",\n // count: completedKnos,\n // color: \"#10B981\",\n // type: \"month\",\n // icon: <FaCheckCircle />,\n // },\n {\n label: \"EKYC_SUBMITTED_BY_VENDORS\",\n count: submittedKnos,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaBuilding />,\n },\n {\n label: \"EKYC_SUBMITTED_BY_CITIZEN\",\n count: selfEkycCount,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaUser />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: pendingKnos,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${progressPercent}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n }, [vendor, progressData]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const handleDownloadEkycData = async (fromDate, toDate) => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n // Vendor-specific filter\n vendorId: targetVendorId,\n reportDownload: true,\n ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\n });\n\n const consumerList = response?.consumerList || [];\n\n if (!consumerList || consumerList.length === 0) {\n alert(t(\"NO_EKYC_DATA_FOUND\") || \"No eKYC data found to download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\",\n \"source\",\n \"assignedAt\",\n \"connectionType\",\n \"approvedAt\",\n \"alternateMobileNo\",\n \"city\",\n \"state\",\n \"addressType\",\n \"addressProofType\",\n \"mrcode\",\n \"areacode\",\n \"verificationStatus\",\n \"surveyorId\",\n \"supervisorId\",\n \"vendorId\",\n \"assignmentType\",\n \"assignmentValue\",\n \"assignedTime\",\n \"isSelfAssigned\",\n \"userType\",\n \"tenantName\",\n \"tenantMobile\",\n \"doorPhotoFilestoreId\",\n \"panFilestoreId\",\n \"documentProofFilestoreId\",\n \"buildingImageFileStoreId\",\n \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\",\n \"modifiedBy\",\n \"zoneCode\",\n \"propertyType\",\n \"subPropertyCategory\",\n ];\n\n const headerMapping = {\n kno: t(\"KNO\"),\n firstName: t(\"FIRST_NAME\"),\n middleName: t(\"MIDDLE_NAME\"),\n lastName: t(\"LAST_NAME\"),\n status: t(\"STATUS\"),\n ekycStatus: t(\"EKYC_STATUS\"),\n zoneName: t(\"ZONE\"),\n zoneCode: t(\"ZONE_CODE\"),\n assembly: t(\"EKYC_ASSEMBLY\"),\n ward: t(\"WARD\"),\n pincode: t(\"EKYC_PINCODE\"),\n addressRaw: t(\"ADDRESS_RAW\"),\n locality: t(\"EKYC_LOCALITY\"),\n subLocality: t(\"SUB_LOCALITY\"),\n flatHouseNumber: t(\"FLAT_HOUSE_NUMBER\"),\n streetName: t(\"STREET_NAME\"),\n landmark: t(\"EKYC_LANDMARK\"),\n city: t(\"CITY\"),\n state: t(\"STATE\"),\n addressType: t(\"ADDRESS_TYPE\"),\n addressProofType: t(\"ADDRESS_PROOF_TYPE\"),\n mobileNo: t(\"MOBILE_NUMBER\"),\n alternateMobileNo: t(\"ALTERNATE_MOBILE_NUMBER\"),\n whatsappNo: t(\"WHATSAPP_NO\"),\n email: t(\"EMAIL\"),\n landlineNo: t(\"LANDLINE_NO\"),\n mrkey: t(\"MR_KEY\"),\n mrcode: t(\"MR_CODE\"),\n areacode: t(\"AREA_CODE\"),\n source: t(\"SOURCE\"),\n submittedAt: t(\"SUBMITTED_AT\"),\n assignedAt: t(\"ASSIGNED_AT\"),\n connectionType: t(\"CONNECTION_TYPE\"),\n Type: t(\"CONSUMER_TYPE\"),\n occupantType: t(\"OCCUPANT_TYPE\"),\n knoCategory: t(\"KNO_CATEGORY\"),\n approvedAt: t(\"APPROVED_AT\"),\n gender: t(\"GENDER\"),\n parentSpouse: t(\"PARENT_SPOUSE\"),\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\n relationship: t(\"RELATIONSHIP\"),\n informantName: t(\"INFORMANT_NAME\"),\n informantRelation: t(\"INFORMANT_RELATION\"),\n informantIs: t(\"INFORMANT_IS\"),\n contactPerson: t(\"CONTACT_PERSON\"),\n relation: t(\"RELATION\"),\n entityName: t(\"ENTITY_NAME\"),\n designation: t(\"DESIGNATION\"),\n department: t(\"DEPARTMENT\"),\n employeeId: t(\"EMPLOYEE_ID\"),\n ownerMobile: t(\"OWNER_MOBILE\"),\n ownerVerificationDone: t(\"OWNER_VERIFICATION_DONE\"),\n consentGiven: t(\"CONSENT_GIVEN\"),\n proofOfIdentityType: t(\"PROOF_OF_IDENTITY_TYPE\"),\n documentNumber: t(\"DOCUMENT_NUMBER\"),\n noOfPerson: t(\"NUMBER_OF_PERSON\"),\n latitude: t(\"LATITUDE\"),\n longitude: t(\"LONGITUDE\"),\n gpsValid: t(\"GPS_VALID\"),\n meterNumber: t(\"METER_NUMBER\"),\n meterMake: t(\"METER_MAKE\"),\n meterStatus: t(\"METER_STATUS\"),\n meterCondition: t(\"METER_CONDITION\"),\n meterLocation: t(\"METER_LOCATION\"),\n meterLocationAddress: t(\"METER_LOCATION_ADDRESS\"),\n workingStatus: t(\"WORKING_STATUS\"),\n sewerConnection: t(\"SEWER_CONNECTION\"),\n septicTank: t(\"SEPTIC_TANK\"),\n lastBillRaised: t(\"LAST_BILL_RAISED\"),\n lastBillReceivedDate: t(\"LAST_BILL_RECEIVED_DATE\"),\n accessToMeter: t(\"ACCESS_TO_METER\"),\n systemMeterId: t(\"SYSTEM_METER_ID\"),\n lastBillNotRaisedReason: t(\"LAST_BILL_NOT_RAISED_REASON\"),\n waterConnectionYears: t(\"WATER_CONNECTION_YEARS\"),\n sewerConnectionYears: t(\"SEWER_CONNECTION_YEARS\"),\n pidNumber: t(\"PID_NUMBER\"),\n propertyType: t(\"PROPERTY_TYPE\"),\n subPropertyCategory: t(\"SUB_PROPERTY_CATEGORY\"),\n noOfFloor: t(\"NO_OF_FLOOR\"),\n noOfRooms: t(\"NO_OF_ROOMS\"),\n noOfBeds: t(\"NO_OF_BEDS\"),\n numberOfDwellingUnits: t(\"NUMBER_OF_DWELLING_UNITS\"),\n floorNo: t(\"FLOOR_NO\"),\n userType: t(\"USER_TYPE\"),\n tenantName: t(\"TENANT_NAME\"),\n tenantMobile: t(\"TENANT_MOBILE\"),\n verificationStatus: t(\"VERIFICATION_STATUS\"),\n houseBuiltDuration: t(\"HOUSE_BUILT_DURATION\"),\n surveyorId: t(\"SURVEYOR_ID\"),\n supervisorId: t(\"SUPERVISOR_ID\"),\n vendorId: t(\"VENDOR_ID\"),\n assignmentType: t(\"ASSIGNMENT_TYPE\"),\n assignmentValue: t(\"ASSIGNMENT_VALUE\"),\n assignedTime: t(\"ASSIGNED_TIME\"),\n isSelfAssigned: t(\"IS_SELF_ASSIGNED\"),\n doorPhotoFilestoreId: t(\"DOOR_PHOTO_FILESTORE_ID\"),\n panFilestoreId: t(\"PAN_FILESTORE_ID\"),\n documentProofFilestoreId: t(\"DOCUMENT_PROOF_FILESTORE_ID\"),\n buildingImageFileStoreId: t(\"BUILDING_IMAGE_FILESTORE_ID\"),\n propertyDocumentFileStoreId: t(\"PROPERTY_DOCUMENT_FILESTORE_ID\"),\n meterPhotoFileStoreId: t(\"METER_PHOTO_FILESTORE_ID\"),\n modifiedBy: t(\"MODIFIED_BY\"),\n emailId: t(\"EMAIL_ID\"),\n dob: t(\"DOB\"),\n consumerType: t(\"CONSUMER_TYPE\"),\n createdTime: t(\"CREATED_TIME\"),\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\"),\n meterLatitude: t(\"EKYC_METER_LATITUDE1\"),\n meterLongitude: t(\"EKYC_METER_LONGITUDE1\"),\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n let cleanStr = String(str);\n if (cleanStr.includes(\".\") && !cleanStr.includes(\"@\") && isNaN(Number(cleanStr))) {\n cleanStr = cleanStr.split(\".\").pop();\n }\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const skipTitleCase = [\n \"kno\",\n \"mobileNumber\",\n \"emailId\",\n \"email\",\n \"pincode\",\n \"mrkey\",\n \"dob\",\n \"createdTime\",\n \"lastModifiedTime\",\n \"meterLatitude\",\n \"meterLongitude\",\n ];\n const translatedFields = [\"meterMake\", \"meterLocation\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n Object.keys(item).forEach((key) => {\n if (excludedKeys.includes(key)) return;\n\n let val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n if (String(val).toLowerCase() === \"true\") {\n val = t(\"CS_YES\");\n } else if (String(val).toLowerCase() === \"false\") {\n val = t(\"CS_NO\");\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && translatedFields.includes(key)) {\n cleanObj[friendlyHeader] = t(val);\n } else if (typeof val === \"string\" && !skipTitleCase.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${vendorName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Failed to download eKYC data:\", error);\n alert(t(\"EKYC_DOWNLOAD_FAILED\") || \"Failed to download eKYC data. Please try again.\");\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const supervisorColumns = useMemo(\n () => [\n {\n Header: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\",\n accessor: (row) => row?.original?.supervisorName || \"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?.supervisorId}`;\n\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?.supervisorName || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNo\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: (row) => row?.status || \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => <span className={`status-badge verified`}>{t(value) || value}</span>,\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || 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 = progressData?.supervisorReport.map((s) => ({\n name: s.supervisorName,\n mobileNo: s.mobileNo,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent || 0}%`,\n }));\n\n downloadVendorPDF({\n rows: rowsWithStats,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: progressData?.totalKnosInZones,\n completed: progressData?.submittedKnosInZones + progressData?.selfEkycCountInZones,\n pending: progressData?.pendingKnosInZones,\n submittedCount: progressData?.submittedKnosInZones,\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;\n\n if (isPageLoading && !vendor) {\n return <Loader />;\n }\n\n if (!vendor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_VENDOR_FOUND\") || \"No Vendor Found\"}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{vendorName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{vendorName}</h2>\n <div className=\"designation\">{t(\"VENDOR_AGENCY\") || \"Agency / Vendor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\">\n <button className=\"download-btn\" disabled={reportLoading} onClick={handleDownload}>\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard key={idx} title={t(card.label)} value={card.count} type={card.type} isLoading={isPageLoading} icon={card.icon} />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Top Row: Mobile, Email, and Download eKYC Data */}\n <div className=\"details-top-row\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"download-card\">\n <div>\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") || \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n <MdDownloadIcon />\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={() => {\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button className=\"picker-apply-btn\" onClick={handleCustomDownload}>\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Bottom Row: Assigned Zones Full Width */}\n <div className=\"full-width-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONES\") || \"Assigned Zones\"}</span>\n <span className=\"value\">\n {zoneIds.length > 0 ? (\n <div className=\"selected-zones\" style={{ marginTop: \"4px\", width: \"100%\", display: \"flex\", flexWrap: \"wrap\", gap: \"8px\" }}>\n {zoneIds.map((zone) => (\n <span key={zone} className=\"selected-zone-chip\">\n {t(zone) || zone}\n </span>\n ))}\n </div>\n ) : (\n \"N/A\"\n )}\n </span>\n </div>\n </div>\n </div>\n\n <div>\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\"}\n tableClass=\"ekycTable\"\n isTableScrollable={true}\n data={progressData?.supervisorReport}\n columns={supervisorColumns}\n isLoading={isProgressLoading}\n totalRecords={progressData?.supervisorReport?.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(progressData?.supervisorReport?.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(progressData?.supervisorReport?.length / pageSize) - 1, 0))}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n </Card>\n );\n};\n\nexport default VendorDetailsCard;\n","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header } from \"@djb25/digit-ui-react-components\";\n\nconst useInboxTableConfig = ({\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n checkPathName,\n onSortingByData,\n tenantId,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const tableColumnConfig = [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n disableSortBy: true,\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"SUBMITTED_AT\") || \"Submitted At\",\n accessor: \"submittedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"ASSIGNED_AT\") || \"Assigned At\",\n accessor: \"assignedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n ];\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n initSortId: \"applicationDate\",\n onPageSizeChange: onPageSizeChange,\n currentPage: Math.floor(offset / limit),\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) + limit },\n checkPathName,\n }),\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) - limit },\n checkPathName,\n }),\n pageSizeLimit: limit,\n onSort: onSortingByData,\n // sortParams: [{id: getValues(\"sortBy\"), desc: getValues(\"sortOrder\") === \"DESC\" ? true : false}],\n totalRecords: totalCount,\n onSearch: formState?.searchForm?.message,\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: Math.max(0, Math.floor((totalCount - 1) / limit) * limit) },\n checkPathName,\n }),\n onFirstPage: () => dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, offset: 0 }, checkPathName }),\n // globalSearch: {searchForItemsInTable},\n // searchQueryForTable,\n data: table,\n columns: tableColumnConfig,\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default useInboxTableConfig;\n","import React from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport { CardLabelError, TextInput, CustomTooltip, Label } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchFormFieldsComponents = ({ searchFormState, controlSearchForm, searchType }) => {\n const { t } = useTranslation();\n const { errors } = searchFormState;\n\n if (searchType === \"mobile\") {\n return (\n <React.Fragment>\n {/* MOBILE NUMBER */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"ES_COMMON_MOBILE_NUM\") || \"Mobile Number\"}\n <CustomTooltip message={t(\"EKYC_MOBILE_NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"mobileNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[6-9]\\d{9}$/,\n message: t(\"ERR_INVALID_MOBILE_NUMBER\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.mobileNumber && <CardLabelError>{errors.mobileNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment>\n {/* K NUMBER (KNO) */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"EKYC_K.NUMBER\") || \"K Number\"}\n <CustomTooltip message={t(\"EKYC_K.NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"kNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[0-9]{10}$/,\n message: t(\"ERR_INVALID_KNO\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.kNumber && <CardLabelError>{errors.kNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n};\n\nexport default SearchFormFieldsComponents;\n","import { RadioButtons, SearchField } from \"@djb25/digit-ui-react-components\";\nimport React, { useState } from \"react\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nconst useInboxMobileCardsData = ({ table, tenantId, isSupervisor = false }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (!isSupervisor && reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData, isSupervisor]);\n\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const handleSupervisorReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const dataForMobileInboxCards = table?.map((item) => {\n if (isSupervisor) {\n const id = item.id;\n const status = item.status || \"DEFAULT\";\n\n return {\n [t(\"SURVEYOR_NAME\")]: (\n <span className=\"link\" onClick={() => handleSupervisorReview(id)}>\n {item.surveyorName || item.name || \"NA\"}\n </span>\n ),\n [t(\"MOBILE_NUMBER\")]: item.mobileNo || item.owner?.mobileNumber || \"NA\",\n [t(\"STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>,\n [t(\"SERVICE_TYPE\")]: item.serviceType || \"NA\",\n };\n } else {\n const kno = item.kno || item.applicationNumber || \"NA\";\n const status = (item.status || \"DEFAULT\").toUpperCase();\n const ekycStatus = (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase();\n\n return {\n [t(\"EKYC_APPLICATION_NO\")]: (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n ),\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName || \"NA\",\n [t(\"EKYC_STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>,\n [t(\"SUBMITTED_AT\")]: item.submittedAt ? Digit.DateUtils.ConvertEpochToDate(item.submittedAt) : \"-\",\n [t(\"ASSIGNED_AT\")]: item.assignedAt ? Digit.DateUtils.ConvertEpochToDate(item.assignedAt) : \"-\",\n [t(\"EKYC_EKYC_STATUS\")]: <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>,\n };\n }\n });\n\n const MobileSortFormValues = () => {\n const sortOrderOptions = [\n {\n code: \"DESC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_FIRST\",\n },\n {\n code: \"ASC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_LAST\",\n },\n ];\n const { control: controlSortForm } = useFormContext();\n return (\n <SearchField>\n <Controller\n name=\"sortOrder\"\n control={controlSortForm}\n render={({ onChange, value }) => (\n <RadioButtons\n onSelect={(e) => {\n onChange(e.code);\n }}\n selectedOption={sortOrderOptions.filter((option) => option.code === value)[0]}\n optionsKey=\"i18nKey\"\n name=\"sortOrder\"\n options={sortOrderOptions}\n />\n )}\n />\n </SearchField>\n );\n };\n\n return {\n data: dataForMobileInboxCards,\n isTwoDynamicPrefix: true,\n getRedirectionLink: () => {},\n handleClickEnabled: false,\n serviceRequestIdKey: isSupervisor ? \"id\" : \"applicationNo\",\n MobileSortFormValues,\n };\n};\n\nexport default useInboxMobileCardsData;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\nconst StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n);\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit]);\n\n const { isLoading: isListLoading, data: listData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // Fetch vendors from DSO search to get vendor ID for progress API\n // const { data: vendorSearchResponse } = Digit.Hooks.fsm.useDsoSearch(\n // tenantId,\n // { status: \"ACTIVE\" },\n // { enabled: !!tenantId, staleTime: 300000 }\n // );\n\n // const { targetVendorId, allVendorIds } = useMemo(() => {\n // if (!vendorSearchResponse || vendorSearchResponse.length === 0) {\n // return { targetVendorId: null, allVendorIds: [] };\n // }\n // const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n // const userUuid = loggedInUser?.uuid;\n // const userMobile = loggedInUser?.mobileNumber;\n // const matchesUser = (v) => {\n // const ownerUuid = v.owner?.uuid || v.owner?.id;\n // const ownerMobile = v.owner?.mobileNumber || v.mobileNumber;\n // return (userUuid && ownerUuid === userUuid) || (userMobile && ownerMobile === userMobile);\n // };\n\n // const allIds = vendorSearchResponse\n // .map((v) => {\n // const dso = v.dsoDetails || v;\n // return dso.id || dso.vendorId || v.id || v.vendorId;\n // })\n // .filter(Boolean);\n\n // const matched = vendorSearchResponse.find((v) => matchesUser(v.dsoDetails || v));\n // let matchedId = null;\n // if (matched) {\n // const dso = matched.dsoDetails || matched;\n // matchedId = dso.id || dso.vendorId || matched.id || matched.vendorId;\n // }\n\n // return { targetVendorId: matchedId, allVendorIds: allIds };\n // }, [vendorSearchResponse]);\n\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n { tenantId, allVendorsDetailed: true },\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return listData?.consumerList || [];\n }, [isSearchActive, searchData, listData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (\n item.connectionDetails?.ekycStatus ||\n item.connectionDetails?.ekycstatus ||\n item.ekycStatus ||\n item.ekycstatus ||\n \"NA\"\n ).toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.kno || \"\",\n owner: fullName || item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName || item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const { t } = useTranslation();\n\n const progressMetrics = useMemo(() => {\n if (!progressData) return { totalKnos: 0, submittedKnos: 0, pendingKnos: 0, progressPercent: 0 };\n\n const totalKnos = progressData?.totalKnos ?? progressData?.totalAssignments ?? 0;\n const submittedKnos = progressData?.submittedKnos ?? 0;\n const pendingKnos = progressData?.pendingKnos ?? (totalKnos >= submittedKnos ? totalKnos - submittedKnos : 0);\n const progressPercent =\n progressData?.overallProgressPercent ?? progressData?.progressPercent ?? (totalKnos > 0 ? ((submittedKnos / totalKnos) * 100).toFixed(1) : 0);\n\n return {\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }, [progressData]);\n\n const cards = useMemo(\n () => [\n {\n label: t(\"TOTAL_EKYC_APPLICATIONS\"),\n count: progressMetrics?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: t(\"EKYC_COMPLETED\"),\n count: progressMetrics?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: t(\"PENDING_APPLICATIONS\"),\n count: progressMetrics?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: t(\"OVERALL_PROGRESS\"),\n count: `${progressMetrics?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ],\n [progressMetrics, t]\n );\n const totalRecords = listData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n function formReducer(state, payload) {\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isListLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n {/* Stats */}\n <div className=\"surveyor-dashboard\" style={{ overflowY: \"visible\", marginBottom: \"24px\" }}>\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard key={idx} title={t(card.label)} value={card.count} type={card.type} isLoading={isProgressLoading} icon={card.icon} />\n ))}\n </div>\n </div>\n\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: listData,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { Fragment, useState } from \"react\";\nimport {\n Card,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n Menu,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\n\n// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />} style={{ margin: 0, padding: 0 }} onClick={routeTo} />\n );\n};\n\nconst checkForNA = (value) => (value !== null && value !== undefined && value !== \"\" ? value : \"N/A\");\n\nconst boolToYesNo = (value, t) => {\n if (value === true || value === \"true\" || String(value).toLowerCase() === \"yes\") return t(\"CORE_COMMON_YES\");\n if (value === false || value === \"false\" || String(value).toLowerCase() === \"no\") return t(\"CORE_COMMON_NO\");\n if (value === \"true\") return t(\"CORE_COMMON_YES\");\n if (value === \"false\") return t(\"CORE_COMMON_NO\");\n};\n/**\n * Robust data extraction for comparison.\n * The API returns { applicationReviewInfo: { newData: { ... }, oldData: { ... } } }\n */\nconst extractReviewData = (searchData, flowState) => {\n const rawData = searchData && Object.keys(searchData).length > 0 ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReviewInfo -> newData/oldData\n const reviewWrapper = rawData?.applicationReviewInfo || rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n\n return {\n newData: applicationData?.newData || applicationData,\n oldData: applicationData?.oldData || null,\n };\n};\n\nconst ReviewSection = ({ title, fields, newData, oldData, t, jumpTo, state, hideEditButton }) => {\n return (\n <div\n className=\"review-section-wrapper\"\n style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}\n >\n <div\n style={{\n padding: \"20px 24px\",\n background: \"#F9FAFB\",\n borderBottom: \"1px solid #EAECF0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && !hideEditButton && <ActionButton jumpTo={jumpTo} state={state} />}\n </div>\n\n <div style={{ padding: \"0 24px\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", tableLayout: \"fixed\" }}>\n <thead>\n <tr>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"30%\",\n }}\n >\n {t(\"EKYC_FIELD_NAME\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_EXISTING_INFORMATION\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_PROPOSED_UPDATES\")}\n </th>\n </tr>\n </thead>\n <tbody>\n {fields.map((field, idx) => {\n const valNew = newData?.[field.key];\n const valOld = oldData?.[field.key];\n const normalizeVal = (v) => (v === null || v === undefined || v === \"\" ? \"\" : String(v));\n const isChanged = oldData && valOld !== undefined && normalizeVal(valNew) !== normalizeVal(valOld);\n\n return (\n <tr key={idx} style={{ borderTop: \"1px solid #F2F4F7\" }}>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#344054\", fontWeight: \"500\" }}>{field.preTranslated ? field.label : t(field.label)}</td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#667085\" }}>\n {field.isBool ? boolToYesNo(valOld, t) : checkForNA(valOld)}\n </td>\n <td\n style={{ padding: \"16px 0\", fontSize: \"14px\", color: isChanged ? \"#1B8B32\" : \"#101828\", fontWeight: isChanged ? \"700\" : \"400\" }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {field.isBool ? boolToYesNo(valNew, t) : checkForNA(valNew)}\n {isChanged && (\n <span\n style={{\n background: \"#ECFDF3\",\n color: \"#067647\",\n padding: \"2px 8px\",\n borderRadius: \"12px\",\n fontSize: \"10px\",\n fontWeight: \"600\",\n }}\n >\n {t(\"EKYC_CHANGED\")}\n </span>\n )}\n </div>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nconst Review = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n let { kno, applicationId } = useParams();\n\n const [agree, setAgree] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [showPreview, setShowPreview] = useState(false);\n const [previewUrl, setPreviewUrl] = useState(\"\");\n const [showOptions, setShowOptions] = useState(false);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({ error: false, label: \"\" });\n\n const options = [\n { action: t(\"APPROVE\") },\n { action: t(\"REJECT\") }\n ];\n\n const flowState = location.state || {};\n const { edits = {} } = flowState;\n const activeKno = kno || applicationId;\n\n const { aadhaarData = {}, addressDetails: editedAddress = {}, propertyDetails: editedProperty = {}, meterDetails: editedMeter = {} } = edits;\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const workflowMutation = Digit.Hooks.ekyc.useEkycWorkflow(tenantId);\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const { data: searchData, isLoading: isSearchLoading } = Digit.Hooks.ekyc.useEkycSearchReview({ kno: activeKno, fetchType: \"REVIEW\" }, tenantId, {\n enabled: !!activeKno,\n });\n\n const userRoles = Digit.SessionStorage.get(\"User\")?.info?.roles?.map((ele) => ele.code) || [];\n const isZRO = userRoles.includes(\"EKYC_ZRO\") || userRoles.includes(\"ZRO\");\n // const isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SUPERVISOR\") || userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n const isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n\n // Dynamically resolve the primary EKYC role of the logged-in user\n // const EKYC_ROLE_PRIORITY = [\"EKYC_ZRO\", \"ZRO\", \"EKYC_SUPERVISOR\", \"EKYC_SURVEYOR\", \"EKYC_VENDOR\"];\n // const currentUserRole = EKYC_ROLE_PRIORITY.find((r) => userRoles.includes(r)) || userRoles[0] || \"EMPLOYEE\";\n\n const isStatusView = location.pathname.includes(\"/status/\");\n const hideEditButton = (isSupervisorOrSurveyorOrVendor && !isZRO) || isStatusView;\n\n // ── Data Consolidation (kept for approve/reject submit payloads) ──────────\n const { newData: apiNewData, oldData: apiOldData } = extractReviewData(searchData, flowState);\n\n // Flatten all sub-objects so headerMapping flat keys (kno, mobileNo, meterNumber etc.) are accessible\n const flatNewData = apiNewData ? {\n ...(apiNewData || {}),\n ...(apiNewData?.connectionDetails || {}),\n ...(apiNewData?.addressDetails || {}),\n ...(apiNewData?.propertyInfo || {}),\n ...(apiNewData?.meterDetails || {}),\n } : null;\n const flatOldData = apiOldData ? {\n ...(apiOldData || {}),\n ...(apiOldData?.connectionDetails || {}),\n ...(apiOldData?.addressDetails || {}),\n ...(apiOldData?.propertyInfo || {}),\n ...(apiOldData?.meterDetails || {}),\n } : null;\n\n const prepareConsolidatedData = (data) => {\n if (!data) return null;\n const apiConn = data?.connectionDetails || data || {};\n const apiAddr = data?.addressDetails || data || {};\n const apiProp = data?.propertyInfo || data || {};\n const apiMeter = data?.meterDetails || data || {};\n\n return {\n connection: {\n consumerName:\n apiConn?.consumerName || (apiConn?.firstName ? [apiConn.firstName, apiConn.middleName, apiConn.lastName].filter(Boolean).join(\" \") : null),\n address: apiConn?.address || apiConn?.addressRaw,\n connectionType: apiConn?.connectionType || apiConn?.connectionCategory,\n meterNumber: apiConn?.meterNumber || apiConn?.meterNo,\n phoneNumber: apiConn?.phoneNumber || apiConn?.mobileNo || apiConn?.mobileNumber,\n email: apiConn?.email,\n statusflag: apiConn?.statusflag || apiConn?.statusFlag,\n ekycStatus: apiConn?.ekycStatus,\n knumber: apiConn?.knumber || apiConn?.kno,\n },\n address: {\n fullAddress: apiAddr?.fullAddress || apiAddr?.addressRaw,\n flatHouseNumber: apiAddr?.flatHouseNumber || apiAddr?.flatNo,\n buildingTower: apiAddr?.buildingTower || apiAddr?.building,\n landmark: apiAddr?.landmark,\n pinCode: apiAddr?.pinCode || apiAddr?.pincode,\n ward: apiAddr?.ward || apiAddr?.locality,\n assembly: apiAddr?.assembly,\n gpsValid: apiAddr?.gpsValid,\n latitude: apiAddr?.latitude,\n longitude: apiAddr?.longitude,\n mobileNo: apiAddr?.mobileNo || apiAddr?.mobileNumber,\n whatsappNo: apiAddr?.whatsappNo,\n email: apiAddr?.email,\n noOfPerson: apiAddr?.noOfPerson || apiAddr?.noOfPersons,\n knumber: apiAddr?.knumber || apiAddr?.kno,\n doorPhotoFilestoreId: apiAddr?.doorPhotoFileStoreId || apiAddr?.doorPhotoFilestoreId,\n },\n property: {\n kno: apiProp?.kno,\n pidNumber: apiProp?.pidNumber,\n typeOfConnection: apiProp?.typeOfConnection,\n connectionCategory: apiProp?.connectionCategory,\n userType: apiProp?.userType,\n numberOfFloors: apiProp?.numberOfFloors || apiProp?.noOfFloor,\n tenantName: apiProp?.tenantName,\n tenantMobile: apiProp?.tenantMobile,\n ekycStatus: apiProp?.ekycStatus,\n propertyDocumentFileStoreId: apiProp?.propertyDocumentFileStoreId,\n buildingImageFileStoreId: apiProp?.buildingImageFileStoreId || apiProp?.buildingImageFilestoreId,\n },\n meter: {\n kno: apiMeter?.kno,\n metered: apiMeter?.meterStatus === \"METERED\" || apiMeter?.metered,\n meterNumber: apiMeter?.meterNumber || apiMeter?.meterNo,\n meterMake: apiMeter?.meterMake,\n meterLocationAddress: apiMeter?.meterLocationAddress,\n meterLatitude: apiMeter?.meterLatitude,\n meterLongitude: apiMeter?.meterLongitude,\n workingStatus: apiMeter?.workingStatus,\n lastBillRaised: apiMeter?.lastBillRaised,\n systemMeterId: apiMeter?.systemMeterId,\n meterPhotoFileStoreId: apiMeter?.meterPhotoFileStoreId || apiMeter?.meterPhotoFilestoreId,\n },\n };\n };\n\n const newDataRaw = prepareConsolidatedData(apiNewData);\n const oldDataRaw = prepareConsolidatedData(apiOldData);\n\n\n // Apply edits to newData if present\n const connectionData = {\n ...newDataRaw?.connection,\n consumerName: aadhaarData?.name || newDataRaw?.connection?.consumerName,\n phoneNumber: aadhaarData?.mobileNumber || newDataRaw?.connection?.phoneNumber,\n knumber: newDataRaw?.connection?.knumber || activeKno,\n };\n\n const addressData = {\n ...newDataRaw?.address,\n fullAddress: editedAddress?.fullAddress || newDataRaw?.address?.fullAddress,\n flatHouseNumber: editedAddress?.flatHouseNumber || editedAddress?.flatNo || newDataRaw?.address?.flatHouseNumber,\n buildingTower: editedAddress?.buildingTower || editedAddress?.building || newDataRaw?.address?.buildingTower,\n landmark: editedAddress?.landmark || newDataRaw?.address?.landmark,\n pinCode: editedAddress?.pinCode || editedAddress?.pincode || newDataRaw?.address?.pinCode,\n ward: editedAddress?.ward || newDataRaw?.address?.ward,\n assembly: editedAddress?.assembly || newDataRaw?.address?.assembly,\n gpsValid: editedAddress?.gpsValid !== undefined ? editedAddress.gpsValid : newDataRaw?.address?.gpsValid,\n latitude: editedAddress?.latitude || newDataRaw?.address?.latitude,\n longitude: editedAddress?.longitude || newDataRaw?.address?.longitude,\n mobileNo: editedAddress?.mobileNo || aadhaarData?.mobileNumber || newDataRaw?.address?.mobileNo,\n whatsappNo: editedAddress?.whatsappNo || aadhaarData?.whatsappNumber || newDataRaw?.address?.whatsappNo,\n email: editedAddress?.email || newDataRaw?.address?.email,\n noOfPerson: editedAddress?.noOfPerson || aadhaarData?.noOfPersons || newDataRaw?.address?.noOfPerson,\n knumber: editedAddress?.knumber || newDataRaw?.address?.knumber || activeKno,\n doorPhotoFilestoreId: editedAddress?.doorPhotoFilestoreId || newDataRaw?.address?.doorPhotoFilestoreId,\n };\n\n\n const propertyData = {\n ...newDataRaw?.property,\n kno: newDataRaw?.property?.kno || activeKno,\n pidNumber: editedProperty?.pidNumber || newDataRaw?.property?.pidNumber,\n typeOfConnection: editedProperty?.connectionTypeData?.label || newDataRaw?.property?.typeOfConnection,\n connectionCategory: editedProperty?.connectionCategoryData?.label || newDataRaw?.property?.connectionCategory,\n userType: editedProperty?.userTypeData?.label || newDataRaw?.property?.userType,\n numberOfFloors: editedProperty?.noOfFloorsData?.label || newDataRaw?.property?.numberOfFloors,\n propertyDocumentFileStoreId: editedProperty?.propertyDocumentFileStoreId || newDataRaw?.property?.propertyDocumentFileStoreId,\n };\n\n const meterData = {\n ...newDataRaw?.meter,\n kno: editedMeter?.kno || newDataRaw?.meter?.kno || activeKno,\n metered: editedMeter?.meterStatusData?.value === \"Metered\" || newDataRaw?.meter?.metered,\n meterNumber: newDataRaw?.meter?.meterNumber,\n meterMake: editedMeter?.meterMake || newDataRaw?.meter?.meterMake,\n meterLocationAddress: editedMeter?.meterLocation || newDataRaw?.meter?.meterLocationAddress,\n workingStatus: editedMeter?.workingStatusData?.value === \"Working\" || newDataRaw?.meter?.workingStatus,\n lastBillRaised: editedMeter?.lastBillRaisedData?.value === \"Yes\" || newDataRaw?.meter?.lastBillRaised,\n meterPhotoFileStoreId: editedMeter?.meterPhotoFileStoreId || newDataRaw?.meter?.meterPhotoFileStoreId,\n };\n\n // ── All-fields mapping (headerMapping keys match flat API response keys) ──\n const headerMapping = [\n { key: \"kno\", label: \"KNO\" },\n { key: \"firstName\", label: \"FIRST_NAME\" },\n { key: \"middleName\", label: \"MIDDLE_NAME\" },\n { key: \"lastName\", label: \"LAST_NAME\" },\n { key: \"status\", label: \"STATUS\" },\n { key: \"ekycStatus\", label: \"EKYC_STATUS\" },\n { key: \"zoneName\", label: \"ZONE\" },\n { key: \"zoneCode\", label: \"ZONE_CODE\" },\n { key: \"assembly\", label: \"EKYC_ASSEMBLY\" },\n { key: \"ward\", label: \"WARD\" },\n { key: \"pincode\", label: \"EKYC_PINCODE\" },\n { key: \"addressRaw\", label: \"ADDRESS_RAW\" },\n { key: \"locality\", label: \"EKYC_LOCALITY\" },\n { key: \"subLocality\", label: \"SUB_LOCALITY\" },\n { key: \"flatHouseNumber\", label: \"FLAT_HOUSE_NUMBER\" },\n { key: \"streetName\", label: \"STREET_NAME\" },\n { key: \"landmark\", label: \"EKYC_LANDMARK\" },\n { key: \"city\", label: \"CITY\" },\n { key: \"state\", label: \"STATE\" },\n { key: \"addressType\", label: \"ADDRESS_TYPE\" },\n { key: \"addressProofType\", label: \"ADDRESS_PROOF_TYPE\" },\n { key: \"mobileNo\", label: \"MOBILE_NUMBER\" },\n { key: \"alternateMobileNo\", label: \"ALTERNATE_MOBILE_NUMBER\" },\n { key: \"whatsappNo\", label: \"WHATSAPP_NO\" },\n { key: \"email\", label: \"EMAIL\" },\n { key: \"landlineNo\", label: \"LANDLINE_NO\" },\n { key: \"mrkey\", label: \"MR_KEY\" },\n { key: \"mrcode\", label: \"MR_CODE\" },\n { key: \"areacode\", label: \"AREA_CODE\" },\n { key: \"source\", label: \"SOURCE\" },\n { key: \"submittedAt\", label: \"SUBMITTED_AT\" },\n { key: \"assignedAt\", label: \"ASSIGNED_AT\" },\n { key: \"connectionType\", label: \"CONNECTION_TYPE\" },\n { key: \"Type\", label: \"CONSUMER_TYPE\" },\n { key: \"occupantType\", label: \"OCCUPANT_TYPE\" },\n { key: \"knoCategory\", label: \"KNO_CATEGORY\" },\n { key: \"approvedAt\", label: \"APPROVED_AT\" },\n { key: \"gender\", label: \"GENDER\" },\n { key: \"parentSpouse\", label: \"PARENT_SPOUSE\" },\n { key: \"fatherOrHusbandName\", label: \"FATHER_HUSBUND_NAME\" },\n { key: \"relationship\", label: \"RELATIONSHIP\" },\n { key: \"informantName\", label: \"INFORMANT_NAME\" },\n { key: \"informantRelation\", label: \"INFORMANT_RELATION\" },\n { key: \"informantIs\", label: \"INFORMANT_IS\" },\n { key: \"contactPerson\", label: \"CONTACT_PERSON\" },\n { key: \"relation\", label: \"RELATION\" },\n { key: \"entityName\", label: \"ENTITY_NAME\" },\n { key: \"designation\", label: \"DESIGNATION\" },\n { key: \"department\", label: \"DEPARTMENT\" },\n { key: \"employeeId\", label: \"EMPLOYEE_ID\" },\n { key: \"ownerMobile\", label: \"OWNER_MOBILE\" },\n { key: \"ownerVerificationDone\", label: \"OWNER_VERIFICATION_DONE\", isBool: true },\n { key: \"consentGiven\", label: \"CONSENT_GIVEN\", isBool: true },\n { key: \"proofOfIdentityType\", label: \"PROOF_OF_IDENTITY_TYPE\" },\n { key: \"documentNumber\", label: \"DOCUMENT_NUMBER\" },\n { key: \"noOfPerson\", label: \"NUMBER_OF_PERSON\" },\n { key: \"latitude\", label: \"LATITUDE\" },\n { key: \"longitude\", label: \"LONGITUDE\" },\n { key: \"gpsValid\", label: \"GPS_VALID\", isBool: true },\n { key: \"meterNumber\", label: \"METER_NUMBER\" },\n { key: \"meterMake\", label: \"METER_MAKE\" },\n { key: \"meterStatus\", label: \"METER_STATUS\" },\n { key: \"meterCondition\", label: \"METER_CONDITION\" },\n { key: \"meterLocation\", label: \"METER_LOCATION\" },\n { key: \"meterLocationAddress\", label: \"METER_LOCATION_ADDRESS\" },\n { key: \"workingStatus\", label: \"WORKING_STATUS\" },\n { key: \"sewerConnection\", label: \"SEWER_CONNECTION\", isBool: true },\n { key: \"septicTank\", label: \"SEPTIC_TANK\", isBool: true },\n { key: \"lastBillRaised\", label: \"LAST_BILL_RAISED\", isBool: true },\n { key: \"lastBillReceivedDate\", label: \"LAST_BILL_RECEIVED_DATE\" },\n { key: \"accessToMeter\", label: \"ACCESS_TO_METER\", isBool: true },\n { key: \"systemMeterId\", label: \"SYSTEM_METER_ID\" },\n { key: \"lastBillNotRaisedReason\", label: \"LAST_BILL_NOT_RAISED_REASON\" },\n { key: \"waterConnectionYears\", label: \"WATER_CONNECTION_YEARS\" },\n { key: \"sewerConnectionYears\", label: \"SEWER_CONNECTION_YEARS\" },\n { key: \"pidNumber\", label: \"PID_NUMBER\" },\n { key: \"propertyType\", label: \"PROPERTY_TYPE\" },\n { key: \"subPropertyCategory\", label: \"SUB_PROPERTY_CATEGORY\" },\n { key: \"noOfFloor\", label: \"NO_OF_FLOOR\" },\n { key: \"noOfRooms\", label: \"NO_OF_ROOMS\" },\n { key: \"noOfBeds\", label: \"NO_OF_BEDS\" },\n { key: \"numberOfDwellingUnits\", label: \"NUMBER_OF_DWELLING_UNITS\" },\n { key: \"floorNo\", label: \"FLOOR_NO\" },\n { key: \"userType\", label: \"USER_TYPE\" },\n { key: \"tenantName\", label: \"TENANT_NAME\" },\n { key: \"tenantMobile\", label: \"TENANT_MOBILE\" },\n { key: \"verificationStatus\", label: \"VERIFICATION_STATUS\" },\n { key: \"houseBuiltDuration\", label: \"HOUSE_BUILT_DURATION\" },\n { key: \"surveyorId\", label: \"SURVEYOR_ID\" },\n { key: \"supervisorId\", label: \"SUPERVISOR_ID\" },\n { key: \"vendorId\", label: \"VENDOR_ID\" },\n { key: \"assignmentType\", label: \"ASSIGNMENT_TYPE\" },\n { key: \"assignmentValue\", label: \"ASSIGNMENT_VALUE\" },\n { key: \"assignedTime\", label: \"ASSIGNED_TIME\" },\n { key: \"isSelfAssigned\", label: \"IS_SELF_ASSIGNED\", isBool: true },\n { key: \"modifiedBy\", label: \"MODIFIED_BY\" },\n { key: \"emailId\", label: \"EMAIL_ID\" },\n { key: \"dob\", label: \"DOB\" },\n { key: \"consumerType\", label: \"CONSUMER_TYPE\" },\n { key: \"createdTime\", label: \"CREATED_TIME\" },\n { key: \"lastModifiedTime\", label: \"LAST_MODIFIED_TIME\" },\n { key: \"meterLatitude\", label: \"EKYC_METER_LATITUDE1\" },\n { key: \"meterLongitude\", label: \"EKYC_METER_LONGITUDE1\" },\n ];\n\n const handleDeclaration = () => setAgree(!agree);\n\n const loggedInUserInfo = Digit.UserService.getUser()?.info;\n\n const { data: userData } = Digit.Hooks.useUserSearch(\n tenantId,\n { uuid: [loggedInUserInfo?.uuid] },\n {},\n { enabled: !!loggedInUserInfo?.uuid }\n );\n const supervisorData = userData?.user || [];\n\n const matchedSupervisor = supervisorData?.find(\n (s) => s?.uuid === loggedInUserInfo?.uuid || s?.userName === loggedInUserInfo?.userName\n );\n const supervisorId = matchedSupervisor?.uuid || loggedInUserInfo?.uuid;\n\n const handleReject = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"REJECTED\",\n remarks: \"Application rejected by reviewer\",\n reviewedBy: supervisorId,\n // role: currentUserRole,\n role: \"ZRO\"\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: true,\n label: t(\"EKYC_APPLICATION_REJECT_SUCCESSFUL\") || \"Application Rejected Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Reject Error:\", err);\n const errMsg =\n err?.message ||\n err?.response?.data?.message ||\n err?.response?.data?.Errors?.[0]?.message ||\n err?.Errors?.[0]?.message ||\n t(\"EKYC_REJECT_ERROR\") || \"Reject failed. Please try again.\";\n setToastData({ error: true, label: errMsg });\n setShowToast(true);\n }\n };\n\n const handleApprove = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"APPROVED\",\n remarks: \"All documents verified\",\n reviewedBy: supervisorId,\n // role: currentUserRole,\n role: \"ZRO\"\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: false,\n label: t(\"EKYC_APPLICATION_APPROVE_SUCCESSFUL\") || \"Application Approved Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Approve Error:\", err);\n const errMsg =\n err?.response?.data?.Errors?.[0]?.message ||\n err?.Errors?.[0]?.message ||\n err?.message ||\n t(\"EKYC_APPROVE_ERROR\") || \"Approve failed. Please try again.\";\n setToastData({ error: true, label: errMsg });\n setShowToast(true);\n }\n };\n\n const handleFinalSubmit = async () => {\n setIsSubmitting(true);\n try {\n const payload = {\n kno: activeKno,\n tenantId: tenantId,\n newData: {\n connectionDetails: connectionData,\n addressDetails: addressData,\n propertyInfo: propertyData,\n meterDetails: meterData,\n },\n };\n\n const result = await updateMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Submit Error:\", err);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleViewDocument = async (fileStoreId) => {\n if (!fileStoreId) return;\n try {\n const response = await Digit.UploadServices.FileFetchbyid(fileStoreId, tenantId);\n if (response?.data) {\n const blobUrl = URL.createObjectURL(response.data);\n setPreviewUrl(blobUrl);\n setShowPreview(true);\n }\n } catch (error) {\n console.error(\"Error fetching document:\", error);\n }\n };\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n if (option.action === t(\"APPROVE\")) {\n handleApprove();\n } else if (option.action === t(\"REJECT\")) {\n handleReject();\n }\n };\n\n if (isSearchLoading || isSubmitting) return <Loader />;\n\n\n return (\n <Fragment>\n <Card className=\"overflow-y-scroll\">\n {/* ── All Details (from headerMapping) ──────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_ALL_DETAILS\") || \"All Details\"}\n fields={headerMapping}\n newData={flatNewData}\n oldData={flatOldData}\n t={t}\n hideEditButton={true}\n />\n\n {/* ── 5. Documents ────────────────────────────────────────────── */}\n <div style={{ marginTop: \"40px\" }}>\n <CardSubHeader style={{ marginBottom: \"20px\" }}>{t(\"EKYC_DOCUMENTS\")}</CardSubHeader>\n <StatusTable style={{ maxWidth: \"600px\" }}>\n <Row\n label={t(\"EKYC_DOOR_PHOTO\")}\n text={addressData.doorPhotoFilestoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n addressData.doorPhotoFilestoreId && (\n <div onClick={() => handleViewDocument(addressData.doorPhotoFilestoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n meterData.meterPhotoFileStoreId && (\n <div onClick={() => handleViewDocument(meterData.meterPhotoFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.buildingImageFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.buildingImageFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.propertyDocumentFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.propertyDocumentFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n </StatusTable>\n </div>\n\n {!hideEditButton && (\n <div style={{ marginTop: \"40px\", paddingTop: \"30px\", borderTop: \"1px solid #EAECF0\" }}>\n <CheckBox\n id=\"agreeDeclaration\"\n name=\"agreeDeclaration\"\n label={<span style={{ fontSize: \"16px\", color: \"#344054\" }}>{t(\"EKYC_FINAL_DECLARATION\")}</span>}\n onChange={handleDeclaration}\n checked={agree}\n />\n </div>\n )}\n\n {/* <ActionBar>\n <SubmitBar label={t(\"EKYC_REJECT\")} onSubmit={handleReject} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_APPROVE\")} onSubmit={handleApprove} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_SUBMIT_APPLICATION\")} onSubmit={handleFinalSubmit} disabled={!agree} />\n </ActionBar> */}\n {!hideEditButton && (\n <ActionBar>\n <SubmitBar\n label={t(\"TAKE_ACTION_FOR_APPROVE_REJECT\")}\n onSubmit={() => setShowOptions((prev) => !prev)}\n disabled={!agree}\n />\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n </Card>\n\n {/* ── Document Preview Modal ────────────────────────────────────── */}\n {showPreview && (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0,0,0,0.7)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 10000,\n }}\n >\n <div\n style={{\n position: \"relative\",\n backgroundColor: \"#fff\",\n padding: \"30px\",\n borderRadius: \"12px\",\n maxWidth: \"600px\",\n width: \"100%\",\n maxHeight: \"70vh\",\n overflow: \"auto\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n }}\n >\n <div\n onClick={() => setShowPreview(false)}\n style={{\n position: \"absolute\",\n top: \"10px\",\n right: \"10px\",\n cursor: \"pointer\",\n fontWeight: \"bold\",\n fontSize: \"20px\",\n color: \"#333\",\n background: \"#eee\",\n width: \"30px\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: \"50%\",\n }}\n >\n ×\n </div>\n <img\n src={previewUrl}\n alt=\"Document Preview\"\n style={{ maxWidth: \"100%\", height: \"auto\", display: \"block\" }}\n onError={(e) => {\n e.target.style.display = \"none\";\n e.target.nextSibling.style.display = \"block\";\n }}\n />\n <div style={{ display: \"none\", padding: \"40px\", textAlign: \"center\" }}>\n <p>{t(\"EKYC_DOCUMENT_PREVIEW_NOT_AVAILABLE\")}</p>\n <LinkButton label={t(\"EKYC_OPEN_IN_NEW_TAB\")} onClick={() => window.open(previewUrl, \"_blank\")} />\n </div>\n </div>\n </div>\n )}\n {showToast && (\n <Toast\n error={toastData.error}\n label={toastData.label}\n onClose={() => setShowToast(false)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default Review;\n\n\n","import React from \"react\";\nimport { UploadFile, CheckBox, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst AadhaarVerificationConfig = (t, formData = {}, uploadFile, setDocumentId, documentId) => {\n const consumerType = formData?.consumerType?.name || formData?.consumerType;\n const occupantType = formData?.occupantType?.name || formData?.occupantType;\n const informantIsConsumer = formData?.informantIsConsumer ?? true;\n\n const fields = [\n {\n label: t(\"Consumer Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consumerType\",\n populators: {\n name: \"consumerType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Individual\" }, { name: \"Govt\" }, { name: \"Company_Society_Org\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Occupant Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"occupantType\",\n populators: {\n name: \"occupantType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Self\" }, { name: \"Tenanted\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Category Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"categoryType\",\n populators: {\n name: \"categoryType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Bulk\" }, { name: \"Non-Bulk\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"First Name\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"firstName\",\n validation: { required: true },\n },\n },\n {\n label: t(\"Middle Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"middleName\",\n },\n },\n {\n label: t(\"Last Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"lastName\",\n },\n },\n {\n label: t(\"Gender\"),\n isMandatory: false,\n type: \"custom\",\n key: \"gender\",\n populators: {\n name: \"gender\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Male\" }, { name: \"Female\" }, { name: \"Others\" }, { name: \"Not prefer to say\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Parent/Spouse Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"parentSpouseName\",\n },\n },\n {\n label: t(\"Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"mobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n error: t(\"Invalid mobile number\"),\n },\n },\n {\n label: t(\"WhatsApp\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"whatsapp\",\n },\n },\n {\n label: t(\"Email\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"email\",\n validation: {\n pattern: /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9.-]+$/,\n },\n error: t(\"Invalid email address\"),\n },\n },\n {\n label: t(\"No. of Residents\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"residents\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Type of Identity\"),\n isMandatory: true,\n type: \"custom\",\n key: \"identityType\",\n populators: {\n name: \"identityType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Aadhaar Card\" }, { name: \"Driving License\" }, { name: \"Passport\" }, { name: \"Voter ID\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Proof of Identity\"),\n isMandatory: false,\n type: \"custom\",\n key: \"idFile\",\n populators: {\n name: \"idFile\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n },\n {\n label: t(\"Document Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"documentNumber\",\n },\n },\n {\n label: t(\"Informant Is Consumer\"),\n isMandatory: false,\n type: \"custom\",\n key: \"informantIsConsumer\",\n populators: {\n name: \"informantIsConsumer\",\n component: (props) => (\n <CheckBox\n label={t(\"Yes, the informant is the consumer\")}\n checked={props.value ?? true}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n },\n ];\n\n // Informant conditional fields\n if (!informantIsConsumer) {\n fields.push(\n {\n label: t(\"Informant Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantName\",\n },\n },\n {\n label: t(\"Informant Relation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantRelation\",\n },\n }\n );\n }\n\n // Tenant conditional fields\n if (occupantType === \"Tenanted\") {\n fields.push({\n label: t(\"Document Proof\"),\n isMandatory: false,\n type: \"custom\",\n key: \"documentProof\",\n populators: {\n name: \"documentProof\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n });\n\n if (!documentId) {\n fields.push(\n {\n label: t(\"Owner Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"ownerMobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n },\n },\n {\n label: t(\"Tenant Verification\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"tenantVerification\",\n },\n }\n );\n }\n }\n\n // Govt conditional fields\n if (consumerType === \"Govt\") {\n fields.push(\n {\n label: t(\"Designation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"designation\",\n },\n },\n {\n label: t(\"Department\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"department\",\n },\n },\n {\n label: t(\"Employee ID\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"employeeId\",\n },\n }\n );\n }\n\n // Company / Society / Org conditional fields\n if (consumerType === \"Company_Society_Org\") {\n fields.push(\n {\n label: t(\"Entity Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"entityName\",\n },\n },\n {\n label: t(\"Contact Person\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"contactPerson\",\n },\n }\n );\n }\n\n // Consent checkbox field\n fields.push({\n label: t(\"Consent\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consent\",\n populators: {\n name: \"consent\",\n validation: { required: true },\n component: (props) => (\n <CheckBox\n label={t(\"I hereby consent to verify my Aadhaar details.\")}\n checked={props.value ?? false}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n });\n\n return [\n {\n head: t(\"EKYC_CONSUMER_CONNECTION\"),\n body: fields,\n },\n ];\n};\n\nexport default AadhaarVerificationConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport AadhaarVerificationConfig from \"../config/AadhaarVerificationConfig\";\n\nconst AadhaarVerification = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\") ||\n \"\";\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"CONNECTION\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.aadhaarVerification || {};\n\n // 🔹 STATES\n const [documentId, setDocumentId] = useState(savedData.documentId || null);\n const [documentProof, setDocumentProof] = useState(savedData.documentProof || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType ? { name: savedData.consumerType } : null,\n occupantType: savedData.occupantType ? { name: savedData.occupantType } : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || \"\",\n middleName: savedData.middleName || \"\",\n lastName: savedData.lastName || \"\",\n gender: savedData.gender ? { name: savedData.gender } : null,\n parentSpouseName: savedData.parentSpouseName || \"\",\n mobile: savedData.mobile || \"\",\n whatsapp: savedData.whatsapp || \"\",\n email: savedData.email || \"\",\n residents: savedData.residents || \"\",\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || \"\",\n informantRelation: savedData.informantRelation || \"\",\n documentId: savedData.documentId || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const details = rawData?.connectionDetails || rawData || {};\n const addrDetails = rawData?.addressDetails || {};\n\n if (details && Object.keys(details).length > 0 && !isDataLoaded) {\n let fName = \"\";\n let mName = \"\";\n let lName = \"\";\n\n if (details.firstName) {\n fName = details.firstName;\n mName = details.middleName || \"\";\n lName = details.lastName || \"\";\n } else if (details.consumerName) {\n const parts = details.consumerName.trim().split(/\\s+/);\n fName = parts[0] || \"\";\n if (parts.length === 2) lName = parts[1];\n if (parts.length > 2) {\n mName = parts.slice(1, -1).join(\" \");\n lName = parts[parts.length - 1];\n }\n }\n\n const updatedDefaults = {\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType\n ? { name: savedData.consumerType }\n : details.consumerType\n ? { name: details.consumerType }\n : null,\n occupantType: savedData.occupantType\n ? { name: savedData.occupantType }\n : details.occupantType\n ? { name: details.occupantType }\n : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || fName,\n middleName: savedData.middleName || mName,\n lastName: savedData.lastName || lName,\n gender: savedData.gender\n ? { name: savedData.gender }\n : details.gender\n ? { name: details.gender }\n : null,\n parentSpouseName: savedData.parentSpouseName || details.parentSpouse || \"\",\n mobile: savedData.mobile || details.phoneNumber || addrDetails.mobileNo || \"\",\n whatsapp: savedData.whatsapp || addrDetails.whatsappNo || \"\",\n email: savedData.email || details.email || addrDetails.email || \"\",\n residents: savedData.residents || (addrDetails.noOfPerson ? String(addrDetails.noOfPerson) : \"\"),\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || details.informantName || \"\",\n informantRelation: savedData.informantRelation || details.informantRelation || \"\",\n documentId: savedData.documentId || details.documentNumber || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.documentId) {\n setDocumentId(updatedDefaults.documentId);\n }\n if (updatedDefaults.documentProof) {\n setDocumentProof(updatedDefaults.documentProof);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUploadProof = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n if (fileStoreId) {\n onChange(file.name);\n setDocumentProof(file.name);\n setDocumentId(fileStoreId);\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Avoid updating states on every keypress unless they affect conditional visibility\n const consumerTypeChanged =\n (data?.consumerType?.name || data?.consumerType) !==\n (localFormData?.consumerType?.name || localFormData?.consumerType);\n const occupantTypeChanged =\n (data?.occupantType?.name || data?.occupantType) !==\n (localFormData?.occupantType?.name || localFormData?.occupantType);\n const informantIsConsumerChanged = data?.informantIsConsumer !== localFormData?.informantIsConsumer;\n\n if (consumerTypeChanged || occupantTypeChanged || informantIsConsumerChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const knoVal = data?.kno || searchKno;\n const consumerTypeVal = data?.consumerType;\n const occupantTypeVal = data?.occupantType;\n const categoryTypeVal = data?.categoryType;\n const firstNameVal = data?.firstName;\n const mobileVal = data?.mobile;\n const residentsVal = data?.residents;\n const consentVal = data?.consent;\n const docId = data?.documentId || documentId;\n const ownerMobileVal = data?.ownerMobile;\n\n let valid = true;\n if (!knoVal) valid = false;\n if (!consumerTypeVal) valid = false;\n if (!occupantTypeVal) valid = false;\n if (!categoryTypeVal) valid = false;\n if (!firstNameVal) valid = false;\n if (!mobileVal || !/^[6-9]\\d{9}$/.test(mobileVal)) valid = false;\n if (!residentsVal || Number(residentsVal) <= 0) valid = false;\n if (occupantTypeVal?.name === \"Tenanted\" && !docId && !ownerMobileVal) valid = false;\n if (!consentVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n kno: data.kno || searchKno,\n consumerType: data.consumerType?.name || data.consumerType,\n occupantType: data.occupantType?.name || data.occupantType,\n categoryType: data.categoryType?.name || data.categoryType,\n consumerName: data.consumerName || `${data.firstName || \"\"} ${data.middleName || \"\"} ${data.lastName || \"\"}`.trim(),\n firstName: data.firstName,\n middleName: data.middleName,\n lastName: data.lastName,\n gender: data.gender?.name || data.gender,\n parentSpouseName: data.parentSpouseName,\n relation: data.relation || savedData.relation || \"\",\n mobile: data.mobile,\n whatsapp: data.whatsapp,\n email: data.email,\n residents: data.residents,\n documentId: documentId,\n documentProof: documentProof,\n ownerMobile: data.ownerMobile,\n tenantVerification: data.tenantVerification,\n designation: data.designation,\n department: data.department,\n employeeId: data.employeeId,\n landline: data.landline || savedData.landline || \"\",\n entityRelation: data.entityRelation || savedData.entityRelation || \"\",\n contactPerson: data.contactPerson,\n entityName: data.entityName,\n idProof: data.identityType?.name || data.identityType,\n idNumber: data.documentNumber,\n consent: data.consent,\n informantIsConsumer: data.informantIsConsumer ?? true,\n informantName: data.informantName,\n informantRelation: data.informantRelation,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"CONSUMER\",\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Data updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update consumer details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = AadhaarVerificationConfig(t, localFormData, handleUploadProof, setDocumentId, documentId);\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default AadhaarVerification;\n","import AadhaarVerification from \"../components/AadhaarVerification\";\n\nexport const ekycConfig = [\n {\n body: [\n {\n route: \"consumer-details\",\n component: AadhaarVerification,\n key: \"aadhaarVerification\",\n texts: {\n header: \"EKYC_CONSUMER_CONNECTION\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 1,\n actions: \"EKYC_CONSUMER_CONNECTION\",\n },\n ],\n },\n {\n route: \"address-details\",\n component: \"AddressDetails\",\n key: \"addressDetails\",\n doorImage: true,\n showMapActualLocation: false,\n texts: {\n header: \"EKYC_ADDRESS_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 2,\n actions: \"EKYC_ADDRESS_DETAILS\",\n },\n ],\n },\n {\n route: \"property-info\",\n component: \"PropertyInfo\",\n key: \"propertyDetails\",\n texts: {\n header: \"EKYC_PROPERTY_INFO\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 3,\n actions: \"EKYC_PROPERTY_INFO\",\n },\n ],\n },\n {\n route: \"meter-details\",\n component: \"MeterDetails\",\n key: \"meterDetails\",\n texts: {\n header: \"EKYC_METER_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 4,\n actions: \"EKYC_METER_DETAILS\",\n },\n ],\n },\n ],\n },\n];\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n// import { useQueryClient } from \"react-query\";\nimport { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from \"react-router-dom\";\nimport { VerticalTimeline } from \"@djb25/digit-ui-react-components\";\nimport { ekycConfig } from \"../../config/config\";\n\nconst EKYCForm = ({ path: passedPath }) => {\n // const queryClient = useQueryClient();\n const match = useRouteMatch();\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const history = useHistory();\n\n let config = [];\n const [params, setParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n useEffect(() => {\n if (location.state && Object.keys(location.state).length > 0) {\n const { edits, ...rest } = location.state;\n setParams({ ...params, ...rest, ...edits });\n }\n }, [location.state]);\n\n const goNext = (skipStep, index, isAddMultiple, key) => {\n let currentPath = pathname.split(\"/\").pop();\n let routeObj = config.find((routeObj) => (key ? routeObj.key === key : routeObj.route === currentPath));\n if (!routeObj) routeObj = config.find((routeObj) => routeObj.route === currentPath);\n\n let nextStep = null;\n const currentIndex = config.findIndex((c) => c.route === routeObj.route);\n if (currentIndex > -1 && currentIndex < config.length - 1) {\n nextStep = config[currentIndex + 1].route;\n }\n\n let redirectWithHistory = history.push;\n if (skipStep) {\n redirectWithHistory = history.replace;\n }\n\n const base = passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\");\n if (nextStep === null) {\n return redirectWithHistory(`${base}/review`, { ...params, edits: params });\n }\n\n redirectWithHistory(`${base}/${nextStep}`, { ...params });\n };\n\n function handleSelect(key, data, skipStep, index, isAddMultiple = false, silent = false) {\n setParams((prev) => ({ ...prev, [key]: { ...params[key], ...data } }));\n if (!silent) {\n goNext(skipStep, index, isAddMultiple, key);\n }\n }\n\n // const onSuccess = () => {\n // clearParams();\n // queryClient.invalidateQueries(\"EKYC_CREATE\");\n // };\n\n ekycConfig.forEach((obj) => {\n config = config.concat(obj.body);\n });\n\n config.indexRoute = \"consumer-details\";\n\n const formStepRoutes = config.map((c) => c.route);\n const isFormStep = formStepRoutes.some((route) => pathname.includes(route));\n\n const sectionRefs = useRef({});\n\n useEffect(() => {\n if (isFormStep) {\n const currentRoute = pathname.split(\"/\").pop();\n if (sectionRefs.current[currentRoute]) {\n sectionRefs.current[currentRoute].scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }\n }\n }, [pathname, isFormStep]);\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={config} showFinalStep={true} />\n <div className=\"employee-form-section\">\n <Switch>\n <Route path={formStepRoutes.map((route) => `${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${route}`)}>\n <div className=\"single-page-form-container\">\n {config.map((routeObj, index) => {\n const { component } = routeObj;\n const Component = typeof component === \"string\" ? Digit.ComponentRegistryService.getComponent(component) : component;\n\n return (\n <div key={index} ref={(el) => (sectionRefs.current[routeObj.route] = el)} className=\"form-section-unit\">\n <Component\n config={{ ...routeObj, isCollapsible: true, defaultOpen: true }}\n onSelect={handleSelect}\n t={t}\n formData={params}\n // formData={{ ...params, address: params.addressDetails }}\n />\n </div>\n );\n })}\n </div>\n </Route>\n <Route>\n <Redirect to={`${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${config.indexRoute}`} />\n </Route>\n </Switch>\n </div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default EKYCForm;\n","import React, { useMemo } from \"react\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport Dashboard from \"./Dashboard\";\n\nconst AdminDashboard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n const allVendorIds = useMemo(() => {\n if (!vendorSearchResponse) return [];\n return vendorSearchResponse\n .map((v) => {\n const dso = v.dsoDetails || v;\n return dso.id || dso.vendorId || v.id || v.vendorId;\n })\n .filter(Boolean);\n }, [vendorSearchResponse]);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n {\n tenantId,\n allVendorsDetailed: true,\n },\n {\n enabled: !!tenantId && allVendorIds.length > 0,\n keepPreviousData: true,\n }\n );\n\n return (\n <Card className=\"surveyor-dashboard\">\n <Dashboard />\n <div className=\"admin-performance-section\">\n <h3 className=\"section-title\">{t(\"EKYC_VENDORS_PERFORMANCE\") || \"eKYC Vendors Performance\"}</h3>\n\n {isVendorSearchLoading || isProgressLoading ? (\n <Loader />\n ) : (\n <div className=\"vendors-grid\">\n {/* Self eKYC */}\n {/* Commented by Avinash This part will be uncommented when this part will be developed from backend in future */}\n {/* <div className=\"vendor-perf-card self-ekyc-card\" onClick={() => history.push(`/digit-ui/employee/ekyc/self`)}>\n <div className=\"card-header\">\n <div className=\"vendor-info\">\n <h4>{t(\"SELF_EKYC\") || \"Self eKYC\"}</h4>\n <p>{t(\"SELF_EKYC_BY_USERS\") || \"eKYC completed directly by users\"}</p>\n </div>\n\n <span className=\"kno-count-badge\">{11111 || 0}%</span>\n </div>\n\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${11111 || 0}%` }} />\n </div>\n\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <div className=\"value completed-val\">{11111 || 0}</div>\n <div className=\"label\">{t(\"COMPLETED\") || \"Completed\"}</div>\n </div>\n\n <div className=\"stat-item\">\n <div className=\"value\">{11111 || 0}</div>\n <div className=\"label\">{t(\"PENDING\") || \"Pending\"}</div>\n </div>\n\n <div className=\"stat-item\">\n <div className=\"value\">{11111 || 0}</div>\n <div className=\"label\">{t(\"TOTAL\") || \"Total\"}</div>\n </div>\n </div>\n\n <div className=\"card-footer\">\n <span>{t(\"SELF_EKYC\") || \"Self eKYC\"}</span>\n\n <span>{t(\"USERS\") || \"Users\"}</span>\n </div>\n </div> */}\n\n {/* Vendors */}\n {Array.isArray(progressData?.vendorReports) &&\n progressData?.vendorReports.length &&\n progressData?.vendorReports.map((vendor) => (\n <div\n key={vendor.vendorId}\n className=\"vendor-perf-card\"\n onClick={() => history.push(`/digit-ui/employee/ekyc/vendors/${vendor.vendorId}`)}\n >\n {/* Header */}\n <div className=\"vendor-card-header\">\n <div className=\"vendor-title\">\n <div className=\"vendor-icon\">\n <span>{vendor.vendorName?.[0]?.toUpperCase()}</span>\n </div>\n\n <div>\n <h4>{vendor.vendorName}</h4>\n <span className=\"vendor-subtitle\">{t(\"EKYC_VENDOR\") || \"eKYC Vendor\"}</span>\n </div>\n </div>\n\n <div className=\"kno-count-badge\">\n <span className=\"kno-count-label\">{t(\"TOTAL_KNOS\") || \"Total KNOs\"} -</span>\n <span className=\"kno-count-value\">{vendor.totalKnosInZones}</span>\n </div>\n </div>\n\n {/* Progress */}\n <div className=\"progress-section\">\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${vendor.progressPercent}%` }} />\n </div>\n\n <div className=\"progress-label\">\n <span>{t(\"PROGRESS\") || \"Progress\"}</span>\n <span>{vendor.progressPercent}%</span>\n </div>\n </div>\n\n {/* Team */}\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <span className=\"stat-value\">{vendor.totalSupervisors}</span>\n <span className=\"stat-label\">{t(\"SUPERVISORS\") || \"Supervisors\"}</span>\n </div>\n\n <div className=\"stat-item\">\n <span className=\"stat-value\">{vendor.totalSurveyors}</span>\n <span className=\"stat-label\">{t(\"SURVEYORS\") || \"Surveyors\"}</span>\n </div>\n\n <div className=\"stat-item\">\n <span className=\"stat-value\">{vendor.totalKnos}</span>\n <span className=\"stat-label\">{t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total KNOs\"}</span>\n </div>\n </div>\n\n {/* Status */}\n <div className=\"knos-summary\">\n <div className=\"kno-stat\">\n <span className=\"kno-label\">{t(\"SUBMITTED\") || \"Submitted\"}</span>\n <strong>{vendor.submittedKnosInZones}</strong>\n </div>\n\n <div className=\"kno-stat pending\">\n <span className=\"kno-label\">{t(\"PENDING\") || \"Pending\"}</span>\n <strong>{vendor.pendingKnosInZones}</strong>\n </div>\n\n <div className=\"kno-stat rejected\">\n <span className=\"kno-label\">{t(\"EKYC_SUBMITTED_BY_CITIZEN\") || \"SUBMITTED BY CITIZEN\"}</span>\n <strong>{vendor.selfEkycCountInZones}</strong>\n </div>\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n </Card>\n );\n};\n\nexport default AdminDashboard;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { downloadSupervisorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\n\nconst SupervisorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { id: supervisorId } = useParams();\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n // Fetch all supervisors to get details if assignment progress fails\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Resolve vendorId of this supervisor if available\n const targetVendorId = useMemo(() => {\n const targetId = supervisorId || loggedInUser?.uuid;\n if (!targetId || !supervisorSearchResponse?.supervisors) return null;\n const matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n return matchedSup?.vendorId || null;\n }, [supervisorId, loggedInUser, supervisorSearchResponse]);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n targetVendorId ? { vendorId: targetVendorId, vendorIds: [targetVendorId] } : {},\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n // Fetch all surveyors to get details of connected surveyors if assignment progress fails\n const { data: surveyorSearchResponse, isLoading: isSurveyorSearchLoading } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n const supervisor = useMemo(() => {\n const targetOwnerOrId = supervisorId || loggedInUser?.uuid;\n if (!targetOwnerOrId) return null;\n\n // Step 0: resolve real supervisor entity id (handles self-login case\n // where we only have the owner/auth uuid, not the supervisor record id)\n let resolvedSupervisorId = supervisorId; // if URL already has entity id, trust it\n if (!resolvedSupervisorId && supervisorSearchResponse?.supervisors && targetOwnerOrId) {\n const selfSup = supervisorSearchResponse.supervisors.find(\n (s) => s.owner?.uuid?.toLowerCase() === targetOwnerOrId?.toLowerCase() || s.id?.toLowerCase() === targetOwnerOrId?.toLowerCase()\n );\n resolvedSupervisorId = selfSup?.id;\n }\n\n const targetId = resolvedSupervisorId || targetOwnerOrId;\n\n // 1. Find the supervisor profile from search response\n let matchedSup = null;\n if (supervisorSearchResponse?.supervisors) {\n matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n // 2. Find progress report for this supervisor from progressData\n let progressReport = null;\n if (progressData?.supervisorReport && targetId) {\n progressReport = progressData.supervisorReport.find(\n (s) => s.supervisorId?.toLowerCase() === targetId?.toLowerCase() || s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n // 3. If we found the supervisor in search response, enrich and return\n if (matchedSup) {\n const matchedSurveyors = surveyorSearchResponse?.surveyors\n ? surveyorSearchResponse.surveyors\n .filter((surv) => surv.supervisorId === (matchedSup.id || matchedSup.owner?.uuid))\n .map((surv) => {\n let realStats = null;\n if (progressData?.supervisorReport) {\n for (const report of progressData.supervisorReport) {\n if (\n report.supervisorId?.toLowerCase() !== matchedSup.id?.toLowerCase() &&\n report.id?.toLowerCase() !== matchedSup.id?.toLowerCase()\n )\n continue;\n const matchedSurv = report.surveyors?.find(\n (s) =>\n (s.surveyorId &&\n (s.surveyorId?.toLowerCase() === surv.id?.toLowerCase() ||\n s.surveyorId?.toLowerCase() === surv.owner?.uuid?.toLowerCase())) ||\n (s.id && (s.id?.toLowerCase() === surv.id?.toLowerCase() || s.id?.toLowerCase() === surv.owner?.uuid?.toLowerCase()))\n );\n if (matchedSurv) {\n realStats = matchedSurv;\n break;\n }\n }\n }\n\n return {\n surveyorId: surv.id || surv.owner?.uuid,\n surveyorName: surv.name || surv.owner?.name || \"N/A\",\n mobileNo: surv.owner?.mobileNumber || surv.mobileNo || \"N/A\",\n email: surv.owner?.emailId || \"N/A\",\n gender: surv.owner?.gender || \"N/A\",\n status: surv.status || \"ACTIVE\",\n totalKnos: realStats?.totalKnos || 0,\n submittedKnos: realStats?.submittedKnos || 0,\n pendingKnos: realStats?.pendingKnos || 0,\n progressPercent: realStats?.progressPercent || 0,\n };\n })\n : [];\n\n const totalKnos = progressReport?.totalKnos || matchedSurveyors.reduce((acc, s) => acc + (s.totalKnos || 0), 0);\n const submittedKnos = progressReport?.submittedKnos || matchedSurveyors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0);\n const pendingKnos = progressReport?.pendingKnos || matchedSurveyors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0);\n const progressPercent = progressReport ? progressReport.progressPercent : totalKnos > 0 ? Math.round((submittedKnos / totalKnos) * 100) : 0;\n\n return {\n supervisorId: matchedSup.id || matchedSup.owner?.uuid,\n supervisorName: matchedSup.name || matchedSup.owner?.name || \"N/A\",\n mobileNo: matchedSup.owner?.mobileNumber || matchedSup.mobileNo || \"N/A\",\n email: matchedSup.owner?.emailId || matchedSup.owner?.email || matchedSup.email || matchedSup.emailId || \"N/A\",\n gender: matchedSup.owner?.gender || matchedSup.gender || \"N/A\",\n status: matchedSup.status || \"ACTIVE\",\n assignedZoneId: matchedSup.assignedZoneId || \"N/A\",\n vendorId: matchedSup.vendorId,\n surveyors: matchedSurveyors,\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }\n\n // 4. Fallback: If not found in search response, but we have progressData report, return it and enrich with loggedInUser details\n if (progressReport) {\n const isSelf = targetId?.toLowerCase() === loggedInUser?.uuid?.toLowerCase();\n const supervisorName = isSelf ? loggedInUser?.name || progressReport.supervisorName || \"N/A\" : progressReport.supervisorName || \"N/A\";\n const mobileNo = isSelf ? loggedInUser?.mobileNumber || progressReport.mobileNo || \"N/A\" : progressReport.mobileNo || \"N/A\";\n\n const matchedSupForFallback = supervisorSearchResponse?.supervisors?.find(\n (s) =>\n s.id?.toLowerCase() === (progressReport.supervisorId || progressReport.id)?.toLowerCase() ||\n s.owner?.uuid?.toLowerCase() === (progressReport.supervisorId || progressReport.id)?.toLowerCase()\n );\n\n const email =\n matchedSupForFallback?.owner?.emailId ||\n matchedSupForFallback?.owner?.email ||\n matchedSupForFallback?.email ||\n (isSelf ? loggedInUser?.emailId : null) ||\n progressReport.email ||\n \"N/A\";\n const gender =\n matchedSupForFallback?.owner?.gender ||\n matchedSupForFallback?.gender ||\n (isSelf ? loggedInUser?.gender : null) ||\n progressReport.gender ||\n \"N/A\";\n\n const surveyorsMapped = progressReport.surveyors\n ? progressReport.surveyors.map((surv) => {\n const matchedSurv = surveyorSearchResponse?.surveyors?.find(\n (s) => s.id?.toLowerCase() === surv.surveyorId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === surv.surveyorId?.toLowerCase()\n );\n\n return {\n surveyorId: surv.surveyorId || surv.id,\n surveyorName: matchedSurv?.name || matchedSurv?.owner?.name || surv.surveyorName || \"N/A\",\n mobileNo: matchedSurv?.owner?.mobileNumber || matchedSurv?.mobileNo || surv.mobileNo || \"N/A\",\n email: matchedSurv?.owner?.emailId || matchedSurv?.owner?.email || matchedSurv?.email || surv.email || \"N/A\",\n gender: matchedSurv?.owner?.gender || matchedSurv?.gender || surv.gender || \"N/A\",\n status: matchedSurv?.status || surv.status || \"ACTIVE\",\n totalKnos: surv.totalKnos || 0,\n submittedKnos: surv.submittedKnos || 0,\n pendingKnos: surv.pendingKnos || 0,\n progressPercent: surv.progressPercent || 0,\n };\n })\n : [];\n\n return {\n supervisorId: progressReport.supervisorId || progressReport.id,\n supervisorName,\n mobileNo,\n email,\n gender,\n status: progressReport.status || \"ACTIVE\",\n assignedZoneId: progressReport.assignedZoneId || \"N/A\",\n vendorId: progressReport.vendorId,\n surveyors: surveyorsMapped,\n totalKnos: progressReport.totalKnos || 0,\n submittedKnos: progressReport.submittedKnos || 0,\n pendingKnos: progressReport.pendingKnos || 0,\n progressPercent: progressReport.progressPercent || 0,\n };\n }\n\n return null;\n }, [progressData, supervisorSearchResponse, surveyorSearchResponse, supervisorId, loggedInUser]);\n\n const fullName = supervisor?.supervisorName || \"N/A\";\n const mobileNumber = supervisor?.mobileNo || \"N/A\";\n const email = supervisor?.email || (supervisor?.supervisorId === loggedInUser?.uuid ? loggedInUser?.emailId : null) || \"N/A\";\n const gender = supervisor?.gender || (supervisor?.supervisorId === loggedInUser?.uuid ? loggedInUser?.gender : null) || \"N/A\";\n const status = supervisor?.status || \"N/A\";\n const assignedZone = supervisor?.assignedZoneId || \"N/A\";\n\n const vendorName = useMemo(() => {\n if (!vendorSearchResponse || !supervisor) return \"N/A\";\n const targetVendorId = supervisor.vendorId;\n if (!targetVendorId) return \"N/A\";\n const matchedVendor = vendorSearchResponse.find(\n (v) =>\n v.dsoDetails?.id === targetVendorId || v.dsoDetails?.vendorId === targetVendorId || v.id === targetVendorId || v.vendorId === targetVendorId\n );\n return matchedVendor?.dsoDetails?.name || matchedVendor?.name || \"N/A\";\n }, [vendorSearchResponse, supervisor]);\n\n const surveyors = useMemo(() => {\n return supervisor?.surveyors || [];\n }, [supervisor]);\n\n const cards = useMemo(\n () => [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: supervisor?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: supervisor?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: supervisor?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${supervisor?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ],\n [supervisor]\n );\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const paginatedSurveyors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return surveyors.slice(start, end);\n }, [surveyors, currentPage, pageSize]);\n\n const surveyorColumns = useMemo(\n () => [\n {\n Header: t(\"SURVEYOR_NAME\") || \"Surveyor Name\",\n accessor: (row) => row?.surveyorName || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/surveyor-dashboard/${row.original.surveyorId}`;\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.surveyorName || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: () => \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => <span className={`status-badge verified`}>{t(value) || value}</span>,\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || 0}%`,\n id: \"overallProgress\",\n },\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = surveyors.map((s) => ({\n name: s.surveyorName,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`,\n }));\n\n const totalKnos = supervisor?.totalKnos || 0;\n const completedKnos = supervisor?.submittedKnos || 0;\n\n downloadSupervisorPDF({\n rows: rowsWithStats,\n supervisorName: fullName,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate supervisor report:\", err);\n } finally {\n setReportLoading(false);\n }\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(range.from.getTime(), range.to.getTime());\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(from.getTime(), to.getTime());\n };\n\n const handleDownloadEkycData = async (fromDate, toDate) => {\n if (!surveyors || surveyors.length === 0) {\n alert(t(\"NO_SURVEYORS_ASSIGNED\") || \"No surveyors assigned to this supervisor.\");\n return;\n }\n\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n supervisorId: supervisor?.supervisorId || supervisorId,\n reportDownload: true,\n ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\n });\n\n const consumerList = response?.consumerList || [];\n\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\",\n \"source\",\n \"assignedAt\",\n \"connectionType\",\n \"approvedAt\",\n \"alternateMobileNo\",\n \"city\",\n \"state\",\n \"addressType\",\n \"addressProofType\",\n \"mrcode\",\n \"areacode\",\n \"verificationStatus\",\n \"surveyorId\",\n \"supervisorId\",\n \"vendorId\",\n \"assignmentType\",\n \"assignmentValue\",\n \"assignedTime\",\n \"isSelfAssigned\",\n \"userType\",\n \"tenantName\",\n \"tenantMobile\",\n \"doorPhotoFilestoreId\",\n \"panFilestoreId\",\n \"documentProofFilestoreId\",\n \"buildingImageFileStoreId\",\n \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\",\n \"modifiedBy\",\n \"zoneCode\",\n \"propertyType\",\n \"subPropertyCategory\",\n ];\n\n const headerMapping = {\n kno: t(\"KNO\"),\n firstName: t(\"FIRST_NAME\"),\n middleName: t(\"MIDDLE_NAME\"),\n lastName: t(\"LAST_NAME\"),\n status: t(\"STATUS\"),\n ekycStatus: t(\"EKYC_STATUS\"),\n zoneName: t(\"ZONE\"),\n zoneCode: t(\"ZONE_CODE\"),\n assembly: t(\"EKYC_ASSEMBLY\"),\n ward: t(\"WARD\"),\n pincode: t(\"EKYC_PINCODE\"),\n addressRaw: t(\"ADDRESS_RAW\"),\n locality: t(\"EKYC_LOCALITY\"),\n subLocality: t(\"SUB_LOCALITY\"),\n flatHouseNumber: t(\"FLAT_HOUSE_NUMBER\"),\n streetName: t(\"STREET_NAME\"),\n landmark: t(\"EKYC_LANDMARK\"),\n city: t(\"CITY\"),\n state: t(\"STATE\"),\n addressType: t(\"ADDRESS_TYPE\"),\n addressProofType: t(\"ADDRESS_PROOF_TYPE\"),\n mobileNo: t(\"MOBILE_NUMBER\"),\n alternateMobileNo: t(\"ALTERNATE_MOBILE_NUMBER\"),\n whatsappNo: t(\"WHATSAPP_NO\"),\n email: t(\"EMAIL\"),\n landlineNo: t(\"LANDLINE_NO\"),\n mrkey: t(\"MR_KEY\"),\n mrcode: t(\"MR_CODE\"),\n areacode: t(\"AREA_CODE\"),\n source: t(\"SOURCE\"),\n submittedAt: t(\"SUBMITTED_AT\"),\n assignedAt: t(\"ASSIGNED_AT\"),\n connectionType: t(\"CONNECTION_TYPE\"),\n Type: t(\"CONSUMER_TYPE\"),\n occupantType: t(\"OCCUPANT_TYPE\"),\n knoCategory: t(\"KNO_CATEGORY\"),\n approvedAt: t(\"APPROVED_AT\"),\n gender: t(\"GENDER\"),\n parentSpouse: t(\"PARENT_SPOUSE\"),\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\n relationship: t(\"RELATIONSHIP\"),\n informantName: t(\"INFORMANT_NAME\"),\n informantRelation: t(\"INFORMANT_RELATION\"),\n informantIs: t(\"INFORMANT_IS\"),\n contactPerson: t(\"CONTACT_PERSON\"),\n relation: t(\"RELATION\"),\n entityName: t(\"ENTITY_NAME\"),\n designation: t(\"DESIGNATION\"),\n department: t(\"DEPARTMENT\"),\n employeeId: t(\"EMPLOYEE_ID\"),\n ownerMobile: t(\"OWNER_MOBILE\"),\n ownerVerificationDone: t(\"OWNER_VERIFICATION_DONE\"),\n consentGiven: t(\"CONSENT_GIVEN\"),\n proofOfIdentityType: t(\"PROOF_OF_IDENTITY_TYPE\"),\n documentNumber: t(\"DOCUMENT_NUMBER\"),\n noOfPerson: t(\"NUMBER_OF_PERSON\"),\n latitude: t(\"LATITUDE\"),\n longitude: t(\"LONGITUDE\"),\n gpsValid: t(\"GPS_VALID\"),\n meterNumber: t(\"METER_NUMBER\"),\n meterMake: t(\"METER_MAKE\"),\n meterStatus: t(\"METER_STATUS\"),\n meterCondition: t(\"METER_CONDITION\"),\n meterLocation: t(\"METER_LOCATION\"),\n meterLocationAddress: t(\"METER_LOCATION_ADDRESS\"),\n workingStatus: t(\"WORKING_STATUS\"),\n sewerConnection: t(\"SEWER_CONNECTION\"),\n septicTank: t(\"SEPTIC_TANK\"),\n lastBillRaised: t(\"LAST_BILL_RAISED\"),\n lastBillReceivedDate: t(\"LAST_BILL_RECEIVED_DATE\"),\n accessToMeter: t(\"ACCESS_TO_METER\"),\n systemMeterId: t(\"SYSTEM_METER_ID\"),\n lastBillNotRaisedReason: t(\"LAST_BILL_NOT_RAISED_REASON\"),\n waterConnectionYears: t(\"WATER_CONNECTION_YEARS\"),\n sewerConnectionYears: t(\"SEWER_CONNECTION_YEARS\"),\n pidNumber: t(\"PID_NUMBER\"),\n propertyType: t(\"PROPERTY_TYPE\"),\n subPropertyCategory: t(\"SUB_PROPERTY_CATEGORY\"),\n noOfFloor: t(\"NO_OF_FLOOR\"),\n noOfRooms: t(\"NO_OF_ROOMS\"),\n noOfBeds: t(\"NO_OF_BEDS\"),\n numberOfDwellingUnits: t(\"NUMBER_OF_DWELLING_UNITS\"),\n floorNo: t(\"FLOOR_NO\"),\n userType: t(\"USER_TYPE\"),\n tenantName: t(\"TENANT_NAME\"),\n tenantMobile: t(\"TENANT_MOBILE\"),\n verificationStatus: t(\"VERIFICATION_STATUS\"),\n houseBuiltDuration: t(\"HOUSE_BUILT_DURATION\"),\n surveyorId: t(\"SURVEYOR_ID\"),\n supervisorId: t(\"SUPERVISOR_ID\"),\n vendorId: t(\"VENDOR_ID\"),\n assignmentType: t(\"ASSIGNMENT_TYPE\"),\n assignmentValue: t(\"ASSIGNMENT_VALUE\"),\n assignedTime: t(\"ASSIGNED_TIME\"),\n isSelfAssigned: t(\"IS_SELF_ASSIGNED\"),\n doorPhotoFilestoreId: t(\"DOOR_PHOTO_FILESTORE_ID\"),\n panFilestoreId: t(\"PAN_FILESTORE_ID\"),\n documentProofFilestoreId: t(\"DOCUMENT_PROOF_FILESTORE_ID\"),\n buildingImageFileStoreId: t(\"BUILDING_IMAGE_FILESTORE_ID\"),\n propertyDocumentFileStoreId: t(\"PROPERTY_DOCUMENT_FILESTORE_ID\"),\n meterPhotoFileStoreId: t(\"METER_PHOTO_FILESTORE_ID\"),\n modifiedBy: t(\"MODIFIED_BY\"),\n emailId: t(\"EMAIL_ID\"),\n dob: t(\"DOB\"),\n consumerType: t(\"CONSUMER_TYPE\"),\n createdTime: t(\"CREATED_TIME\"),\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\"),\n meterLatitude: t(\"EKYC_METER_LATITUDE1\"),\n meterLongitude: t(\"EKYC_METER_LONGITUDE1\"),\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n let cleanStr = String(str);\n if (cleanStr.includes(\".\") && !cleanStr.includes(\"@\") && isNaN(Number(cleanStr))) {\n cleanStr = cleanStr.split(\".\").pop();\n }\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const skipTitleCase = [\n \"kno\",\n \"mobileNumber\",\n \"emailId\",\n \"email\",\n \"pincode\",\n \"mrkey\",\n \"dob\",\n \"createdTime\",\n \"lastModifiedTime\",\n \"meterLatitude\",\n \"meterLongitude\",\n ];\n const translatedFields = [\"meterMake\", \"meterLocation\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n Object.keys(item).forEach((key) => {\n if (excludedKeys.includes(key)) return;\n\n let val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n if (String(val).toLowerCase() === \"true\") {\n val = t(\"CS_YES\");\n } else if (String(val).toLowerCase() === \"false\") {\n val = t(\"CS_NO\");\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && translatedFields.includes(key)) {\n cleanObj[friendlyHeader] = t(val);\n } else if (typeof val === \"string\" && !skipTitleCase.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_Supervisor_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isSupervisorSearchLoading || isSurveyorSearchLoading || isVendorSearchLoading;\n\n if (isPageLoading && !supervisor) {\n return <Loader />;\n }\n\n if (!supervisor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SUPERVISOR_FOUND\")}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n <div className=\"designation\">{t(\"FIELD_SUPERVISOR\") || \"Field Supervisor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\">\n <button className=\"download-btn\" disabled={reportLoading} onClick={handleDownload}>\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard key={idx} title={t(card.label)} value={card.count} type={card.type} isLoading={isProgressLoading} icon={card.icon} />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Top Row: Mobile, Email, and Download eKYC Data */}\n <div className=\"details-top-row\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"download-card\">\n <div>\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") || \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={() => {\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button className=\"picker-apply-btn\" onClick={handleCustomDownload}>\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Bottom Row: Remaining Details */}\n <div className=\"details-grid-row\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{t(gender) || gender}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONE\") || \"Assigned Zone\"}</span>\n <span className=\"value\">\n {assignedZone && assignedZone !== \"N/A\" ? (\n <div className=\"selected-zones\" style={{ marginTop: \"4px\" }}>\n <span className=\"selected-zone-chip\">{t(assignedZone.trim().toUpperCase()) || assignedZone}</span>\n </div>\n ) : (\n assignedZone\n )}\n </span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n </div>\n </div>\n </div>\n\n <div>\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 </div>\n </Card>\n );\n};\n\nexport default SupervisorDetailsCard;\n","import React, { useMemo, useState, useEffect } from \"react\";\nimport { Modal, Close, Table, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nconst AssignEkycModal = ({ surveyor, isReassign, closeModal, refetchDashboard, tenantId: propsTenantId }) => {\n const { t } = useTranslation();\n const tenantId = propsTenantId || Digit.ULBService.getCurrentTenantId();\n const [selectedKnos, setSelectedKnos] = useState([]);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({\n error: false,\n label: \"\",\n });\n const [filters, setFilters] = useState({\n kno: \"\", // search value\n pincode: \"\",\n zoneCode: \"\",\n zoneName: \"\",\n ward: \"\",\n assembly: \"\",\n mrkey: \"\",\n ekycStatus: \"\",\n });\n\n const [debouncedFilters, setDebouncedFilters] = useState(filters);\n\n // const { data: zroLocationsData, isLoading: isZroLoading } = Digit.Hooks.ws.useWSConfigMDMS.ZROLocation(tenantId);\n // const mappedZROLocation = useMemo(() => {\n // return (zroLocationsData || []).map((item) => ({\n // code: item.code,\n // name: item.name,\n // }));\n // }, [zroLocationsData]);\n\n const { data: egovLocationData } = Digit.Hooks.useCommonMDMS(tenantId, \"egov-location\", [\"TenantBoundary\"]);\n\n const boundaryData = useMemo(() => {\n const tenantBoundary = egovLocationData?.[\"egov-location\"]?.TenantBoundary || [];\n const revenueData = tenantBoundary.find((item) => item?.hierarchyType?.code === \"REVENUE\");\n const boundary = revenueData?.boundary || [];\n return Array.isArray(boundary) ? boundary : [boundary];\n }, [egovLocationData]);\n\n // const { assemblyOptions, wardOptions } = useMemo(() => {\n // const assemblies = new Map();\n // const wards = new Map();\n\n // const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n // const traverse = (node) => {\n // if (!node) return;\n // if (node.label === \"Ward\" || node.label === \"WARD\" || node.label === \"Block\" || node.label === \"BLOCK\") {\n // const code = node.code || node.localname || node.name;\n // const name = node.name || node.localname || code;\n // if (code) wards.set(code, { code, name: name });\n // }\n // if (node.label === \"Assembly Constituency\" || node.label === \"ASSEMBLY_CONSTITUENCY\") {\n // const code = node.code || node.localname || node.name;\n // const name = node.name || node.localname || code;\n // if (code) assemblies.set(code, { code, name: name });\n // }\n // if (node.children && node.children.length > 0) {\n // node.children.forEach(traverse);\n // }\n // };\n\n // boundaries.forEach(traverse);\n\n // return {\n // assemblyOptions: Array.from(assemblies.values()).sort((a, b) => a.name.localeCompare(b.name)),\n // wardOptions: Array.from(wards.values()).sort((a, b) => a.name.localeCompare(b.name)),\n // };\n // }, [boundaryData]);\n\n const structuredLocalityData = useMemo(() => {\n let localities = [];\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const extractLocalities = (node) => {\n if (!node) return;\n\n if (node.label === \"Locality\" || node.label === \"LOCALITY\") {\n localities.push({\n ...node,\n name: node.localname || node.name || node.code,\n });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach((child) => extractLocalities(child));\n }\n };\n\n boundaries.forEach((rootNode) => extractLocalities(rootNode));\n\n return localities;\n }, [boundaryData]);\n\n const fetchedPincodes = useMemo(() => {\n const pinSet = new Set();\n\n structuredLocalityData.forEach((loc) => {\n if (loc.pincode) {\n const pins = Array.isArray(loc.pincode) ? loc.pincode : [loc.pincode];\n pins.forEach((p) => {\n if (p) {\n const sanitizedPin = p.toString().split(\".\")[0];\n pinSet.add(sanitizedPin);\n }\n });\n }\n });\n\n return Array.from(pinSet).sort();\n }, [structuredLocalityData]);\n\n const { data: filterOptionsData } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: !isReassign,\n fetchFilterOptions: true,\n },\n {\n tenantId: tenantId,\n offset: 0,\n limit: 1000,\n },\n {\n staleTime: Infinity,\n }\n );\n\n const pincodeOptions = useMemo(() => {\n if (!filterOptionsData) return fetchedPincodes || [];\n const pins = filterOptionsData.pincodeOptions || [];\n return Array.isArray(pins) ? pins.filter(Boolean).map(String).sort() : [];\n }, [filterOptionsData, fetchedPincodes]);\n\n const mrkeyOptions = useMemo(() => {\n if (!filterOptionsData) return [];\n const keys = filterOptionsData.mrkeyOptions || [];\n return Array.isArray(keys) ? keys.filter(Boolean).map(String).sort() : [];\n }, [filterOptionsData]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedFilters(filters);\n }, 500);\n\n return () => clearTimeout(timer);\n }, [filters]);\n\n useEffect(() => {\n setCurrentPage(0);\n }, [debouncedFilters, filters.kno]);\n\n const { data: applicationData, isFetching: isLoading, refetch: refetchApplicationList } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: !isReassign,\n /*\n ...(debouncedFilters.kno && {\n kno: debouncedFilters.kno,\n }),\n */\n ...(filters.kno && {\n kno: filters.kno,\n }),\n\n ...(debouncedFilters.ekycStatus && {\n ekycStatus: debouncedFilters.ekycStatus,\n }),\n\n ...(debouncedFilters.zoneName && {\n zoneName: debouncedFilters.zoneName,\n }),\n\n ...(debouncedFilters.assembly && {\n assembly: debouncedFilters.assembly,\n }),\n\n ...(debouncedFilters.ward && {\n ward: debouncedFilters.ward,\n }),\n\n ...(debouncedFilters.mrkey && {\n mrkey: debouncedFilters.mrkey,\n }),\n\n ...(debouncedFilters.pincode && {\n pincode: debouncedFilters.pincode,\n }),\n },\n {\n tenantId: tenantId,\n offset: 0,\n limit: 5000,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const handleAssignmentError = (errMsg) => {\n const isAlreadyAssigned =\n errMsg.toLowerCase().includes(\"already assigned\") ||\n errMsg.toLowerCase().includes(\"already assign\") ||\n errMsg.toLowerCase().includes(\"active assignment\") ||\n errMsg.toLowerCase().includes(\"mrkey\") ||\n errMsg.toLowerCase().includes(\"mr key\") ||\n errMsg.toLowerCase().includes(\"kno\") ||\n errMsg.toLowerCase().includes(\"already exists\");\n\n if (isAlreadyAssigned) {\n setToastData({\n error: true,\n label: t(\"EKYC_KNO_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"kno is already assign with another surveyor\",\n });\n } else {\n setToastData({\n error: true,\n label: t(errMsg) || errMsg || t(\"EKYC_SOMETHING_WENT_WRONG\") || \"Something went wrong\",\n });\n }\n setShowToast(true);\n };\n\n const assignmentMutation = Digit.Hooks.ekyc.useEkycAssignmentCreate({\n onSuccess: (response, variables) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n return;\n }\n\n // Check for skipped assignments (e.g. 200 OK but skipped)\n if (response?.skipped && response.skipped.length > 0) {\n const reason = response.skipped[0]?.reason || \"\";\n handleAssignmentError(reason, variables);\n return;\n }\n\n setToastData({\n error: false,\n label: t(\"EKYC_ASSIGNMENT_SUCCESSFUL\") || \"Assignment successful\",\n });\n\n setShowToast(true);\n\n // optional delay so user can see the success toast\n setTimeout(async () => {\n if (refetchDashboard) {\n await refetchDashboard();\n }\n if (refetchApplicationList) {\n await refetchApplicationList();\n }\n closeModal();\n }, 1000);\n },\n\n onError: (error, variables) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n },\n });\n\n const reassignMutation = Digit.Hooks.ekyc.useEkycAssignmentReassign({\n onSuccess: (response, variables) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n return;\n }\n\n if (response?.skipped && response.skipped.length > 0) {\n const reason = response.skipped[0]?.reason || \"\";\n handleAssignmentError(reason, variables);\n return;\n }\n\n setToastData({\n error: false,\n label: t(\"EKYC_REASSIGNMENT_SUCCESSFUL\") || \"Reassignment successful\",\n });\n\n setShowToast(true);\n\n setTimeout(async () => {\n if (refetchDashboard) {\n await refetchDashboard();\n }\n if (refetchApplicationList) {\n await refetchApplicationList();\n }\n closeModal();\n }, 1000);\n },\n onError: (error, variables) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n },\n });\n\n const activeMutation = isReassign ? reassignMutation : assignmentMutation;\n\n const allData = useMemo(() => applicationData?.consumerList || [], [applicationData]);\n const totalRecords = allData.length;\n const totalPages = useMemo(() => Math.ceil(totalRecords / pageSize) || 1, [totalRecords, pageSize]);\n\n const paginatedData = useMemo(() => {\n const start = currentPage * pageSize;\n return allData.slice(start, start + pageSize);\n }, [allData, currentPage, pageSize]);\n\n const handleAssign = () => {\n const payload = {\n tenantId: tenantId,\n assignmentType: \"KNO\",\n assignmentValue: selectedKnos,\n };\n\n if (isReassign) {\n payload.newSurveyorId = surveyor?.owner?.uuid;\n } else {\n payload.surveyorId = surveyor?.owner?.uuid;\n }\n\n activeMutation.mutate(payload);\n };\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n const handleSelectAll = (e) => {\n e?.stopPropagation();\n const allMatchingKnos = allData.map((item) => item.kno).filter(Boolean);\n if (allMatchingKnos.length === 0) return;\n\n const isAllSelected = allMatchingKnos.length > 0 && allMatchingKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos(isAllSelected ? [] : allMatchingKnos);\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n setCurrentPage(0);\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => {\n const allMatchingKnos = allData.map((item) => item.kno).filter(Boolean);\n const isAllChecked = allMatchingKnos.length > 0 && allMatchingKnos.every((kno) => selectedKnos.includes(kno));\n return (\n <input\n type=\"checkbox\"\n checked={isAllChecked}\n onChange={(e) => {\n e.stopPropagation();\n handleSelectAll(e);\n }}\n onClick={(e) => e.stopPropagation()}\n />\n );\n },\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return (\n <input\n type=\"checkbox\"\n checked={selectedKnos.includes(kno)}\n onChange={(e) => {\n e.stopPropagation();\n handleSelect(kno);\n }}\n onClick={(e) => e.stopPropagation()}\n />\n );\n },\n },\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n {\n Header: \"Pincode\",\n accessor: \"pincode\",\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{t(status)}</span> : \"-\";\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedKnos, paginatedData, allData]\n );\n\n return (\n <Modal\n headerBarMain={isReassign ? `Reassign KNOs to ${surveyor?.name}` : `Assign KNOs to ${surveyor?.name}`}\n headerBarEnd={<Close onClick={closeModal} />}\n actionCancelLabel=\"Cancel\"\n actionCancelOnSubmit={closeModal}\n actionSaveLabel={isReassign ? t(\"EKYC_REASSIGN_KNOS\") || \"Reassign KNOs\" : t(\"EKYC_ASSIGN_KNOS\") || \"Assign KNOs\"}\n actionSaveOnSubmit={handleAssign}\n isDisabled={!selectedKnos?.length}\n >\n <div className=\"assign-knos-modal\">\n {/* Filters */}\n <div className=\"filters-grid\">\n <input className=\"form-control\" placeholder=\"KNO\" value={filters.kno} onChange={(e) => handleFilterChange(\"kno\", e.target.value)} />\n\n <select className=\"form-control disabled\" value={filters.pincode} onChange={(e) => handleFilterChange(\"pincode\", e.target.value)} disabled>\n <option value=\"\">Select Pincode</option>\n {pincodeOptions.map((pin) => (\n <option key={pin} value={pin}>\n {pin}\n </option>\n ))}\n </select>\n\n {/* <select\n className=\"form-control\"\n value={filters.zoneName}\n onChange={(e) => {\n const val = e.target.value;\n setFilters((prev) => ({\n ...prev,\n zoneCode: val,\n zoneName: val,\n }));\n }}\n disabled={isZroLoading}\n >\n <option value=\"\">{isZroLoading ? \"Loading ZRO Locations...\" : \"Select ZRO Location\"}</option>\n {mappedZROLocation.map((loc) => (\n <option key={loc.code} value={loc.name}>\n {loc.name}\n </option>\n ))}\n </select> */}\n\n {/* <select className=\"form-control\" value={filters.ward} onChange={(e) => handleFilterChange(\"ward\", e.target.value)}>\n <option value=\"\">Select Ward</option>\n {wardOptions\n .filter((ward) => {\n const stripped = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return stripped.trim().length > 0;\n })\n .map((ward) => {\n const displayName = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return (\n <option key={ward.code} value={ward.name}>\n {displayName}\n </option>\n );\n })}\n </select> */}\n {/* \n <select className=\"form-control\" value={filters.assembly} onChange={(e) => handleFilterChange(\"assembly\", e.target.value)}>\n <option value=\"\">Select Assembly</option>\n {assemblyOptions.map((assembly) => (\n <option key={assembly.code} value={assembly.name}>\n {assembly.name}\n </option>\n ))}\n </select> */}\n\n <select className=\"form-control\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)}>\n <option value=\"\">Select MR Key</option>\n {mrkeyOptions.map((key) => (\n <option key={key} value={key}>\n {key}\n </option>\n ))}\n </select>\n\n {selectedKnos.length > 0 && (\n <button className=\"clear-selected-btn\" type=\"button\" onClick={() => setSelectedKnos([])}>\n {t(\"EKYC_CLEAR_SELECTION\") || \"Clear Selected\"}\n </button>\n )}\n\n {/* <select className=\"form-control\" value={filters.ekycStatus} onChange={(e) => handleFilterChange(\"ekycStatus\", e.target.value)}>\n <option value=\"\">All eKYC Status</option>\n <option value=\"PENDING\">Pending</option>\n <option value=\"APPROVED\">Approved</option>\n <option value=\"REJECTED\">Rejected</option>\n </select> */}\n </div>\n\n {/* Table */}\n <Table\n tableTitle=\"eKYC Applications\"\n tableClass=\"ekycTable\"\n isTableScrollable={true}\n data={paginatedData}\n columns={columns}\n isLoading={isLoading}\n totalRecords={applicationData?.totalCount || 0}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n manualPagination={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < totalPages - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(totalPages - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n {showToast && <Toast error={toastData.error} label={toastData.label} onClose={() => setShowToast(false)} />}\n </Modal>\n );\n};\n\nexport default AssignEkycModal;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\n// import { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, PieChart, Pie, Cell, Legend } from \"recharts\";\n\nimport { Card, SubmitBar, ActionBar, Menu, Loader, Table } from \"@djb25/digit-ui-react-components\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\n\nimport AssignEkycModal from \"./AssignEkycModal\";\nimport { downloadSurveyorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\n\nconst SurveyorDetailsDashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const [showModal, setShowModal] = useState(null);\n const [showOptions, setShowOptions] = useState(false);\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const { id: surveyorId } = useParams();\n const ownerIds = Digit.SessionStorage.get(\"User\")?.info?.uuid;\n\n const { t } = useTranslation();\n\n const { data: surveyorSearchById, isLoading: isLoadingId } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { ids: surveyorId },\n { enabled: !!surveyorId, staleTime: Infinity }\n );\n\n const hasFoundById = !!surveyorSearchById?.surveyors?.length;\n\n const { data: surveyorSearchByOwner, isLoading: isLoadingOwner } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n surveyorId ? { ownerIds: surveyorId } : { ownerIds },\n { enabled: !surveyorId || (!isLoadingId && !hasFoundById), staleTime: Infinity }\n );\n\n const surveyorSearchResponse = useMemo(() => {\n if (surveyorId && hasFoundById) {\n return surveyorSearchById;\n }\n return surveyorSearchByOwner;\n }, [surveyorId, hasFoundById, surveyorSearchById, surveyorSearchByOwner]);\n\n const isLoading = surveyorId ? isLoadingId || (isLoadingOwner && !hasFoundById) : isLoadingOwner;\n\n const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n\n const surveyor = useMemo(() => {\n return surveyorSearchResponse?.surveyors?.[0] || null;\n }, [surveyorSearchResponse]);\n\n const { data: vendorData, isLoading: isVendorLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n const vendorName = useMemo(() => {\n if (surveyor?.vendorName) return surveyor.vendorName;\n if (!vendorData || !surveyor?.vendorId) return \"N/A\";\n const mappedVendor = vendorData.find((v) => v.dsoDetails?.id === surveyor.vendorId || v.dsoDetails?.vendorId === surveyor.vendorId);\n return mappedVendor?.dsoDetails?.name || surveyor.vendorId || \"N/A\";\n }, [vendorData, surveyor?.vendorId, surveyor?.vendorName]);\n\n const supervisorName = useMemo(() => {\n if (surveyor?.supervisorName) return surveyor.supervisorName;\n if (!supervisorSearchResponse?.supervisors || !surveyor?.supervisorId) return \"N/A\";\n const mappedSupervisor = supervisorSearchResponse.supervisors.find(\n (s) => s.id === surveyor.supervisorId || s.owner?.uuid === surveyor.supervisorId\n );\n return mappedSupervisor?.name || mappedSupervisor?.owner?.name || surveyor.supervisorId || \"N/A\";\n }, [supervisorSearchResponse, surveyor?.supervisorId, surveyor?.supervisorName]);\n const fullName = surveyor?.owner?.name || surveyor?.name || \"N/A\";\n const employeeId = surveyor?.employeeId || surveyor?.owner?.uuid || surveyor?.id;\n const mobileNumber = surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\";\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const queryParams = {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n surveyorId: surveyor?.owner?.uuid,\n };\n\n const { isFetching: isDashboardLoading, data: dashboardData = {}, refetch: refetchDashboard } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n queryParams,\n {\n enabled: !!queryParams.tenantId && !!queryParams.surveyorId,\n keepPreviousData: true,\n }\n );\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const knoColumns = useMemo(\n () => [\n {\n Header: t(\"KNO\") || \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: t(\"CONSUMER_NAME\") || \"Consumer Name\",\n accessor: (row) => toTitleCase(`${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim()),\n id: \"consumerName\",\n },\n {\n Header: t(\"ZONE\") || \"Zone\",\n accessor: (row) => toTitleCase(row.zoneName),\n id: \"zoneName\",\n },\n {\n Header: t(\"EKYC_STATUS\") || \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{toTitleCase(value)}</span> : \"-\";\n },\n },\n {\n Header: t(\"SUBMITTED_AT\") || \"Submitted At\",\n accessor: \"submittedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"ASSIGNED_AT\") || \"Assigned At\",\n accessor: \"assignedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n ],\n [t]\n );\n\n // ─── Download Report hooks (must be before any early returns) ───────\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const isPageLoading = isLoading || isVendorLoading || isSupervisorSearchLoading;\n\n if (isPageLoading && !surveyor) {\n return <Loader />;\n }\n\n if (!surveyor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SURVEYOR_FOUND\")}</div>\n </Card>\n );\n }\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handleDownload = async () => {\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n }\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(range.from.getTime(), range.to.getTime());\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(from.getTime(), to.getTime());\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const options = [{ action: \"Assign\" }, { action: \"EKYC_REASSIGN\" }];\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n setShowModal(option.action);\n };\n\n const handleDownloadEkycData = async (fromDate, toDate) => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n surveyorId: surveyor?.owner?.uuid,\n reportDownload: true,\n ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\",\n \"source\",\n \"assignedAt\",\n \"connectionType\",\n \"approvedAt\",\n \"alternateMobileNo\",\n \"city\",\n \"state\",\n \"addressType\",\n \"addressProofType\",\n \"mrcode\",\n \"areacode\",\n \"verificationStatus\",\n \"surveyorId\",\n \"supervisorId\",\n \"vendorId\",\n \"assignmentType\",\n \"assignmentValue\",\n \"assignedTime\",\n \"isSelfAssigned\",\n \"userType\",\n \"tenantName\",\n \"tenantMobile\",\n \"doorPhotoFilestoreId\",\n \"panFilestoreId\",\n \"documentProofFilestoreId\",\n \"buildingImageFileStoreId\",\n \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\",\n \"modifiedBy\",\n \"zoneCode\",\n \"propertyType\",\n \"subPropertyCategory\",\n ];\n\n const headerMapping = {\n kno: t(\"KNO\"),\n firstName: t(\"FIRST_NAME\"),\n middleName: t(\"MIDDLE_NAME\"),\n lastName: t(\"LAST_NAME\"),\n status: t(\"STATUS\"),\n ekycStatus: t(\"EKYC_STATUS\"),\n zoneName: t(\"ZONE\"),\n zoneCode: t(\"ZONE_CODE\"),\n assembly: t(\"EKYC_ASSEMBLY\"),\n ward: t(\"WARD\"),\n pincode: t(\"EKYC_PINCODE\"),\n addressRaw: t(\"ADDRESS_RAW\"),\n locality: t(\"EKYC_LOCALITY\"),\n subLocality: t(\"SUB_LOCALITY\"),\n flatHouseNumber: t(\"FLAT_HOUSE_NUMBER\"),\n streetName: t(\"STREET_NAME\"),\n landmark: t(\"EKYC_LANDMARK\"),\n city: t(\"CITY\"),\n state: t(\"STATE\"),\n addressType: t(\"ADDRESS_TYPE\"),\n addressProofType: t(\"ADDRESS_PROOF_TYPE\"),\n mobileNo: t(\"MOBILE_NUMBER\"),\n alternateMobileNo: t(\"ALTERNATE_MOBILE_NUMBER\"),\n whatsappNo: t(\"WHATSAPP_NO\"),\n email: t(\"EMAIL\"),\n landlineNo: t(\"LANDLINE_NO\"),\n mrkey: t(\"MR_KEY\"),\n mrcode: t(\"MR_CODE\"),\n areacode: t(\"AREA_CODE\"),\n source: t(\"SOURCE\"),\n submittedAt: t(\"SUBMITTED_AT\"),\n assignedAt: t(\"ASSIGNED_AT\"),\n connectionType: t(\"CONNECTION_TYPE\"),\n Type: t(\"CONSUMER_TYPE\"),\n occupantType: t(\"OCCUPANT_TYPE\"),\n knoCategory: t(\"KNO_CATEGORY\"),\n approvedAt: t(\"APPROVED_AT\"),\n gender: t(\"GENDER\"),\n parentSpouse: t(\"PARENT_SPOUSE\"),\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\n relationship: t(\"RELATIONSHIP\"),\n informantName: t(\"INFORMANT_NAME\"),\n informantRelation: t(\"INFORMANT_RELATION\"),\n informantIs: t(\"INFORMANT_IS\"),\n contactPerson: t(\"CONTACT_PERSON\"),\n relation: t(\"RELATION\"),\n entityName: t(\"ENTITY_NAME\"),\n designation: t(\"DESIGNATION\"),\n department: t(\"DEPARTMENT\"),\n employeeId: t(\"EMPLOYEE_ID\"),\n ownerMobile: t(\"OWNER_MOBILE\"),\n ownerVerificationDone: t(\"OWNER_VERIFICATION_DONE\"),\n consentGiven: t(\"CONSENT_GIVEN\"),\n proofOfIdentityType: t(\"PROOF_OF_IDENTITY_TYPE\"),\n documentNumber: t(\"DOCUMENT_NUMBER\"),\n noOfPerson: t(\"NUMBER_OF_PERSON\"),\n latitude: t(\"LATITUDE\"),\n longitude: t(\"LONGITUDE\"),\n gpsValid: t(\"GPS_VALID\"),\n meterNumber: t(\"METER_NUMBER\"),\n meterMake: t(\"METER_MAKE\"),\n meterStatus: t(\"METER_STATUS\"),\n meterCondition: t(\"METER_CONDITION\"),\n meterLocation: t(\"METER_LOCATION\"),\n meterLocationAddress: t(\"METER_LOCATION_ADDRESS\"),\n workingStatus: t(\"WORKING_STATUS\"),\n sewerConnection: t(\"SEWER_CONNECTION\"),\n septicTank: t(\"SEPTIC_TANK\"),\n lastBillRaised: t(\"LAST_BILL_RAISED\"),\n lastBillReceivedDate: t(\"LAST_BILL_RECEIVED_DATE\"),\n accessToMeter: t(\"ACCESS_TO_METER\"),\n systemMeterId: t(\"SYSTEM_METER_ID\"),\n lastBillNotRaisedReason: t(\"LAST_BILL_NOT_RAISED_REASON\"),\n waterConnectionYears: t(\"WATER_CONNECTION_YEARS\"),\n sewerConnectionYears: t(\"SEWER_CONNECTION_YEARS\"),\n pidNumber: t(\"PID_NUMBER\"),\n propertyType: t(\"PROPERTY_TYPE\"),\n subPropertyCategory: t(\"SUB_PROPERTY_CATEGORY\"),\n noOfFloor: t(\"NO_OF_FLOOR\"),\n noOfRooms: t(\"NO_OF_ROOMS\"),\n noOfBeds: t(\"NO_OF_BEDS\"),\n numberOfDwellingUnits: t(\"NUMBER_OF_DWELLING_UNITS\"),\n floorNo: t(\"FLOOR_NO\"),\n userType: t(\"USER_TYPE\"),\n tenantName: t(\"TENANT_NAME\"),\n tenantMobile: t(\"TENANT_MOBILE\"),\n verificationStatus: t(\"VERIFICATION_STATUS\"),\n houseBuiltDuration: t(\"HOUSE_BUILT_DURATION\"),\n surveyorId: t(\"SURVEYOR_ID\"),\n supervisorId: t(\"SUPERVISOR_ID\"),\n vendorId: t(\"VENDOR_ID\"),\n assignmentType: t(\"ASSIGNMENT_TYPE\"),\n assignmentValue: t(\"ASSIGNMENT_VALUE\"),\n assignedTime: t(\"ASSIGNED_TIME\"),\n isSelfAssigned: t(\"IS_SELF_ASSIGNED\"),\n doorPhotoFilestoreId: t(\"DOOR_PHOTO_FILESTORE_ID\"),\n panFilestoreId: t(\"PAN_FILESTORE_ID\"),\n documentProofFilestoreId: t(\"DOCUMENT_PROOF_FILESTORE_ID\"),\n buildingImageFileStoreId: t(\"BUILDING_IMAGE_FILESTORE_ID\"),\n propertyDocumentFileStoreId: t(\"PROPERTY_DOCUMENT_FILESTORE_ID\"),\n meterPhotoFileStoreId: t(\"METER_PHOTO_FILESTORE_ID\"),\n modifiedBy: t(\"MODIFIED_BY\"),\n emailId: t(\"EMAIL_ID\"),\n dob: t(\"DOB\"),\n consumerType: t(\"CONSUMER_TYPE\"),\n createdTime: t(\"CREATED_TIME\"),\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\"),\n meterLatitude: t(\"EKYC_METER_LATITUDE1\"),\n meterLongitude: t(\"EKYC_METER_LONGITUDE1\"),\n };\n\n const skipTitleCase = [\n \"kno\",\n \"mobileNumber\",\n \"emailId\",\n \"email\",\n \"pincode\",\n \"mrkey\",\n \"dob\",\n \"createdTime\",\n \"lastModifiedTime\",\n \"meterLatitude\",\n \"meterLongitude\",\n ];\n const translatedFields = [\"meterMake\", \"meterLocation\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n Object.keys(item).forEach((key) => {\n if (excludedKeys.includes(key)) return;\n\n let val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n if (String(val).toLowerCase() === \"true\") {\n val = t(\"CS_YES\");\n } else if (String(val).toLowerCase() === \"false\") {\n val = t(\"CS_NO\");\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && translatedFields.includes(key)) {\n cleanObj[friendlyHeader] = t(val);\n } else if (typeof val === \"string\" && !skipTitleCase.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const closeModal = async () => {\n setShowModal(null);\n };\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n\n <div className=\"designation\">{surveyor?.description || t(\"FIELD_SURVEYOR\")}</div>\n\n {/* <div className=\"employee-id\">\n {t(\"EMPLOYEE_ID\")}: {employeeId}\n </div> */}\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\">\n <button className=\"download-btn\" disabled={reportLoading} onClick={handleDownload}>\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n <StatCard\n title={t(\"TOTAL_ASSIGNED\")}\n value={dashboardData?.dashboardInfo?.total || 0}\n type=\"today\"\n isLoading={isDashboardLoading}\n icon={<FaUsers />}\n />\n <StatCard\n title={t(\"COMPLETED\")}\n value={dashboardData?.dashboardInfo?.completed || 0}\n type=\"week\"\n isLoading={isDashboardLoading}\n icon={<FaCheckCircle />}\n />\n <StatCard\n title={t(\"PENDING\")}\n value={dashboardData?.dashboardInfo?.pending || 0}\n type=\"pending\"\n isLoading={isDashboardLoading}\n icon={<FaClock />}\n />\n <StatCard\n title={t(\"SUBMITTED\")}\n value={dashboardData?.dashboardInfo?.submittedCount || 0}\n type=\"month\"\n isLoading={isDashboardLoading}\n icon={<FaChartLine />}\n />\n </div>\n\n {/* Charts */}\n <div className=\"charts-wrapper\">\n {/* Weekly Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"WEEKLY_SURVEY_PROGRESS\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart data={weeklyData}>\n <CartesianGrid strokeDasharray=\"3 3\" />\n\n <XAxis dataKey=\"day\" />\n\n <YAxis />\n\n <Tooltip />\n\n <Bar dataKey=\"completed\" fill=\"#0B2559\" radius={[6, 6, 0, 0]} />\n </BarChart>\n </ResponsiveContainer>\n </div> */}\n\n {/* Pie Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"CASE_DISTRIBUTION\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <PieChart>\n <Pie data={statusData} dataKey=\"value\" nameKey=\"name\" outerRadius={90} label>\n {statusData.map((entry, index) => (\n <Cell key={index} fill={entry.color} />\n ))}\n </Pie>\n\n <Tooltip />\n\n <Legend />\n </PieChart>\n </ResponsiveContainer>\n </div> */}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Top Row: Mobile, Email, and Download eKYC Data */}\n <div className=\"details-top-row\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{surveyor?.owner?.emailId || \"N/A\"}</span>\n </div>\n\n <div className=\"download-card\">\n <div>\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") || \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={() => {\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button className=\"picker-apply-btn\" onClick={handleCustomDownload}>\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Bottom Row: Remaining Details */}\n <div className=\"details-grid-row\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{surveyor?.owner?.gender || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{surveyor?.status || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SUPERVISOR_NAME\") || \"Supervisor Name\"}</span>\n <span className=\"value\">{supervisorName}</span>\n </div>\n </div>\n </div>\n </div>\n <div>\n <Table\n t={t}\n tableTitle={t(\"ASSIGNED_KNOS\")}\n tableClass=\"ekycTable\"\n isTableScrollable={true}\n data={dashboardData?.dashboardInfo?.consumerList || []}\n columns={knoColumns}\n isLoading={isDashboardLoading}\n totalRecords={dashboardData?.dashboardInfo?.total}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n showAutoSerialNo={true}\n isPaginationRequired={true}\n onNextPage={() => {\n const total = dashboardData?.dashboardInfo?.total || 0;\n if (currentPage < Math.ceil(total / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n const total = dashboardData?.dashboardInfo?.total || 0;\n setCurrentPage(Math.max(Math.ceil(total / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n {/* Actions */}\n {roles.includes(\"EKYC_SUPERVISOR\") && (\n <ActionBar>\n <SubmitBar label={t(\"EKYC_ASSIGN_KNOS\")} onSubmit={() => setShowOptions((prev) => !prev)} />\n\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n\n {showModal && (\n <AssignEkycModal surveyor={surveyor} isReassign={showModal === \"EKYC_REASSIGN\"} closeModal={closeModal} refetchDashboard={refetchDashboard} />\n )}\n </Card>\n );\n};\n\nexport default SurveyorDetailsDashboard;\n","import React, { useState, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { Label, DatePicker, SubmitBar, Toast, Dropdown, UploadFile, CollapsibleCardPage, VerticalTimeline } from \"@djb25/digit-ui-react-components\";\n\nconst WorkOrder = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n const history = useHistory();\n\n const [showToast, setShowToast] = useState(null);\n const [vendor, setVendor] = useState(null);\n const [validFrom, setValidFrom] = useState(\"\");\n const [validTo, setValidTo] = useState(\"\");\n const [uploadedFile, setUploadedFile] = useState(null);\n const [file, setFile] = useState(null);\n const [error, setError] = useState(null);\n\n const { data: vendorOptions, isLoading: isVendorLoading } = Digit.Hooks.fsm.useVendorSearch({\n tenantId,\n filters: { status: \"ACTIVE\" },\n config: {\n select: (data) => data?.vendor || [],\n },\n });\n\n const { mutate: createWorkOrder } = Digit.Hooks.wt.useVendorWorkOrderCreate(tenantId);\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (file) {\n if (file.size >= 10000000) {\n setError(t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") || \"File size exceeds 10MB\");\n } else {\n try {\n const response = await Digit.UploadServices.Filestorage(\"EKYC\", file, Digit.ULBService.getStateId());\n if (response?.data?.files?.length > 0) {\n setUploadedFile(response?.data?.files[0]?.fileStoreId);\n } else {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n }\n } catch (err) {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n }\n }\n }\n })();\n }, [file]);\n\n const handleSubmit = () => {\n const payload = {\n vendorWorkOrder: {\n tenantId,\n name: vendor?.name,\n mobileNumber: vendor?.owner?.mobileNumber,\n emailId: vendor?.owner?.emailId,\n vendorId: vendor?.code || vendor?.id,\n validFrom: new Date(validFrom).getTime(),\n validTo: new Date(validTo).getTime(),\n serviceType: \"EKYC\",\n fileStoreId: uploadedFile,\n },\n };\n\n createWorkOrder(payload, {\n onSuccess: (result) => {\n setShowToast({ isError: false, label: t(\"EKYC_WORK_ORDER_SAVE_SUCCESS\") });\n setTimeout(() => {\n history.push(\"/digit-ui/employee/module/details\");\n }, 3000);\n },\n onError: (err) => {\n setShowToast({ isError: true, label: err?.response?.data?.Errors?.[0]?.message || t(\"EKYC_WORK_ORDER_SAVE_ERROR\") });\n },\n });\n };\n\n function selectfile(e) {\n setUploadedFile(null);\n setFile(e.target.files[0]);\n }\n\n const isFormDisabled = !vendor || !validFrom || !validTo || !uploadedFile;\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n return (\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={[{ timeLine: [{ actions: t(\"EKYC_WORK_ORDER_ASSIGN\"), currentStep: 1 }] }]} showFinalStep={false} />\n\n <div style={{ flex: 1 }}>\n <CollapsibleCardPage title={t(\"EKYC_UPLOAD_WORK_ORDER\")} defaultOpen={true}>\n <div className=\"formcomposer-section-grid\">\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"EKYC_VENDOR_NAME\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <Dropdown t={t} option={vendorOptions} optionKey=\"name\" select={setVendor} selected={vendor} placeholder={t(\"EKYC_SELECT_VENDOR\")} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"COMMON_VALID_FROM_DATE\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <DatePicker date={validFrom} onChange={(date) => setValidFrom(date)} style={{ width: \"100%\" }} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"COMMON_VALID_TO_DATE\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <DatePicker date={validTo} min={validFrom} onChange={(date) => setValidTo(date)} style={{ width: \"100%\" }} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>{`${t(\"EKYC_UPLOAD_DOCUMENT\")}`} <span className=\"check-page-link-button\">*</span></Label>\n <UploadFile\n id={\"ekyc-doc\"}\n extraStyleName={\"propertyCreate\"}\n accept=\"image/*, .pdf, .png, .jpeg, .jpg\"\n onUpload={selectfile}\n onDelete={() => setUploadedFile(null)}\n message={uploadedFile ? `1 ${t(`EKYC_ACTION_FILEUPLOADED`)}` : t(`EKYC_ACTION_NO_FILEUPLOADED`)}\n error={error}\n />\n </div>\n </div>\n </CollapsibleCardPage>\n\n <div style={{ display: \"flex\", marginTop: \"24px\", justifyContent: isMobile ? \"center\" : \"flex-end\" }}>\n <SubmitBar label={t(\"ES_COMMON_SAVE\")} onSubmit={isFormDisabled ? null : handleSubmit} disabled={isFormDisabled} />\n </div>\n </div>\n\n {showToast && <Toast error={showToast.isError} label={showToast.label} onClose={() => setShowToast(null)} />}\n </div>\n );\n};\n\nexport default WorkOrder;\n","import React from \"react\";\nexport function formReducer(state, payload) {\n const storageKey = \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n}\n\nexport const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n};\n\nexport const tableColumnConfig = (t, handleReview) => [\n {\n Header: t(\"SURVEYOR_NAME\"),\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const id = row.original?.id;\n return (\n <span className=\"link\" onClick={() => handleReview(id)}>\n {row.original?.surveyorName || row.original?.name || \"NA\"}\n </span>\n );\n },\n },\n // {\n // Header: t(\"SURVEYOR_NAME\"),\n // accessor: \"surveyorName\",\n // Cell: ({ row }) => <span>{row.original?.surveyorName || row.original?.name || \"NA\"}</span>,\n // },\n {\n Header: t(\"MOBILE_NUMBER\"),\n accessor: \"mobileNo\",\n Cell: ({ row }) => <span>{row.original?.mobileNo || row.original?.owner?.mobileNumber || \"NA\"}</span>,\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>;\n },\n },\n {\n Header: t(\"SERVICE_TYPE\"),\n accessor: \"serviceType\",\n Cell: ({ row }) => <span>{row.original?.serviceType || \"NA\"}</span>,\n },\n];\n","import { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { tableColumnConfig } from \"../../../vendor/src/config/tableConfig\";\n\nconst SupervisorInboxTableConfig = ({\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n onSortingByData,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n const handleReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n\n currentPage: Math.floor(offset / limit),\n\n onPageSizeChange,\n\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) + Number(limit),\n },\n }),\n\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) - Number(limit),\n },\n }),\n\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Math.ceil(totalCount / limit) * limit - Number(limit),\n },\n }),\n\n onFirstPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: 0 },\n }),\n\n totalRecords: totalCount,\n onSort: onSortingByData,\n\n data: table,\n columns: tableColumnConfig(t, handleReview),\n\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default SupervisorInboxTableConfig;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport SupervisorInboxTableConfig from \"../hook/SupervisorInboxTableConfig\";\nimport SearchFormFieldsComponents from \"./SearchFormFieldsComponent\";\nimport { formInitValue, formReducer } from \"../../../vendor/src/config/tableConfig\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\nimport useInboxMobileCardsData from \"../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst AssignEkyc = () => {\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\"; // Force tenantId to dl.djb for EKYC APIs in citizen portal\n }\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n let paginationParms = {\n limit: formState?.tableForm?.limit || 10,\n offset: formState?.tableForm?.offset || 0,\n sortBy: formState?.tableForm?.sortBy || \"createdTime\",\n sortOrder: formState?.tableForm?.sortOrder || \"DESC\",\n };\n\n const mobileNumber = formState?.searchForm?.mobileNumber || \"\";\n const isSearchActive = !!mobileNumber;\n\n const filters = {\n ...paginationParms,\n status: \"ACTIVE,DISABLED\",\n };\n\n if (isSearchActive) {\n filters.mobileNumber = mobileNumber;\n }\n\n const { data: dashboardData, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, filters, { enabled: !!tenantId, keepPreviousData: true });\n\n const { isLoading: isDataSearchLoading, data } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const sourceData = useMemo(() => {\n return dashboardData?.surveyors || [];\n }, [dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n const owner = item?.owner || {};\n const roleCodes = owner?.roles?.map((role) => role.code)?.join(\", \") || \"\";\n\n return {\n ...item,\n id: item?.id || \"\",\n surveyorName: item?.name || owner?.name || \"\",\n mobileNo: item?.mobileNo || owner?.mobileNumber || \"\",\n email: owner?.emailId || \"\",\n vendorId: item?.vendorId || \"\",\n tenantId: item?.tenantId || \"\",\n supervisorId: item?.supervisorId || \"\",\n status: item?.status || \"\",\n roleCodes,\n userName: owner?.userName || \"\",\n gender: owner?.gender || \"\",\n serviceType: item?.additionalDetails?.serviceType || \"\",\n createdTime: item?.auditDetails?.createdTime || 0,\n lastModifiedTime: item?.auditDetails?.lastModifiedTime || 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"mobile\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues } });\n dispatch({ action: \"mutateSearchForm\", data });\n };\n\n const searchFormDefaultValues = {\n mobileNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"mobileNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n });\n }\n }\n };\n\n const propsForInboxTable = SupervisorInboxTableConfig({\n ...{\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading;\n\n const cards = [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: data?.totalKnos || 0,\n color: \"#0B2559\",\n filter: null,\n active: true,\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: data?.totalAssignments || 0,\n color: \"#3B82F6\",\n filter: [\"ASSIGNED\"],\n type: \"week\",\n icon: <FaMapMarkedAlt />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: data?.completedKnos || 0,\n color: \"#10B981\",\n filter: [\"COMPLETED\"],\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: (data?.totalKnos || 0) - (data?.completedKnos || 0),\n color: \"#F59E0B\",\n filter: [\"PENDING\"],\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${data?.overallProgressPercent || 0}%`,\n color: \"#A855F7\",\n filter: [\"IN_PROGRESS\"],\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, isSupervisor: true });\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: dashboardData?.dashboardInfo,\n // cards,\n isCardLoading: isDataSearchLoading,\n showSearchOnMobile: true,\n forceTable: true,\n }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\n","import Dashboard from \"../components/Dashboard\";\nimport Inbox from \"../pages/employee/Inbox\";\n// import Create from \"../pages/employee/Create\";\n// import Mapping from \"../pages/employee/Mapping\";\nimport EKYCForm from \"../pages/employee/EKYCForm\";\nimport Review from \"../components/Review\";\nimport AssignEkyc from \"../components/AssignEkyc\";\nimport AdminDashboard from \"../components/AdminDashboard\";\n// import CeoDashboard from \"../components/CeoDashboard\";\nimport VendorDetailsCard from \"../components/VendorDetailsCard\";\nimport SupervisorDetailsCard from \"../components/SupervisorDetailsCard\";\nimport SurveyorDetailsCard from \"../components/SurveyorDetailsCard\";\nimport WorkOrder from \"../pages/employee/WorkOrder\";\n\n// yeh function role (employee/citizen) leta hai aur uske hisaab se\n// breadcrumb ka URL bana deta hai. Baaki sab kuch same rehta hai.\nconst breadcrumb = (userType, listLabel, listPath, detailLabel) => [\n { label: listLabel, path: `/digit-ui/${userType}/ekyc/${listPath}` },\n { label: detailLabel },\n];\n\n// 👇 isi function ko employee ke liye bhi call karenge, citizen ke liye bhi\nexport const getEkycRoutes = (userType, t) => [\n // ---- simple pages ----\n { path: \"/dashboard\", component: Dashboard, layout: \"normal\", breadcrumb: \"EKYC_DASHBOARD\" },\n { path: \"/inbox\", component: Inbox, layout: \"normal\", breadcrumb: \"EKYC_INBOX\" },\n { path: \"/review/:kno\", component: Review, layout: \"normal\", breadcrumb: \"EKYC_REVIEW\" },\n // { path: \"/create-kyc\", component: Create, layout: \"normal\", breadcrumb: \"EKYC_CREATE_KYC\" },\n // { path: \"/mapping\", component: Mapping, layout: \"normal\", breadcrumb: \"EKYC_MAPPING\" },\n { path: \"/admin-dashboard\", component: AdminDashboard, layout: \"normal\", breadcrumb: \"EKYC_ADMIN_DASHBOARD\" },\n // { path: \"/work-order\", component: WorkOrder, layout: \"normal\", breadcrumb: \"EKYC_WORK_ORDER\" },\n { path: \"/work-order\", component: WorkOrder, layout: \"normal\", breadcrumb: \"EKYC_WORK_ORDER\" },\n // { path: \"/ceo-dashboard\", component: CeoDashboard, layout: \"normal\", breadcrumb: \"CEO_M.F_DOR_FINANCE_VIEW\" },\n\n // ---- EKYC form ke 4 steps ----\n { path: \"/consumer-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_CONSUMER_DETAILS\" },\n { path: \"/address-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_ADDRESS_DETAILS\" },\n { path: \"/property-info\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_PROPERTY_INFO\" },\n { path: \"/meter-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_METER_DETAILS\" },\n\n // ---- assign ----\n {\n path: [\"/assign\"],\n component: AssignEkyc,\n layout: \"normal\",\n breadcrumb: [{ label: \"EKYC_ASSIGN\", path: `/digit-ui/${userType}/ekyc/assign` }],\n },\n\n // ---- detail-card wale routes ----\n // {\n // path: [\"/review/:kno\", \"/review\"],\n // component: Review,\n // layout: \"action\",\n // breadcrumb: breadcrumb(userType, \"EKYC_INBOX\", \"inbox:kno\", \"EKYC_REVIEW\"),\n // },\n {\n path: [\"/vendors/:vendorId\", \"/vendors\"],\n component: VendorDetailsCard,\n layout: \"normal\",\n breadcrumb: breadcrumb(userType, \"EKYC_VENDORS\", \"admin-dashboard\", \"EKYC_VENDOR_DETAILS\"),\n },\n {\n path: [\"/supervisor-dashboard/:id\", \"/supervisor-dashboard\"],\n component: SupervisorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SUPERVISOR_DASHBOARD\", \"supervisor-dashboard:id\", \"EKYC_SUPERVISOR_DETAILS\"),\n },\n {\n path: [\"/surveyor-dashboard/:id\", \"/surveyor-dashboard\"],\n component: SurveyorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SURVEYOR_DASHBOARD\", \"surveyor-dashboard/:id\", \"EKYC_SURVEYOR_DETAILS\"),\n },\n];\n\n// dono role ke liye ready-made arrays — jaha jaruratho wahi import karo\nexport const ekycRoutes = getEkycRoutes(\"employee\"); // employee ke liye\nexport const citizenEkycRoutes = getEkycRoutes(\"citizen\"); // citizen ke liye\n","import { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation } from \"react-router-dom\";\nimport Dashboard from \"../../components/Dashboard\";\n// import CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard.js\";\nimport Inbox from \"./Inbox\";\n// import Mapping from \"./Mapping\";\n// import Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\n// import AssignEkyc from \"../../components/AssignEkyc.js\";\nimport AdminDashboard from \"../../components/AdminDashboard.js\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard.js\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\"\nimport WorkOrder from \"./WorkOrder\";\nimport { ekycRoutes } from \"../../config/Routes\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n // const getDynamicBreadcrumbs = () => {\n // const pathname = location.pathname;\n\n // // Parent crumb — always present and clickable → redirects to eKYC inbox\n // const crumbs = [\n // { icon: HomeIcon, path: \"/digit-ui/employee\" },\n // { label: t(\"ACTION_TEST_EKYC\"), path: `/digit-ui/employee/module/details` },\n // ];\n\n // // Child crumb — only appended when on a sub-page (not inbox/dashboard itself)\n // if (pathname.includes(\"/create-kyc\")) {\n // crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n // } else if (pathname.includes(\"/consumer-details\")) {\n // crumbs.push({ label: t(\"EKYC_CONSUMER_DETAILS\") });\n // } else if (pathname.includes(\"/address-details\")) {\n // crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n // } else if (pathname.includes(\"/property-info\")) {\n // crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n // } else if (pathname.includes(\"/meter-details\")) {\n // crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n // } else if (pathname.includes(\"/review\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/employee/ekyc/inbox` });\n // crumbs.push({ label: t(\"EKYC_REVIEW\") });\n // } else if (pathname.includes(\"/surveyor-dashboard\") || pathname.includes(\"/assign/surveyor-details\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") || \"Surveyor Dashboard\" });\n // } else if (pathname.includes(\"/assign\")) {\n // crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n // } else if (pathname.includes(\"/ceo-dashboard\")) {\n // crumbs.push({ label: t(\"CEO_M.F_DOR_FINANCE_VIEW\") });\n // } else if (pathname.includes(\"/admin-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\" });\n // } else if (pathname.includes(\"/supervisor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") || \"Supervisor Dashboard\" });\n // } else if (pathname.includes(\"/surveyor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n // } else if (pathname.includes(\"/vendors/\")) {\n // crumbs.push({ label: t(\"EKYC_VENDOR_DETAILS\") });\n // } else if (pathname.includes(\"/mapping\")) {\n // crumbs.push({ label: t(\"EKYC_MAPPING\") });\n // } else if (pathname.includes(\"/dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n // } else if (pathname.includes(\"/inbox\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\") });\n // }\n // // dashboard & inbox → no child crumb (only \"eKYC Admin\" shown)\n\n // return crumbs;\n // };\n\n const getDynamicBreadcrumbs = () => {\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(\"ACTION_TEST_EKYC\"), path: \"/digit-ui/employee/module/details\" },\n ];\n const pathSegments = location.pathname.split(\"/\").filter(Boolean);\n const ekycIndex = pathSegments.indexOf(\"ekyc\");\n const relativeSegments = ekycIndex !== -1 ? pathSegments.slice(ekycIndex + 1) : [];\n\n let matchedPath = \"\";\n const currentRoute = ekycRoutes.find((route) => {\n const paths = Array.isArray(route.path) ? route.path : [route.path];\n return paths.some((singlePath) => {\n const routeSegments = singlePath.split(\"/\").filter(Boolean);\n if (routeSegments.length === relativeSegments.length && routeSegments.every((seg, i) => seg.startsWith(\":\") || seg === relativeSegments[i])) {\n matchedPath = singlePath;\n return true;\n }\n return false;\n });\n });\n\n if (currentRoute) {\n if (Array.isArray(currentRoute.breadcrumb)) {\n currentRoute.breadcrumb.forEach((crumb) => {\n let crumbPath = crumb.path;\n if (crumbPath && matchedPath) {\n matchedPath.split(\"/\").filter(Boolean).forEach((segment, idx) => {\n if (segment.startsWith(\":\")) {\n const val = relativeSegments[idx];\n crumbPath = crumbPath.replace(new RegExp(`\\\\/${segment}`, \"g\"), `/${val}`)\n .replace(new RegExp(`(\\\\w+)${segment}`, \"g\"), `$1/${val}`)\n .replace(new RegExp(segment, \"g\"), val);\n }\n });\n }\n crumbs.push({ label: t(crumb.label), ...(crumbPath ? { path: crumbPath } : {}) });\n });\n } else {\n crumbs.push({ label: t(currentRoute.breadcrumb) });\n }\n }\n return crumbs;\n };\n const formStepRoutes = [\"consumer-details\", \"address-details\", \"property-info\", \"meter-details\"];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n Back\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <div className=\"employee-form\">\n <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Create />\n </LayoutWrapper>\n )}\n /> */}\n\n {/* <PrivateRoute\n path={`${path}/mapping`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Mapping />\n </LayoutWrapper>\n )}\n /> */}\n {/* <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n /> */}\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={formStepRoutes.map((route) => `${path}/${route}`)}\n component={(props) => (\n <LayoutWrapper layoutClass=\"normal\">\n <EKYCForm {...props} path={path} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review/:kno`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/ceo-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <CeoDashboard />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/admin-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AdminDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/vendors/:vendorId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/surveyor-dashboard/:id`, `${path}/surveyor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/work-order`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <WorkOrder />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n /> */}\n </Switch>\n </div>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst PropertyInfoConfig = (t, formData = {}, uploadFile, buildingImage, buildingImageId, setBuildingImage, setBuildingImageId) => {\n const propertyType = formData?.propertyType?.name || formData?.propertyType;\n const isHotel = propertyType === \"Hotel\";\n const isHospitalOrNursing = propertyType === \"Hospital\" || propertyType === \"Nursing Home\";\n\n const fields = [\n {\n label: t(\"PID Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"pidNumber\",\n },\n },\n {\n label: t(\"Property Type\"),\n isMandatory: false,\n type: \"custom\",\n key: \"propertyType\",\n populators: {\n name: \"propertyType\",\n component: (props) => (\n <Dropdown\n option={[\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sub Property Category\"),\n isMandatory: false,\n type: \"custom\",\n key: \"subPropertyCategory\",\n populators: {\n name: \"subPropertyCategory\",\n component: (props) => (\n <Dropdown\n option={[]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"No. of Floors\"),\n isMandatory: true,\n type: \"number\",\n populators: {\n name: \"noOfFloors\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Floor No. of this KNO\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"floorNo\",\n },\n },\n {\n label: isHospitalOrNursing ? t(\"No of Beds\") : t(\"No of Beds\"),\n isMandatory: isHospitalOrNursing,\n type: \"number\",\n populators: {\n name: \"noOfBeds\",\n validation: isHospitalOrNursing ? { required: true, min: 1 } : {},\n },\n },\n {\n label: isHotel ? t(\"No. of Rooms\") : t(\"No. of Rooms\"),\n isMandatory: isHotel,\n type: \"number\",\n populators: {\n name: \"noOfRooms\",\n validation: isHotel ? { required: true, min: 1 } : {},\n },\n },\n {\n label: t(\"Number of Dwelling Units\"),\n isMandatory: false,\n type: \"number\",\n populators: {\n name: \"dwellingUnits\",\n },\n },\n {\n label: t(\"Building Image\"),\n isMandatory: true,\n type: \"custom\",\n key: \"buildingImage\",\n populators: {\n name: \"buildingImage\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {buildingImage && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n },\n ];\n\n return [\n {\n head: t(\"EKYC_PROPERTY_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default PropertyInfoConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport PropertyInfoConfig from \"../config/PropertyInfoConfig\";\n\nconst PropertyInfo = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"PROPERTY\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.propertyDetails || {};\n\n // 🔹 STATES\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n pidNumber: savedData.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : null,\n subPropertyCategory: savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null,\n noOfFloors: savedData.noOfFloors || \"\",\n floorNo: savedData.floorNo || \"\",\n noOfRooms: savedData.noOfRooms || \"\",\n noOfBeds: savedData.noOfBeds || \"\",\n dwellingUnits: savedData.dwellingUnits || \"\",\n buildingImage: savedData.buildingImageId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || rawData || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !isDataLoaded) {\n let propType = null;\n let subPropCat = null;\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ].find((type) => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) propType = matchingType;\n else propType = { name: propertyInfo.subPropertyCategory };\n subPropCat = { name: propertyInfo.subPropertyCategory };\n }\n\n if (propertyInfo.propertyType) {\n subPropCat = { name: propertyInfo.propertyType };\n if (!propertyInfo.subPropertyCategory) propType = { name: propertyInfo.propertyType };\n }\n\n const updatedDefaults = {\n pidNumber: savedData.pidNumber || propertyInfo.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : propType,\n subPropertyCategory: savedData.subPropertyCategory\n ? { name: savedData.subPropertyCategory }\n : subPropCat,\n noOfFloors:\n savedData.noOfFloors ||\n (propertyInfo.numberOfFloors || propertyInfo.noOfFloor\n ? String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor)\n : \"\"),\n floorNo: savedData.floorNo || propertyInfo.floorNo || \"\",\n noOfRooms:\n savedData.noOfRooms ||\n (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined\n ? String(propertyInfo.numberOfRooms)\n : \"\"),\n noOfBeds:\n savedData.noOfBeds ||\n (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined\n ? String(propertyInfo.numberOfBeds)\n : \"\"),\n dwellingUnits:\n savedData.dwellingUnits ||\n (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined\n ? String(propertyInfo.numberOfDwellingUnits)\n : \"\"),\n buildingImage: savedData.buildingImageId || propertyInfo.buildingImageFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.buildingImage) {\n setBuildingImageId(updatedDefaults.buildingImage);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setBuildingImageId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setBuildingImage(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Check if propertyType changed to re-evaluate mandatory validation or conditional visibility\n const propertyTypeChanged =\n (data?.propertyType?.name || data?.propertyType) !==\n (localFormData?.propertyType?.name || localFormData?.propertyType);\n\n if (propertyTypeChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const propTypeVal = data?.propertyType;\n const subPropCatVal = data?.subPropertyCategory;\n const noOfFloorsVal = data?.noOfFloors;\n const buildingImgId = buildingImageId || data?.buildingImage;\n const noOfRoomsVal = data?.noOfRooms;\n const noOfBedsVal = data?.noOfBeds;\n\n let valid = true;\n if (!propTypeVal) valid = false;\n if (!subPropCatVal) valid = false;\n if (!noOfFloorsVal || Number(noOfFloorsVal) < 1) valid = false;\n if (!buildingImgId) valid = false;\n\n if (propTypeVal?.name === \"Hotel\" && !noOfRoomsVal) valid = false;\n if (\n (propTypeVal?.name === \"Hospital\" || propTypeVal?.name === \"Nursing Home\") &&\n !noOfBedsVal\n )\n valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n pidNumber: data.pidNumber,\n propertyType: data.propertyType?.name || data.propertyType,\n subPropertyCategory: data.subPropertyCategory?.name || data.subPropertyCategory,\n noOfFloors: data.noOfFloors,\n floorNo: data.floorNo,\n noOfRooms: data.noOfRooms,\n noOfBeds: data.noOfBeds,\n dwellingUnits: data.dwellingUnits,\n buildingImageId: buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Property details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update property details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = PropertyInfoConfig(\n t,\n localFormData,\n handleUpload,\n buildingImage,\n buildingImageId,\n setBuildingImage,\n setBuildingImageId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetailsConfig = (t, formData = {}, uploadPhoto, meterPhoto, meterPhotoId, setMeterPhoto, setMeterPhotoId) => {\n const meterStatus = formData?.meterStatus?.name || formData?.meterStatus;\n const lastBillReceived = formData?.lastBillReceived?.name || formData?.lastBillReceived;\n const sewerConnection = formData?.sewerConnection?.name || formData?.sewerConnection;\n\n const isFrozen = meterStatus === \"Can not be identified\";\n\n // Generate Month-Year Options (1998–2026)\n const monthYearOptions = [];\n for (let y = 1998; y <= 2026; y++) {\n for (let m = 1; m <= 12; m++) {\n monthYearOptions.push({ name: `${m}/${y}` });\n }\n }\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const fields = [\n {\n label: t(\"Connection Category\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"connectionCategory\",\n validation: { required: true },\n },\n },\n {\n label: t(\"SA Type\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"saType\",\n },\n },\n {\n label: t(\"Status\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"status\",\n },\n },\n {\n label: t(\"MR Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrCode\",\n },\n },\n {\n label: t(\"Area Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"areaCode\",\n },\n },\n {\n label: t(\"MR Key\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrKey\",\n },\n },\n ];\n\n // 🔹 Non-frozen fields\n if (!isFrozen) {\n fields.push(\n {\n label: t(\"Meter Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterNumber\",\n },\n },\n {\n label: t(\"Meter Maker\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterMaker\",\n },\n },\n {\n label: t(\"Meter Condition\"),\n isMandatory: false,\n type: \"custom\",\n key: \"meterCondition\",\n populators: {\n name: \"meterCondition\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Damaged\" }, { name: \"Not-Damaged\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (meterStatus === \"Metered\") {\n fields.push({\n label: t(\"Meter Photo\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterPhoto\",\n populators: {\n name: \"meterPhoto\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadPhoto(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setMeterPhoto(null);\n setMeterPhotoId(null);\n }}\n message={meterPhotoId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {meterPhoto && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={meterPhoto}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n });\n }\n }\n\n // 🔹 Standard fields after the conditional section\n fields.push(\n {\n label: t(\"Meter Status\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterStatus\",\n populators: {\n name: \"meterStatus\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Metered\" }, { name: \"Unmetered\" }, { name: \"Can not be identified\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Meter Location\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterLocation\",\n populators: {\n name: \"meterLocation\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Inside\" }, { name: \"Outside\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Last Bill Received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"lastBillReceived\",\n populators: {\n name: \"lastBillReceived\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n // 🔹 Bill-received fields\n if (lastBillReceived === \"Yes\") {\n fields.push({\n label: t(\"When was the last bill received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"billMonthYear\",\n populators: {\n name: \"billMonthYear\",\n component: (props) => (\n <Dropdown\n option={monthYearOptions}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n } else if (lastBillReceived === \"No\") {\n fields.push({\n label: t(\"Reason *\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"reason\",\n validation: { required: true },\n },\n });\n }\n\n fields.push(\n {\n label: t(\"Access to Meter\"),\n isMandatory: false,\n type: \"custom\",\n key: \"accessToMeter\",\n populators: {\n name: \"accessToMeter\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sewer Connection\"),\n isMandatory: true,\n type: \"custom\",\n key: \"sewerConnection\",\n populators: {\n name: \"sewerConnection\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (sewerConnection === \"No\") {\n fields.push({\n label: t(\"Septic Tank\"),\n isMandatory: true,\n type: \"custom\",\n key: \"septicTank\",\n populators: {\n name: \"septicTank\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n }\n\n return [\n {\n head: t(\"EKYC_METER_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default MeterDetailsConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport MeterDetailsConfig from \"../config/MeterDetailsConfig\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"METER\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.meterDetails || {};\n\n // 🔹 STATES\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n connectionCategory: savedData.connectionCategory || \"\",\n saType: savedData.saType || \"\",\n status: savedData.status || \"\",\n mrCode: savedData.mrCode || \"\",\n areaCode: savedData.areaCode || \"\",\n mrKey: savedData.mrKey || \"\",\n meterNumber: savedData.meterNumber || \"\",\n meterMaker: savedData.meterMaker || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : null,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : null,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : null,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : null,\n reason: savedData.reason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : null,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : null,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : null,\n meterPhoto: savedData.meterPhotoId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !isDataLoaded) {\n let mStatus = null;\n let mCondition = null;\n let mLoc = null;\n let billRec = null;\n let billMonYr = null;\n let accToMeter = null;\n let sewerConn = null;\n let sepTank = null;\n\n if (apiMeter.meterStatus) {\n const matchingStatus = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ].find((o) => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) mStatus = matchingStatus;\n else mStatus = { name: apiMeter.meterStatus };\n } else if (apiMeter.metered !== undefined) {\n mStatus = { name: apiMeter.metered ? \"Metered\" : \"Unmetered\" };\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = [{ name: \"Damaged\" }, { name: \"Not-Damaged\" }].find(\n (o) => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase()\n );\n if (matchingCond) mCondition = matchingCond;\n else mCondition = { name: apiMeter.meterCondition };\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = [{ name: \"Inside\" }, { name: \"Outside\" }].find(\n (o) =>\n o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() ||\n apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase())\n );\n if (matchingLoc) mLoc = matchingLoc;\n else mLoc = { name: apiMeter.meterLocation };\n }\n\n if (apiMeter.lastBillRaised !== undefined && apiMeter.lastBillRaised !== null) {\n const strVal = String(apiMeter.lastBillRaised).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") billRec = { name: \"Yes\" };\n else billRec = { name: \"No\" };\n }\n\n if (apiMeter.lastBillReceivedDate) {\n const formatted = apiMeter.lastBillReceivedDate.replace(\"-\", \"/\");\n const parsedParts = formatted.split(\"/\");\n if (parsedParts.length === 2) {\n const mon = parseInt(parsedParts[0], 10);\n const yr = parseInt(parsedParts[1], 10);\n billMonYr = { name: `${mon}/${yr}` };\n } else {\n billMonYr = { name: apiMeter.lastBillReceivedDate };\n }\n }\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") accToMeter = { name: \"Yes\" };\n else accToMeter = { name: \"No\" };\n }\n\n if (apiMeter.sewerConnection !== undefined && apiMeter.sewerConnection !== null) {\n const strVal = String(apiMeter.sewerConnection).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sewerConn = { name: \"Yes\" };\n else sewerConn = { name: \"No\" };\n }\n\n if (apiMeter.septicTank !== undefined && apiMeter.septicTank !== null) {\n const strVal = String(apiMeter.septicTank).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sepTank = { name: \"Yes\" };\n else sepTank = { name: \"No\" };\n }\n\n const updatedDefaults = {\n connectionCategory: savedData.connectionCategory || apiMeter.connectionCategory || \"\",\n saType: savedData.saType || apiMeter.saType || \"\",\n status: savedData.status || apiMeter.statusFlag || \"\",\n mrCode: savedData.mrCode || (apiMeter.mrcode ? String(apiMeter.mrcode) : \"\"),\n areaCode: savedData.areaCode || (apiMeter.areacode ? String(apiMeter.areacode) : \"\"),\n mrKey: savedData.mrKey || (apiMeter.mrkey ? String(apiMeter.mrkey) : \"\"),\n meterNumber: savedData.meterNumber || apiMeter.meterNumber || \"\",\n meterMaker: savedData.meterMaker || apiMeter.meterMake || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : mStatus,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : mCondition,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : mLoc,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : billRec,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : billMonYr,\n reason: savedData.reason || apiMeter.lastBillNotRaisedReason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : accToMeter,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : sewerConn,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : sepTank,\n meterPhoto: savedData.meterPhotoId || apiMeter.meterPhotoFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.meterPhoto) {\n setMeterPhotoId(updatedDefaults.meterPhoto);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setMeterPhotoId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n const meterStatusChanged =\n (data?.meterStatus?.name || data?.meterStatus) !==\n (localFormData?.meterStatus?.name || localFormData?.meterStatus);\n\n const lastBillReceivedChanged =\n (data?.lastBillReceived?.name || data?.lastBillReceived) !==\n (localFormData?.lastBillReceived?.name || localFormData?.lastBillReceived);\n\n const sewerConnectionChanged =\n (data?.sewerConnection?.name || data?.sewerConnection) !==\n (localFormData?.sewerConnection?.name || localFormData?.sewerConnection);\n\n if (meterStatusChanged || lastBillReceivedChanged || sewerConnectionChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const connCatVal = data?.connectionCategory;\n const mStatusVal = data?.meterStatus;\n const mLocVal = data?.meterLocation;\n const billRecVal = data?.lastBillReceived;\n const sewerConnVal = data?.sewerConnection;\n const mPhotoId = meterPhotoId || data?.meterPhoto;\n const reasonVal = data?.reason;\n const billMonYrVal = data?.billMonthYear;\n const sepTankVal = data?.septicTank;\n\n let valid = true;\n if (!connCatVal) valid = false;\n if (!mStatusVal) valid = false;\n if (!mLocVal) valid = false;\n if (!billRecVal) valid = false;\n if (!sewerConnVal) valid = false;\n\n if (mStatusVal?.name === \"Metered\" && !mPhotoId) valid = false;\n if (billRecVal?.name === \"No\" && !reasonVal) valid = false;\n if (billRecVal?.name === \"Yes\" && !billMonYrVal) valid = false;\n if (sewerConnVal?.name === \"No\" && !sepTankVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n connectionCategory: data.connectionCategory,\n saType: data.saType,\n status: data.status,\n mrCode: data.mrCode,\n areaCode: data.areaCode,\n mrKey: data.mrKey,\n meterNumber: data.meterNumber,\n meterMaker: data.meterMaker,\n meterStatus: data.meterStatus?.name || data.meterStatus,\n meterCondition: data.meterCondition?.name || data.meterCondition,\n meterLocation: data.meterLocation?.name || data.meterLocation,\n lastBillReceived: data.lastBillReceived?.name || data.lastBillReceived,\n billMonthYear: data.billMonthYear?.name || data.billMonthYear,\n reason: data.reason,\n accessToMeter: data.accessToMeter?.name || data.accessToMeter,\n sewerConnection: data.sewerConnection?.name || data.sewerConnection,\n septicTank: data.septicTank?.name || data.septicTank,\n meterPhotoId: meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Meter details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update meter details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = MeterDetailsConfig(\n t,\n localFormData,\n handleUpload,\n meterPhoto,\n meterPhotoId,\n setMeterPhoto,\n setMeterPhotoId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 20,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 20,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return dashboardData?.consumerList || [];\n }, [isSearchActive, searchData, dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n const searchDetails = item.connectionDetails || {};\n const fullName = (searchDetails.firstName || searchDetails.middleName || searchDetails.lastName)\n ? `${searchDetails.firstName || \"\"} ${searchDetails.middleName || \"\"} ${searchDetails.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : searchDetails.consumerName || \"\";\n\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: fullName,\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: fullName,\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = (item.firstName || item.middleName || item.lastName)\n ? `${item.firstName || \"\"} ${item.middleName || \"\"} ${item.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : item.consumerName || item.citizenName || \"\";\n\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: fullName,\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName,\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 20,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useEffect, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport {\n Card,\n CardHeader,\n CardText,\n Loader,\n StatusTable,\n Row,\n InboxComposer,\n VerticalTimeline,\n SubmitBar,\n} from \"@djb25/digit-ui-react-components\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\nconst EkycStatus = () => {\n const { t } = useTranslation();\n const { id } = useParams();\n const history = useHistory();\n\n // Separate states for the input form state and the triggered search query\n const [formState, setFormState] = useState({\n searchForm: {\n kNumber: id && id !== \":id\" ? id : \"\",\n },\n filterForm: {},\n });\n const [searchQuery, setSearchQuery] = useState(id && id !== \":id\" ? id : \"\");\n const [errorMsg, setErrorMsg] = useState(\"\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // Sync states with URL id parameter change (e.g. back navigation or page load)\n // Added strict equality check to prevent infinite re-render loop\n useEffect(() => {\n const currentKNumber = formState?.searchForm?.kNumber || \"\";\n const targetKNumber = id && id !== \":id\" ? id : \"\";\n if (currentKNumber !== targetKNumber) {\n setFormState({\n searchForm: { kNumber: targetKNumber },\n filterForm: {},\n });\n setSearchQuery(targetKNumber);\n }\n }, [id]);\n\n // Fetch eKYC review/status data - only triggers on 'searchQuery' state\n const { data: searchData, isLoading: isReviewLoading } = Digit.Hooks.ekyc.useEkycSearchReview(\n { kno: searchQuery, fetchType: \"REVIEW\" },\n tenantId,\n {\n enabled: !!searchQuery,\n retry: false,\n onError: (err) => {\n setErrorMsg(err?.message || t(\"EKYC_STATUS_NOT_FOUND\", \"eKYC Application not found.\"));\n },\n }\n );\n\n // Fetch connection/application details via useSearchConnection\n const { data: connectionSearchData, isLoading: isConnectionLoading } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchQuery } },\n { enabled: !!searchQuery, retry: false }\n );\n\n const isLoading = isReviewLoading || isConnectionLoading;\n\n const onSearchFormSubmit = (data) => {\n const val = data?.kNumber?.trim();\n if (!val) {\n setErrorMsg(t(\"EKYC_PLEASE_ENTER_KNO\", \"Please enter a valid K-Number.\"));\n return;\n }\n setErrorMsg(\"\");\n setFormState({\n searchForm: data,\n filterForm: {},\n });\n setSearchQuery(val);\n history.push(`/digit-ui/citizen/ekyc/${val}`);\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", \"\");\n setErrorMsg(\"\");\n setFormState({\n searchForm: { kNumber: \"\" },\n filterForm: {},\n });\n setSearchQuery(\"\");\n history.push(\"/digit-ui/citizen/ekyc/:id\");\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n const propsForInboxTable = {\n columns: [],\n data: [],\n limit: 10,\n offset: 0,\n };\n\n const propsForInboxMobileCards = {\n data: [],\n };\n\n const getStatusDetails = () => {\n if (!searchData) return null;\n const reviewWrapper = searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const appData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n const newData = appData?.newData || appData;\n const connection = newData?.connectionDetails || newData || {};\n\n const naText = t(\"CS_NA\", \"N/A\");\n const connRaw = connectionSearchData?.connectionDetails || connectionSearchData || {};\n const addrRaw = connectionSearchData?.addressDetails || {};\n const propRaw = connectionSearchData?.propertyInfo || {};\n const meterRaw = connectionSearchData?.meterDetails || {};\n\n const rawStatus = (connection?.ekycStatus || connection?.ekycstatus || connRaw?.ekycStatus || propRaw?.ekycStatus || meterRaw?.ekycStatus || \"NA\").toUpperCase();\n\n const reviewName = connection?.consumerName || [newData?.firstName, newData?.middleName, newData?.lastName].filter(Boolean).join(\" \");\n const connName = connRaw?.consumerName || [connRaw?.firstName, connRaw?.middleName, connRaw?.lastName].filter(Boolean).join(\" \");\n\n const reviewPhone = connection?.phoneNumber || connection?.mobileNo || connection?.mobileNumber;\n const connPhone = connRaw?.phoneNumber || connRaw?.mobileNo || connRaw?.mobileNumber || addrRaw?.mobileNo || addrRaw?.phoneNumber || addrRaw?.mobileNumber;\n\n const reviewType = connection?.connectionType || connection?.connectionCategory;\n const connType = connRaw?.connectionType || connRaw?.connectionCategory || connRaw?.knoCategory || propRaw?.connectionType || propRaw?.connectionCategory || meterRaw?.connectionCategory;\n\n return {\n kno: connection?.knumber || connection?.kno || connRaw?.knumber || connRaw?.kno || searchQuery,\n consumerName: (reviewName && reviewName !== naText && reviewName !== \"\") ? reviewName : (connName || naText),\n phoneNumber: (reviewPhone && reviewPhone !== naText && reviewPhone !== \"\") ? reviewPhone : (connPhone || naText),\n connectionType: (reviewType && reviewType !== naText && reviewType !== \"\") ? reviewType : (connType || naText),\n status: rawStatus,\n };\n };\n\n const details = getStatusDetails();\n\n // Visual Stepper configuration for VerticalTimeline\n const timelineConfig = [\n {\n route: \"submitted\",\n timeLine: [\n {\n currentStep: 1,\n actions: t(\"EKYC_STEP_SUBMITTED\", \"eKYC Survey Submitted\"),\n },\n ],\n },\n {\n route: \"verification\",\n timeLine: [\n {\n currentStep: 2,\n actions: t(\"EKYC_STEP_UNDER_VERIFICATION\", \"Under Verification\"),\n },\n ],\n },\n {\n route: \"zro-decision\",\n timeLine: [\n {\n currentStep: 3,\n actions: t(\"EKYC_STEP_ZRO_DECISION\", \"ZRO Decision\"),\n },\n ],\n },\n ];\n\n let activeStepIndex = 0;\n if (details) {\n if (details.status === \"APPROVED\") {\n activeStepIndex = 3;\n } else if (details.status === \"REJECTED\") {\n activeStepIndex = 2;\n } else if (details.status === \"PENDING_FOR_VERIFICATION\") {\n activeStepIndex = 1;\n } else {\n activeStepIndex = 1;\n }\n }\n\n const getStatusText = (status) => {\n const key = `EKYC_STATUS_${status}`;\n const val = t(key);\n if (val === key) {\n if (status === \"APPROVED\") return \"Approved\";\n if (status === \"REJECTED\") return \"Rejected\";\n if (status === \"PENDING_FOR_VERIFICATION\") return \"Pending For Verification\";\n return status;\n }\n return val;\n };\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n {!isLoading && details && (\n <VerticalTimeline config={timelineConfig} currentActiveIndex={activeStepIndex} />\n )}\n <div className=\"employee-form-section\">\n <div className=\"single-page-form-container\">\n {/* 1. Search Form Card rendered with InboxComposer */}\n <Card className=\"ekyc-status-search-card\">\n <CardHeader className=\"ekyc-status-card-header\">\n {t(\"EKYC_APPLICATION_STATUS_TRACKER\", \"eKYC Application Status\")}\n </CardHeader>\n <CardText className=\"ekyc-status-card-text\">\n {t(\"EKYC_STATUS_TRACKER_SUBHEADER\", \"Enter your K-Number below to track the real-time status of your eKYC application.\")}\n </CardText>\n\n <div className=\"status-search-composer-wrapper\">\n <InboxComposer\n {...{\n isInboxLoading: false,\n ...propsForSearchForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n showSearchOnMobile: true,\n }}\n />\n </div>\n </Card>\n\n {errorMsg && (\n <div className=\"ekyc-status-error-msg\">\n {errorMsg}\n </div>\n )}\n\n {/* 2. Results Card */}\n {isLoading && <Loader />}\n\n {!isLoading && details && (\n <Card className=\"ekyc-status-results-card\">\n {/* Status overview and badge */}\n <div className=\"ekyc-status-overview-header\">\n <div>\n <span className=\"ekyc-status-label-title\">\n {t(\"EKYC_CURRENT_STATUS\", \"Current Status\")}\n </span>\n <div className=\"ekyc-status-value-text\">\n {getStatusText(details.status)}\n </div>\n </div>\n <span className={`ekyc-status-badge ${details.status.toLowerCase()}`}>\n {details.status}\n </span>\n </div>\n\n {/* Details Table */}\n <div className=\"ekyc-status-details-section\">\n <h3 className=\"ekyc-status-details-title\">\n {t(\"EKYC_CONNECTION_SUMMARY\", \"Connection Summary\")}\n </h3>\n <StatusTable>\n <Row label={t(\"EKYC_K_NUMBER\", \"K-Number\")} text={details.kno} />\n <Row label={t(\"EKYC_CONSUMER_NAME\", \"Consumer Name\")} text={details.consumerName} />\n <Row label={t(\"EKYC_MOBILE_NO\", \"Mobile Number\")} text={details.phoneNumber} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\", \"Connection Type\")} text={details.connectionType} />\n </StatusTable>\n </div>\n\n {/* View Application button */}\n <div className=\"ekyc-status-action-section\" style={{ marginTop: \"24px\", display: \"flex\", justifyContent: \"flex-end\" }}>\n <SubmitBar\n label={t(\"EKYC_VIEW_APPLICATION\", \"View Application\")}\n onSubmit={() => history.push(`/digit-ui/citizen/ekyc/status/${details.kno}`)}\n />\n </div>\n </Card>\n )}\n </div>\n </div>\n </div>\n </React.Fragment>\n );\n\n \n};\n\nexport default EkycStatus;\n","import React from \"react\";\nimport { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch, Redirect, Route } from \"react-router-dom\";\nimport AadhaarVerification from \"../../components/AadhaarVerification\";\nimport PropertyInfo from \"../../components/PropertyInfo\";\nimport MeterDetails from \"../../components/MeterDetails\";\nimport Review from \"../../components/Review\";\nimport Inbox from \"./Inbox\";\nimport AssignEkyc from \"../../components/AssignEkyc\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard\";\nimport EkycStatus from \"./EkycStatus\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n const { data: { stateInfo } = {} } = Digit.Hooks.useStore.getInitData();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC citizen home\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(\"EKYC_MODULE_NAME\"), path: `/digit-ui/citizen/ekyc` },\n ];\n\n // Child crumb — only appended when on a sub-page\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/aadhaar-verification\")) {\n crumbs.push({ label: t(\"EKYC_AADHAAR_VERIFICATION\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/citizen/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/citizen/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n } else if (pathname.includes(\"/supervisor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") });\n } else if (pathname.includes(\"/surveyor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n } else if (pathname.includes(\"/vendor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DASHBOARD\") || \"Vendor Dashboard\" });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/status/\") || /^\\/digit-ui\\/citizen\\/ekyc\\/[^/]+$/.test(pathname)) {\n const statusLabel = t(\"EKYC_STATUS\");\n crumbs.push({ label: statusLabel === \"EKYC_STATUS\" || statusLabel === \"STATUS\" ? \"eKYC Status\" : statusLabel });\n }\n // home (exact path) → no child crumb\n\n return crumbs;\n };\n\n // const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n // const isEkyAction = (!roles?.includes(\"EKYC_SURVEYOR\") || roles?.includes(\"EMPLOYEE\"))\n\n return (\n <AppContainer>\n <div className=\"ground-container form-container\" style={{ flex: 1 }}>\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <Switch>\n <Route exact path={`${path}`}>\n <Redirect to=\"/digit-ui/citizen/ekyc-home\" />\n </Route>\n <PrivateRoute\n path={[`${path}/vendor-dashboard/:vendorId`, `${path}/vendor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AadhaarVerification />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/address-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AddressDetails />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <PropertyInfo />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <MeterDetails />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/status/:applicationId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <EkycStatus />\n </LayoutWrapper>\n )}\n />\n </Switch>\n </div>\n </AppContainer>\n );\n};\n\nexport default CitizenApp;\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CitizenHomeCard, DocumentIcon, Loader } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"./components/EKYCCard\";\nimport Inbox from \"./components/Dashboard\";\nimport DesktopInbox from \"./components/DesktopInbox\";\nimport MobileInbox from \"./components/MobileInbox\";\nimport Filter from \"./components/Filter\";\nimport EmployeeApp from \"./pages/employee\";\nimport CitizenApp from \"./pages/citizen\";\nimport PropertyInfo from \"./components/PropertyInfo\";\nimport MeterDetails from \"./components/MeterDetails\";\nimport AadhaarVerification from \"./components/AadhaarVerification\";\n\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading } = Digit.Services.useStore({ stateCode, moduleCode, language });\n\n Digit.SessionStorage.set(\"EKYC_TENANTS\", tenants);\n\n useEffect(\n () =>\n Digit.LocalizationService.getLocale({\n modules: [`rainmaker-${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","Digit","Utils","ekycAccess","tenantId","ULBService","getCurrentTenantId","citizenInfo","SessionStorage","get","info","roles","Array","isArray","map","ele","code","_Digit$Hooks$ekyc$use","Hooks","ekyc","useEkycApplicationList","offset","limit","enabled","listData","data","isLoading","totalCount","isCitizen","window","location","pathname","includes","prefix","links","push","label","link","count","length","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","EmployeeModuleCard","_iteratorSymbol","Symbol","iterator","_asyncIteratorSymbol","asyncIterator","_catch","body","recover","result","e","then","_finallyRethrows","finalizer","bind","getChartConstructor","C","Chartjs","StatusCards","_ref","countData","_useState","useState","ekycDownloadLoading","setEkycDownloadLoading","_useState2","showReportMenu","setShowReportMenu","_useState3","from","to","customDate","setCustomDate","_useState4","showCustomPicker","setShowCustomPicker","reportMenuRef","useRef","useEffect","handler","current","contains","target","document","addEventListener","removeEventListener","loggedInUser","fullName","name","handleDownloadEkycData","fromDate","toDate","Promise","resolve","EkycService","application_list","_extends","reportDownload","response","consumerList","alert","excludedKeys","headerMapping","kno","firstName","middleName","lastName","status","ekycStatus","zoneName","zoneCode","assembly","ward","pincode","addressRaw","locality","subLocality","flatHouseNumber","streetName","landmark","city","state","addressType","addressProofType","mobileNo","alternateMobileNo","whatsappNo","email","landlineNo","mrkey","mrcode","areacode","source","submittedAt","assignedAt","connectionType","Type","occupantType","knoCategory","approvedAt","gender","parentSpouse","fatherOrHusbandName","relationship","informantName","informantRelation","informantIs","contactPerson","relation","entityName","designation","department","employeeId","ownerMobile","ownerVerificationDone","consentGiven","proofOfIdentityType","documentNumber","noOfPerson","latitude","longitude","gpsValid","meterNumber","meterMake","meterStatus","meterCondition","meterLocation","meterLocationAddress","workingStatus","sewerConnection","septicTank","lastBillRaised","lastBillReceivedDate","accessToMeter","systemMeterId","lastBillNotRaisedReason","waterConnectionYears","sewerConnectionYears","pidNumber","propertyType","subPropertyCategory","noOfFloor","noOfRooms","noOfBeds","numberOfDwellingUnits","floorNo","userType","tenantName","tenantMobile","verificationStatus","houseBuiltDuration","surveyorId","supervisorId","vendorId","assignmentType","assignmentValue","assignedTime","isSelfAssigned","doorPhotoFilestoreId","panFilestoreId","documentProofFilestoreId","buildingImageFileStoreId","propertyDocumentFileStoreId","meterPhotoFileStoreId","modifiedBy","emailId","dob","consumerType","createdTime","lastModifiedTime","meterLatitude","meterLongitude","toTitleCase","str","cleanStr","String","isNaN","Number","split","pop","toLowerCase","replace","c","toUpperCase","skipTitleCase","translatedFields","excelData","item","cleanObj","filter","Boolean","join","keys","Object","orderedKeys","key","forEach","val","date","Date","pad","n","padStart","getDate","getMonth","getFullYear","getHours","getMinutes","getSeconds","friendlyHeader","cleanFileName","Download","Excel","error","console","_wasThrown","_result","reject","getDateRange","now","start","setHours","setDate","getDay","handlePresetDownload","range","getTime","handleCustomDownload","chartRef1","chartInstance1","efficiency","total","Math","round","submittedCount","completed","formatNumber","num","Intl","NumberFormat","format","destroy","ctx1","getContext","ChartConstructor","type","labels","datasets","pending","submitted","inprocess","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","selfEkycCount","rejected","className","FaChartBar","size","style","paddingInline","borderRadius","ref","disabled","onClick","p","MdDownloadIcon","_ref2","onChange","gap","marginTop","stopPropagation","width","height","Dashboard","useEkycAssignmentProgress","allVendorsDetailed","keepPreviousData","progressData","isProgressLoading","useMemo","totalKnosInSystem","completedKnosInZones","pendingKnosInZones","rejectedKnos","totalAssignments","submittedKnos","overallProgressPercent","Loader","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kNumber","aadhaarData","columns","Header","accessor","Cell","_row$original","_row$original2","row","original","applicationNumber","_ref3","_row$original3","citizenName","_ref4","_row$original4","_row$original5","_ref5","_row$original6","_row$original7","raw","ekycstatus","_ref6","_row$original8","_row$original9","tableData","items","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","Card","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_searchParams","setSearchParams","prev","onSubmit","preventDefault","onClear","cleared","kName","HomeIcon","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","x1","y1","x2","y2","TextInput","placeholder","d","todaysAudits","auditChange","pendingCount","i","fromCharCode","MobileInbox","_data$items","mobileData","mobileNumber","Link","SubmitBar","DetailsCard","serviceRequestIdKey","linkPrefix","text","index","textAlign","Filter","statusMap","applyLocalFilters","clearAll","onStatusChange","newParams","FilterForm","handleSubmit","fn","onResetFilterForm","id","onMobileExclusiveFilterPopupFormClose","onClose","FilterFormField","fontWeight","Dropdown","option","optionKey","select","selected","downloadSurveyorPDF","rows","surveyorName","vendorName","supervisorName","dashboardInfo","initData","tenants","tenantInfo","find","tenant","capitalize","substr","ulbCamel","ulb","phoneNumber","currentDate","formattedDate","toLocaleDateString","day","month","year","formattedTime","toLocaleTimeString","hour","minute","second","hour12","downloadDateTime","isValDefined","undefined","details","title","asSectionHeader","values","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","downloadSupervisorPDF","mappedRows","_row$owner","_row$owner2","owner","progress","originalToLocaleDateString","prototype","progressIndex","_len","arguments","args","_key","apply","customT","downloadVendorPDF","emailContact","_len2","_key2","VendorDetailsCard","_vendor$owner","_vendor$owner2","_vendorName$charAt","_progressData$supervi","_useParams","useParams","_Digit$Hooks$fsm$useV","fsm","useVendorSearch","filters","ids","config","staleTime","_Digit$Hooks$fsm$useV2","_Digit$Hooks$fsm$useV3","_Digit$Hooks$fsm$useV4","vendor","_Digit$Hooks$fsm$useV5","isVendorSearchLoading","targetVendorId","zoneIds","_vendor$zoneIds","zone","trim","cards","totalKnos","totalKnosInZones","selfEkycCountInZones","submittedKnosInZones","pendingKnos","progressPercent","icon","FaDatabase","FaFileAlt","FaBuilding","FaUser","FaClock","FaChartLine","setCurrentPage","pageSize","setPageSize","supervisorColumns","_Digit$SessionStorage3","targetPath","href","textDecoration","_useState5","_useState6","_useState7","reportLoading","setReportLoading","handleDownload","rowsWithStats","supervisorReport","s","err","StatCard","Fragment","isPageLoading","charAt","card","idx","flexWrap","tableTitle","tableClass","isTableScrollable","isPaginationRequired","_progressData$supervi2","ceil","onFirstPage","onLastPage","_progressData$supervi3","max","useInboxTableConfig","_formState$tableForm","_formState$tableForm2","_formState$searchForm","formState","table","dispatch","checkPathName","onSortingByData","_ref$inboxStyles","inboxStyles","_ref$tableStyle","tableStyle","tableForm","tableColumnConfig","disableSortBy","DateUtils","ConvertEpochToDate","_ref7","disableSort","autoSort","manualPagination","initSortId","floor","_formState$tableForm3","action","parseInt","_formState$tableForm4","searchForm","message","SearchFormFieldsComponents","searchFormState","controlSearchForm","searchType","errors","Label","CustomTooltip","Controller","control","defaultValue","rules","pattern","render","CardLabelError","useInboxMobileCardsData","_ref$isSupervisor","isSupervisor","handleSupervisorReview","dataForMobileInboxCards","_item$owner","serviceType","MobileSortFormValues","sortOrderOptions","i18nKey","_useFormContext","useFormContext","controlSortForm","SearchField","RadioButtons","onSelect","selectedOption","optionsKey","isTwoDynamicPrefix","getRedirectionLink","handleClickEnabled","Inbox","_formState$searchForm3","_formState$searchForm4","useLocation","formInitValue","filterForm","sortBy","sortOrder","_useReducer","useReducer","formReducer","queryParams","isListLoading","_Digit$Hooks$ekyc$use2","_Digit$Hooks$ekyc$use3","searchDetails","_formState$searchForm2","isSearchActive","_Digit$Hooks$ekyc$use4","useSearchConnection","isSearchLoading","searchData","sourceData","filteredData","_item$sla","isSearchItem","connectionDetails","_item$propertyInfo","_item$propertyInfo2","_item$connectionDetai","_item$propertyInfo3","_item$connectionDetai2","_item$connectionDetai3","_item$connectionDetai4","_item$connectionDetai5","applicationNo","propertyInfo","connectionNo","consumerName","statusflag","sla","progressMetrics","_progressData$totalKn","_progressData$submitt","_progressData$pending","_progressData$overall","toFixed","FaUsers","FaCheckCircle","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","payload","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","onMobileSortOrderData","onSortFormReset","setSortFormValue","propsForMobileSortForm","sortFormDefaultValues","propsForInboxMobileCards","isInboxLoading","marginBottom","InboxComposer","forceTable","showSearchOnMobile","ActionButton","jumpTo","routeTo","isEditing","LinkButton","EditIcon","margin","checkForNA","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","background","border","overflow","borderBottom","justifyContent","alignItems","CardSubHeader","fontSize","borderCollapse","tableLayout","textTransform","field","valNew","valOld","normalizeVal","v","isChanged","borderTop","preTranslated","isBool","Review","_newDataRaw$connectio","_newDataRaw$connectio2","_newDataRaw$connectio3","_newDataRaw$address","_newDataRaw$address2","_newDataRaw$address3","_newDataRaw$address4","_newDataRaw$address5","_newDataRaw$address6","_newDataRaw$address7","_newDataRaw$address8","_newDataRaw$address9","_newDataRaw$address0","_newDataRaw$address1","_newDataRaw$address10","_newDataRaw$address11","_newDataRaw$address12","_newDataRaw$address13","_newDataRaw$address14","_newDataRaw$property","_newDataRaw$property2","_editedProperty$conne","_newDataRaw$property3","_editedProperty$conne2","_newDataRaw$property4","_editedProperty$userT","_newDataRaw$property5","_editedProperty$noOfF","_newDataRaw$property6","_newDataRaw$property7","_newDataRaw$meter","_editedMeter$meterSta","_newDataRaw$meter2","_newDataRaw$meter3","_newDataRaw$meter4","_newDataRaw$meter5","_editedMeter$workingS","_newDataRaw$meter6","_editedMeter$lastBill","_newDataRaw$meter7","_newDataRaw$meter8","_Digit$UserService$ge","applicationId","agree","setAgree","isSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","showOptions","setShowOptions","showToast","setShowToast","toastData","setToastData","_flowState$edits","edits","activeKno","_edits$aadhaarData","_edits$addressDetails","addressDetails","editedAddress","_edits$propertyDetail","propertyDetails","editedProperty","_edits$meterDetails","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","userRoles","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","_extractReviewData","apiNewData","apiOldData","flatNewData","flatOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","address","connectionCategory","meterNo","statusFlag","knumber","fullAddress","flatNo","buildingTower","building","pinCode","noOfPersons","doorPhotoFileStoreId","property","typeOfConnection","numberOfFloors","buildingImageFilestoreId","meter","metered","meterPhotoFilestoreId","newDataRaw","connectionData","addressData","whatsappNumber","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","workingStatusData","lastBillRaisedData","handleDeclaration","loggedInUserInfo","UserService","getUser","_Digit$Hooks$useUserS","useUserSearch","uuid","userData","supervisorData","user","matchedSupervisor","userName","handleReject","_Digit$UserService$ge2","RequestInfo","apiId","ver","msgId","authToken","access_token","remarks","reviewedBy","role","_temp","mutateAsync","setTimeout","_err$response","_err$response$data","_err$response2","_err$response2$data","_err$response2$data$E","_err$response2$data$E2","_err$Errors","_err$Errors$","errMsg","Errors","handleApprove","_Digit$UserService$ge3","_temp2","_err$response3","_err$response3$data","_err$response3$data$E","_err$response3$data$E2","_err$Errors2","_err$Errors2$","handleViewDocument","fileStoreId","_temp4","UploadServices","FileFetchbyid","blobUrl","URL","createObjectURL","handleMenuSelect","StatusTable","maxWidth","Row","actionButton","GenericFileIcon","cursor","paddingTop","CheckBox","checked","ActionBar","Menu","position","top","left","zIndex","maxHeight","boxShadow","right","src","alt","onError","nextSibling","open","Toast","AadhaarVerificationConfig","formData","uploadFile","setDocumentId","documentId","_formData","_formData$consumerTyp","_formData2","_formData3","_formData3$occupantTy","_formData4","_formData$informantIs","_formData5","informantIsConsumer","isMandatory","populators","component","validation","required","min","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","AadhaarVerification","URLSearchParams","search","urlKno","searchKno","sessionStorage","getItem","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","toast","setToast","isDataLoaded","setIsDataLoaded","canSubmit","setCanSubmit","_savedData$informantI","categoryType","parentSpouseName","mobile","whatsapp","residents","identityType","idFile","tenantVerification","consent","defaultValues","setDefaultValues","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","_savedData$informantI2","fName","mName","lName","parts","slice","updatedDefaults","handleUploadProof","file","files","Filestorage","res","_res$data","_res$data$files","_res$data$files$","onFormValueChange","setValue","_data$consumerType","_localFormData$consum","_data$occupantType","_localFormData$occupa","consumerTypeChanged","occupantTypeChanged","informantIsConsumerChanged","knoVal","consumerTypeVal","occupantTypeVal","categoryTypeVal","firstNameVal","mobileVal","residentsVal","consentVal","docId","ownerMobileVal","valid","test","_data$consumerType2","_data$occupantType2","_data$categoryType","_data$gender","_data$identityType","_data$informantIsCons","submitData","landline","entityRelation","idProof","idNumber","updateType","Config","FormComposer","isDisabled","isCollapsible","isDefaultOpen","noCard","submitInForm","ekycConfig","route","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","showMapActualLocation","EKYCForm","passedPath","path","match","useRouteMatch","_Digit$Hooks$useSessi","useSessionStorage","params","setParams","_location$state","rest","goNext","skipStep","isAddMultiple","currentPath","routeObj","nextStep","currentIndex","findIndex","redirectWithHistory","base","handleSelect","silent","obj","concat","indexRoute","formStepRoutes","isFormStep","some","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","AdminDashboard","_Digit$Hooks$fsm$useD","useDsoSearch","vendorSearchResponse","allVendorIds","dso","dsoDetails","vendorReports","_vendor$vendorName","_vendor$vendorName$","totalSupervisors","totalSurveyors","SupervisorDetailsCard","_fullName$charAt","_Digit$Hooks$fsm$useS","useSupervisorSearch","supervisorSearchResponse","isSupervisorSearchLoading","targetId","supervisors","matchedSup","_s$id","_s$owner","_s$owner$uuid","vendorIds","_Digit$Hooks$fsm$useS2","useSurveyorSearch","surveyorSearchResponse","isSurveyorSearchLoading","supervisor","targetOwnerOrId","resolvedSupervisorId","selfSup","_s$owner2","_s$owner2$uuid","_s$id2","_s$id3","_s$owner3","_s$owner3$uuid","progressReport","_s$supervisorId","_s$id4","_progressReport","_progressReport2","_progressReport3","_matchedSup$owner2","_matchedSup$owner3","_matchedSup$owner4","_matchedSup$owner5","_matchedSup$owner6","_matchedSup$owner7","matchedSurveyors","surveyors","surv","_matchedSup$owner","_surv$owner3","_surv$owner4","_surv$owner5","_surv$owner6","_surv$owner7","_realStats","_realStats2","_realStats3","_realStats4","realStats","report","_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","reduce","acc","assignedZoneId","_loggedInUser$uuid","_supervisorSearchResp","_matchedSupForFallbac","_matchedSupForFallbac2","_matchedSupForFallbac3","isSelf","matchedSupForFallback","_s$id7","_s$owner4","_s$owner4$uuid","surveyorsMapped","_surveyorSearchRespon","_matchedSurv$owner","_matchedSurv$owner2","_matchedSurv$owner3","_matchedSurv$owner4","_matchedSurv$owner5","_s$id8","_surv$surveyorId","_s$owner5","_s$owner5$uuid","_surv$surveyorId2","assignedZone","_matchedVendor$dsoDet","matchedVendor","_v$dsoDetails","_v$dsoDetails2","paginatedSurveyors","end","surveyorColumns","_Digit$SessionStorage4","completedKnos","points","AssignEkycModal","surveyor","isReassign","closeModal","refetchDashboard","propsTenantId","selectedKnos","setSelectedKnos","setFilters","debouncedFilters","setDebouncedFilters","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","structuredLocalityData","localities","boundaries","extractLocalities","node","localname","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","sanitizedPin","toString","add","sort","unassignedOnly","fetchFilterOptions","Infinity","filterOptionsData","pincodeOptions","mrkeyOptions","timer","clearTimeout","isFetching","refetchApplicationList","refetch","handleAssignmentError","isAlreadyAssigned","assignmentMutation","useEkycAssignmentCreate","onSuccess","variables","_response$data","skipped","_response$skipped$","reason","_temp3","_error$data","_error$response","_error$response$data","reassignMutation","useEkycAssignmentReassign","_response$data2","_response$skipped$2","_temp8","_temp6","_temp5","_temp7","_error$data2","_error$response2","_error$response2$data","activeMutation","allData","totalPages","paginatedData","handleAssign","_surveyor$owner","newSurveyorId","_surveyor$owner2","mutate","handleSelectAll","allMatchingKnos","isAllSelected","every","handleFilterChange","isAllChecked","Modal","headerBarMain","headerBarEnd","Close","actionCancelLabel","actionCancelOnSubmit","actionSaveLabel","actionSaveOnSubmit","pin","SurveyorDetailsDashboard","_surveyorSearchById$s","_surveyor$owner3","_surveyor$owner4","_dashboardData$dashbo","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner7","_surveyor$owner8","_surveyor$owner9","_dashboardData$dashbo5","_dashboardData$dashbo6","showModal","setShowModal","ownerIds","surveyorSearchById","isLoadingId","hasFoundById","surveyorSearchByOwner","isLoadingOwner","vendorData","isVendorLoading","_Digit$Hooks$fsm$useS3","_mappedVendor$dsoDeta","mappedVendor","_mappedSupervisor$own","mappedSupervisor","useEkycSurveyorDashboard","isDashboardLoading","dashboardData","knoColumns","_useState8","_useState9","_surveyor$owner5","dashboard","_response$dashboardIn","_surveyor$owner6","_wasThrown2","_result2","description","showAutoSerialNo","_dashboardData$dashbo7","_dashboardData$dashbo8","WorkOrder","setVendor","validFrom","setValidFrom","validTo","setValidTo","uploadedFile","setUploadedFile","setFile","setError","vendorOptions","_Digit$Hooks$wt$useVe","wt","useVendorWorkOrderCreate","createWorkOrder","getStateId","_response$data$files","_response$data2$files","vendorWorkOrder","isError","_err$response$data$Er","_err$response$data$Er2","selectfile","isFormDisabled","CollapsibleCardPage","flexDirection","DatePicker","extraStyleName","accept","storageKey","_row$original5$owner","SupervisorInboxTableConfig","AssignEkyc","paginationParms","isDataSearchLoading","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","additionalDetails","auditDetails","isCardLoading","breadcrumb","listLabel","listPath","detailLabel","getEkycRoutes","layout","SurveyorDetailsCard","ekycRoutes","EmployeeApp","removeItem","getDynamicBreadcrumbs","crumbs","pathSegments","ekycIndex","indexOf","relativeSegments","matchedPath","paths","singlePath","routeSegments","seg","startsWith","crumb","crumbPath","segment","RegExp","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","breadcrumbs","PrivateRoute","LayoutWrapper","layoutClass","businessService","isInbox","exact","PropertyInfoConfig","buildingImage","buildingImageId","setBuildingImage","setBuildingImageId","_formData$propertyTyp","isHotel","isHospitalOrNursing","objectFit","PropertyInfo","noOfFloors","dwellingUnits","propType","subPropCat","matchingType","numberOfRooms","numberOfBeds","handleUpload","reader","FileReader","onloadend","readAsDataURL","_data$propertyType","_localFormData$proper","propertyTypeChanged","propTypeVal","subPropCatVal","noOfFloorsVal","buildingImgId","noOfRoomsVal","noOfBedsVal","_data$propertyType2","_data$subPropertyCate","MeterDetailsConfig","uploadPhoto","meterPhoto","meterPhotoId","setMeterPhoto","setMeterPhotoId","_formData$meterStatus","_formData3$lastBillRe","_formData5$sewerConne","_formData6","lastBillReceived","isFrozen","monthYearOptions","y","m","yesNo","MeterDetails","saType","mrCode","areaCode","mrKey","meterMaker","billMonthYear","mStatus","mCondition","mLoc","billRec","billMonYr","accToMeter","sewerConn","sepTank","matchingStatus","o","matchingCond","matchingLoc","strVal","formatted","parsedParts","mon","yr","_data$meterStatus","_localFormData$meterS","_data$lastBillReceive","_localFormData$lastBi","_data$sewerConnection","_localFormData$sewerC","meterStatusChanged","lastBillReceivedChanged","sewerConnectionChanged","connCatVal","mStatusVal","mLocVal","billRecVal","sewerConnVal","mPhotoId","reasonVal","billMonYrVal","sepTankVal","_data$meterStatus2","_data$meterCondition","_data$meterLocation","_data$lastBillReceive2","_data$billMonthYear","_data$accessToMeter","_data$sewerConnection2","_data$septicTank","EkycStatus","setFormState","searchQuery","setSearchQuery","errorMsg","setErrorMsg","currentKNumber","targetKNumber","retry","isReviewLoading","connectionSearchData","isConnectionLoading","_data$kNumber","getStatusDetails","naText","connRaw","addrRaw","propRaw","meterRaw","rawStatus","reviewName","connName","reviewPhone","connPhone","reviewType","connType","timelineConfig","activeStepIndex","getStatusText","currentActiveIndex","CardHeader","CardText","CitizenApp","_useRouteMatch","_Digit$Hooks$useStore","useStore","getInitData","statusLabel","EkycModule","stateCode","url","language","StoreData","getCurrentLanguage","_Digit$Services$useSt","Services","LocalizationService","getLocale","modules","locale","page","EkycLinks","formattedLinks","l","CitizenHomeCard","DocumentIcon","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/EKYCCard.js","../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/utils/ekycExcelData.js","../src/components/StatusCards.js","../src/components/Dashboard.js","../src/components/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/utils/reportDownloader.js","../src/components/VendorDetailsCard.js","../src/hook/useInboxTableConfig.js","../src/components/SearchFormFieldsComponent.js","../src/hook/useInboxMobileCardsData.js","../src/pages/employee/Inbox.js","../src/components/Review.js","../src/config/AadhaarVerificationConfig.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../src/components/AdminDashboard.js","../src/components/SupervisorDetailsCard.js","../src/components/AssignEkycModal.js","../src/components/SurveyorDetailsCard.js","../src/pages/employee/WorkOrder.js","../../vendor/src/config/tableConfig.js","../src/hook/SupervisorInboxTableConfig.js","../src/components/AssignEkyc.js","../src/config/Routes.js","../src/pages/employee/index.js","../src/config/PropertyInfoConfig.js","../src/components/PropertyInfo.js","../src/config/MeterDetailsConfig.js","../src/components/MeterDetails.js","../src/pages/citizen/Inbox.js","../src/pages/citizen/EkycStatus.js","../src/pages/citizen/index.js","../src/Module.js"],"sourcesContent":["import { PersonIcon, EmployeeModuleCard } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst EKYCCard = () => {\n const { t } = useTranslation();\n if (!Digit.Utils.ekycAccess()) {\n return null;\n }\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({}, { tenantId, offset: 0, limit: 1 }, { enabled: !!tenantId });\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","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\nconst createHeaderMapping = (t) => ({\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\nconst 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\nconst 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\nconst translatedFields = [\"meterMake\", \"meterLocation\"];\n\nexport const getEkycExcelData = (consumerList = [], t = (k) => k) => {\n const headerMapping = createHeaderMapping(t);\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 return excelData;\n};\n\nexport const downloadEkycExcel = (consumerList = [], { fileName = \"eKYC_Data\", vendorName = \"\" } = {}, t = (k) => k) => {\n const excelData = getEkycExcelData(consumerList, t);\n const cleanFileName = vendorName ? `${fileName}_${vendorName.replace(/[^a-zA-Z0-9]/g, \"_\")}` : fileName;\n Digit.Download.Excel(excelData, cleanFileName);\n};\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Chartjs from \"chart.js/auto\";\nimport { FaChartBar, MdDownloadIcon } from \"@djb25/digit-ui-react-components\";\nimport { getEkycExcelData } from \"../utils/ekycExcelData\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\n\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const fullName = loggedInUser?.name || \"Admin\";\n\n const handleDownloadEkycData = async (fromDate, toDate) => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true,\n ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excelData = getEkycExcelData(consumerList, t);\n const cleanFileName = `eKYC_All_Data_Admin_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(range.from.getTime(), range.to.getTime());\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(from.getTime(), to.getTime());\n };\n\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n\n const efficiency = countData?.total > 0 ? Math.round(((countData?.submittedCount + countData?.completed) / countData?.total) * 100) : 0;\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n\n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\"), t(\"EKYC_SUBMITTED\"), t(\"EKYC_INPROCESS\")],\n datasets: [\n {\n data: [countData?.pending, countData?.completed, countData?.submitted, countData?.inprocess],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\", \"#49a3fb\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n },\n ],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: false,\n responsive: true,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n };\n }, [countData, t]);\n\n const legendItems = [\n {\n color: \"#77B6EA\",\n label: t(\"EKYC_TOTAL\"),\n value: countData?.total || 0,\n },\n {\n color: \"#0c2a52\",\n label: t(\"EKYC_PENDING\"),\n value: countData?.pending || 0,\n },\n {\n color: \"#2E8B57\",\n label: t(\"EKYC_COMPLETED\"),\n value: countData?.completed || 0,\n },\n // {\n // color: \"#4C8BF5\",\n // label: t(\"EKYC_ASSIGNED\"),\n // value: countData?.totalAssignments || 0,\n // },\n\n {\n color: \"#8B5CF6\",\n label: t(\"EKYC_SUBMITTED_BY_VENDORS\"),\n value: countData?.submittedCount || 0,\n },\n {\n color: \"#F59E0B\",\n label: t(\"EKYC_SUBMITTED_BY_CITIZEN\"),\n value: countData?.selfEkycCount || 0,\n },\n {\n color: \"#DC3545\",\n label: t(\"EKYC_REJECTED\"),\n value: countData?.rejected || 0,\n },\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-panel\">\n <div className=\"status-cards-header\">\n <div className=\"status-card-title\">\n <FaChartBar size={32} color=\"#fff\" backgroundColor=\"#065297\" style={{ paddingInline: \"4px\", borderRadius: \"4px \" }} />\n\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"total-applications-card download-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n\n <MdDownloadIcon />\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={(e) => {\n e.stopPropagation();\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button\n className=\"picker-apply-btn\"\n onClick={(e) => {\n e.stopPropagation();\n handleCustomDownload();\n }}\n >\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n <div className=\"status-breakdown-content\">\n {/* Chart */}\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n\n <div className=\"chart-center\">\n <div className=\"chart-percentage\">{efficiency}%</div>\n <div className=\"chart-label\">{t(\"EKYC_COMPLETE\") || \"Complete\"}</div>\n </div>\n </div>\n\n {/* Status Boxes */}\n <div className=\"status-boxes\">\n {legendItems.map((item) => (\n <div className=\"status-box\" key={item.label} style={{ \"--status-color\": item.color }}>\n <div className=\"status-box-top\">\n <span className=\"status-indicator\" style={{ backgroundColor: item.color }} />\n\n <span className=\"status-name\">{item.label}</span>\n </div>\n\n <div className=\"status-box-value\">{formatNumber(item.value)}</div>\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;\n","import React from \"react\";\nimport StatusCards from \"./StatusCards\";\n\nconst Dashboard = ({ progressData, isProgressLoading }) => {\n const countData = {\n total: progressData?.totalKnosInSystem || 0,\n completed: progressData?.completedKnosInZones || 0,\n pending: progressData?.pendingKnosInZones || 0,\n rejected: progressData?.rejectedKnos || 0,\n totalAssignments: progressData?.totalAssignments || 0,\n submittedCount: progressData?.submittedKnos || 0,\n selfEkycCount: progressData?.selfEkycCount || 0,\n overallProgressPercent: progressData?.overallProgressPercent || 0,\n };\n\n return isProgressLoading ? <EkycDashboardSkeleton /> : <StatusCards countData={countData} />;\n};\n\nexport default Dashboard;\n\nconst EkycDashboardSkeleton = () => {\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-panel ekyc-skel-panel\">\n <div className=\"status-cards-header\">\n <div className=\"status-card-title\">\n <div className=\"ekyc-skel ekyc-skel-icon\" />\n <div className=\"ekyc-skel ekyc-skel-title\" />\n </div>\n\n <div className=\"ekyc-skel ekyc-skel-download-btn\" />\n </div>\n\n <div className=\"status-breakdown-content\">\n {/* Chart */}\n <div className=\"chart-wrapper\">\n <div className=\"ekyc-skel ekyc-skel-donut\" />\n </div>\n\n {/* Status Boxes */}\n <div className=\"status-boxes\">\n {[1, 2, 3, 4].map((item) => (\n <div className=\"status-box\" key={item}>\n <div className=\"status-box-top\">\n <div className=\"ekyc-skel ekyc-skel-dot\" />\n <div className=\"ekyc-skel ekyc-skel-name\" />\n </div>\n <div className=\"ekyc-skel ekyc-skel-value\" />\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n );\n};\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","import { getEkycExcelData } from \"./ekycExcelData\";\n\nexport const downloadSurveyorPDF = async ({ rows, surveyorName, employeeId, mobileNumber, vendorName, supervisorName, dashboardInfo, t }) => {\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) => text && text.substr(0, 1).toUpperCase() + text.substr(1);\n // const ulbCamel = (ulb) => ulb && ulb.toLowerCase().split(\" \").map(capitalize).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 (window.Digit && window.Digit.Utils && window.Digit.Utils.pdf && window.Digit.Utils.pdf.generateSurveyorReport) {\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\nexport const downloadSupervisorPDF = async ({ rows, supervisorName, mobileNumber, vendorName, dashboardInfo, t }) => {\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 progress: row.progress || \"0%\",\n submittedAt: null,\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 (window.Digit && window.Digit.Utils && window.Digit.Utils.pdf && window.Digit.Utils.pdf.generateSurveyorReport) {\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 }catch{\n\n }\n};\n\nexport const downloadVendorPDF = async ({ rows, vendorName, mobileNumber, email, dashboardInfo, t }) => {\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(\"TOTAL_EKYC_APPLICATIONS\") || \"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 progress: row.progress || \"0%\",\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 === \"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 (window.Digit && window.Digit.Utils && window.Digit.Utils.pdf && window.Digit.Utils.pdf.generateSurveyorReport) {\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 } catch {\n \n }\n};\n\nexport const downloadEkycExcel = async ({ tenantId, vendorId, fromDate, toDate, fileName = \"eKYC_Data\", t }) => {\n try {\n const response = await Digit.EkycService.application_list({\n tenantId,\n offset: 0,\n limit: 10000,\n vendorId,\n reportDownload: true,\n ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\n });\n\n const consumerList = response?.consumerList || [];\n\n if (!consumerList.length) {\n alert(t(\"NO_EKYC_DATA_FOUND\") || \"No eKYC data found to download.\");\n return false;\n }\n\n const excelData = getEkycExcelData(consumerList, t);\n\n Digit.Download.Excel(excelData, fileName);\n\n return true;\n } catch (error) {\n console.error(\"Failed to download eKYC data:\", error);\n\n alert(t(\"EKYC_DOWNLOAD_FAILED\") || \"Failed to download eKYC data. Please try again.\");\n\n return false;\n }\n};\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table, MdDownloadIcon, FaDatabase, FaFileAlt } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { downloadVendorPDF } from \"../utils/reportDownloader\";\nimport { FaBuilding, FaUser, FaClock, FaChartLine } from \"react-icons/fa\";\nimport { getEkycExcelData } from \"../utils/ekycExcelData\";\n\nconst VendorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { vendorId } = useParams();\n\n const { data: { vendor: [vendor] = [] } = {}, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useVendorSearch({\n tenantId,\n filters: {\n status: \"ACTIVE\",\n ids: vendorId,\n },\n config: {\n enabled: !!tenantId,\n staleTime: 300000,\n },\n });\n\n // Match vendor details\n\n const targetVendorId = vendorId || vendor?.id || vendor?.vendorId;\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details) for target vendor\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n targetVendorId ? { vendorId: targetVendorId } : {},\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n const vendorName = vendor?.name || \"N/A\";\n const mobileNumber = vendor?.mobileNumber || vendor?.owner?.mobileNumber || \"N/A\";\n const email = vendor?.owner?.emailId || \"N/A\";\n // const status = vendor ? \"ACTIVE\" : \"N/A\";\n // const jurisdictions = useMemo(() => {\n // if (Array.isArray(vendor?.jurisdictions)) {\n // return vendor.jurisdictions.join(\", \");\n // }\n // return \"N/A\";\n // }, [vendor]);\n const zoneIds = useMemo(() => {\n return vendor?.zoneIds?.length ? vendor.zoneIds.filter(Boolean).map((zone) => String(zone).trim().toUpperCase()) : [];\n }, [vendor]);\n\n // KPI stats calculation\n const cards = useMemo(() => {\n const totalKnos = progressData?.totalKnosInZones || 0;\n const totalAssignments = progressData?.totalKnos || 0;\n // const completedKnos = progressData?.submittedKnos || 0;\n const selfEkycCount = progressData?.selfEkycCountInZones || 0;\n const submittedKnos = progressData?.submittedKnosInZones || 0;\n const pendingKnos = progressData?.pendingKnosInZones || 0;\n const progressPercent = progressData?.overallProgressPercent || 0;\n\n return [\n {\n label: \"TOTAL_KNOS\",\n count: totalKnos,\n color: \"#2563EB\", // Blue\n type: \"today\",\n icon: <FaDatabase />,\n },\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: totalAssignments,\n color: \"#0891B2\", // Cyan\n type: \"today\",\n icon: <FaFileAlt />,\n },\n // {\n // label: \"EKYC_SUBMITTED\",\n // count: completedKnos,\n // color: \"#10B981\",\n // type: \"month\",\n // icon: <FaCheckCircle />,\n // },\n {\n label: \"EKYC_SUBMITTED_BY_VENDORS\",\n count: submittedKnos,\n color: \"#0D9488\", // Teal\n type: \"month\",\n icon: <FaBuilding />,\n },\n {\n label: \"EKYC_SUBMITTED_BY_CITIZEN\",\n count: selfEkycCount,\n color: \"#7C3AED\", // Purple\n type: \"month\",\n icon: <FaUser />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: pendingKnos,\n color: \"#EA580C\", // Orange\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${progressPercent}%`,\n color: \"#DB2777\", // Pink\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n }, [vendor, progressData]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const handleDownloadEkycData = async (fromDate, toDate) => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n // Vendor-specific filter\n vendorId: targetVendorId,\n reportDownload: true,\n ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\n });\n\n const consumerList = response?.consumerList || [];\n\n if (!consumerList || consumerList.length === 0) {\n alert(t(\"NO_EKYC_DATA_FOUND\") || \"No eKYC data found to download.\");\n return;\n }\n const excelData = getEkycExcelData(consumerList, t);\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 supervisorColumns = useMemo(\n () => [\n {\n Header: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\",\n accessor: (row) => row?.original?.supervisorName || \"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?.supervisorId}`;\n\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?.supervisorName || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNo\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: (row) => row?.status || \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => <span className={`status-badge verified`}>{t(value) || value}</span>,\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_SUBMITTED\") || \"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 = progressData?.supervisorReport.map((s) => ({\n name: s.supervisorName,\n mobileNo: s.mobileNo,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent || 0}%`,\n }));\n\n downloadVendorPDF({\n rows: rowsWithStats,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: progressData?.totalKnosInZones,\n completed: progressData?.submittedKnosInZones + progressData?.selfEkycCountInZones,\n pending: progressData?.pendingKnosInZones,\n submittedCount: progressData?.submittedKnosInZones,\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;\n\n if (isPageLoading && !vendor) {\n return <Loader />;\n }\n\n if (!vendor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_VENDOR_FOUND\") || \"No Vendor Found\"}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{vendorName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{vendorName}</h2>\n <div className=\"designation\">{t(\"VENDOR_AGENCY\") || \"Agency / Vendor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\">\n <button className=\"download-btn\" disabled={reportLoading} onClick={handleDownload}>\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard key={idx} title={t(card.label)} value={card.count} type={card.type} isLoading={isPageLoading} icon={card.icon} />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Top Row: Mobile, Email, and Download eKYC Data */}\n <div className=\"details-top-row\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"download-card\">\n <div>\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") || \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n <MdDownloadIcon />\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={() => {\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button className=\"picker-apply-btn\" onClick={handleCustomDownload}>\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Bottom Row: Assigned Zones Full Width */}\n <div className=\"full-width-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONES\") || \"Assigned Zones\"}</span>\n <span className=\"value\">\n {zoneIds.length > 0 ? (\n <div className=\"selected-zones\" style={{ marginTop: \"4px\", width: \"100%\", display: \"flex\", flexWrap: \"wrap\", gap: \"8px\" }}>\n {zoneIds.map((zone) => (\n <span key={zone} className=\"selected-zone-chip\">\n {t(zone) || zone}\n </span>\n ))}\n </div>\n ) : (\n \"N/A\"\n )}\n </span>\n </div>\n </div>\n </div>\n\n <div>\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\"}\n tableClass=\"ekycTable\"\n isTableScrollable={true}\n data={progressData?.supervisorReport}\n columns={supervisorColumns}\n isLoading={isProgressLoading}\n totalRecords={progressData?.supervisorReport?.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(progressData?.supervisorReport?.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(progressData?.supervisorReport?.length / pageSize) - 1, 0))}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n </Card>\n );\n};\n\nexport default VendorDetailsCard;\n","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header } from \"@djb25/digit-ui-react-components\";\n\nconst useInboxTableConfig = ({\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n checkPathName,\n onSortingByData,\n tenantId,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const tableColumnConfig = [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n disableSortBy: true,\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"SUBMITTED_AT\") || \"Submitted At\",\n accessor: \"submittedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"ASSIGNED_AT\") || \"Assigned At\",\n accessor: \"assignedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n ];\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n initSortId: \"applicationDate\",\n onPageSizeChange: onPageSizeChange,\n currentPage: Math.floor(offset / limit),\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) + limit },\n checkPathName,\n }),\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) - limit },\n checkPathName,\n }),\n pageSizeLimit: limit,\n onSort: onSortingByData,\n // sortParams: [{id: getValues(\"sortBy\"), desc: getValues(\"sortOrder\") === \"DESC\" ? true : false}],\n totalRecords: totalCount,\n onSearch: formState?.searchForm?.message,\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: Math.max(0, Math.floor((totalCount - 1) / limit) * limit) },\n checkPathName,\n }),\n onFirstPage: () => dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, offset: 0 }, checkPathName }),\n // globalSearch: {searchForItemsInTable},\n // searchQueryForTable,\n data: table,\n columns: tableColumnConfig,\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default useInboxTableConfig;\n","import React from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport { CardLabelError, TextInput, CustomTooltip, Label } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchFormFieldsComponents = ({ searchFormState, controlSearchForm, searchType }) => {\n const { t } = useTranslation();\n const { errors } = searchFormState;\n\n if (searchType === \"mobile\") {\n return (\n <React.Fragment>\n {/* MOBILE NUMBER */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"ES_COMMON_MOBILE_NUM\") || \"Mobile Number\"}\n <CustomTooltip message={t(\"EKYC_MOBILE_NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"mobileNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[6-9]\\d{9}$/,\n message: t(\"ERR_INVALID_MOBILE_NUMBER\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.mobileNumber && <CardLabelError>{errors.mobileNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment>\n {/* K NUMBER (KNO) */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"EKYC_K.NUMBER\") || \"K Number\"}\n <CustomTooltip message={t(\"EKYC_K.NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"kNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[0-9]{10}$/,\n message: t(\"ERR_INVALID_KNO\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.kNumber && <CardLabelError>{errors.kNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n};\n\nexport default SearchFormFieldsComponents;\n","import { RadioButtons, SearchField } from \"@djb25/digit-ui-react-components\";\nimport React, { useState } from \"react\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nconst useInboxMobileCardsData = ({ table, tenantId, isSupervisor = false }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (!isSupervisor && reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData, isSupervisor]);\n\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const handleSupervisorReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const dataForMobileInboxCards = table?.map((item) => {\n if (isSupervisor) {\n const id = item.id;\n const status = item.status || \"DEFAULT\";\n\n return {\n [t(\"SURVEYOR_NAME\")]: (\n <span className=\"link\" onClick={() => handleSupervisorReview(id)}>\n {item.surveyorName || item.name || \"NA\"}\n </span>\n ),\n [t(\"MOBILE_NUMBER\")]: item.mobileNo || item.owner?.mobileNumber || \"NA\",\n [t(\"STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>,\n [t(\"SERVICE_TYPE\")]: item.serviceType || \"NA\",\n };\n } else {\n const kno = item.kno || item.applicationNumber || \"NA\";\n const status = (item.status || \"DEFAULT\").toUpperCase();\n const ekycStatus = (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase();\n\n return {\n [t(\"EKYC_APPLICATION_NO\")]: (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n ),\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName || \"NA\",\n [t(\"EKYC_STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>,\n [t(\"SUBMITTED_AT\")]: item.submittedAt ? Digit.DateUtils.ConvertEpochToDate(item.submittedAt) : \"-\",\n [t(\"ASSIGNED_AT\")]: item.assignedAt ? Digit.DateUtils.ConvertEpochToDate(item.assignedAt) : \"-\",\n [t(\"EKYC_EKYC_STATUS\")]: <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>,\n };\n }\n });\n\n const MobileSortFormValues = () => {\n const sortOrderOptions = [\n {\n code: \"DESC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_FIRST\",\n },\n {\n code: \"ASC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_LAST\",\n },\n ];\n const { control: controlSortForm } = useFormContext();\n return (\n <SearchField>\n <Controller\n name=\"sortOrder\"\n control={controlSortForm}\n render={({ onChange, value }) => (\n <RadioButtons\n onSelect={(e) => {\n onChange(e.code);\n }}\n selectedOption={sortOrderOptions.filter((option) => option.code === value)[0]}\n optionsKey=\"i18nKey\"\n name=\"sortOrder\"\n options={sortOrderOptions}\n />\n )}\n />\n </SearchField>\n );\n };\n\n return {\n data: dataForMobileInboxCards,\n isTwoDynamicPrefix: true,\n getRedirectionLink: () => {},\n handleClickEnabled: false,\n serviceRequestIdKey: isSupervisor ? \"id\" : \"applicationNo\",\n MobileSortFormValues,\n };\n};\n\nexport default useInboxMobileCardsData;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\nconst StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n);\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit]);\n\n const { isLoading: isListLoading, data: listData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // Fetch vendors from DSO search to get vendor ID for progress API\n // const { data: vendorSearchResponse } = Digit.Hooks.fsm.useDsoSearch(\n // tenantId,\n // { status: \"ACTIVE\" },\n // { enabled: !!tenantId, staleTime: 300000 }\n // );\n\n // const { targetVendorId, allVendorIds } = useMemo(() => {\n // if (!vendorSearchResponse || vendorSearchResponse.length === 0) {\n // return { targetVendorId: null, allVendorIds: [] };\n // }\n // const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n // const userUuid = loggedInUser?.uuid;\n // const userMobile = loggedInUser?.mobileNumber;\n // const matchesUser = (v) => {\n // const ownerUuid = v.owner?.uuid || v.owner?.id;\n // const ownerMobile = v.owner?.mobileNumber || v.mobileNumber;\n // return (userUuid && ownerUuid === userUuid) || (userMobile && ownerMobile === userMobile);\n // };\n\n // const allIds = vendorSearchResponse\n // .map((v) => {\n // const dso = v.dsoDetails || v;\n // return dso.id || dso.vendorId || v.id || v.vendorId;\n // })\n // .filter(Boolean);\n\n // const matched = vendorSearchResponse.find((v) => matchesUser(v.dsoDetails || v));\n // let matchedId = null;\n // if (matched) {\n // const dso = matched.dsoDetails || matched;\n // matchedId = dso.id || dso.vendorId || matched.id || matched.vendorId;\n // }\n\n // return { targetVendorId: matchedId, allVendorIds: allIds };\n // }, [vendorSearchResponse]);\n\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n { tenantId, allVendorsDetailed: true },\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return listData?.consumerList || [];\n }, [isSearchActive, searchData, listData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (\n item.connectionDetails?.ekycStatus ||\n item.connectionDetails?.ekycstatus ||\n item.ekycStatus ||\n item.ekycstatus ||\n \"NA\"\n ).toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.kno || \"\",\n owner: fullName || item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName || item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const { t } = useTranslation();\n\n const progressMetrics = useMemo(() => {\n if (!progressData) return { totalKnos: 0, submittedKnos: 0, pendingKnos: 0, progressPercent: 0 };\n\n const totalKnos = progressData?.totalKnos ?? progressData?.totalAssignments ?? 0;\n const submittedKnos = progressData?.submittedKnos ?? 0;\n const pendingKnos = progressData?.pendingKnos ?? (totalKnos >= submittedKnos ? totalKnos - submittedKnos : 0);\n const progressPercent =\n progressData?.overallProgressPercent ?? progressData?.progressPercent ?? (totalKnos > 0 ? ((submittedKnos / totalKnos) * 100).toFixed(1) : 0);\n\n return {\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }, [progressData]);\n\n const cards = useMemo(\n () => [\n {\n label: t(\"TOTAL_EKYC_APPLICATIONS\"),\n count: progressMetrics?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: t(\"EKYC_SUBMITTED_TITLE\"),\n count: progressMetrics?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: t(\"PENDING_APPLICATIONS\"),\n count: progressMetrics?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: t(\"OVERALL_PROGRESS\"),\n count: `${progressMetrics?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ],\n [progressMetrics, t]\n );\n const totalRecords = listData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n function formReducer(state, payload) {\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isListLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n {/* Stats */}\n <div className=\"surveyor-dashboard\" style={{ overflowY: \"visible\", marginBottom: \"24px\" }}>\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard key={idx} title={t(card.label)} value={card.count} type={card.type} isLoading={isProgressLoading} icon={card.icon} />\n ))}\n </div>\n </div>\n\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: listData,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { Fragment, useState } from \"react\";\nimport {\n Card,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n Menu,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\n\n// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />} style={{ margin: 0, padding: 0 }} onClick={routeTo} />\n );\n};\n\nconst checkForNA = (value) => (value !== null && value !== undefined && value !== \"\" ? value : \"N/A\");\n\nconst boolToYesNo = (value, t) => {\n if (value === true || value === \"true\" || String(value).toLowerCase() === \"yes\") return t(\"CORE_COMMON_YES\");\n if (value === false || value === \"false\" || String(value).toLowerCase() === \"no\") return t(\"CORE_COMMON_NO\");\n if (value === \"true\") return t(\"CORE_COMMON_YES\");\n if (value === \"false\") return t(\"CORE_COMMON_NO\");\n};\n/**\n * Robust data extraction for comparison.\n * The API returns { applicationReviewInfo: { newData: { ... }, oldData: { ... } } }\n */\nconst extractReviewData = (searchData, flowState) => {\n const rawData = searchData && Object.keys(searchData).length > 0 ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReviewInfo -> newData/oldData\n const reviewWrapper = rawData?.applicationReviewInfo || rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n\n return {\n newData: applicationData?.newData || applicationData,\n oldData: applicationData?.oldData || null,\n };\n};\n\nconst ReviewSection = ({ title, fields, newData, oldData, t, jumpTo, state, hideEditButton }) => {\n return (\n <div\n className=\"review-section-wrapper\"\n style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}\n >\n <div\n style={{\n padding: \"20px 24px\",\n background: \"#F9FAFB\",\n borderBottom: \"1px solid #EAECF0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && !hideEditButton && <ActionButton jumpTo={jumpTo} state={state} />}\n </div>\n\n <div style={{ padding: \"0 24px\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", tableLayout: \"fixed\" }}>\n <thead>\n <tr>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"30%\",\n }}\n >\n {t(\"EKYC_FIELD_NAME\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_EXISTING_INFORMATION\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_PROPOSED_UPDATES\")}\n </th>\n </tr>\n </thead>\n <tbody>\n {fields.map((field, idx) => {\n const valNew = newData?.[field.key];\n const valOld = oldData?.[field.key];\n const normalizeVal = (v) => (v === null || v === undefined || v === \"\" ? \"\" : String(v));\n const isChanged = oldData && valOld !== undefined && normalizeVal(valNew) !== normalizeVal(valOld);\n\n return (\n <tr key={idx} style={{ borderTop: \"1px solid #F2F4F7\" }}>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#344054\", fontWeight: \"500\" }}>{field.preTranslated ? field.label : t(field.label)}</td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#667085\" }}>\n {field.isBool ? boolToYesNo(valOld, t) : checkForNA(valOld)}\n </td>\n <td\n style={{ padding: \"16px 0\", fontSize: \"14px\", color: isChanged ? \"#1B8B32\" : \"#101828\", fontWeight: isChanged ? \"700\" : \"400\" }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {field.isBool ? boolToYesNo(valNew, t) : checkForNA(valNew)}\n {isChanged && (\n <span\n style={{\n background: \"#ECFDF3\",\n color: \"#067647\",\n padding: \"2px 8px\",\n borderRadius: \"12px\",\n fontSize: \"10px\",\n fontWeight: \"600\",\n }}\n >\n {t(\"EKYC_CHANGED\")}\n </span>\n )}\n </div>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nconst Review = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n let { kno, applicationId } = useParams();\n\n const [agree, setAgree] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [showPreview, setShowPreview] = useState(false);\n const [previewUrl, setPreviewUrl] = useState(\"\");\n const [showOptions, setShowOptions] = useState(false);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({ error: false, label: \"\" });\n\n const options = [\n { action: t(\"APPROVE\") },\n { action: t(\"REJECT\") }\n ];\n\n const flowState = location.state || {};\n const { edits = {} } = flowState;\n const activeKno = kno || applicationId;\n\n const { aadhaarData = {}, addressDetails: editedAddress = {}, propertyDetails: editedProperty = {}, meterDetails: editedMeter = {} } = edits;\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const workflowMutation = Digit.Hooks.ekyc.useEkycWorkflow(tenantId);\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const { data: searchData, isLoading: isSearchLoading } = Digit.Hooks.ekyc.useEkycSearchReview({ kno: activeKno, fetchType: \"REVIEW\" }, tenantId, {\n enabled: !!activeKno,\n });\n\n const userRoles = Digit.SessionStorage.get(\"User\")?.info?.roles?.map((ele) => ele.code) || [];\n const isZRO = userRoles.includes(\"EKYC_ZRO\") || userRoles.includes(\"ZRO\");\n // const isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SUPERVISOR\") || userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n const isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n\n // Dynamically resolve the primary EKYC role of the logged-in user\n // const EKYC_ROLE_PRIORITY = [\"EKYC_ZRO\", \"ZRO\", \"EKYC_SUPERVISOR\", \"EKYC_SURVEYOR\", \"EKYC_VENDOR\"];\n // const currentUserRole = EKYC_ROLE_PRIORITY.find((r) => userRoles.includes(r)) || userRoles[0] || \"EMPLOYEE\";\n\n const isStatusView = location.pathname.includes(\"/status/\");\n const hideEditButton = (isSupervisorOrSurveyorOrVendor && !isZRO) || isStatusView;\n\n // ── Data Consolidation (kept for approve/reject submit payloads) ──────────\n const { newData: apiNewData, oldData: apiOldData } = extractReviewData(searchData, flowState);\n\n // Flatten all sub-objects so headerMapping flat keys (kno, mobileNo, meterNumber etc.) are accessible\n const flatNewData = apiNewData ? {\n ...(apiNewData || {}),\n ...(apiNewData?.connectionDetails || {}),\n ...(apiNewData?.addressDetails || {}),\n ...(apiNewData?.propertyInfo || {}),\n ...(apiNewData?.meterDetails || {}),\n } : null;\n const flatOldData = apiOldData ? {\n ...(apiOldData || {}),\n ...(apiOldData?.connectionDetails || {}),\n ...(apiOldData?.addressDetails || {}),\n ...(apiOldData?.propertyInfo || {}),\n ...(apiOldData?.meterDetails || {}),\n } : null;\n\n const prepareConsolidatedData = (data) => {\n if (!data) return null;\n const apiConn = data?.connectionDetails || data || {};\n const apiAddr = data?.addressDetails || data || {};\n const apiProp = data?.propertyInfo || data || {};\n const apiMeter = data?.meterDetails || data || {};\n\n return {\n connection: {\n consumerName:\n apiConn?.consumerName || (apiConn?.firstName ? [apiConn.firstName, apiConn.middleName, apiConn.lastName].filter(Boolean).join(\" \") : null),\n address: apiConn?.address || apiConn?.addressRaw,\n connectionType: apiConn?.connectionType || apiConn?.connectionCategory,\n meterNumber: apiConn?.meterNumber || apiConn?.meterNo,\n phoneNumber: apiConn?.phoneNumber || apiConn?.mobileNo || apiConn?.mobileNumber,\n email: apiConn?.email,\n statusflag: apiConn?.statusflag || apiConn?.statusFlag,\n ekycStatus: apiConn?.ekycStatus,\n knumber: apiConn?.knumber || apiConn?.kno,\n },\n address: {\n fullAddress: apiAddr?.fullAddress || apiAddr?.addressRaw,\n flatHouseNumber: apiAddr?.flatHouseNumber || apiAddr?.flatNo,\n buildingTower: apiAddr?.buildingTower || apiAddr?.building,\n landmark: apiAddr?.landmark,\n pinCode: apiAddr?.pinCode || apiAddr?.pincode,\n ward: apiAddr?.ward || apiAddr?.locality,\n assembly: apiAddr?.assembly,\n gpsValid: apiAddr?.gpsValid,\n latitude: apiAddr?.latitude,\n longitude: apiAddr?.longitude,\n mobileNo: apiAddr?.mobileNo || apiAddr?.mobileNumber,\n whatsappNo: apiAddr?.whatsappNo,\n email: apiAddr?.email,\n noOfPerson: apiAddr?.noOfPerson || apiAddr?.noOfPersons,\n knumber: apiAddr?.knumber || apiAddr?.kno,\n doorPhotoFilestoreId: apiAddr?.doorPhotoFileStoreId || apiAddr?.doorPhotoFilestoreId,\n },\n property: {\n kno: apiProp?.kno,\n pidNumber: apiProp?.pidNumber,\n typeOfConnection: apiProp?.typeOfConnection,\n connectionCategory: apiProp?.connectionCategory,\n userType: apiProp?.userType,\n numberOfFloors: apiProp?.numberOfFloors || apiProp?.noOfFloor,\n tenantName: apiProp?.tenantName,\n tenantMobile: apiProp?.tenantMobile,\n ekycStatus: apiProp?.ekycStatus,\n propertyDocumentFileStoreId: apiProp?.propertyDocumentFileStoreId,\n buildingImageFileStoreId: apiProp?.buildingImageFileStoreId || apiProp?.buildingImageFilestoreId,\n },\n meter: {\n kno: apiMeter?.kno,\n metered: apiMeter?.meterStatus === \"METERED\" || apiMeter?.metered,\n meterNumber: apiMeter?.meterNumber || apiMeter?.meterNo,\n meterMake: apiMeter?.meterMake,\n meterLocationAddress: apiMeter?.meterLocationAddress,\n meterLatitude: apiMeter?.meterLatitude,\n meterLongitude: apiMeter?.meterLongitude,\n workingStatus: apiMeter?.workingStatus,\n lastBillRaised: apiMeter?.lastBillRaised,\n systemMeterId: apiMeter?.systemMeterId,\n meterPhotoFileStoreId: apiMeter?.meterPhotoFileStoreId || apiMeter?.meterPhotoFilestoreId,\n },\n };\n };\n\n const newDataRaw = prepareConsolidatedData(apiNewData);\n const oldDataRaw = prepareConsolidatedData(apiOldData);\n\n\n // Apply edits to newData if present\n const connectionData = {\n ...newDataRaw?.connection,\n consumerName: aadhaarData?.name || newDataRaw?.connection?.consumerName,\n phoneNumber: aadhaarData?.mobileNumber || newDataRaw?.connection?.phoneNumber,\n knumber: newDataRaw?.connection?.knumber || activeKno,\n };\n\n const addressData = {\n ...newDataRaw?.address,\n fullAddress: editedAddress?.fullAddress || newDataRaw?.address?.fullAddress,\n flatHouseNumber: editedAddress?.flatHouseNumber || editedAddress?.flatNo || newDataRaw?.address?.flatHouseNumber,\n buildingTower: editedAddress?.buildingTower || editedAddress?.building || newDataRaw?.address?.buildingTower,\n landmark: editedAddress?.landmark || newDataRaw?.address?.landmark,\n pinCode: editedAddress?.pinCode || editedAddress?.pincode || newDataRaw?.address?.pinCode,\n ward: editedAddress?.ward || newDataRaw?.address?.ward,\n assembly: editedAddress?.assembly || newDataRaw?.address?.assembly,\n gpsValid: editedAddress?.gpsValid !== undefined ? editedAddress.gpsValid : newDataRaw?.address?.gpsValid,\n latitude: editedAddress?.latitude || newDataRaw?.address?.latitude,\n longitude: editedAddress?.longitude || newDataRaw?.address?.longitude,\n mobileNo: editedAddress?.mobileNo || aadhaarData?.mobileNumber || newDataRaw?.address?.mobileNo,\n whatsappNo: editedAddress?.whatsappNo || aadhaarData?.whatsappNumber || newDataRaw?.address?.whatsappNo,\n email: editedAddress?.email || newDataRaw?.address?.email,\n noOfPerson: editedAddress?.noOfPerson || aadhaarData?.noOfPersons || newDataRaw?.address?.noOfPerson,\n knumber: editedAddress?.knumber || newDataRaw?.address?.knumber || activeKno,\n doorPhotoFilestoreId: editedAddress?.doorPhotoFilestoreId || newDataRaw?.address?.doorPhotoFilestoreId,\n };\n\n\n const propertyData = {\n ...newDataRaw?.property,\n kno: newDataRaw?.property?.kno || activeKno,\n pidNumber: editedProperty?.pidNumber || newDataRaw?.property?.pidNumber,\n typeOfConnection: editedProperty?.connectionTypeData?.label || newDataRaw?.property?.typeOfConnection,\n connectionCategory: editedProperty?.connectionCategoryData?.label || newDataRaw?.property?.connectionCategory,\n userType: editedProperty?.userTypeData?.label || newDataRaw?.property?.userType,\n numberOfFloors: editedProperty?.noOfFloorsData?.label || newDataRaw?.property?.numberOfFloors,\n propertyDocumentFileStoreId: editedProperty?.propertyDocumentFileStoreId || newDataRaw?.property?.propertyDocumentFileStoreId,\n };\n\n const meterData = {\n ...newDataRaw?.meter,\n kno: editedMeter?.kno || newDataRaw?.meter?.kno || activeKno,\n metered: editedMeter?.meterStatusData?.value === \"Metered\" || newDataRaw?.meter?.metered,\n meterNumber: newDataRaw?.meter?.meterNumber,\n meterMake: editedMeter?.meterMake || newDataRaw?.meter?.meterMake,\n meterLocationAddress: editedMeter?.meterLocation || newDataRaw?.meter?.meterLocationAddress,\n workingStatus: editedMeter?.workingStatusData?.value === \"Working\" || newDataRaw?.meter?.workingStatus,\n lastBillRaised: editedMeter?.lastBillRaisedData?.value === \"Yes\" || newDataRaw?.meter?.lastBillRaised,\n meterPhotoFileStoreId: editedMeter?.meterPhotoFileStoreId || newDataRaw?.meter?.meterPhotoFileStoreId,\n };\n\n // ── All-fields mapping (headerMapping keys match flat API response keys) ──\n const headerMapping = [\n { key: \"kno\", label: \"KNO\" },\n { key: \"firstName\", label: \"FIRST_NAME\" },\n { key: \"middleName\", label: \"MIDDLE_NAME\" },\n { key: \"lastName\", label: \"LAST_NAME\" },\n { key: \"status\", label: \"STATUS\" },\n { key: \"ekycStatus\", label: \"EKYC_STATUS\" },\n { key: \"zoneName\", label: \"ZONE\" },\n { key: \"zoneCode\", label: \"ZONE_CODE\" },\n { key: \"assembly\", label: \"EKYC_ASSEMBLY\" },\n { key: \"ward\", label: \"WARD\" },\n { key: \"pincode\", label: \"EKYC_PINCODE\" },\n { key: \"addressRaw\", label: \"ADDRESS_RAW\" },\n { key: \"locality\", label: \"EKYC_LOCALITY\" },\n { key: \"subLocality\", label: \"SUB_LOCALITY\" },\n { key: \"flatHouseNumber\", label: \"FLAT_HOUSE_NUMBER\" },\n { key: \"streetName\", label: \"STREET_NAME\" },\n { key: \"landmark\", label: \"EKYC_LANDMARK\" },\n { key: \"city\", label: \"CITY\" },\n { key: \"state\", label: \"STATE\" },\n { key: \"addressType\", label: \"ADDRESS_TYPE\" },\n { key: \"addressProofType\", label: \"ADDRESS_PROOF_TYPE\" },\n { key: \"mobileNo\", label: \"MOBILE_NUMBER\" },\n { key: \"alternateMobileNo\", label: \"ALTERNATE_MOBILE_NUMBER\" },\n { key: \"whatsappNo\", label: \"WHATSAPP_NO\" },\n { key: \"email\", label: \"EMAIL\" },\n { key: \"landlineNo\", label: \"LANDLINE_NO\" },\n { key: \"mrkey\", label: \"MR_KEY\" },\n { key: \"mrcode\", label: \"MR_CODE\" },\n { key: \"areacode\", label: \"AREA_CODE\" },\n { key: \"source\", label: \"SOURCE\" },\n { key: \"submittedAt\", label: \"SUBMITTED_AT\" },\n { key: \"assignedAt\", label: \"ASSIGNED_AT\" },\n { key: \"connectionType\", label: \"CONNECTION_TYPE\" },\n { key: \"Type\", label: \"CONSUMER_TYPE\" },\n { key: \"occupantType\", label: \"OCCUPANT_TYPE\" },\n { key: \"knoCategory\", label: \"KNO_CATEGORY\" },\n { key: \"approvedAt\", label: \"APPROVED_AT\" },\n { key: \"gender\", label: \"GENDER\" },\n { key: \"parentSpouse\", label: \"PARENT_SPOUSE\" },\n { key: \"fatherOrHusbandName\", label: \"FATHER_HUSBUND_NAME\" },\n { key: \"relationship\", label: \"RELATIONSHIP\" },\n { key: \"informantName\", label: \"INFORMANT_NAME\" },\n { key: \"informantRelation\", label: \"INFORMANT_RELATION\" },\n { key: \"informantIs\", label: \"INFORMANT_IS\" },\n { key: \"contactPerson\", label: \"CONTACT_PERSON\" },\n { key: \"relation\", label: \"RELATION\" },\n { key: \"entityName\", label: \"ENTITY_NAME\" },\n { key: \"designation\", label: \"DESIGNATION\" },\n { key: \"department\", label: \"DEPARTMENT\" },\n { key: \"employeeId\", label: \"EMPLOYEE_ID\" },\n { key: \"ownerMobile\", label: \"OWNER_MOBILE\" },\n { key: \"ownerVerificationDone\", label: \"OWNER_VERIFICATION_DONE\", isBool: true },\n { key: \"consentGiven\", label: \"CONSENT_GIVEN\", isBool: true },\n { key: \"proofOfIdentityType\", label: \"PROOF_OF_IDENTITY_TYPE\" },\n { key: \"documentNumber\", label: \"DOCUMENT_NUMBER\" },\n { key: \"noOfPerson\", label: \"NUMBER_OF_PERSON\" },\n { key: \"latitude\", label: \"LATITUDE\" },\n { key: \"longitude\", label: \"LONGITUDE\" },\n { key: \"gpsValid\", label: \"GPS_VALID\", isBool: true },\n { key: \"meterNumber\", label: \"METER_NUMBER\" },\n { key: \"meterMake\", label: \"METER_MAKE\" },\n { key: \"meterStatus\", label: \"METER_STATUS\" },\n { key: \"meterCondition\", label: \"METER_CONDITION\" },\n { key: \"meterLocation\", label: \"METER_LOCATION\" },\n { key: \"meterLocationAddress\", label: \"METER_LOCATION_ADDRESS\" },\n { key: \"workingStatus\", label: \"WORKING_STATUS\" },\n { key: \"sewerConnection\", label: \"SEWER_CONNECTION\", isBool: true },\n { key: \"septicTank\", label: \"SEPTIC_TANK\", isBool: true },\n { key: \"lastBillRaised\", label: \"LAST_BILL_RAISED\", isBool: true },\n { key: \"lastBillReceivedDate\", label: \"LAST_BILL_RECEIVED_DATE\" },\n { key: \"accessToMeter\", label: \"ACCESS_TO_METER\", isBool: true },\n { key: \"systemMeterId\", label: \"SYSTEM_METER_ID\" },\n { key: \"lastBillNotRaisedReason\", label: \"LAST_BILL_NOT_RAISED_REASON\" },\n { key: \"waterConnectionYears\", label: \"WATER_CONNECTION_YEARS\" },\n { key: \"sewerConnectionYears\", label: \"SEWER_CONNECTION_YEARS\" },\n { key: \"pidNumber\", label: \"PID_NUMBER\" },\n { key: \"propertyType\", label: \"PROPERTY_TYPE\" },\n { key: \"subPropertyCategory\", label: \"SUB_PROPERTY_CATEGORY\" },\n { key: \"noOfFloor\", label: \"NO_OF_FLOOR\" },\n { key: \"noOfRooms\", label: \"NO_OF_ROOMS\" },\n { key: \"noOfBeds\", label: \"NO_OF_BEDS\" },\n { key: \"numberOfDwellingUnits\", label: \"NUMBER_OF_DWELLING_UNITS\" },\n { key: \"floorNo\", label: \"FLOOR_NO\" },\n { key: \"userType\", label: \"USER_TYPE\" },\n { key: \"tenantName\", label: \"TENANT_NAME\" },\n { key: \"tenantMobile\", label: \"TENANT_MOBILE\" },\n { key: \"verificationStatus\", label: \"VERIFICATION_STATUS\" },\n { key: \"houseBuiltDuration\", label: \"HOUSE_BUILT_DURATION\" },\n { key: \"surveyorId\", label: \"SURVEYOR_ID\" },\n { key: \"supervisorId\", label: \"SUPERVISOR_ID\" },\n { key: \"vendorId\", label: \"VENDOR_ID\" },\n { key: \"assignmentType\", label: \"ASSIGNMENT_TYPE\" },\n { key: \"assignmentValue\", label: \"ASSIGNMENT_VALUE\" },\n { key: \"assignedTime\", label: \"ASSIGNED_TIME\" },\n { key: \"isSelfAssigned\", label: \"IS_SELF_ASSIGNED\", isBool: true },\n { key: \"modifiedBy\", label: \"MODIFIED_BY\" },\n { key: \"emailId\", label: \"EMAIL_ID\" },\n { key: \"dob\", label: \"DOB\" },\n { key: \"consumerType\", label: \"CONSUMER_TYPE\" },\n { key: \"createdTime\", label: \"CREATED_TIME\" },\n { key: \"lastModifiedTime\", label: \"LAST_MODIFIED_TIME\" },\n { key: \"meterLatitude\", label: \"EKYC_METER_LATITUDE1\" },\n { key: \"meterLongitude\", label: \"EKYC_METER_LONGITUDE1\" },\n ];\n\n const handleDeclaration = () => setAgree(!agree);\n\n const loggedInUserInfo = Digit.UserService.getUser()?.info;\n\n const { data: userData } = Digit.Hooks.useUserSearch(\n tenantId,\n { uuid: [loggedInUserInfo?.uuid] },\n {},\n { enabled: !!loggedInUserInfo?.uuid }\n );\n const supervisorData = userData?.user || [];\n\n const matchedSupervisor = supervisorData?.find(\n (s) => s?.uuid === loggedInUserInfo?.uuid || s?.userName === loggedInUserInfo?.userName\n );\n const supervisorId = matchedSupervisor?.uuid || loggedInUserInfo?.uuid;\n\n const handleReject = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"REJECTED\",\n remarks: \"Application rejected by reviewer\",\n reviewedBy: supervisorId,\n // role: currentUserRole,\n role: \"ZRO\"\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: true,\n label: t(\"EKYC_APPLICATION_REJECT_SUCCESSFUL\") || \"Application Rejected Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Reject Error:\", err);\n const errMsg =\n err?.message ||\n err?.response?.data?.message ||\n err?.response?.data?.Errors?.[0]?.message ||\n err?.Errors?.[0]?.message ||\n t(\"EKYC_REJECT_ERROR\") || \"Reject failed. Please try again.\";\n setToastData({ error: true, label: errMsg });\n setShowToast(true);\n }\n };\n\n const handleApprove = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"APPROVED\",\n remarks: \"All documents verified\",\n reviewedBy: supervisorId,\n // role: currentUserRole,\n role: \"ZRO\"\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: false,\n label: t(\"EKYC_APPLICATION_APPROVE_SUCCESSFUL\") || \"Application Approved Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Approve Error:\", err);\n const errMsg =\n err?.response?.data?.Errors?.[0]?.message ||\n err?.Errors?.[0]?.message ||\n err?.message ||\n t(\"EKYC_APPROVE_ERROR\") || \"Approve failed. Please try again.\";\n setToastData({ error: true, label: errMsg });\n setShowToast(true);\n }\n };\n\n const handleFinalSubmit = async () => {\n setIsSubmitting(true);\n try {\n const payload = {\n kno: activeKno,\n tenantId: tenantId,\n newData: {\n connectionDetails: connectionData,\n addressDetails: addressData,\n propertyInfo: propertyData,\n meterDetails: meterData,\n },\n };\n\n const result = await updateMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Submit Error:\", err);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleViewDocument = async (fileStoreId) => {\n if (!fileStoreId) return;\n try {\n const response = await Digit.UploadServices.FileFetchbyid(fileStoreId, tenantId);\n if (response?.data) {\n const blobUrl = URL.createObjectURL(response.data);\n setPreviewUrl(blobUrl);\n setShowPreview(true);\n }\n } catch (error) {\n console.error(\"Error fetching document:\", error);\n }\n };\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n if (option.action === t(\"APPROVE\")) {\n handleApprove();\n } else if (option.action === t(\"REJECT\")) {\n handleReject();\n }\n };\n\n if (isSearchLoading || isSubmitting) return <Loader />;\n\n\n return (\n <Fragment>\n <Card className=\"overflow-y-scroll\">\n {/* ── All Details (from headerMapping) ──────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_ALL_DETAILS\") || \"All Details\"}\n fields={headerMapping}\n newData={flatNewData}\n oldData={flatOldData}\n t={t}\n hideEditButton={true}\n />\n\n {/* ── 5. Documents ────────────────────────────────────────────── */}\n <div style={{ marginTop: \"40px\" }}>\n <CardSubHeader style={{ marginBottom: \"20px\" }}>{t(\"EKYC_DOCUMENTS\")}</CardSubHeader>\n <StatusTable style={{ maxWidth: \"600px\" }}>\n <Row\n label={t(\"EKYC_DOOR_PHOTO\")}\n text={addressData.doorPhotoFilestoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n addressData.doorPhotoFilestoreId && (\n <div onClick={() => handleViewDocument(addressData.doorPhotoFilestoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n meterData.meterPhotoFileStoreId && (\n <div onClick={() => handleViewDocument(meterData.meterPhotoFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.buildingImageFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.buildingImageFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.propertyDocumentFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.propertyDocumentFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n </StatusTable>\n </div>\n\n {!hideEditButton && (\n <div style={{ marginTop: \"40px\", paddingTop: \"30px\", borderTop: \"1px solid #EAECF0\" }}>\n <CheckBox\n id=\"agreeDeclaration\"\n name=\"agreeDeclaration\"\n label={<span style={{ fontSize: \"16px\", color: \"#344054\" }}>{t(\"EKYC_FINAL_DECLARATION\")}</span>}\n onChange={handleDeclaration}\n checked={agree}\n />\n </div>\n )}\n\n {/* <ActionBar>\n <SubmitBar label={t(\"EKYC_REJECT\")} onSubmit={handleReject} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_APPROVE\")} onSubmit={handleApprove} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_SUBMIT_APPLICATION\")} onSubmit={handleFinalSubmit} disabled={!agree} />\n </ActionBar> */}\n {!hideEditButton && (\n <ActionBar>\n <SubmitBar\n label={t(\"TAKE_ACTION_FOR_APPROVE_REJECT\")}\n onSubmit={() => setShowOptions((prev) => !prev)}\n disabled={!agree}\n />\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n </Card>\n\n {/* ── Document Preview Modal ────────────────────────────────────── */}\n {showPreview && (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0,0,0,0.7)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 10000,\n }}\n >\n <div\n style={{\n position: \"relative\",\n backgroundColor: \"#fff\",\n padding: \"30px\",\n borderRadius: \"12px\",\n maxWidth: \"600px\",\n width: \"100%\",\n maxHeight: \"70vh\",\n overflow: \"auto\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n }}\n >\n <div\n onClick={() => setShowPreview(false)}\n style={{\n position: \"absolute\",\n top: \"10px\",\n right: \"10px\",\n cursor: \"pointer\",\n fontWeight: \"bold\",\n fontSize: \"20px\",\n color: \"#333\",\n background: \"#eee\",\n width: \"30px\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: \"50%\",\n }}\n >\n ×\n </div>\n <img\n src={previewUrl}\n alt=\"Document Preview\"\n style={{ maxWidth: \"100%\", height: \"auto\", display: \"block\" }}\n onError={(e) => {\n e.target.style.display = \"none\";\n e.target.nextSibling.style.display = \"block\";\n }}\n />\n <div style={{ display: \"none\", padding: \"40px\", textAlign: \"center\" }}>\n <p>{t(\"EKYC_DOCUMENT_PREVIEW_NOT_AVAILABLE\")}</p>\n <LinkButton label={t(\"EKYC_OPEN_IN_NEW_TAB\")} onClick={() => window.open(previewUrl, \"_blank\")} />\n </div>\n </div>\n </div>\n )}\n {showToast && (\n <Toast\n error={toastData.error}\n label={toastData.label}\n onClose={() => setShowToast(false)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default Review;\n\n\n","import React from \"react\";\nimport { UploadFile, CheckBox, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst AadhaarVerificationConfig = (t, formData = {}, uploadFile, setDocumentId, documentId) => {\n const consumerType = formData?.consumerType?.name || formData?.consumerType;\n const occupantType = formData?.occupantType?.name || formData?.occupantType;\n const informantIsConsumer = formData?.informantIsConsumer ?? true;\n\n const fields = [\n {\n label: t(\"Consumer Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consumerType\",\n populators: {\n name: \"consumerType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Individual\" }, { name: \"Govt\" }, { name: \"Company_Society_Org\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Occupant Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"occupantType\",\n populators: {\n name: \"occupantType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Self\" }, { name: \"Tenanted\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Category Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"categoryType\",\n populators: {\n name: \"categoryType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Bulk\" }, { name: \"Non-Bulk\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"First Name\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"firstName\",\n validation: { required: true },\n },\n },\n {\n label: t(\"Middle Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"middleName\",\n },\n },\n {\n label: t(\"Last Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"lastName\",\n },\n },\n {\n label: t(\"Gender\"),\n isMandatory: false,\n type: \"custom\",\n key: \"gender\",\n populators: {\n name: \"gender\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Male\" }, { name: \"Female\" }, { name: \"Others\" }, { name: \"Not prefer to say\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Parent/Spouse Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"parentSpouseName\",\n },\n },\n {\n label: t(\"Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"mobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n error: t(\"Invalid mobile number\"),\n },\n },\n {\n label: t(\"WhatsApp\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"whatsapp\",\n },\n },\n {\n label: t(\"Email\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"email\",\n validation: {\n pattern: /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9.-]+$/,\n },\n error: t(\"Invalid email address\"),\n },\n },\n {\n label: t(\"No. of Residents\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"residents\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Type of Identity\"),\n isMandatory: true,\n type: \"custom\",\n key: \"identityType\",\n populators: {\n name: \"identityType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Aadhaar Card\" }, { name: \"Driving License\" }, { name: \"Passport\" }, { name: \"Voter ID\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Proof of Identity\"),\n isMandatory: false,\n type: \"custom\",\n key: \"idFile\",\n populators: {\n name: \"idFile\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n },\n {\n label: t(\"Document Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"documentNumber\",\n },\n },\n {\n label: t(\"Informant Is Consumer\"),\n isMandatory: false,\n type: \"custom\",\n key: \"informantIsConsumer\",\n populators: {\n name: \"informantIsConsumer\",\n component: (props) => (\n <CheckBox\n label={t(\"Yes, the informant is the consumer\")}\n checked={props.value ?? true}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n },\n ];\n\n // Informant conditional fields\n if (!informantIsConsumer) {\n fields.push(\n {\n label: t(\"Informant Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantName\",\n },\n },\n {\n label: t(\"Informant Relation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantRelation\",\n },\n }\n );\n }\n\n // Tenant conditional fields\n if (occupantType === \"Tenanted\") {\n fields.push({\n label: t(\"Document Proof\"),\n isMandatory: false,\n type: \"custom\",\n key: \"documentProof\",\n populators: {\n name: \"documentProof\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n });\n\n if (!documentId) {\n fields.push(\n {\n label: t(\"Owner Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"ownerMobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n },\n },\n {\n label: t(\"Tenant Verification\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"tenantVerification\",\n },\n }\n );\n }\n }\n\n // Govt conditional fields\n if (consumerType === \"Govt\") {\n fields.push(\n {\n label: t(\"Designation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"designation\",\n },\n },\n {\n label: t(\"Department\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"department\",\n },\n },\n {\n label: t(\"Employee ID\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"employeeId\",\n },\n }\n );\n }\n\n // Company / Society / Org conditional fields\n if (consumerType === \"Company_Society_Org\") {\n fields.push(\n {\n label: t(\"Entity Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"entityName\",\n },\n },\n {\n label: t(\"Contact Person\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"contactPerson\",\n },\n }\n );\n }\n\n // Consent checkbox field\n fields.push({\n label: t(\"Consent\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consent\",\n populators: {\n name: \"consent\",\n validation: { required: true },\n component: (props) => (\n <CheckBox\n label={t(\"I hereby consent to verify my Aadhaar details.\")}\n checked={props.value ?? false}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n });\n\n return [\n {\n head: t(\"EKYC_CONSUMER_CONNECTION\"),\n body: fields,\n },\n ];\n};\n\nexport default AadhaarVerificationConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport AadhaarVerificationConfig from \"../config/AadhaarVerificationConfig\";\n\nconst AadhaarVerification = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\") ||\n \"\";\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"CONNECTION\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.aadhaarVerification || {};\n\n // 🔹 STATES\n const [documentId, setDocumentId] = useState(savedData.documentId || null);\n const [documentProof, setDocumentProof] = useState(savedData.documentProof || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType ? { name: savedData.consumerType } : null,\n occupantType: savedData.occupantType ? { name: savedData.occupantType } : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || \"\",\n middleName: savedData.middleName || \"\",\n lastName: savedData.lastName || \"\",\n gender: savedData.gender ? { name: savedData.gender } : null,\n parentSpouseName: savedData.parentSpouseName || \"\",\n mobile: savedData.mobile || \"\",\n whatsapp: savedData.whatsapp || \"\",\n email: savedData.email || \"\",\n residents: savedData.residents || \"\",\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || \"\",\n informantRelation: savedData.informantRelation || \"\",\n documentId: savedData.documentId || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const details = rawData?.connectionDetails || rawData || {};\n const addrDetails = rawData?.addressDetails || {};\n\n if (details && Object.keys(details).length > 0 && !isDataLoaded) {\n let fName = \"\";\n let mName = \"\";\n let lName = \"\";\n\n if (details.firstName) {\n fName = details.firstName;\n mName = details.middleName || \"\";\n lName = details.lastName || \"\";\n } else if (details.consumerName) {\n const parts = details.consumerName.trim().split(/\\s+/);\n fName = parts[0] || \"\";\n if (parts.length === 2) lName = parts[1];\n if (parts.length > 2) {\n mName = parts.slice(1, -1).join(\" \");\n lName = parts[parts.length - 1];\n }\n }\n\n const updatedDefaults = {\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType\n ? { name: savedData.consumerType }\n : details.consumerType\n ? { name: details.consumerType }\n : null,\n occupantType: savedData.occupantType\n ? { name: savedData.occupantType }\n : details.occupantType\n ? { name: details.occupantType }\n : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || fName,\n middleName: savedData.middleName || mName,\n lastName: savedData.lastName || lName,\n gender: savedData.gender\n ? { name: savedData.gender }\n : details.gender\n ? { name: details.gender }\n : null,\n parentSpouseName: savedData.parentSpouseName || details.parentSpouse || \"\",\n mobile: savedData.mobile || details.phoneNumber || addrDetails.mobileNo || \"\",\n whatsapp: savedData.whatsapp || addrDetails.whatsappNo || \"\",\n email: savedData.email || details.email || addrDetails.email || \"\",\n residents: savedData.residents || (addrDetails.noOfPerson ? String(addrDetails.noOfPerson) : \"\"),\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || details.informantName || \"\",\n informantRelation: savedData.informantRelation || details.informantRelation || \"\",\n documentId: savedData.documentId || details.documentNumber || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.documentId) {\n setDocumentId(updatedDefaults.documentId);\n }\n if (updatedDefaults.documentProof) {\n setDocumentProof(updatedDefaults.documentProof);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUploadProof = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n if (fileStoreId) {\n onChange(file.name);\n setDocumentProof(file.name);\n setDocumentId(fileStoreId);\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Avoid updating states on every keypress unless they affect conditional visibility\n const consumerTypeChanged =\n (data?.consumerType?.name || data?.consumerType) !==\n (localFormData?.consumerType?.name || localFormData?.consumerType);\n const occupantTypeChanged =\n (data?.occupantType?.name || data?.occupantType) !==\n (localFormData?.occupantType?.name || localFormData?.occupantType);\n const informantIsConsumerChanged = data?.informantIsConsumer !== localFormData?.informantIsConsumer;\n\n if (consumerTypeChanged || occupantTypeChanged || informantIsConsumerChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const knoVal = data?.kno || searchKno;\n const consumerTypeVal = data?.consumerType;\n const occupantTypeVal = data?.occupantType;\n const categoryTypeVal = data?.categoryType;\n const firstNameVal = data?.firstName;\n const mobileVal = data?.mobile;\n const residentsVal = data?.residents;\n const consentVal = data?.consent;\n const docId = data?.documentId || documentId;\n const ownerMobileVal = data?.ownerMobile;\n\n let valid = true;\n if (!knoVal) valid = false;\n if (!consumerTypeVal) valid = false;\n if (!occupantTypeVal) valid = false;\n if (!categoryTypeVal) valid = false;\n if (!firstNameVal) valid = false;\n if (!mobileVal || !/^[6-9]\\d{9}$/.test(mobileVal)) valid = false;\n if (!residentsVal || Number(residentsVal) <= 0) valid = false;\n if (occupantTypeVal?.name === \"Tenanted\" && !docId && !ownerMobileVal) valid = false;\n if (!consentVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n kno: data.kno || searchKno,\n consumerType: data.consumerType?.name || data.consumerType,\n occupantType: data.occupantType?.name || data.occupantType,\n categoryType: data.categoryType?.name || data.categoryType,\n consumerName: data.consumerName || `${data.firstName || \"\"} ${data.middleName || \"\"} ${data.lastName || \"\"}`.trim(),\n firstName: data.firstName,\n middleName: data.middleName,\n lastName: data.lastName,\n gender: data.gender?.name || data.gender,\n parentSpouseName: data.parentSpouseName,\n relation: data.relation || savedData.relation || \"\",\n mobile: data.mobile,\n whatsapp: data.whatsapp,\n email: data.email,\n residents: data.residents,\n documentId: documentId,\n documentProof: documentProof,\n ownerMobile: data.ownerMobile,\n tenantVerification: data.tenantVerification,\n designation: data.designation,\n department: data.department,\n employeeId: data.employeeId,\n landline: data.landline || savedData.landline || \"\",\n entityRelation: data.entityRelation || savedData.entityRelation || \"\",\n contactPerson: data.contactPerson,\n entityName: data.entityName,\n idProof: data.identityType?.name || data.identityType,\n idNumber: data.documentNumber,\n consent: data.consent,\n informantIsConsumer: data.informantIsConsumer ?? true,\n informantName: data.informantName,\n informantRelation: data.informantRelation,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"CONSUMER\",\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Data updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update consumer details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = AadhaarVerificationConfig(t, localFormData, handleUploadProof, setDocumentId, documentId);\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default AadhaarVerification;\n","import AadhaarVerification from \"../components/AadhaarVerification\";\n\nexport const ekycConfig = [\n {\n body: [\n {\n route: \"consumer-details\",\n component: AadhaarVerification,\n key: \"aadhaarVerification\",\n texts: {\n header: \"EKYC_CONSUMER_CONNECTION\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 1,\n actions: \"EKYC_CONSUMER_CONNECTION\",\n },\n ],\n },\n {\n route: \"address-details\",\n component: \"AddressDetails\",\n key: \"addressDetails\",\n doorImage: true,\n showMapActualLocation: false,\n texts: {\n header: \"EKYC_ADDRESS_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 2,\n actions: \"EKYC_ADDRESS_DETAILS\",\n },\n ],\n },\n {\n route: \"property-info\",\n component: \"PropertyInfo\",\n key: \"propertyDetails\",\n texts: {\n header: \"EKYC_PROPERTY_INFO\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 3,\n actions: \"EKYC_PROPERTY_INFO\",\n },\n ],\n },\n {\n route: \"meter-details\",\n component: \"MeterDetails\",\n key: \"meterDetails\",\n texts: {\n header: \"EKYC_METER_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 4,\n actions: \"EKYC_METER_DETAILS\",\n },\n ],\n },\n ],\n },\n];\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n// import { useQueryClient } from \"react-query\";\nimport { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from \"react-router-dom\";\nimport { VerticalTimeline } from \"@djb25/digit-ui-react-components\";\nimport { ekycConfig } from \"../../config/config\";\n\nconst EKYCForm = ({ path: passedPath }) => {\n // const queryClient = useQueryClient();\n const match = useRouteMatch();\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const history = useHistory();\n\n let config = [];\n const [params, setParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n useEffect(() => {\n if (location.state && Object.keys(location.state).length > 0) {\n const { edits, ...rest } = location.state;\n setParams({ ...params, ...rest, ...edits });\n }\n }, [location.state]);\n\n const goNext = (skipStep, index, isAddMultiple, key) => {\n let currentPath = pathname.split(\"/\").pop();\n let routeObj = config.find((routeObj) => (key ? routeObj.key === key : routeObj.route === currentPath));\n if (!routeObj) routeObj = config.find((routeObj) => routeObj.route === currentPath);\n\n let nextStep = null;\n const currentIndex = config.findIndex((c) => c.route === routeObj.route);\n if (currentIndex > -1 && currentIndex < config.length - 1) {\n nextStep = config[currentIndex + 1].route;\n }\n\n let redirectWithHistory = history.push;\n if (skipStep) {\n redirectWithHistory = history.replace;\n }\n\n const base = passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\");\n if (nextStep === null) {\n return redirectWithHistory(`${base}/review`, { ...params, edits: params });\n }\n\n redirectWithHistory(`${base}/${nextStep}`, { ...params });\n };\n\n function handleSelect(key, data, skipStep, index, isAddMultiple = false, silent = false) {\n setParams((prev) => ({ ...prev, [key]: { ...params[key], ...data } }));\n if (!silent) {\n goNext(skipStep, index, isAddMultiple, key);\n }\n }\n\n // const onSuccess = () => {\n // clearParams();\n // queryClient.invalidateQueries(\"EKYC_CREATE\");\n // };\n\n ekycConfig.forEach((obj) => {\n config = config.concat(obj.body);\n });\n\n config.indexRoute = \"consumer-details\";\n\n const formStepRoutes = config.map((c) => c.route);\n const isFormStep = formStepRoutes.some((route) => pathname.includes(route));\n\n const sectionRefs = useRef({});\n\n useEffect(() => {\n if (isFormStep) {\n const currentRoute = pathname.split(\"/\").pop();\n if (sectionRefs.current[currentRoute]) {\n sectionRefs.current[currentRoute].scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }\n }\n }, [pathname, isFormStep]);\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={config} showFinalStep={true} />\n <div className=\"employee-form-section\">\n <Switch>\n <Route path={formStepRoutes.map((route) => `${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${route}`)}>\n <div className=\"single-page-form-container\">\n {config.map((routeObj, index) => {\n const { component } = routeObj;\n const Component = typeof component === \"string\" ? Digit.ComponentRegistryService.getComponent(component) : component;\n\n return (\n <div key={index} ref={(el) => (sectionRefs.current[routeObj.route] = el)} className=\"form-section-unit\">\n <Component\n config={{ ...routeObj, isCollapsible: true, defaultOpen: true }}\n onSelect={handleSelect}\n t={t}\n formData={params}\n // formData={{ ...params, address: params.addressDetails }}\n />\n </div>\n );\n })}\n </div>\n </Route>\n <Route>\n <Redirect to={`${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${config.indexRoute}`} />\n </Route>\n </Switch>\n </div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default EKYCForm;\n","import React from \"react\";\nimport { Card } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport Dashboard from \"./Dashboard\";\n\nconst VendorCardSkeleton = () => {\n return (\n <div className=\"vendor-perf-card vendor-perf-card-skeleton\">\n {/* Header */}\n <div className=\"vendor-card-header\">\n <div className=\"vendor-title\">\n <div className=\"skeleton skeleton-icon\" />\n\n <div className=\"skeleton-title-wrapper\">\n <div className=\"skeleton skeleton-title\" />\n <div className=\"skeleton skeleton-subtitle\" />\n </div>\n </div>\n\n <div className=\"skeleton skeleton-kno-badge\" />\n </div>\n\n {/* Progress */}\n <div className=\"progress-section\">\n <div className=\"skeleton skeleton-progress-bar\" />\n\n <div className=\"progress-label\">\n <div className=\"skeleton skeleton-progress-label\" />\n <div className=\"skeleton skeleton-progress-value\" />\n </div>\n </div>\n\n {/* Team Stats */}\n <div className=\"stats-grid\">\n {[1, 2, 3].map((item) => (\n <div className=\"stat-item\" key={item}>\n <div className=\"skeleton skeleton-stat-value\" />\n <div className=\"skeleton skeleton-stat-label\" />\n </div>\n ))}\n </div>\n\n {/* Status */}\n <div className=\"knos-summary\">\n {[1, 2, 3].map((item) => (\n <div className=\"kno-stat\" key={item}>\n <div className=\"skeleton skeleton-status-label\" />\n <div className=\"skeleton skeleton-status-value\" />\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nconst VendorPerformanceSkeleton = () => {\n return (\n <div className=\"vendors-grid\">\n {[1, 2, 3].map((item) => (\n <VendorCardSkeleton key={item} />\n ))}\n </div>\n );\n};\n\nconst AdminDashboard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n {\n tenantId: \"dl.djb\",\n allVendorsDetailed: true,\n },\n {\n enabled: true,\n keepPreviousData: true,\n }\n );\n\n return (\n <Card className=\"surveyor-dashboard\">\n <Dashboard isProgressLoading={isProgressLoading} progressData={progressData} />\n <div className=\"admin-performance-section\">\n <h3 className=\"section-title\">{t(\"EKYC_VENDORS_PERFORMANCE\") || \"eKYC Vendors Performance\"}</h3>\n\n {isProgressLoading ? (\n <VendorPerformanceSkeleton />\n ) : (\n <div className=\"vendors-grid\">\n {/* Self eKYC */}\n {/* Commented by Avinash This part will be uncommented when this part will be developed from backend in future */}\n {/* <div className=\"vendor-perf-card self-ekyc-card\" onClick={() => history.push(`/digit-ui/employee/ekyc/self`)}>\n <div className=\"card-header\">\n <div className=\"vendor-info\">\n <h4>{t(\"SELF_EKYC\") || \"Self eKYC\"}</h4>\n <p>{t(\"SELF_EKYC_BY_USERS\") || \"eKYC completed directly by users\"}</p>\n </div>\n\n <span className=\"kno-count-badge\">{11111 || 0}%</span>\n </div>\n\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${11111 || 0}%` }} />\n </div>\n\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <div className=\"value completed-val\">{11111 || 0}</div>\n <div className=\"label\">{t(\"COMPLETED\") || \"Completed\"}</div>\n </div>\n\n <div className=\"stat-item\">\n <div className=\"value\">{11111 || 0}</div>\n <div className=\"label\">{t(\"PENDING\") || \"Pending\"}</div>\n </div>\n\n <div className=\"stat-item\">\n <div className=\"value\">{11111 || 0}</div>\n <div className=\"label\">{t(\"TOTAL\") || \"Total\"}</div>\n </div>\n </div>\n\n <div className=\"card-footer\">\n <span>{t(\"SELF_EKYC\") || \"Self eKYC\"}</span>\n\n <span>{t(\"USERS\") || \"Users\"}</span>\n </div>\n </div> */}\n\n {/* Vendors */}\n {Array.isArray(progressData?.vendorReports) &&\n progressData?.vendorReports.length &&\n progressData?.vendorReports.map((vendor) => (\n <div\n key={vendor.vendorId}\n className=\"vendor-perf-card\"\n onClick={() => history.push(`/digit-ui/employee/ekyc/vendors/${vendor.vendorId}`)}\n >\n {/* Header */}\n <div className=\"vendor-card-header\">\n <div className=\"vendor-title\">\n <div className=\"vendor-icon\">\n <span>{vendor.vendorName?.[0]?.toUpperCase()}</span>\n </div>\n\n <div>\n <h4>{vendor.vendorName}</h4>\n <span className=\"vendor-subtitle\">{t(\"EKYC_VENDOR\") || \"eKYC Vendor\"}</span>\n </div>\n </div>\n\n <div className=\"kno-count-badge\">\n <span className=\"kno-count-label\">{t(\"TOTAL_KNOS\") || \"Total KNOs\"} -</span>\n <span className=\"kno-count-value\">{vendor.totalKnosInZones}</span>\n </div>\n </div>\n\n {/* Progress */}\n <div className=\"progress-section\">\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${vendor.progressPercent}%` }} />\n </div>\n\n <div className=\"progress-label\">\n <span>{t(\"PROGRESS\") || \"Progress\"}</span>\n <span>{vendor.progressPercent}%</span>\n </div>\n </div>\n\n {/* Team */}\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <span className=\"stat-value\">{vendor.totalSupervisors}</span>\n <span className=\"stat-label\">{t(\"SUPERVISORS\") || \"Supervisors\"}</span>\n </div>\n\n <div className=\"stat-item\">\n <span className=\"stat-value\">{vendor.totalSurveyors}</span>\n <span className=\"stat-label\">{t(\"SURVEYORS\") || \"Surveyors\"}</span>\n </div>\n\n <div className=\"stat-item\">\n <span className=\"stat-value\">{vendor.totalKnos}</span>\n <span className=\"stat-label\">{t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total KNOs\"}</span>\n </div>\n </div>\n\n {/* Status */}\n <div className=\"knos-summary\">\n <div className=\"kno-stat\">\n <span className=\"kno-label\">{t(\"SUBMITTED\") || \"Submitted\"}</span>\n <strong>{vendor.submittedKnosInZones}</strong>\n </div>\n\n <div className=\"kno-stat pending\">\n <span className=\"kno-label\">{t(\"PENDING\") || \"Pending\"}</span>\n <strong>{vendor.pendingKnosInZones}</strong>\n </div>\n\n <div className=\"kno-stat rejected\">\n <span className=\"kno-label\">{t(\"EKYC_SUBMITTED_BY_CITIZENS\").toLowerCase() || \"Submitted by citizen\"}</span>\n <strong>{vendor.selfEkycCountInZones}</strong>\n </div>\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n </Card>\n );\n};\n\nexport default AdminDashboard;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { downloadSupervisorPDF } from \"../utils/reportDownloader\";\nimport { getEkycExcelData } from \"../utils/ekycExcelData\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\n\nconst SupervisorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { id: supervisorId } = useParams();\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n // Fetch all supervisors to get details if assignment progress fails\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Resolve vendorId of this supervisor if available\n const targetVendorId = useMemo(() => {\n const targetId = supervisorId || loggedInUser?.uuid;\n if (!targetId || !supervisorSearchResponse?.supervisors) return null;\n const matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n return matchedSup?.vendorId || null;\n }, [supervisorId, loggedInUser, supervisorSearchResponse]);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n targetVendorId ? { vendorId: targetVendorId, vendorIds: [targetVendorId] } : {},\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n // Fetch all surveyors to get details of connected surveyors if assignment progress fails\n const { data: surveyorSearchResponse, isLoading: isSurveyorSearchLoading } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n const supervisor = useMemo(() => {\n const targetOwnerOrId = supervisorId || loggedInUser?.uuid;\n if (!targetOwnerOrId) return null;\n\n // Step 0: resolve real supervisor entity id (handles self-login case\n // where we only have the owner/auth uuid, not the supervisor record id)\n let resolvedSupervisorId = supervisorId; // if URL already has entity id, trust it\n if (!resolvedSupervisorId && supervisorSearchResponse?.supervisors && targetOwnerOrId) {\n const selfSup = supervisorSearchResponse.supervisors.find(\n (s) => s.owner?.uuid?.toLowerCase() === targetOwnerOrId?.toLowerCase() || s.id?.toLowerCase() === targetOwnerOrId?.toLowerCase()\n );\n resolvedSupervisorId = selfSup?.id;\n }\n\n const targetId = resolvedSupervisorId || targetOwnerOrId;\n\n // 1. Find the supervisor profile from search response\n let matchedSup = null;\n if (supervisorSearchResponse?.supervisors) {\n matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n // 2. Find progress report for this supervisor from progressData\n let progressReport = null;\n if (progressData?.supervisorReport && targetId) {\n progressReport = progressData.supervisorReport.find(\n (s) => s.supervisorId?.toLowerCase() === targetId?.toLowerCase() || s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n // 3. If we found the supervisor in search response, enrich and return\n if (matchedSup) {\n const matchedSurveyors = surveyorSearchResponse?.surveyors\n ? surveyorSearchResponse.surveyors\n .filter((surv) => surv.supervisorId === (matchedSup.id || matchedSup.owner?.uuid))\n .map((surv) => {\n let realStats = null;\n if (progressData?.supervisorReport) {\n for (const report of progressData.supervisorReport) {\n if (\n report.supervisorId?.toLowerCase() !== matchedSup.id?.toLowerCase() &&\n report.id?.toLowerCase() !== matchedSup.id?.toLowerCase()\n )\n continue;\n const matchedSurv = report.surveyors?.find(\n (s) =>\n (s.surveyorId &&\n (s.surveyorId?.toLowerCase() === surv.id?.toLowerCase() ||\n s.surveyorId?.toLowerCase() === surv.owner?.uuid?.toLowerCase())) ||\n (s.id && (s.id?.toLowerCase() === surv.id?.toLowerCase() || s.id?.toLowerCase() === surv.owner?.uuid?.toLowerCase()))\n );\n if (matchedSurv) {\n realStats = matchedSurv;\n break;\n }\n }\n }\n\n return {\n surveyorId: surv.id || surv.owner?.uuid,\n surveyorName: surv.name || surv.owner?.name || \"N/A\",\n mobileNo: surv.owner?.mobileNumber || surv.mobileNo || \"N/A\",\n email: surv.owner?.emailId || \"N/A\",\n gender: surv.owner?.gender || \"N/A\",\n status: surv.status || \"ACTIVE\",\n totalKnos: realStats?.totalKnos || 0,\n submittedKnos: realStats?.submittedKnos || 0,\n pendingKnos: realStats?.pendingKnos || 0,\n progressPercent: realStats?.progressPercent || 0,\n };\n })\n : [];\n\n const totalKnos = progressReport?.totalKnos || matchedSurveyors.reduce((acc, s) => acc + (s.totalKnos || 0), 0);\n const submittedKnos = progressReport?.submittedKnos || matchedSurveyors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0);\n const pendingKnos = progressReport?.pendingKnos || matchedSurveyors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0);\n const progressPercent = progressReport ? progressReport.progressPercent : totalKnos > 0 ? Math.round((submittedKnos / totalKnos) * 100) : 0;\n\n return {\n supervisorId: matchedSup.id || matchedSup.owner?.uuid,\n supervisorName: matchedSup.name || matchedSup.owner?.name || \"N/A\",\n mobileNo: matchedSup.owner?.mobileNumber || matchedSup.mobileNo || \"N/A\",\n email: matchedSup.owner?.emailId || matchedSup.owner?.email || matchedSup.email || matchedSup.emailId || \"N/A\",\n gender: matchedSup.owner?.gender || matchedSup.gender || \"N/A\",\n status: matchedSup.status || \"ACTIVE\",\n assignedZoneId: matchedSup.assignedZoneId || \"N/A\",\n vendorId: matchedSup.vendorId,\n surveyors: matchedSurveyors,\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }\n\n // 4. Fallback: If not found in search response, but we have progressData report, return it and enrich with loggedInUser details\n if (progressReport) {\n const isSelf = targetId?.toLowerCase() === loggedInUser?.uuid?.toLowerCase();\n const supervisorName = isSelf ? loggedInUser?.name || progressReport.supervisorName || \"N/A\" : progressReport.supervisorName || \"N/A\";\n const mobileNo = isSelf ? loggedInUser?.mobileNumber || progressReport.mobileNo || \"N/A\" : progressReport.mobileNo || \"N/A\";\n\n const matchedSupForFallback = supervisorSearchResponse?.supervisors?.find(\n (s) =>\n s.id?.toLowerCase() === (progressReport.supervisorId || progressReport.id)?.toLowerCase() ||\n s.owner?.uuid?.toLowerCase() === (progressReport.supervisorId || progressReport.id)?.toLowerCase()\n );\n\n const email =\n matchedSupForFallback?.owner?.emailId ||\n matchedSupForFallback?.owner?.email ||\n matchedSupForFallback?.email ||\n (isSelf ? loggedInUser?.emailId : null) ||\n progressReport.email ||\n \"N/A\";\n const gender =\n matchedSupForFallback?.owner?.gender ||\n matchedSupForFallback?.gender ||\n (isSelf ? loggedInUser?.gender : null) ||\n progressReport.gender ||\n \"N/A\";\n\n const surveyorsMapped = progressReport.surveyors\n ? progressReport.surveyors.map((surv) => {\n const matchedSurv = surveyorSearchResponse?.surveyors?.find(\n (s) => s.id?.toLowerCase() === surv.surveyorId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === surv.surveyorId?.toLowerCase()\n );\n\n return {\n surveyorId: surv.surveyorId || surv.id,\n surveyorName: matchedSurv?.name || matchedSurv?.owner?.name || surv.surveyorName || \"N/A\",\n mobileNo: matchedSurv?.owner?.mobileNumber || matchedSurv?.mobileNo || surv.mobileNo || \"N/A\",\n email: matchedSurv?.owner?.emailId || matchedSurv?.owner?.email || matchedSurv?.email || surv.email || \"N/A\",\n gender: matchedSurv?.owner?.gender || matchedSurv?.gender || surv.gender || \"N/A\",\n status: matchedSurv?.status || surv.status || \"ACTIVE\",\n totalKnos: surv.totalKnos || 0,\n submittedKnos: surv.submittedKnos || 0,\n pendingKnos: surv.pendingKnos || 0,\n progressPercent: surv.progressPercent || 0,\n };\n })\n : [];\n\n return {\n supervisorId: progressReport.supervisorId || progressReport.id,\n supervisorName,\n mobileNo,\n email,\n gender,\n status: progressReport.status || \"ACTIVE\",\n assignedZoneId: progressReport.assignedZoneId || \"N/A\",\n vendorId: progressReport.vendorId,\n surveyors: surveyorsMapped,\n totalKnos: progressReport.totalKnos || 0,\n submittedKnos: progressReport.submittedKnos || 0,\n pendingKnos: progressReport.pendingKnos || 0,\n progressPercent: progressReport.progressPercent || 0,\n };\n }\n\n return null;\n }, [progressData, supervisorSearchResponse, surveyorSearchResponse, supervisorId, loggedInUser]);\n\n const fullName = supervisor?.supervisorName || \"N/A\";\n const mobileNumber = supervisor?.mobileNo || \"N/A\";\n const email = supervisor?.email || (supervisor?.supervisorId === loggedInUser?.uuid ? loggedInUser?.emailId : null) || \"N/A\";\n const gender = supervisor?.gender || (supervisor?.supervisorId === loggedInUser?.uuid ? loggedInUser?.gender : null) || \"N/A\";\n const status = supervisor?.status || \"N/A\";\n const assignedZone = supervisor?.assignedZoneId || \"N/A\";\n\n const vendorName = useMemo(() => {\n if (!vendorSearchResponse || !supervisor) return \"N/A\";\n const targetVendorId = supervisor.vendorId;\n if (!targetVendorId) return \"N/A\";\n const matchedVendor = vendorSearchResponse.find(\n (v) =>\n v.dsoDetails?.id === targetVendorId || v.dsoDetails?.vendorId === targetVendorId || v.id === targetVendorId || v.vendorId === targetVendorId\n );\n return matchedVendor?.dsoDetails?.name || matchedVendor?.name || \"N/A\";\n }, [vendorSearchResponse, supervisor]);\n\n const surveyors = useMemo(() => {\n return supervisor?.surveyors || [];\n }, [supervisor]);\n\n const cards = useMemo(\n () => [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: supervisor?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"EKYC_SUBMITTED_TITLE\",\n count: supervisor?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: supervisor?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${supervisor?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ],\n [supervisor]\n );\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const paginatedSurveyors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return surveyors.slice(start, end);\n }, [surveyors, currentPage, pageSize]);\n\n const surveyorColumns = useMemo(\n () => [\n {\n Header: t(\"SURVEYOR_NAME\") || \"Surveyor Name\",\n accessor: (row) => row?.surveyorName || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/surveyor-dashboard/${row.original.surveyorId}`;\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.surveyorName || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: () => \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => <span className={`status-badge verified`}>{t(value) || value}</span>,\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_SUBMITTED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || 0}%`,\n id: \"overallProgress\",\n },\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = surveyors.map((s) => ({\n name: s.surveyorName,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`,\n }));\n\n const totalKnos = supervisor?.totalKnos || 0;\n const completedKnos = supervisor?.submittedKnos || 0;\n\n downloadSupervisorPDF({\n rows: rowsWithStats,\n supervisorName: fullName,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate supervisor report:\", err);\n } finally {\n setReportLoading(false);\n }\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(range.from.getTime(), range.to.getTime());\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(from.getTime(), to.getTime());\n };\n\n const handleDownloadEkycData = async (fromDate, toDate) => {\n if (!surveyors || surveyors.length === 0) {\n alert(t(\"NO_SURVEYORS_ASSIGNED\") || \"No surveyors assigned to this supervisor.\");\n return;\n }\n\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n supervisorId: supervisor?.supervisorId || supervisorId,\n reportDownload: true,\n ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\n });\n\n const consumerList = response?.consumerList || [];\n\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excelData = getEkycExcelData(consumerList, t);\n const cleanFileName = `eKYC_Data_Supervisor_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isSupervisorSearchLoading || isSurveyorSearchLoading || isVendorSearchLoading;\n\n if (isPageLoading && !supervisor) {\n return <Loader />;\n }\n\n if (!supervisor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SUPERVISOR_FOUND\")}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n <div className=\"designation\">{t(\"FIELD_SUPERVISOR\") || \"Field Supervisor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\">\n <button className=\"download-btn\" disabled={reportLoading} onClick={handleDownload}>\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard key={idx} title={t(card.label)} value={card.count} type={card.type} isLoading={isProgressLoading} icon={card.icon} />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Top Row: Mobile, Email, and Download eKYC Data */}\n <div className=\"details-top-row\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"download-card\">\n <div>\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") || \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n </div>\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={() => {\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button className=\"picker-apply-btn\" onClick={handleCustomDownload}>\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Bottom Row: Remaining Details */}\n <div className=\"details-grid-row\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{t(gender) || gender}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONE\") || \"Assigned Zone\"}</span>\n <span className=\"value\">\n {assignedZone && assignedZone !== \"N/A\" ? (\n <div className=\"selected-zones\" style={{ marginTop: \"4px\" }}>\n <span className=\"selected-zone-chip\">{t(assignedZone.trim().toUpperCase()) || assignedZone}</span>\n </div>\n ) : (\n assignedZone\n )}\n </span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n </div>\n </div>\n </div>\n\n <div>\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 </div>\n </Card>\n );\n};\n\nexport default SupervisorDetailsCard;\n","import React, { useMemo, useState, useEffect } from \"react\";\nimport { Modal, Close, Table, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nconst AssignEkycModal = ({ surveyor, isReassign, closeModal, refetchDashboard, tenantId: propsTenantId }) => {\n const { t } = useTranslation();\n const tenantId = propsTenantId || Digit.ULBService.getCurrentTenantId();\n const [selectedKnos, setSelectedKnos] = useState([]);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({\n error: false,\n label: \"\",\n });\n const [filters, setFilters] = useState({\n kno: \"\", // search value\n pincode: \"\",\n zoneCode: \"\",\n zoneName: \"\",\n ward: \"\",\n assembly: \"\",\n mrkey: \"\",\n ekycStatus: \"\",\n });\n\n const [debouncedFilters, setDebouncedFilters] = useState(filters);\n\n // const { data: zroLocationsData, isLoading: isZroLoading } = Digit.Hooks.ws.useWSConfigMDMS.ZROLocation(tenantId);\n // const mappedZROLocation = useMemo(() => {\n // return (zroLocationsData || []).map((item) => ({\n // code: item.code,\n // name: item.name,\n // }));\n // }, [zroLocationsData]);\n\n const { data: egovLocationData } = Digit.Hooks.useCommonMDMS(tenantId, \"egov-location\", [\"TenantBoundary\"]);\n\n const boundaryData = useMemo(() => {\n const tenantBoundary = egovLocationData?.[\"egov-location\"]?.TenantBoundary || [];\n const revenueData = tenantBoundary.find((item) => item?.hierarchyType?.code === \"REVENUE\");\n const boundary = revenueData?.boundary || [];\n return Array.isArray(boundary) ? boundary : [boundary];\n }, [egovLocationData]);\n\n // const { assemblyOptions, wardOptions } = useMemo(() => {\n // const assemblies = new Map();\n // const wards = new Map();\n\n // const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n // const traverse = (node) => {\n // if (!node) return;\n // if (node.label === \"Ward\" || node.label === \"WARD\" || node.label === \"Block\" || node.label === \"BLOCK\") {\n // const code = node.code || node.localname || node.name;\n // const name = node.name || node.localname || code;\n // if (code) wards.set(code, { code, name: name });\n // }\n // if (node.label === \"Assembly Constituency\" || node.label === \"ASSEMBLY_CONSTITUENCY\") {\n // const code = node.code || node.localname || node.name;\n // const name = node.name || node.localname || code;\n // if (code) assemblies.set(code, { code, name: name });\n // }\n // if (node.children && node.children.length > 0) {\n // node.children.forEach(traverse);\n // }\n // };\n\n // boundaries.forEach(traverse);\n\n // return {\n // assemblyOptions: Array.from(assemblies.values()).sort((a, b) => a.name.localeCompare(b.name)),\n // wardOptions: Array.from(wards.values()).sort((a, b) => a.name.localeCompare(b.name)),\n // };\n // }, [boundaryData]);\n\n const structuredLocalityData = useMemo(() => {\n let localities = [];\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const extractLocalities = (node) => {\n if (!node) return;\n\n if (node.label === \"Locality\" || node.label === \"LOCALITY\") {\n localities.push({\n ...node,\n name: node.localname || node.name || node.code,\n });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach((child) => extractLocalities(child));\n }\n };\n\n boundaries.forEach((rootNode) => extractLocalities(rootNode));\n\n return localities;\n }, [boundaryData]);\n\n const fetchedPincodes = useMemo(() => {\n const pinSet = new Set();\n\n structuredLocalityData.forEach((loc) => {\n if (loc.pincode) {\n const pins = Array.isArray(loc.pincode) ? loc.pincode : [loc.pincode];\n pins.forEach((p) => {\n if (p) {\n const sanitizedPin = p.toString().split(\".\")[0];\n pinSet.add(sanitizedPin);\n }\n });\n }\n });\n\n return Array.from(pinSet).sort();\n }, [structuredLocalityData]);\n\n const { data: filterOptionsData } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: !isReassign,\n fetchFilterOptions: true,\n },\n {\n tenantId: tenantId,\n offset: 0,\n limit: 1000,\n },\n {\n staleTime: Infinity,\n }\n );\n\n const pincodeOptions = useMemo(() => {\n if (!filterOptionsData) return fetchedPincodes || [];\n const pins = filterOptionsData.pincodeOptions || [];\n return Array.isArray(pins) ? pins.filter(Boolean).map(String).sort() : [];\n }, [filterOptionsData, fetchedPincodes]);\n\n const mrkeyOptions = useMemo(() => {\n if (!filterOptionsData) return [];\n const keys = filterOptionsData.mrkeyOptions || [];\n return Array.isArray(keys) ? keys.filter(Boolean).map(String).sort() : [];\n }, [filterOptionsData]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedFilters(filters);\n }, 500);\n\n return () => clearTimeout(timer);\n }, [filters]);\n\n useEffect(() => {\n setCurrentPage(0);\n }, [debouncedFilters, filters.kno]);\n\n const { data: applicationData, isFetching: isLoading, refetch: refetchApplicationList } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: !isReassign,\n /*\n ...(debouncedFilters.kno && {\n kno: debouncedFilters.kno,\n }),\n */\n ...(filters.kno && {\n kno: filters.kno,\n }),\n\n ...(debouncedFilters.ekycStatus && {\n ekycStatus: debouncedFilters.ekycStatus,\n }),\n\n ...(debouncedFilters.zoneName && {\n zoneName: debouncedFilters.zoneName,\n }),\n\n ...(debouncedFilters.assembly && {\n assembly: debouncedFilters.assembly,\n }),\n\n ...(debouncedFilters.ward && {\n ward: debouncedFilters.ward,\n }),\n\n ...(debouncedFilters.mrkey && {\n mrkey: debouncedFilters.mrkey,\n }),\n\n ...(debouncedFilters.pincode && {\n pincode: debouncedFilters.pincode,\n }),\n },\n {\n tenantId: tenantId,\n offset: 0,\n limit: 5000,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const handleAssignmentError = (errMsg) => {\n const isAlreadyAssigned =\n errMsg.toLowerCase().includes(\"already assigned\") ||\n errMsg.toLowerCase().includes(\"already assign\") ||\n errMsg.toLowerCase().includes(\"active assignment\") ||\n errMsg.toLowerCase().includes(\"mrkey\") ||\n errMsg.toLowerCase().includes(\"mr key\") ||\n errMsg.toLowerCase().includes(\"kno\") ||\n errMsg.toLowerCase().includes(\"already exists\");\n\n if (isAlreadyAssigned) {\n setToastData({\n error: true,\n label: t(\"EKYC_KNO_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"kno is already assign with another surveyor\",\n });\n } else {\n setToastData({\n error: true,\n label: t(errMsg) || errMsg || t(\"EKYC_SOMETHING_WENT_WRONG\") || \"Something went wrong\",\n });\n }\n setShowToast(true);\n };\n\n const assignmentMutation = Digit.Hooks.ekyc.useEkycAssignmentCreate({\n onSuccess: (response, variables) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n return;\n }\n\n // Check for skipped assignments (e.g. 200 OK but skipped)\n if (response?.skipped && response.skipped.length > 0) {\n const reason = response.skipped[0]?.reason || \"\";\n handleAssignmentError(reason, variables);\n return;\n }\n\n setToastData({\n error: false,\n label: t(\"EKYC_ASSIGNMENT_SUCCESSFUL\") || \"Assignment successful\",\n });\n\n setShowToast(true);\n\n // optional delay so user can see the success toast\n setTimeout(async () => {\n if (refetchDashboard) {\n await refetchDashboard();\n }\n if (refetchApplicationList) {\n await refetchApplicationList();\n }\n closeModal();\n }, 1000);\n },\n\n onError: (error, variables) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n },\n });\n\n const reassignMutation = Digit.Hooks.ekyc.useEkycAssignmentReassign({\n onSuccess: (response, variables) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n return;\n }\n\n if (response?.skipped && response.skipped.length > 0) {\n const reason = response.skipped[0]?.reason || \"\";\n handleAssignmentError(reason, variables);\n return;\n }\n\n setToastData({\n error: false,\n label: t(\"EKYC_REASSIGNMENT_SUCCESSFUL\") || \"Reassignment successful\",\n });\n\n setShowToast(true);\n\n setTimeout(async () => {\n if (refetchDashboard) {\n await refetchDashboard();\n }\n if (refetchApplicationList) {\n await refetchApplicationList();\n }\n closeModal();\n }, 1000);\n },\n onError: (error, variables) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n },\n });\n\n const activeMutation = isReassign ? reassignMutation : assignmentMutation;\n\n const allData = useMemo(() => applicationData?.consumerList || [], [applicationData]);\n const totalRecords = allData.length;\n const totalPages = useMemo(() => Math.ceil(totalRecords / pageSize) || 1, [totalRecords, pageSize]);\n\n const paginatedData = useMemo(() => {\n const start = currentPage * pageSize;\n return allData.slice(start, start + pageSize);\n }, [allData, currentPage, pageSize]);\n\n const handleAssign = () => {\n const payload = {\n tenantId: tenantId,\n assignmentType: \"KNO\",\n assignmentValue: selectedKnos,\n };\n\n if (isReassign) {\n payload.newSurveyorId = surveyor?.owner?.uuid;\n } else {\n payload.surveyorId = surveyor?.owner?.uuid;\n }\n\n activeMutation.mutate(payload);\n };\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n const handleSelectAll = (e) => {\n e?.stopPropagation();\n const allMatchingKnos = allData.map((item) => item.kno).filter(Boolean);\n if (allMatchingKnos.length === 0) return;\n\n const isAllSelected = allMatchingKnos.length > 0 && allMatchingKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos(isAllSelected ? [] : allMatchingKnos);\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n setCurrentPage(0);\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => {\n const allMatchingKnos = allData.map((item) => item.kno).filter(Boolean);\n const isAllChecked = allMatchingKnos.length > 0 && allMatchingKnos.every((kno) => selectedKnos.includes(kno));\n return (\n <input\n type=\"checkbox\"\n checked={isAllChecked}\n onChange={(e) => {\n e.stopPropagation();\n handleSelectAll(e);\n }}\n onClick={(e) => e.stopPropagation()}\n />\n );\n },\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return (\n <input\n type=\"checkbox\"\n checked={selectedKnos.includes(kno)}\n onChange={(e) => {\n e.stopPropagation();\n handleSelect(kno);\n }}\n onClick={(e) => e.stopPropagation()}\n />\n );\n },\n },\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n {\n Header: \"Pincode\",\n accessor: \"pincode\",\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{t(status)}</span> : \"-\";\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedKnos, paginatedData, allData]\n );\n\n return (\n <Modal\n headerBarMain={isReassign ? `Reassign KNOs to ${surveyor?.name}` : `Assign KNOs to ${surveyor?.name}`}\n headerBarEnd={<Close onClick={closeModal} />}\n actionCancelLabel=\"Cancel\"\n actionCancelOnSubmit={closeModal}\n actionSaveLabel={isReassign ? t(\"EKYC_REASSIGN_KNOS\") || \"Reassign KNOs\" : t(\"EKYC_ASSIGN_KNOS\") || \"Assign KNOs\"}\n actionSaveOnSubmit={handleAssign}\n isDisabled={!selectedKnos?.length}\n >\n <div className=\"assign-knos-modal\">\n {/* Filters */}\n <div className=\"filters-grid\">\n <input className=\"form-control\" placeholder=\"KNO\" value={filters.kno} onChange={(e) => handleFilterChange(\"kno\", e.target.value)} />\n\n <select className=\"form-control disabled\" value={filters.pincode} onChange={(e) => handleFilterChange(\"pincode\", e.target.value)} disabled>\n <option value=\"\">Select Pincode</option>\n {pincodeOptions.map((pin) => (\n <option key={pin} value={pin}>\n {pin}\n </option>\n ))}\n </select>\n\n {/* <select\n className=\"form-control\"\n value={filters.zoneName}\n onChange={(e) => {\n const val = e.target.value;\n setFilters((prev) => ({\n ...prev,\n zoneCode: val,\n zoneName: val,\n }));\n }}\n disabled={isZroLoading}\n >\n <option value=\"\">{isZroLoading ? \"Loading ZRO Locations...\" : \"Select ZRO Location\"}</option>\n {mappedZROLocation.map((loc) => (\n <option key={loc.code} value={loc.name}>\n {loc.name}\n </option>\n ))}\n </select> */}\n\n {/* <select className=\"form-control\" value={filters.ward} onChange={(e) => handleFilterChange(\"ward\", e.target.value)}>\n <option value=\"\">Select Ward</option>\n {wardOptions\n .filter((ward) => {\n const stripped = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return stripped.trim().length > 0;\n })\n .map((ward) => {\n const displayName = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return (\n <option key={ward.code} value={ward.name}>\n {displayName}\n </option>\n );\n })}\n </select> */}\n {/* \n <select className=\"form-control\" value={filters.assembly} onChange={(e) => handleFilterChange(\"assembly\", e.target.value)}>\n <option value=\"\">Select Assembly</option>\n {assemblyOptions.map((assembly) => (\n <option key={assembly.code} value={assembly.name}>\n {assembly.name}\n </option>\n ))}\n </select> */}\n\n <select className=\"form-control\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)}>\n <option value=\"\">Select MR Key</option>\n {mrkeyOptions.map((key) => (\n <option key={key} value={key}>\n {key}\n </option>\n ))}\n </select>\n\n {selectedKnos.length > 0 && (\n <button className=\"clear-selected-btn\" type=\"button\" onClick={() => setSelectedKnos([])}>\n {t(\"EKYC_CLEAR_SELECTION\") || \"Clear Selected\"}\n </button>\n )}\n\n {/* <select className=\"form-control\" value={filters.ekycStatus} onChange={(e) => handleFilterChange(\"ekycStatus\", e.target.value)}>\n <option value=\"\">All eKYC Status</option>\n <option value=\"PENDING\">Pending</option>\n <option value=\"APPROVED\">Approved</option>\n <option value=\"REJECTED\">Rejected</option>\n </select> */}\n </div>\n\n {/* Table */}\n <Table\n tableTitle=\"eKYC Applications\"\n tableClass=\"ekycTable\"\n isTableScrollable={true}\n data={paginatedData}\n columns={columns}\n isLoading={isLoading}\n totalRecords={applicationData?.totalCount || 0}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n manualPagination={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < totalPages - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(totalPages - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n {showToast && <Toast error={toastData.error} label={toastData.label} onClose={() => setShowToast(false)} />}\n </Modal>\n );\n};\n\nexport default AssignEkycModal;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\n// import { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, PieChart, Pie, Cell, Legend } from \"recharts\";\n\nimport { Card, SubmitBar, ActionBar, Menu, Loader, Table } from \"@djb25/digit-ui-react-components\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\n\nimport AssignEkycModal from \"./AssignEkycModal\";\nimport { downloadSurveyorPDF } from \"../utils/reportDownloader\";\nimport { getEkycExcelData } from \"../utils/ekycExcelData\";\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 excelData = getEkycExcelData(consumerList, t);\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 <div>\n <Table\n t={t}\n tableTitle={t(\"ASSIGNED_KNOS\")}\n tableClass=\"ekycTable\"\n isTableScrollable={true}\n data={dashboardData?.dashboardInfo?.consumerList || []}\n columns={knoColumns}\n isLoading={isDashboardLoading}\n totalRecords={dashboardData?.dashboardInfo?.total}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n showAutoSerialNo={true}\n isPaginationRequired={true}\n onNextPage={() => {\n const total = dashboardData?.dashboardInfo?.total || 0;\n if (currentPage < Math.ceil(total / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n const total = dashboardData?.dashboardInfo?.total || 0;\n setCurrentPage(Math.max(Math.ceil(total / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\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 useInboxMobileCardsData from \"../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst AssignEkyc = () => {\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(\"dl.djb\", filters, { enabled: true, keepPreviousData: true });\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: \"dl.djb\",\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading;\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: false,\n showSearchOnMobile: true,\n forceTable: true,\n }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\n","import Dashboard from \"../components/Dashboard\";\nimport Inbox from \"../pages/employee/Inbox\";\n// import Create from \"../pages/employee/Create\";\n// import Mapping from \"../pages/employee/Mapping\";\nimport EKYCForm from \"../pages/employee/EKYCForm\";\nimport Review from \"../components/Review\";\nimport AssignEkyc from \"../components/AssignEkyc\";\nimport AdminDashboard from \"../components/AdminDashboard\";\n// import CeoDashboard from \"../components/CeoDashboard\";\nimport VendorDetailsCard from \"../components/VendorDetailsCard\";\nimport SupervisorDetailsCard from \"../components/SupervisorDetailsCard\";\nimport SurveyorDetailsCard from \"../components/SurveyorDetailsCard\";\nimport WorkOrder from \"../pages/employee/WorkOrder\";\n\n// yeh function role (employee/citizen) leta hai aur uske hisaab se\n// breadcrumb ka URL bana deta hai. Baaki sab kuch same rehta hai.\nconst breadcrumb = (userType, listLabel, listPath, detailLabel) => [\n { label: listLabel, path: `/digit-ui/${userType}/ekyc/${listPath}` },\n { label: detailLabel },\n];\n\n// 👇 isi function ko employee ke liye bhi call karenge, citizen ke liye bhi\nexport const getEkycRoutes = (userType, t) => [\n // ---- simple pages ----\n { path: \"/dashboard\", component: Dashboard, layout: \"normal\", breadcrumb: \"EKYC_DASHBOARD\" },\n { path: \"/inbox\", component: Inbox, layout: \"normal\", breadcrumb: \"EKYC_INBOX\" },\n { path: \"/review/:kno\", component: Review, layout: \"normal\", breadcrumb: \"EKYC_REVIEW\" },\n // { path: \"/create-kyc\", component: Create, layout: \"normal\", breadcrumb: \"EKYC_CREATE_KYC\" },\n // { path: \"/mapping\", component: Mapping, layout: \"normal\", breadcrumb: \"EKYC_MAPPING\" },\n { path: \"/admin-dashboard\", component: AdminDashboard, layout: \"normal\", breadcrumb: \"EKYC_ADMIN_DASHBOARD\" },\n // { path: \"/work-order\", component: WorkOrder, layout: \"normal\", breadcrumb: \"EKYC_WORK_ORDER\" },\n { path: \"/work-order\", component: WorkOrder, layout: \"normal\", breadcrumb: \"EKYC_WORK_ORDER\" },\n // { path: \"/ceo-dashboard\", component: CeoDashboard, layout: \"normal\", breadcrumb: \"CEO_M.F_DOR_FINANCE_VIEW\" },\n\n // ---- EKYC form ke 4 steps ----\n { path: \"/consumer-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_CONSUMER_DETAILS\" },\n { path: \"/address-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_ADDRESS_DETAILS\" },\n { path: \"/property-info\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_PROPERTY_INFO\" },\n { path: \"/meter-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_METER_DETAILS\" },\n\n // ---- assign ----\n {\n path: [\"/assign\"],\n component: AssignEkyc,\n layout: \"normal\",\n breadcrumb: [{ label: \"EKYC_ASSIGN\", path: `/digit-ui/${userType}/ekyc/assign` }],\n },\n\n // ---- detail-card wale routes ----\n // {\n // path: [\"/review/:kno\", \"/review\"],\n // component: Review,\n // layout: \"action\",\n // breadcrumb: breadcrumb(userType, \"EKYC_INBOX\", \"inbox:kno\", \"EKYC_REVIEW\"),\n // },\n {\n path: [\"/vendors/:vendorId\", \"/vendors\"],\n component: VendorDetailsCard,\n layout: \"normal\",\n breadcrumb: breadcrumb(userType, \"EKYC_VENDORS\", \"admin-dashboard\", \"EKYC_VENDOR_DETAILS\"),\n },\n {\n path: [\"/supervisor-dashboard/:id\", \"/supervisor-dashboard\"],\n component: SupervisorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SUPERVISOR_DASHBOARD\", \"supervisor-dashboard:id\", \"EKYC_SUPERVISOR_DETAILS\"),\n },\n {\n path: [\"/surveyor-dashboard/:id\", \"/surveyor-dashboard\"],\n component: SurveyorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SURVEYOR_DASHBOARD\", \"surveyor-dashboard/:id\", \"EKYC_SURVEYOR_DETAILS\"),\n },\n];\n\n// dono role ke liye ready-made arrays — jaha jaruratho wahi import karo\nexport const ekycRoutes = getEkycRoutes(\"employee\"); // employee ke liye\nexport const citizenEkycRoutes = getEkycRoutes(\"citizen\"); // citizen ke liye\n","import { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation } from \"react-router-dom\";\nimport Dashboard from \"../../components/Dashboard\";\n// import CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard.js\";\nimport Inbox from \"./Inbox\";\n// import Mapping from \"./Mapping\";\n// import Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\n// import AssignEkyc from \"../../components/AssignEkyc.js\";\nimport AdminDashboard from \"../../components/AdminDashboard.js\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard.js\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\"\nimport WorkOrder from \"./WorkOrder\";\nimport { ekycRoutes } from \"../../config/Routes\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n // const getDynamicBreadcrumbs = () => {\n // const pathname = location.pathname;\n\n // // Parent crumb — always present and clickable → redirects to eKYC inbox\n // const crumbs = [\n // { icon: HomeIcon, path: \"/digit-ui/employee\" },\n // { label: t(\"ACTION_TEST_EKYC\"), path: `/digit-ui/employee/module/details` },\n // ];\n\n // // Child crumb — only appended when on a sub-page (not inbox/dashboard itself)\n // if (pathname.includes(\"/create-kyc\")) {\n // crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n // } else if (pathname.includes(\"/consumer-details\")) {\n // crumbs.push({ label: t(\"EKYC_CONSUMER_DETAILS\") });\n // } else if (pathname.includes(\"/address-details\")) {\n // crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n // } else if (pathname.includes(\"/property-info\")) {\n // crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n // } else if (pathname.includes(\"/meter-details\")) {\n // crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n // } else if (pathname.includes(\"/review\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/employee/ekyc/inbox` });\n // crumbs.push({ label: t(\"EKYC_REVIEW\") });\n // } else if (pathname.includes(\"/surveyor-dashboard\") || pathname.includes(\"/assign/surveyor-details\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") || \"Surveyor Dashboard\" });\n // } else if (pathname.includes(\"/assign\")) {\n // crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n // } else if (pathname.includes(\"/ceo-dashboard\")) {\n // crumbs.push({ label: t(\"CEO_M.F_DOR_FINANCE_VIEW\") });\n // } else if (pathname.includes(\"/admin-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\" });\n // } else if (pathname.includes(\"/supervisor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") || \"Supervisor Dashboard\" });\n // } else if (pathname.includes(\"/surveyor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n // } else if (pathname.includes(\"/vendors/\")) {\n // crumbs.push({ label: t(\"EKYC_VENDOR_DETAILS\") });\n // } else if (pathname.includes(\"/mapping\")) {\n // crumbs.push({ label: t(\"EKYC_MAPPING\") });\n // } else if (pathname.includes(\"/dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n // } else if (pathname.includes(\"/inbox\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\") });\n // }\n // // dashboard & inbox → no child crumb (only \"eKYC Admin\" shown)\n\n // return crumbs;\n // };\n\n const getDynamicBreadcrumbs = () => {\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(\"ACTION_TEST_EKYC\"), path: \"/digit-ui/employee/module/details\" },\n ];\n const pathSegments = location.pathname.split(\"/\").filter(Boolean);\n const ekycIndex = pathSegments.indexOf(\"ekyc\");\n const relativeSegments = ekycIndex !== -1 ? pathSegments.slice(ekycIndex + 1) : [];\n\n let matchedPath = \"\";\n const currentRoute = ekycRoutes.find((route) => {\n const paths = Array.isArray(route.path) ? route.path : [route.path];\n return paths.some((singlePath) => {\n const routeSegments = singlePath.split(\"/\").filter(Boolean);\n if (routeSegments.length === relativeSegments.length && routeSegments.every((seg, i) => seg.startsWith(\":\") || seg === relativeSegments[i])) {\n matchedPath = singlePath;\n return true;\n }\n return false;\n });\n });\n\n if (currentRoute) {\n if (Array.isArray(currentRoute.breadcrumb)) {\n currentRoute.breadcrumb.forEach((crumb) => {\n let crumbPath = crumb.path;\n if (crumbPath && matchedPath) {\n matchedPath.split(\"/\").filter(Boolean).forEach((segment, idx) => {\n if (segment.startsWith(\":\")) {\n const val = relativeSegments[idx];\n crumbPath = crumbPath.replace(new RegExp(`\\\\/${segment}`, \"g\"), `/${val}`)\n .replace(new RegExp(`(\\\\w+)${segment}`, \"g\"), `$1/${val}`)\n .replace(new RegExp(segment, \"g\"), val);\n }\n });\n }\n crumbs.push({ label: t(crumb.label), ...(crumbPath ? { path: crumbPath } : {}) });\n });\n } else {\n crumbs.push({ label: t(currentRoute.breadcrumb) });\n }\n }\n return crumbs;\n };\n const formStepRoutes = [\"consumer-details\", \"address-details\", \"property-info\", \"meter-details\"];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n Back\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <div className=\"employee-form\">\n <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Create />\n </LayoutWrapper>\n )}\n /> */}\n\n {/* <PrivateRoute\n path={`${path}/mapping`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Mapping />\n </LayoutWrapper>\n )}\n /> */}\n {/* <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n /> */}\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={formStepRoutes.map((route) => `${path}/${route}`)}\n component={(props) => (\n <LayoutWrapper layoutClass=\"normal\">\n <EKYCForm {...props} path={path} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review/:kno`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/ceo-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <CeoDashboard />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/admin-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AdminDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/vendors/:vendorId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/surveyor-dashboard/:id`, `${path}/surveyor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/work-order`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <WorkOrder />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n /> */}\n </Switch>\n </div>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst PropertyInfoConfig = (t, formData = {}, uploadFile, buildingImage, buildingImageId, setBuildingImage, setBuildingImageId) => {\n const propertyType = formData?.propertyType?.name || formData?.propertyType;\n const isHotel = propertyType === \"Hotel\";\n const isHospitalOrNursing = propertyType === \"Hospital\" || propertyType === \"Nursing Home\";\n\n const fields = [\n {\n label: t(\"PID Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"pidNumber\",\n },\n },\n {\n label: t(\"Property Type\"),\n isMandatory: false,\n type: \"custom\",\n key: \"propertyType\",\n populators: {\n name: \"propertyType\",\n component: (props) => (\n <Dropdown\n option={[\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sub Property Category\"),\n isMandatory: false,\n type: \"custom\",\n key: \"subPropertyCategory\",\n populators: {\n name: \"subPropertyCategory\",\n component: (props) => (\n <Dropdown\n option={[]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"No. of Floors\"),\n isMandatory: true,\n type: \"number\",\n populators: {\n name: \"noOfFloors\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Floor No. of this KNO\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"floorNo\",\n },\n },\n {\n label: isHospitalOrNursing ? t(\"No of Beds\") : t(\"No of Beds\"),\n isMandatory: isHospitalOrNursing,\n type: \"number\",\n populators: {\n name: \"noOfBeds\",\n validation: isHospitalOrNursing ? { required: true, min: 1 } : {},\n },\n },\n {\n label: isHotel ? t(\"No. of Rooms\") : t(\"No. of Rooms\"),\n isMandatory: isHotel,\n type: \"number\",\n populators: {\n name: \"noOfRooms\",\n validation: isHotel ? { required: true, min: 1 } : {},\n },\n },\n {\n label: t(\"Number of Dwelling Units\"),\n isMandatory: false,\n type: \"number\",\n populators: {\n name: \"dwellingUnits\",\n },\n },\n {\n label: t(\"Building Image\"),\n isMandatory: true,\n type: \"custom\",\n key: \"buildingImage\",\n populators: {\n name: \"buildingImage\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {buildingImage && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n },\n ];\n\n return [\n {\n head: t(\"EKYC_PROPERTY_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default PropertyInfoConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport PropertyInfoConfig from \"../config/PropertyInfoConfig\";\n\nconst PropertyInfo = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"PROPERTY\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.propertyDetails || {};\n\n // 🔹 STATES\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n pidNumber: savedData.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : null,\n subPropertyCategory: savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null,\n noOfFloors: savedData.noOfFloors || \"\",\n floorNo: savedData.floorNo || \"\",\n noOfRooms: savedData.noOfRooms || \"\",\n noOfBeds: savedData.noOfBeds || \"\",\n dwellingUnits: savedData.dwellingUnits || \"\",\n buildingImage: savedData.buildingImageId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || rawData || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !isDataLoaded) {\n let propType = null;\n let subPropCat = null;\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ].find((type) => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) propType = matchingType;\n else propType = { name: propertyInfo.subPropertyCategory };\n subPropCat = { name: propertyInfo.subPropertyCategory };\n }\n\n if (propertyInfo.propertyType) {\n subPropCat = { name: propertyInfo.propertyType };\n if (!propertyInfo.subPropertyCategory) propType = { name: propertyInfo.propertyType };\n }\n\n const updatedDefaults = {\n pidNumber: savedData.pidNumber || propertyInfo.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : propType,\n subPropertyCategory: savedData.subPropertyCategory\n ? { name: savedData.subPropertyCategory }\n : subPropCat,\n noOfFloors:\n savedData.noOfFloors ||\n (propertyInfo.numberOfFloors || propertyInfo.noOfFloor\n ? String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor)\n : \"\"),\n floorNo: savedData.floorNo || propertyInfo.floorNo || \"\",\n noOfRooms:\n savedData.noOfRooms ||\n (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined\n ? String(propertyInfo.numberOfRooms)\n : \"\"),\n noOfBeds:\n savedData.noOfBeds ||\n (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined\n ? String(propertyInfo.numberOfBeds)\n : \"\"),\n dwellingUnits:\n savedData.dwellingUnits ||\n (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined\n ? String(propertyInfo.numberOfDwellingUnits)\n : \"\"),\n buildingImage: savedData.buildingImageId || propertyInfo.buildingImageFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.buildingImage) {\n setBuildingImageId(updatedDefaults.buildingImage);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setBuildingImageId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setBuildingImage(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Check if propertyType changed to re-evaluate mandatory validation or conditional visibility\n const propertyTypeChanged =\n (data?.propertyType?.name || data?.propertyType) !==\n (localFormData?.propertyType?.name || localFormData?.propertyType);\n\n if (propertyTypeChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const propTypeVal = data?.propertyType;\n const subPropCatVal = data?.subPropertyCategory;\n const noOfFloorsVal = data?.noOfFloors;\n const buildingImgId = buildingImageId || data?.buildingImage;\n const noOfRoomsVal = data?.noOfRooms;\n const noOfBedsVal = data?.noOfBeds;\n\n let valid = true;\n if (!propTypeVal) valid = false;\n if (!subPropCatVal) valid = false;\n if (!noOfFloorsVal || Number(noOfFloorsVal) < 1) valid = false;\n if (!buildingImgId) valid = false;\n\n if (propTypeVal?.name === \"Hotel\" && !noOfRoomsVal) valid = false;\n if (\n (propTypeVal?.name === \"Hospital\" || propTypeVal?.name === \"Nursing Home\") &&\n !noOfBedsVal\n )\n valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n pidNumber: data.pidNumber,\n propertyType: data.propertyType?.name || data.propertyType,\n subPropertyCategory: data.subPropertyCategory?.name || data.subPropertyCategory,\n noOfFloors: data.noOfFloors,\n floorNo: data.floorNo,\n noOfRooms: data.noOfRooms,\n noOfBeds: data.noOfBeds,\n dwellingUnits: data.dwellingUnits,\n buildingImageId: buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Property details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update property details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = PropertyInfoConfig(\n t,\n localFormData,\n handleUpload,\n buildingImage,\n buildingImageId,\n setBuildingImage,\n setBuildingImageId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetailsConfig = (t, formData = {}, uploadPhoto, meterPhoto, meterPhotoId, setMeterPhoto, setMeterPhotoId) => {\n const meterStatus = formData?.meterStatus?.name || formData?.meterStatus;\n const lastBillReceived = formData?.lastBillReceived?.name || formData?.lastBillReceived;\n const sewerConnection = formData?.sewerConnection?.name || formData?.sewerConnection;\n\n const isFrozen = meterStatus === \"Can not be identified\";\n\n // Generate Month-Year Options (1998–2026)\n const monthYearOptions = [];\n for (let y = 1998; y <= 2026; y++) {\n for (let m = 1; m <= 12; m++) {\n monthYearOptions.push({ name: `${m}/${y}` });\n }\n }\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const fields = [\n {\n label: t(\"Connection Category\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"connectionCategory\",\n validation: { required: true },\n },\n },\n {\n label: t(\"SA Type\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"saType\",\n },\n },\n {\n label: t(\"Status\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"status\",\n },\n },\n {\n label: t(\"MR Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrCode\",\n },\n },\n {\n label: t(\"Area Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"areaCode\",\n },\n },\n {\n label: t(\"MR Key\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrKey\",\n },\n },\n ];\n\n // 🔹 Non-frozen fields\n if (!isFrozen) {\n fields.push(\n {\n label: t(\"Meter Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterNumber\",\n },\n },\n {\n label: t(\"Meter Maker\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterMaker\",\n },\n },\n {\n label: t(\"Meter Condition\"),\n isMandatory: false,\n type: \"custom\",\n key: \"meterCondition\",\n populators: {\n name: \"meterCondition\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Damaged\" }, { name: \"Not-Damaged\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (meterStatus === \"Metered\") {\n fields.push({\n label: t(\"Meter Photo\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterPhoto\",\n populators: {\n name: \"meterPhoto\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadPhoto(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setMeterPhoto(null);\n setMeterPhotoId(null);\n }}\n message={meterPhotoId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {meterPhoto && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={meterPhoto}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n });\n }\n }\n\n // 🔹 Standard fields after the conditional section\n fields.push(\n {\n label: t(\"Meter Status\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterStatus\",\n populators: {\n name: \"meterStatus\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Metered\" }, { name: \"Unmetered\" }, { name: \"Can not be identified\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Meter Location\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterLocation\",\n populators: {\n name: \"meterLocation\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Inside\" }, { name: \"Outside\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Last Bill Received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"lastBillReceived\",\n populators: {\n name: \"lastBillReceived\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n // 🔹 Bill-received fields\n if (lastBillReceived === \"Yes\") {\n fields.push({\n label: t(\"When was the last bill received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"billMonthYear\",\n populators: {\n name: \"billMonthYear\",\n component: (props) => (\n <Dropdown\n option={monthYearOptions}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n } else if (lastBillReceived === \"No\") {\n fields.push({\n label: t(\"Reason *\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"reason\",\n validation: { required: true },\n },\n });\n }\n\n fields.push(\n {\n label: t(\"Access to Meter\"),\n isMandatory: false,\n type: \"custom\",\n key: \"accessToMeter\",\n populators: {\n name: \"accessToMeter\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sewer Connection\"),\n isMandatory: true,\n type: \"custom\",\n key: \"sewerConnection\",\n populators: {\n name: \"sewerConnection\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (sewerConnection === \"No\") {\n fields.push({\n label: t(\"Septic Tank\"),\n isMandatory: true,\n type: \"custom\",\n key: \"septicTank\",\n populators: {\n name: \"septicTank\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n }\n\n return [\n {\n head: t(\"EKYC_METER_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default MeterDetailsConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport MeterDetailsConfig from \"../config/MeterDetailsConfig\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"METER\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.meterDetails || {};\n\n // 🔹 STATES\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n connectionCategory: savedData.connectionCategory || \"\",\n saType: savedData.saType || \"\",\n status: savedData.status || \"\",\n mrCode: savedData.mrCode || \"\",\n areaCode: savedData.areaCode || \"\",\n mrKey: savedData.mrKey || \"\",\n meterNumber: savedData.meterNumber || \"\",\n meterMaker: savedData.meterMaker || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : null,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : null,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : null,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : null,\n reason: savedData.reason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : null,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : null,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : null,\n meterPhoto: savedData.meterPhotoId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !isDataLoaded) {\n let mStatus = null;\n let mCondition = null;\n let mLoc = null;\n let billRec = null;\n let billMonYr = null;\n let accToMeter = null;\n let sewerConn = null;\n let sepTank = null;\n\n if (apiMeter.meterStatus) {\n const matchingStatus = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ].find((o) => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) mStatus = matchingStatus;\n else mStatus = { name: apiMeter.meterStatus };\n } else if (apiMeter.metered !== undefined) {\n mStatus = { name: apiMeter.metered ? \"Metered\" : \"Unmetered\" };\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = [{ name: \"Damaged\" }, { name: \"Not-Damaged\" }].find(\n (o) => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase()\n );\n if (matchingCond) mCondition = matchingCond;\n else mCondition = { name: apiMeter.meterCondition };\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = [{ name: \"Inside\" }, { name: \"Outside\" }].find(\n (o) =>\n o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() ||\n apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase())\n );\n if (matchingLoc) mLoc = matchingLoc;\n else mLoc = { name: apiMeter.meterLocation };\n }\n\n if (apiMeter.lastBillRaised !== undefined && apiMeter.lastBillRaised !== null) {\n const strVal = String(apiMeter.lastBillRaised).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") billRec = { name: \"Yes\" };\n else billRec = { name: \"No\" };\n }\n\n if (apiMeter.lastBillReceivedDate) {\n const formatted = apiMeter.lastBillReceivedDate.replace(\"-\", \"/\");\n const parsedParts = formatted.split(\"/\");\n if (parsedParts.length === 2) {\n const mon = parseInt(parsedParts[0], 10);\n const yr = parseInt(parsedParts[1], 10);\n billMonYr = { name: `${mon}/${yr}` };\n } else {\n billMonYr = { name: apiMeter.lastBillReceivedDate };\n }\n }\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") accToMeter = { name: \"Yes\" };\n else accToMeter = { name: \"No\" };\n }\n\n if (apiMeter.sewerConnection !== undefined && apiMeter.sewerConnection !== null) {\n const strVal = String(apiMeter.sewerConnection).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sewerConn = { name: \"Yes\" };\n else sewerConn = { name: \"No\" };\n }\n\n if (apiMeter.septicTank !== undefined && apiMeter.septicTank !== null) {\n const strVal = String(apiMeter.septicTank).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sepTank = { name: \"Yes\" };\n else sepTank = { name: \"No\" };\n }\n\n const updatedDefaults = {\n connectionCategory: savedData.connectionCategory || apiMeter.connectionCategory || \"\",\n saType: savedData.saType || apiMeter.saType || \"\",\n status: savedData.status || apiMeter.statusFlag || \"\",\n mrCode: savedData.mrCode || (apiMeter.mrcode ? String(apiMeter.mrcode) : \"\"),\n areaCode: savedData.areaCode || (apiMeter.areacode ? String(apiMeter.areacode) : \"\"),\n mrKey: savedData.mrKey || (apiMeter.mrkey ? String(apiMeter.mrkey) : \"\"),\n meterNumber: savedData.meterNumber || apiMeter.meterNumber || \"\",\n meterMaker: savedData.meterMaker || apiMeter.meterMake || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : mStatus,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : mCondition,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : mLoc,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : billRec,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : billMonYr,\n reason: savedData.reason || apiMeter.lastBillNotRaisedReason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : accToMeter,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : sewerConn,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : sepTank,\n meterPhoto: savedData.meterPhotoId || apiMeter.meterPhotoFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.meterPhoto) {\n setMeterPhotoId(updatedDefaults.meterPhoto);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setMeterPhotoId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n const meterStatusChanged =\n (data?.meterStatus?.name || data?.meterStatus) !==\n (localFormData?.meterStatus?.name || localFormData?.meterStatus);\n\n const lastBillReceivedChanged =\n (data?.lastBillReceived?.name || data?.lastBillReceived) !==\n (localFormData?.lastBillReceived?.name || localFormData?.lastBillReceived);\n\n const sewerConnectionChanged =\n (data?.sewerConnection?.name || data?.sewerConnection) !==\n (localFormData?.sewerConnection?.name || localFormData?.sewerConnection);\n\n if (meterStatusChanged || lastBillReceivedChanged || sewerConnectionChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const connCatVal = data?.connectionCategory;\n const mStatusVal = data?.meterStatus;\n const mLocVal = data?.meterLocation;\n const billRecVal = data?.lastBillReceived;\n const sewerConnVal = data?.sewerConnection;\n const mPhotoId = meterPhotoId || data?.meterPhoto;\n const reasonVal = data?.reason;\n const billMonYrVal = data?.billMonthYear;\n const sepTankVal = data?.septicTank;\n\n let valid = true;\n if (!connCatVal) valid = false;\n if (!mStatusVal) valid = false;\n if (!mLocVal) valid = false;\n if (!billRecVal) valid = false;\n if (!sewerConnVal) valid = false;\n\n if (mStatusVal?.name === \"Metered\" && !mPhotoId) valid = false;\n if (billRecVal?.name === \"No\" && !reasonVal) valid = false;\n if (billRecVal?.name === \"Yes\" && !billMonYrVal) valid = false;\n if (sewerConnVal?.name === \"No\" && !sepTankVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n connectionCategory: data.connectionCategory,\n saType: data.saType,\n status: data.status,\n mrCode: data.mrCode,\n areaCode: data.areaCode,\n mrKey: data.mrKey,\n meterNumber: data.meterNumber,\n meterMaker: data.meterMaker,\n meterStatus: data.meterStatus?.name || data.meterStatus,\n meterCondition: data.meterCondition?.name || data.meterCondition,\n meterLocation: data.meterLocation?.name || data.meterLocation,\n lastBillReceived: data.lastBillReceived?.name || data.lastBillReceived,\n billMonthYear: data.billMonthYear?.name || data.billMonthYear,\n reason: data.reason,\n accessToMeter: data.accessToMeter?.name || data.accessToMeter,\n sewerConnection: data.sewerConnection?.name || data.sewerConnection,\n septicTank: data.septicTank?.name || data.septicTank,\n meterPhotoId: meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Meter details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update meter details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = MeterDetailsConfig(\n t,\n localFormData,\n handleUpload,\n meterPhoto,\n meterPhotoId,\n setMeterPhoto,\n setMeterPhotoId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 20,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 20,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return dashboardData?.consumerList || [];\n }, [isSearchActive, searchData, dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n const searchDetails = item.connectionDetails || {};\n const fullName = (searchDetails.firstName || searchDetails.middleName || searchDetails.lastName)\n ? `${searchDetails.firstName || \"\"} ${searchDetails.middleName || \"\"} ${searchDetails.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : searchDetails.consumerName || \"\";\n\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: fullName,\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: fullName,\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = (item.firstName || item.middleName || item.lastName)\n ? `${item.firstName || \"\"} ${item.middleName || \"\"} ${item.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : item.consumerName || item.citizenName || \"\";\n\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: fullName,\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName,\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 20,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useEffect, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport {\n Card,\n CardHeader,\n CardText,\n Loader,\n StatusTable,\n Row,\n InboxComposer,\n VerticalTimeline,\n SubmitBar,\n} from \"@djb25/digit-ui-react-components\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\nconst EkycStatus = () => {\n const { t } = useTranslation();\n const { id } = useParams();\n const history = useHistory();\n\n // Separate states for the input form state and the triggered search query\n const [formState, setFormState] = useState({\n searchForm: {\n kNumber: id && id !== \":id\" ? id : \"\",\n },\n filterForm: {},\n });\n const [searchQuery, setSearchQuery] = useState(id && id !== \":id\" ? id : \"\");\n const [errorMsg, setErrorMsg] = useState(\"\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // Sync states with URL id parameter change (e.g. back navigation or page load)\n // Added strict equality check to prevent infinite re-render loop\n useEffect(() => {\n const currentKNumber = formState?.searchForm?.kNumber || \"\";\n const targetKNumber = id && id !== \":id\" ? id : \"\";\n if (currentKNumber !== targetKNumber) {\n setFormState({\n searchForm: { kNumber: targetKNumber },\n filterForm: {},\n });\n setSearchQuery(targetKNumber);\n }\n }, [id]);\n\n // Fetch eKYC review/status data - only triggers on 'searchQuery' state\n const { data: searchData, isLoading: isReviewLoading } = Digit.Hooks.ekyc.useEkycSearchReview(\n { kno: searchQuery, fetchType: \"REVIEW\" },\n tenantId,\n {\n enabled: !!searchQuery,\n retry: false,\n onError: (err) => {\n setErrorMsg(err?.message || t(\"EKYC_STATUS_NOT_FOUND\", \"eKYC Application not found.\"));\n },\n }\n );\n\n // Fetch connection/application details via useSearchConnection\n const { data: connectionSearchData, isLoading: isConnectionLoading } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchQuery } },\n { enabled: !!searchQuery, retry: false }\n );\n\n const isLoading = isReviewLoading || isConnectionLoading;\n\n const onSearchFormSubmit = (data) => {\n const val = data?.kNumber?.trim();\n if (!val) {\n setErrorMsg(t(\"EKYC_PLEASE_ENTER_KNO\", \"Please enter a valid K-Number.\"));\n return;\n }\n setErrorMsg(\"\");\n setFormState({\n searchForm: data,\n filterForm: {},\n });\n setSearchQuery(val);\n history.push(`/digit-ui/citizen/ekyc/${val}`);\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", \"\");\n setErrorMsg(\"\");\n setFormState({\n searchForm: { kNumber: \"\" },\n filterForm: {},\n });\n setSearchQuery(\"\");\n history.push(\"/digit-ui/citizen/ekyc/:id\");\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n const propsForInboxTable = {\n columns: [],\n data: [],\n limit: 10,\n offset: 0,\n };\n\n const propsForInboxMobileCards = {\n data: [],\n };\n\n const getStatusDetails = () => {\n if (!searchData) return null;\n const reviewWrapper = searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const appData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n const newData = appData?.newData || appData;\n const connection = newData?.connectionDetails || newData || {};\n\n const naText = t(\"CS_NA\", \"N/A\");\n const connRaw = connectionSearchData?.connectionDetails || connectionSearchData || {};\n const addrRaw = connectionSearchData?.addressDetails || {};\n const propRaw = connectionSearchData?.propertyInfo || {};\n const meterRaw = connectionSearchData?.meterDetails || {};\n\n const rawStatus = (connection?.ekycStatus || connection?.ekycstatus || connRaw?.ekycStatus || propRaw?.ekycStatus || meterRaw?.ekycStatus || \"NA\").toUpperCase();\n\n const reviewName = connection?.consumerName || [newData?.firstName, newData?.middleName, newData?.lastName].filter(Boolean).join(\" \");\n const connName = connRaw?.consumerName || [connRaw?.firstName, connRaw?.middleName, connRaw?.lastName].filter(Boolean).join(\" \");\n\n const reviewPhone = connection?.phoneNumber || connection?.mobileNo || connection?.mobileNumber;\n const connPhone = connRaw?.phoneNumber || connRaw?.mobileNo || connRaw?.mobileNumber || addrRaw?.mobileNo || addrRaw?.phoneNumber || addrRaw?.mobileNumber;\n\n const reviewType = connection?.connectionType || connection?.connectionCategory;\n const connType = connRaw?.connectionType || connRaw?.connectionCategory || connRaw?.knoCategory || propRaw?.connectionType || propRaw?.connectionCategory || meterRaw?.connectionCategory;\n\n return {\n kno: connection?.knumber || connection?.kno || connRaw?.knumber || connRaw?.kno || searchQuery,\n consumerName: (reviewName && reviewName !== naText && reviewName !== \"\") ? reviewName : (connName || naText),\n phoneNumber: (reviewPhone && reviewPhone !== naText && reviewPhone !== \"\") ? reviewPhone : (connPhone || naText),\n connectionType: (reviewType && reviewType !== naText && reviewType !== \"\") ? reviewType : (connType || naText),\n status: rawStatus,\n };\n };\n\n const details = getStatusDetails();\n\n // Visual Stepper configuration for VerticalTimeline\n const timelineConfig = [\n {\n route: \"submitted\",\n timeLine: [\n {\n currentStep: 1,\n actions: t(\"EKYC_STEP_SUBMITTED\", \"eKYC Survey Submitted\"),\n },\n ],\n },\n {\n route: \"verification\",\n timeLine: [\n {\n currentStep: 2,\n actions: t(\"EKYC_STEP_UNDER_VERIFICATION\", \"Under Verification\"),\n },\n ],\n },\n {\n route: \"zro-decision\",\n timeLine: [\n {\n currentStep: 3,\n actions: t(\"EKYC_STEP_ZRO_DECISION\", \"ZRO Decision\"),\n },\n ],\n },\n ];\n\n let activeStepIndex = 0;\n if (details) {\n if (details.status === \"APPROVED\") {\n activeStepIndex = 3;\n } else if (details.status === \"REJECTED\") {\n activeStepIndex = 2;\n } else if (details.status === \"PENDING_FOR_VERIFICATION\") {\n activeStepIndex = 1;\n } else {\n activeStepIndex = 1;\n }\n }\n\n const getStatusText = (status) => {\n const key = `EKYC_STATUS_${status}`;\n const val = t(key);\n if (val === key) {\n if (status === \"APPROVED\") return \"Approved\";\n if (status === \"REJECTED\") return \"Rejected\";\n if (status === \"PENDING_FOR_VERIFICATION\") return \"Pending For Verification\";\n return status;\n }\n return val;\n };\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n {!isLoading && details && (\n <VerticalTimeline config={timelineConfig} currentActiveIndex={activeStepIndex} />\n )}\n <div className=\"employee-form-section\">\n <div className=\"single-page-form-container\">\n {/* 1. Search Form Card rendered with InboxComposer */}\n <Card className=\"ekyc-status-search-card\">\n <CardHeader className=\"ekyc-status-card-header\">\n {t(\"EKYC_APPLICATION_STATUS_TRACKER\", \"eKYC Application Status\")}\n </CardHeader>\n <CardText className=\"ekyc-status-card-text\">\n {t(\"EKYC_STATUS_TRACKER_SUBHEADER\", \"Enter your K-Number below to track the real-time status of your eKYC application.\")}\n </CardText>\n\n <div className=\"status-search-composer-wrapper\">\n <InboxComposer\n {...{\n isInboxLoading: false,\n ...propsForSearchForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n showSearchOnMobile: true,\n }}\n />\n </div>\n </Card>\n\n {errorMsg && (\n <div className=\"ekyc-status-error-msg\">\n {errorMsg}\n </div>\n )}\n\n {/* 2. Results Card */}\n {isLoading && <Loader />}\n\n {!isLoading && details && (\n <Card className=\"ekyc-status-results-card\">\n {/* Status overview and badge */}\n <div className=\"ekyc-status-overview-header\">\n <div>\n <span className=\"ekyc-status-label-title\">\n {t(\"EKYC_CURRENT_STATUS\", \"Current Status\")}\n </span>\n <div className=\"ekyc-status-value-text\">\n {getStatusText(details.status)}\n </div>\n </div>\n <span className={`ekyc-status-badge ${details.status.toLowerCase()}`}>\n {details.status}\n </span>\n </div>\n\n {/* Details Table */}\n <div className=\"ekyc-status-details-section\">\n <h3 className=\"ekyc-status-details-title\">\n {t(\"EKYC_CONNECTION_SUMMARY\", \"Connection Summary\")}\n </h3>\n <StatusTable>\n <Row label={t(\"EKYC_K_NUMBER\", \"K-Number\")} text={details.kno} />\n <Row label={t(\"EKYC_CONSUMER_NAME\", \"Consumer Name\")} text={details.consumerName} />\n <Row label={t(\"EKYC_MOBILE_NO\", \"Mobile Number\")} text={details.phoneNumber} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\", \"Connection Type\")} text={details.connectionType} />\n </StatusTable>\n </div>\n\n {/* View Application button */}\n <div className=\"ekyc-status-action-section\" style={{ marginTop: \"24px\", display: \"flex\", justifyContent: \"flex-end\" }}>\n <SubmitBar\n label={t(\"EKYC_VIEW_APPLICATION\", \"View Application\")}\n onSubmit={() => history.push(`/digit-ui/citizen/ekyc/status/${details.kno}`)}\n />\n </div>\n </Card>\n )}\n </div>\n </div>\n </div>\n </React.Fragment>\n );\n\n \n};\n\nexport default EkycStatus;\n","import React from \"react\";\nimport { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch, Redirect, Route } from \"react-router-dom\";\nimport AadhaarVerification from \"../../components/AadhaarVerification\";\nimport PropertyInfo from \"../../components/PropertyInfo\";\nimport MeterDetails from \"../../components/MeterDetails\";\nimport Review from \"../../components/Review\";\nimport Inbox from \"./Inbox\";\nimport AssignEkyc from \"../../components/AssignEkyc\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard\";\nimport EkycStatus from \"./EkycStatus\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n const { data: { stateInfo } = {} } = Digit.Hooks.useStore.getInitData();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC citizen home\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(\"EKYC_MODULE_NAME\"), path: `/digit-ui/citizen/ekyc` },\n ];\n\n // Child crumb — only appended when on a sub-page\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/aadhaar-verification\")) {\n crumbs.push({ label: t(\"EKYC_AADHAAR_VERIFICATION\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/citizen/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/citizen/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n } else if (pathname.includes(\"/supervisor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") });\n } else if (pathname.includes(\"/surveyor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n } else if (pathname.includes(\"/vendor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DASHBOARD\") || \"Vendor Dashboard\" });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/status/\") || /^\\/digit-ui\\/citizen\\/ekyc\\/[^/]+$/.test(pathname)) {\n const statusLabel = t(\"EKYC_STATUS\");\n crumbs.push({ label: statusLabel === \"EKYC_STATUS\" || statusLabel === \"STATUS\" ? \"eKYC Status\" : statusLabel });\n }\n // home (exact path) → no child crumb\n\n return crumbs;\n };\n\n // const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n // const isEkyAction = (!roles?.includes(\"EKYC_SURVEYOR\") || roles?.includes(\"EMPLOYEE\"))\n\n return (\n <AppContainer>\n <div className=\"ground-container form-container\" style={{ flex: 1 }}>\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <Switch>\n <Route exact path={`${path}`}>\n <Redirect to=\"/digit-ui/citizen/ekyc-home\" />\n </Route>\n <PrivateRoute\n path={[`${path}/vendor-dashboard/:vendorId`, `${path}/vendor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AadhaarVerification />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/address-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AddressDetails />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <PropertyInfo />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <MeterDetails />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\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-${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","Digit","Utils","ekycAccess","tenantId","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","excludedKeys","createHeaderMapping","kno","firstName","middleName","lastName","status","ekycStatus","zoneName","zoneCode","assembly","ward","pincode","addressRaw","locality","subLocality","flatHouseNumber","streetName","landmark","city","state","addressType","addressProofType","mobileNo","alternateMobileNo","whatsappNo","email","landlineNo","mrkey","mrcode","areacode","source","submittedAt","assignedAt","connectionType","Type","occupantType","knoCategory","approvedAt","gender","parentSpouse","fatherOrHusbandName","relationship","informantName","informantRelation","informantIs","contactPerson","relation","entityName","designation","department","employeeId","ownerMobile","ownerVerificationDone","consentGiven","proofOfIdentityType","documentNumber","noOfPerson","latitude","longitude","gpsValid","meterNumber","meterMake","meterStatus","meterCondition","meterLocation","meterLocationAddress","workingStatus","sewerConnection","septicTank","lastBillRaised","lastBillReceivedDate","accessToMeter","systemMeterId","lastBillNotRaisedReason","waterConnectionYears","sewerConnectionYears","pidNumber","propertyType","subPropertyCategory","noOfFloor","noOfRooms","noOfBeds","numberOfDwellingUnits","floorNo","userType","tenantName","tenantMobile","verificationStatus","houseBuiltDuration","surveyorId","supervisorId","vendorId","assignmentType","assignmentValue","assignedTime","isSelfAssigned","doorPhotoFilestoreId","panFilestoreId","documentProofFilestoreId","buildingImageFileStoreId","propertyDocumentFileStoreId","meterPhotoFileStoreId","modifiedBy","emailId","dob","consumerType","createdTime","lastModifiedTime","meterLatitude","meterLongitude","toTitleCase","str","cleanStr","String","isNaN","Number","split","pop","toLowerCase","replace","c","toUpperCase","skipTitleCase","translatedFields","getEkycExcelData","consumerList","k","headerMapping","excelData","item","cleanObj","fullName","filter","Boolean","join","Object","keys","forEach","key","val","friendlyHeader","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","name","handleDownloadEkycData","fromDate","toDate","Promise","resolve","EkycService","application_list","_extends","reportDownload","response","alert","cleanFileName","Download","Excel","error","console","_wasThrown","_result","reject","getDateRange","now","Date","start","setHours","setDate","getDate","getDay","handlePresetDownload","range","getTime","handleCustomDownload","chartRef1","chartInstance1","efficiency","total","Math","round","submittedCount","completed","formatNumber","num","Intl","NumberFormat","format","destroy","ctx1","getContext","ChartConstructor","type","labels","datasets","pending","submitted","inprocess","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","selfEkycCount","rejected","className","FaChartBar","size","style","paddingInline","borderRadius","ref","disabled","onClick","p","MdDownloadIcon","_ref2","onChange","gap","marginTop","stopPropagation","width","height","Dashboard","progressData","isProgressLoading","totalKnosInSystem","completedKnosInZones","pendingKnosInZones","rejectedKnos","totalAssignments","submittedKnos","overallProgressPercent","EkycDashboardSkeleton","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","useMemo","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","Loader","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","Card","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_searchParams","setSearchParams","prev","onSubmit","preventDefault","onClear","cleared","kName","HomeIcon","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","x1","y1","x2","y2","TextInput","placeholder","d","todaysAudits","auditChange","pendingCount","i","fromCharCode","MobileInbox","_data$items","mobileData","mobileNumber","Link","SubmitBar","DetailsCard","serviceRequestIdKey","linkPrefix","text","index","textAlign","Filter","statusMap","applyLocalFilters","clearAll","onStatusChange","newParams","FilterForm","handleSubmit","fn","onResetFilterForm","id","onMobileExclusiveFilterPopupFormClose","onClose","FilterFormField","fontWeight","Dropdown","option","optionKey","select","selected","downloadSurveyorPDF","rows","surveyorName","vendorName","supervisorName","dashboardInfo","phoneNumber","currentDate","formattedDate","toLocaleDateString","day","month","year","formattedTime","toLocaleTimeString","hour","minute","second","hour12","downloadDateTime","isValDefined","undefined","details","title","asSectionHeader","values","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","downloadSupervisorPDF","mappedRows","_row$owner","_row$owner2","owner","progress","customT","_unused","downloadVendorPDF","emailContact","_unused2","VendorDetailsCard","_vendor$owner","_vendor$owner2","_vendorName$charAt","_progressData$supervi","_useParams","useParams","_Digit$Hooks$fsm$useV","fsm","useVendorSearch","filters","ids","config","staleTime","_Digit$Hooks$fsm$useV2","_Digit$Hooks$fsm$useV3","_Digit$Hooks$fsm$useV4","vendor","_Digit$Hooks$fsm$useV5","isVendorSearchLoading","targetVendorId","useEkycAssignmentProgress","keepPreviousData","zoneIds","_vendor$zoneIds","zone","trim","cards","totalKnos","totalKnosInZones","selfEkycCountInZones","submittedKnosInZones","pendingKnos","progressPercent","icon","FaDatabase","FaFileAlt","FaBuilding","FaUser","FaClock","FaChartLine","setCurrentPage","pageSize","setPageSize","supervisorColumns","_Digit$SessionStorage3","targetPath","href","textDecoration","_useState5","_useState6","_useState7","reportLoading","setReportLoading","handleDownload","rowsWithStats","supervisorReport","s","err","StatCard","Fragment","isPageLoading","charAt","card","idx","flexWrap","tableTitle","tableClass","isTableScrollable","isPaginationRequired","_progressData$supervi2","ceil","onFirstPage","onLastPage","_progressData$supervi3","max","useInboxTableConfig","_formState$tableForm","_formState$tableForm2","_formState$searchForm","formState","table","dispatch","checkPathName","onSortingByData","_ref$inboxStyles","inboxStyles","_ref$tableStyle","tableStyle","tableForm","tableColumnConfig","disableSortBy","DateUtils","ConvertEpochToDate","_ref7","disableSort","autoSort","manualPagination","initSortId","floor","_formState$tableForm3","action","parseInt","_formState$tableForm4","searchForm","message","SearchFormFieldsComponents","searchFormState","controlSearchForm","searchType","errors","Label","CustomTooltip","Controller","control","defaultValue","rules","pattern","render","CardLabelError","useInboxMobileCardsData","_ref$isSupervisor","isSupervisor","handleSupervisorReview","dataForMobileInboxCards","_item$owner","serviceType","MobileSortFormValues","sortOrderOptions","i18nKey","_useFormContext","useFormContext","controlSortForm","SearchField","RadioButtons","onSelect","selectedOption","optionsKey","isTwoDynamicPrefix","getRedirectionLink","handleClickEnabled","Inbox","_formState$searchForm3","_formState$searchForm4","useLocation","formInitValue","filterForm","sortBy","sortOrder","_useReducer","useReducer","formReducer","queryParams","isListLoading","_Digit$Hooks$ekyc$use2","_Digit$Hooks$ekyc$use3","allVendorsDetailed","searchDetails","_formState$searchForm2","isSearchActive","_Digit$Hooks$ekyc$use4","useSearchConnection","isSearchLoading","searchData","sourceData","filteredData","_item$sla","isSearchItem","connectionDetails","_item$propertyInfo","_item$propertyInfo2","_item$connectionDetai","_item$propertyInfo3","_item$connectionDetai2","_item$connectionDetai3","_item$connectionDetai4","_item$connectionDetai5","applicationNo","propertyInfo","connectionNo","consumerName","statusflag","sla","progressMetrics","_progressData$totalKn","_progressData$submitt","_progressData$pending","_progressData$overall","toFixed","FaUsers","FaCheckCircle","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","payload","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","onMobileSortOrderData","onSortFormReset","setSortFormValue","propsForMobileSortForm","sortFormDefaultValues","propsForInboxMobileCards","isInboxLoading","marginBottom","InboxComposer","forceTable","showSearchOnMobile","ActionButton","jumpTo","routeTo","isEditing","LinkButton","EditIcon","margin","checkForNA","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","background","border","overflow","borderBottom","justifyContent","alignItems","CardSubHeader","fontSize","borderCollapse","tableLayout","textTransform","field","valNew","valOld","normalizeVal","v","isChanged","borderTop","preTranslated","isBool","Review","_newDataRaw$connectio","_newDataRaw$connectio2","_newDataRaw$connectio3","_newDataRaw$address","_newDataRaw$address2","_newDataRaw$address3","_newDataRaw$address4","_newDataRaw$address5","_newDataRaw$address6","_newDataRaw$address7","_newDataRaw$address8","_newDataRaw$address9","_newDataRaw$address0","_newDataRaw$address1","_newDataRaw$address10","_newDataRaw$address11","_newDataRaw$address12","_newDataRaw$address13","_newDataRaw$address14","_newDataRaw$property","_newDataRaw$property2","_editedProperty$conne","_newDataRaw$property3","_editedProperty$conne2","_newDataRaw$property4","_editedProperty$userT","_newDataRaw$property5","_editedProperty$noOfF","_newDataRaw$property6","_newDataRaw$property7","_newDataRaw$meter","_editedMeter$meterSta","_newDataRaw$meter2","_newDataRaw$meter3","_newDataRaw$meter4","_newDataRaw$meter5","_editedMeter$workingS","_newDataRaw$meter6","_editedMeter$lastBill","_newDataRaw$meter7","_newDataRaw$meter8","_Digit$UserService$ge","applicationId","agree","setAgree","isSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","showOptions","setShowOptions","showToast","setShowToast","toastData","setToastData","_flowState$edits","edits","activeKno","_edits$aadhaarData","_edits$addressDetails","addressDetails","editedAddress","_edits$propertyDetail","propertyDetails","editedProperty","_edits$meterDetails","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","userRoles","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","_extractReviewData","apiNewData","apiOldData","flatNewData","flatOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","address","connectionCategory","meterNo","statusFlag","knumber","fullAddress","flatNo","buildingTower","building","pinCode","noOfPersons","doorPhotoFileStoreId","property","typeOfConnection","numberOfFloors","buildingImageFilestoreId","meter","metered","meterPhotoFilestoreId","newDataRaw","connectionData","addressData","whatsappNumber","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","workingStatusData","lastBillRaisedData","handleDeclaration","loggedInUserInfo","UserService","getUser","_Digit$Hooks$useUserS","useUserSearch","uuid","userData","supervisorData","user","matchedSupervisor","find","userName","handleReject","_Digit$UserService$ge2","RequestInfo","apiId","ver","msgId","authToken","access_token","remarks","reviewedBy","role","_temp","mutateAsync","setTimeout","_err$response","_err$response$data","_err$response2","_err$response2$data","_err$response2$data$E","_err$response2$data$E2","_err$Errors","_err$Errors$","errMsg","Errors","handleApprove","_Digit$UserService$ge3","_temp2","_err$response3","_err$response3$data","_err$response3$data$E","_err$response3$data$E2","_err$Errors2","_err$Errors2$","handleViewDocument","fileStoreId","_temp4","UploadServices","FileFetchbyid","blobUrl","URL","createObjectURL","handleMenuSelect","StatusTable","maxWidth","Row","actionButton","GenericFileIcon","cursor","paddingTop","CheckBox","checked","ActionBar","Menu","position","top","left","zIndex","maxHeight","boxShadow","right","src","alt","onError","nextSibling","open","Toast","AadhaarVerificationConfig","formData","uploadFile","setDocumentId","documentId","_formData","_formData$consumerTyp","_formData2","_formData3","_formData3$occupantTy","_formData4","_formData$informantIs","_formData5","informantIsConsumer","isMandatory","populators","component","validation","required","min","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","AadhaarVerification","URLSearchParams","search","urlKno","searchKno","sessionStorage","getItem","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","toast","setToast","isDataLoaded","setIsDataLoaded","canSubmit","setCanSubmit","_savedData$informantI","categoryType","parentSpouseName","mobile","whatsapp","residents","identityType","idFile","tenantVerification","consent","defaultValues","setDefaultValues","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","_savedData$informantI2","fName","mName","lName","parts","slice","updatedDefaults","handleUploadProof","file","files","Filestorage","res","_res$data","_res$data$files","_res$data$files$","onFormValueChange","setValue","_data$consumerType","_localFormData$consum","_data$occupantType","_localFormData$occupa","consumerTypeChanged","occupantTypeChanged","informantIsConsumerChanged","knoVal","consumerTypeVal","occupantTypeVal","categoryTypeVal","firstNameVal","mobileVal","residentsVal","consentVal","docId","ownerMobileVal","valid","test","_data$consumerType2","_data$occupantType2","_data$categoryType","_data$gender","_data$identityType","_data$informantIsCons","submitData","landline","entityRelation","idProof","idNumber","updateType","Config","FormComposer","isDisabled","isCollapsible","isDefaultOpen","noCard","submitInForm","ekycConfig","route","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","showMapActualLocation","EKYCForm","passedPath","path","match","useRouteMatch","_Digit$Hooks$useSessi","useSessionStorage","params","setParams","_location$state","rest","goNext","skipStep","isAddMultiple","currentPath","routeObj","nextStep","currentIndex","findIndex","redirectWithHistory","base","handleSelect","silent","obj","concat","indexRoute","formStepRoutes","isFormStep","some","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","VendorCardSkeleton","VendorPerformanceSkeleton","AdminDashboard","vendorReports","_vendor$vendorName","_vendor$vendorName$","totalSupervisors","totalSurveyors","SupervisorDetailsCard","_fullName$charAt","_Digit$Hooks$fsm$useS","useSupervisorSearch","supervisorSearchResponse","isSupervisorSearchLoading","targetId","supervisors","matchedSup","_s$id","_s$owner","_s$owner$uuid","vendorIds","_Digit$Hooks$fsm$useS2","useSurveyorSearch","surveyorSearchResponse","isSurveyorSearchLoading","_Digit$Hooks$fsm$useD","useDsoSearch","vendorSearchResponse","supervisor","targetOwnerOrId","resolvedSupervisorId","selfSup","_s$owner2","_s$owner2$uuid","_s$id2","_s$id3","_s$owner3","_s$owner3$uuid","progressReport","_s$supervisorId","_s$id4","_progressReport","_progressReport2","_progressReport3","_matchedSup$owner2","_matchedSup$owner3","_matchedSup$owner4","_matchedSup$owner5","_matchedSup$owner6","_matchedSup$owner7","matchedSurveyors","surveyors","surv","_matchedSup$owner","_surv$owner3","_surv$owner4","_surv$owner5","_surv$owner6","_surv$owner7","_realStats","_realStats2","_realStats3","_realStats4","realStats","report","_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","reduce","acc","assignedZoneId","_loggedInUser$uuid","_supervisorSearchResp","_matchedSupForFallbac","_matchedSupForFallbac2","_matchedSupForFallbac3","isSelf","matchedSupForFallback","_s$id7","_s$owner4","_s$owner4$uuid","surveyorsMapped","_surveyorSearchRespon","_matchedSurv$owner","_matchedSurv$owner2","_matchedSurv$owner3","_matchedSurv$owner4","_matchedSurv$owner5","_s$id8","_surv$surveyorId","_s$owner5","_s$owner5$uuid","_surv$surveyorId2","assignedZone","_matchedVendor$dsoDet","matchedVendor","_v$dsoDetails","_v$dsoDetails2","dsoDetails","paginatedSurveyors","end","surveyorColumns","_Digit$SessionStorage4","completedKnos","points","AssignEkycModal","surveyor","isReassign","closeModal","refetchDashboard","propsTenantId","selectedKnos","setSelectedKnos","setFilters","debouncedFilters","setDebouncedFilters","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","structuredLocalityData","localities","boundaries","extractLocalities","node","localname","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","sanitizedPin","toString","add","sort","unassignedOnly","fetchFilterOptions","Infinity","filterOptionsData","pincodeOptions","mrkeyOptions","timer","clearTimeout","isFetching","refetchApplicationList","refetch","handleAssignmentError","isAlreadyAssigned","assignmentMutation","useEkycAssignmentCreate","onSuccess","variables","_response$data","skipped","_response$skipped$","reason","_temp3","_error$data","_error$response","_error$response$data","reassignMutation","useEkycAssignmentReassign","_response$data2","_response$skipped$2","_temp8","_temp6","_temp5","_temp7","_error$data2","_error$response2","_error$response2$data","activeMutation","allData","totalPages","paginatedData","handleAssign","_surveyor$owner","newSurveyorId","_surveyor$owner2","mutate","handleSelectAll","allMatchingKnos","isAllSelected","every","handleFilterChange","isAllChecked","Modal","headerBarMain","headerBarEnd","Close","actionCancelLabel","actionCancelOnSubmit","actionSaveLabel","actionSaveOnSubmit","pin","SurveyorDetailsDashboard","_surveyorSearchById$s","_surveyor$owner3","_surveyor$owner4","_dashboardData$dashbo","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner7","_surveyor$owner8","_surveyor$owner9","_dashboardData$dashbo5","_dashboardData$dashbo6","showModal","setShowModal","ownerIds","surveyorSearchById","isLoadingId","hasFoundById","surveyorSearchByOwner","isLoadingOwner","vendorData","isVendorLoading","_Digit$Hooks$fsm$useS3","_mappedVendor$dsoDeta","mappedVendor","_mappedSupervisor$own","mappedSupervisor","useEkycSurveyorDashboard","isDashboardLoading","dashboardData","knoColumns","_useState8","_useState9","_surveyor$owner5","dashboard","_response$dashboardIn","_surveyor$owner6","_wasThrown2","_result2","description","showAutoSerialNo","_dashboardData$dashbo7","_dashboardData$dashbo8","WorkOrder","setVendor","validFrom","setValidFrom","validTo","setValidTo","uploadedFile","setUploadedFile","setFile","setError","vendorOptions","_Digit$Hooks$wt$useVe","wt","useVendorWorkOrderCreate","createWorkOrder","getStateId","_response$data$files","_response$data2$files","vendorWorkOrder","isError","_err$response$data$Er","_err$response$data$Er2","selectfile","isFormDisabled","CollapsibleCardPage","flexDirection","DatePicker","date","extraStyleName","accept","storageKey","_row$original5$owner","SupervisorInboxTableConfig","AssignEkyc","paginationParms","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","additionalDetails","auditDetails","isCardLoading","breadcrumb","listLabel","listPath","detailLabel","getEkycRoutes","layout","SurveyorDetailsCard","ekycRoutes","EmployeeApp","removeItem","getDynamicBreadcrumbs","crumbs","pathSegments","ekycIndex","indexOf","relativeSegments","matchedPath","paths","singlePath","routeSegments","seg","startsWith","crumb","crumbPath","segment","RegExp","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","breadcrumbs","PrivateRoute","LayoutWrapper","layoutClass","businessService","isInbox","exact","PropertyInfoConfig","buildingImage","buildingImageId","setBuildingImage","setBuildingImageId","_formData$propertyTyp","isHotel","isHospitalOrNursing","objectFit","PropertyInfo","noOfFloors","dwellingUnits","propType","subPropCat","matchingType","numberOfRooms","numberOfBeds","handleUpload","reader","FileReader","onloadend","readAsDataURL","_data$propertyType","_localFormData$proper","propertyTypeChanged","propTypeVal","subPropCatVal","noOfFloorsVal","buildingImgId","noOfRoomsVal","noOfBedsVal","_data$propertyType2","_data$subPropertyCate","MeterDetailsConfig","uploadPhoto","meterPhoto","meterPhotoId","setMeterPhoto","setMeterPhotoId","_formData$meterStatus","_formData3$lastBillRe","_formData5$sewerConne","_formData6","lastBillReceived","isFrozen","monthYearOptions","y","m","yesNo","MeterDetails","saType","mrCode","areaCode","mrKey","meterMaker","billMonthYear","mStatus","mCondition","mLoc","billRec","billMonYr","accToMeter","sewerConn","sepTank","matchingStatus","o","matchingCond","matchingLoc","strVal","formatted","parsedParts","mon","yr","_data$meterStatus","_localFormData$meterS","_data$lastBillReceive","_localFormData$lastBi","_data$sewerConnection","_localFormData$sewerC","meterStatusChanged","lastBillReceivedChanged","sewerConnectionChanged","connCatVal","mStatusVal","mLocVal","billRecVal","sewerConnVal","mPhotoId","reasonVal","billMonYrVal","sepTankVal","_data$meterStatus2","_data$meterCondition","_data$meterLocation","_data$lastBillReceive2","_data$billMonthYear","_data$accessToMeter","_data$sewerConnection2","_data$septicTank","EkycStatus","setFormState","searchQuery","setSearchQuery","errorMsg","setErrorMsg","currentKNumber","targetKNumber","retry","isReviewLoading","connectionSearchData","isConnectionLoading","_data$kNumber","getStatusDetails","naText","connRaw","addrRaw","propRaw","meterRaw","rawStatus","reviewName","connName","reviewPhone","connPhone","reviewType","connType","timelineConfig","activeStepIndex","getStatusText","currentActiveIndex","CardHeader","CardText","CitizenApp","_useRouteMatch","_Digit$Hooks$useStore","useStore","getInitData","statusLabel","EkycModule","stateCode","tenants","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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"}