@djb25/digit-ui-module-ekyc 1.0.70 → 1.0.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.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","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\nimport { getEkycExcelData } from \"./ekycExcelData\";\n\nexport const downloadEkycExcel = async ({\n tenantId,\n vendorId,\n fromDate,\n toDate,\n fileName = \"eKYC_Data\",\n t,\n}) => {\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(\n t(\"EKYC_DOWNLOAD_FAILED\") ||\n \"Failed to download eKYC data. Please try again.\"\n );\n\n return false;\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_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: \"#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_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 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_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 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=\"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","t","useTranslation","Digit","Utils","ekycAccess","tenantId","ULBService","getCurrentTenantId","citizenInfo","SessionStorage","get","info","roles","Array","isArray","map","ele","code","data","listData","isLoading","Hooks","ekyc","useEkycApplicationList","offset","limit","enabled","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","ekycDownloadLoading","setEkycDownloadLoading","useState","showReportMenu","setShowReportMenu","customDate","setCustomDate","from","to","showCustomPicker","setShowCustomPicker","reportMenuRef","useRef","useEffect","handler","current","contains","target","document","addEventListener","removeEventListener","loggedInUser","name","handleDownloadEkycData","fromDate","toDate","Promise","resolve","EkycService","application_list","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","tableConfig","filterComponent","props","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","selectedKno","setSelectedKno","reviewData","getReview","useEkycAPI","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","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","vendor","isVendorSearchLoading","fsm","useVendorSearch","filters","ids","config","staleTime","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","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","inboxStyles","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","isSupervisor","handleSupervisorReview","dataForMobileInboxCards","_item$owner","serviceType","MobileSortFormValues","sortOrderOptions","i18nKey","controlSortForm","useFormContext","SearchField","RadioButtons","onSelect","selectedOption","optionsKey","isTwoDynamicPrefix","getRedirectionLink","handleClickEnabled","Inbox","_formState$searchForm3","_formState$searchForm4","useLocation","formInitValue","filterForm","sortBy","sortOrder","useReducer","formReducer","queryParams","isListLoading","allVendorsDetailed","searchDetails","_formState$searchForm2","isSearchActive","isSearchLoading","searchData","useSearchConnection","sourceData","filteredData","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","toFixed","FaUsers","FaCheckCircle","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","payload","set","newLimit","desc","propsForInboxTable","overflowX","overflowY","onMobileSortOrderData","onSortFormReset","setSortFormValue","propsForMobileSortForm","sortFormDefaultValues","propsForInboxMobileCards","isInboxLoading","marginBottom","InboxComposer","_extends","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$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","setIsSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","showOptions","setShowOptions","showToast","setShowToast","toastData","setToastData","edits","activeKno","addressDetails","editedAddress","propertyDetails","editedProperty","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","userRoles","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","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","addressData","whatsappNumber","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","workingStatusData","lastBillRaisedData","handleDeclaration","loggedInUserInfo","UserService","getUser","userData","useUserSearch","uuid","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","_formData5","informantIsConsumer","isMandatory","populators","component","validation","required","min","UploadFile","onUpload","onDelete","head","AadhaarVerification","URLSearchParams","search","urlKno","searchKno","sessionStorage","getItem","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","toast","setToast","isDataLoaded","setIsDataLoaded","canSubmit","setCanSubmit","defaultValues","setDefaultValues","categoryType","parentSpouseName","mobile","whatsapp","residents","identityType","idFile","tenantVerification","consent","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","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","submitData","landline","entityRelation","idProof","idNumber","updateType","Config","FormComposer","isDisabled","isCollapsible","isDefaultOpen","noCard","submitInForm","ekycConfig","route","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","showMapActualLocation","EKYCForm","path","passedPath","match","useRouteMatch","params","setParams","useSessionStorage","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","supervisorSearchResponse","isSupervisorSearchLoading","useSupervisorSearch","targetId","supervisors","matchedSup","_s$id","_s$owner","_s$owner$uuid","vendorIds","surveyorSearchResponse","isSurveyorSearchLoading","useSurveyorSearch","vendorSearchResponse","useDsoSearch","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","egovLocationData","useCommonMDMS","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","filterOptionsData","unassignedOnly","fetchFilterOptions","Infinity","pincodeOptions","mrkeyOptions","timer","clearTimeout","isFetching","refetch","refetchApplicationList","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","_mappedVendor$dsoDeta","mappedVendor","_mappedSupervisor$own","mappedSupervisor","isDashboardLoading","dashboardData","useEkycSurveyorDashboard","knoColumns","_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","createWorkOrder","wt","useVendorWorkOrderCreate","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","isReviewLoading","retry","connectionSearchData","isConnectionLoading","_data$kNumber","getStatusDetails","naText","connRaw","addrRaw","propRaw","meterRaw","rawStatus","reviewName","connName","reviewPhone","connPhone","reviewType","connType","timelineConfig","activeStepIndex","getStatusText","currentActiveIndex","CardHeader","CardText","CitizenApp","stateInfo","useStore","getInitData","statusLabel","EkycModule","stateCode","url","language","StoreData","getCurrentLanguage","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.modern.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?.rejectedKnosInZones || 0,\n totalAssignments: progressData?.totalAssignments || 0,\n submittedCount: progressData?.submittedKnosInZones || 0,\n selfEkycCount: progressData?.selfEkycCountInZones || 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 = [\n {\n label: \"TOTAL_KNOS\",\n count: progressData?.totalKnosInZones || 0,\n color: \"#2563EB\", // Blue\n type: \"today\",\n icon: <FaDatabase />,\n },\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: progressData?.totalAssignments || 0,\n color: \"#0891B2\", // Cyan\n type: \"today\",\n icon: <FaFileAlt />,\n },\n // {\n // label: \"EKYC_SUBMITTED\",\n // count: progressData?.submittedKnos || 0,\n // color: \"#10B981\",\n // type: \"month\",\n // icon: <FaCheckCircle />,\n // },\n {\n label: \"EKYC_SUBMITTED_BY_VENDORS\",\n count: progressData?.submittedKnosInZones || 0,\n color: \"#0D9488\", // Teal\n type: \"month\",\n icon: <FaBuilding />,\n },\n {\n label: \"EKYC_SUBMITTED_BY_CITIZEN\",\n count: progressData?.selfEkycCountInZones || 0,\n color: \"#7C3AED\", // Purple\n type: \"month\",\n icon: <FaUser />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: progressData?.pendingKnosInZones || 0,\n color: \"#EA580C\", // Orange\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${progressData?.overallProgressPercent || 0}%`,\n color: \"#DB2777\", // Pink\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\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.totalAssignments}</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}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\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}/status/:applicationId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\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}/supervisor-dashboard/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/supervisor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\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}/surveyor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\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","t","useTranslation","Digit","Utils","ekycAccess","tenantId","ULBService","getCurrentTenantId","citizenInfo","SessionStorage","get","info","roles","Array","isArray","map","ele","code","data","listData","isLoading","Hooks","ekyc","useEkycApplicationList","offset","limit","enabled","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","ekycDownloadLoading","setEkycDownloadLoading","useState","showReportMenu","setShowReportMenu","customDate","setCustomDate","from","to","showCustomPicker","setShowCustomPicker","reportMenuRef","useRef","useEffect","handler","current","contains","target","document","addEventListener","removeEventListener","loggedInUser","name","handleDownloadEkycData","fromDate","toDate","Promise","resolve","EkycService","application_list","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","rejectedKnosInZones","totalAssignments","submittedKnosInZones","selfEkycCountInZones","overallProgressPercent","EkycDashboardSkeleton","DesktopInbox","_Digit$ComponentRegis","tableConfig","filterComponent","props","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","selectedKno","setSelectedKno","reviewData","getReview","useEkycAPI","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","downloadVendorPDF","emailContact","VendorDetailsCard","_vendor$owner","_vendor$owner2","_vendorName$charAt","_progressData$supervi","useParams","vendor","isVendorSearchLoading","fsm","useVendorSearch","filters","ids","config","staleTime","targetVendorId","useEkycAssignmentProgress","keepPreviousData","zoneIds","_vendor$zoneIds","zone","trim","cards","totalKnosInZones","icon","FaDatabase","FaFileAlt","FaBuilding","FaUser","FaClock","FaChartLine","setCurrentPage","pageSize","setPageSize","supervisorColumns","_Digit$SessionStorage3","targetPath","href","textDecoration","totalKnos","submittedKnos","pendingKnos","progressPercent","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","inboxStyles","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","isSupervisor","handleSupervisorReview","dataForMobileInboxCards","_item$owner","serviceType","MobileSortFormValues","sortOrderOptions","i18nKey","controlSortForm","useFormContext","SearchField","RadioButtons","onSelect","selectedOption","optionsKey","isTwoDynamicPrefix","getRedirectionLink","handleClickEnabled","Inbox","_formState$searchForm3","_formState$searchForm4","useLocation","formInitValue","filterForm","sortBy","sortOrder","useReducer","formReducer","queryParams","isListLoading","allVendorsDetailed","searchDetails","_formState$searchForm2","isSearchActive","isSearchLoading","searchData","useSearchConnection","sourceData","filteredData","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","toFixed","FaUsers","FaCheckCircle","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","payload","set","newLimit","desc","propsForInboxTable","overflowX","overflowY","onMobileSortOrderData","onSortFormReset","setSortFormValue","propsForMobileSortForm","sortFormDefaultValues","propsForInboxMobileCards","isInboxLoading","marginBottom","InboxComposer","_extends","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$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","setIsSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","showOptions","setShowOptions","showToast","setShowToast","toastData","setToastData","edits","activeKno","addressDetails","editedAddress","propertyDetails","editedProperty","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","userRoles","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","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","addressData","whatsappNumber","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","workingStatusData","lastBillRaisedData","handleDeclaration","loggedInUserInfo","UserService","getUser","userData","useUserSearch","uuid","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","_formData5","informantIsConsumer","isMandatory","populators","component","validation","required","min","UploadFile","onUpload","onDelete","head","AadhaarVerification","URLSearchParams","search","urlKno","searchKno","sessionStorage","getItem","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","toast","setToast","isDataLoaded","setIsDataLoaded","canSubmit","setCanSubmit","defaultValues","setDefaultValues","categoryType","parentSpouseName","mobile","whatsapp","residents","identityType","idFile","tenantVerification","consent","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","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","submitData","landline","entityRelation","idProof","idNumber","updateType","Config","FormComposer","isDisabled","isCollapsible","isDefaultOpen","noCard","submitInForm","ekycConfig","route","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","showMapActualLocation","EKYCForm","path","passedPath","match","useRouteMatch","params","setParams","useSessionStorage","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","supervisorSearchResponse","isSupervisorSearchLoading","useSupervisorSearch","targetId","supervisors","matchedSup","_s$id","_s$owner","_s$owner$uuid","vendorIds","surveyorSearchResponse","isSurveyorSearchLoading","useSurveyorSearch","vendorSearchResponse","useDsoSearch","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","egovLocationData","useCommonMDMS","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","filterOptionsData","unassignedOnly","fetchFilterOptions","Infinity","pincodeOptions","mrkeyOptions","timer","clearTimeout","isFetching","refetch","refetchApplicationList","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","_mappedVendor$dsoDeta","mappedVendor","_mappedSupervisor$own","mappedSupervisor","isDashboardLoading","dashboardData","useEkycSurveyorDashboard","knoColumns","_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","createWorkOrder","wt","useVendorWorkOrderCreate","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","isReviewLoading","retry","connectionSearchData","isConnectionLoading","_data$kNumber","getStatusDetails","naText","connRaw","addrRaw","propRaw","meterRaw","rawStatus","reviewName","connName","reviewPhone","connPhone","reviewType","connType","timelineConfig","activeStepIndex","getStatusText","currentActiveIndex","CardHeader","CardText","CitizenApp","stateInfo","useStore","getInitData","statusLabel","EkycModule","stateCode","tenants","url","language","StoreData","getCurrentLanguage","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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"}