@djb25/digit-ui-module-ekyc 1.0.52 → 1.0.53

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/components/StatusCards.js","../src/components/Dashboard.js","../src/components/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/components/mockData.js","../src/utils/reportDownloader.js","../src/components/VendorDetailsCard.js","../src/hook/useInboxTableConfig.js","../src/components/SearchFormFieldsComponent.js","../src/hook/useInboxMobileCardsData.js","../src/pages/employee/Inbox.js","../src/components/Review.js","../src/config/AadhaarVerificationConfig.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../src/components/AdminDashboard.js","../src/components/SupervisorDetailsCard.js","../src/components/AssignEkycModal.js","../src/components/SurveyorDetailsCard.js","../src/pages/employee/WorkOrder.js","../../vendor/src/config/tableConfig.js","../src/hook/SupervisorInboxTableConfig.js","../src/components/AssignEkyc.js","../src/config/Routes.js","../src/pages/employee/index.js","../src/config/PropertyInfoConfig.js","../src/components/PropertyInfo.js","../src/config/MeterDetailsConfig.js","../src/components/MeterDetails.js","../src/pages/citizen/Inbox.js","../src/pages/citizen/EkycStatus.js","../src/pages/citizen/index.js","../src/Module.js"],"sourcesContent":["import { PersonIcon, EmployeeModuleCard } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst EKYCCard = () => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code || ele) : [];\n\n const { data: listData, isLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {},\n { tenantId, offset: 0, limit: 1 },\n { enabled: !!tenantId }\n );\n\n const totalCount = isLoading ? \"-\" : listData?.totalCount || 0;\n\n const isCitizen = window.location.pathname.includes(\"/citizen\");\n const prefix = isCitizen ? \"/digit-ui/citizen/ekyc\" : \"/digit-ui/employee/ekyc\";\n\n let links = [];\n if (isCitizen) {\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `${prefix}/surveyor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n links.push(\n {\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `${prefix}/supervisor-dashboard`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n }\n );\n }\n if (roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `${prefix}/vendor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n if (links.length === 0 || (roles.length === 1 && roles.includes(\"CITIZEN\"))) {\n links.push({\n label: t(\"EKYC_STATUS\"),\n link: `${prefix}/:id`,\n });\n }\n } else {\n // Employee links\n links = [\n // {\n // label: t(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n // link: `${prefix}/ceo-dashboard`,\n // },\n {\n label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\",\n link: `${prefix}/admin-dashboard`,\n },\n {\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n },\n {\n label: t(\"EKYC_WORK_ORDER\"),\n link: `${prefix}/work-order`,\n },\n ...(!roles.includes(\"EMPLOYEE\")\n ? [\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n },\n ]\n : []),\n ];\n }\n\n const propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: isCitizen\n ? []\n : [\n {\n count: totalCount,\n label: t(\"TOTAL_EKYC\"),\n link: `${prefix}/admin-dashboard`,\n },\n ],\n links: links,\n };\n\n return <EmployeeModuleCard {...propsForModuleCard} />;\n};\n\nexport default EKYCCard;\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Chartjs from \"chart.js/auto\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const fullName = loggedInUser?.name || \"Admin\";\n\n const hasExternalData = countData && typeof countData.total === \"number\" && typeof countData.submittedCount === \"number\";\n\n const { data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n ekycStatus: \"submitted\"\n },\n {\n enabled: !!tenantId && !hasExternalData,\n }\n );\n\n const apiCountData = React.useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n submittedCount: info.submittedCount || 0,\n inProgressCount: info.inProgressCount || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n };\n }, [dashboardData]);\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true,\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n // Fields where original value must be preserved (identifiers, numbers, emails, dates)\n const skipTitleCase = [\"kno\", \"mobileNumber\", \"emailId\", \"pincode\", \"mrkey\", \"dob\", \"createdTime\", \"lastModifiedTime\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const name = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (name) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(name);\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n // Apply Title Case to ALL string fields except identifiers/numbers/dates\n if (typeof val === \"string\" && !skipTitleCase.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_All_Data_Admin_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n const total = hasExternalData ? countData.total : (apiCountData?.total || countData?.total || countData?.totalCount || 0);\n const pending = hasExternalData ? countData.pending : (apiCountData?.pending || countData?.pending || 0);\n const active = hasExternalData ? countData.active : (apiCountData?.active || countData?.active || 0);\n const completed = hasExternalData ? countData.completed : (apiCountData?.completed || countData?.completed || 0);\n const inprocess = hasExternalData ? countData.inProgressCount : (apiCountData?.inProgressCount || countData?.inProgressCount || 0);\n const submitted = hasExternalData ? countData.submittedCount : (apiCountData?.submittedCount || countData?.submittedCount || 0);\n const actualCompleted = completed;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round(((submitted + completed) / total) * 100) : 0;\n // const healthPct = total > 0 ? Math.round((approved / total) * 100) : 0;\n const healthPct = submitted > 0 ? Math.round((approved / submitted) * 100) : 0;\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n\n\n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\"), t(\"EKYC_SUBMITTED\"), t(\"EKYC_INPROCESS\")],\n datasets: [\n {\n data: [pending, completed, submitted, inprocess],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\", \"#49a3fb\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n },\n ],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: false,\n responsive: true,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n };\n }, [pending, completed, active, t]);\n\n const legendItems = [\n { color: \"#77B6EA\", label: t(\"EKYC_COMPLETED\"), value: completed },\n { color: \"#0c2a52\", label: t(\"EKYC_PENDING\"), value: pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_SUBMITTED\"), value: submitted },\n { color: \"#49a3fb\", label: t(\"EKYC_INPROCESS\"), value: inprocess }\n\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-cards-wrapper\">\n {/* Header */}\n <div className=\"status-cards-header\">\n <div>\n <div className=\"eyebrow\">\n <span className=\"eyebrow-dot\" />\n {t(\"EKYC_INSTITUTIONAL_OVERVIEW\") || \"Institutional Performance Overview\"}\n </div>\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n <p className=\"status-cards-subtitle\">\n {t(\"EKYC_DASHBOARD_SUBTITLE\") || \"Real-time monitoring of consumer verification workflows across all administrative zones.\"}\n </p>\n </div>\n <div className=\"total-applications-card\">\n <div className=\"total-label\">{t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Processed\"}</div>\n <div className=\"total-number\">{formatNumber(total)}</div>\n {/* <div className=\"total-badge\">↗ +12.4% {t(\"EKYC_FROM_LAST_QUARTER\") || \"from last quarter\"}</div> */}\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n\n {/* Panels */}\n <div className=\"status-panels-grid\">\n {/* Panel 1: Status Breakdown */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">{t(\"EKYC_STATUS_BREAKDOWN\") || \"Status Breakdown\"}</div>\n <div className=\"panel-subtitle\">{t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle distribution\"}</div>\n <div className=\"breakdown-body\">\n <div className=\"status-legend\">\n {legendItems.map((item) => (\n <div key={item.label} className=\"legend-row\">\n <span className=\"legend-label\">\n <span className=\"indicator-dot\" style={{ background: item.color }} />\n {item.label}\n </span>\n <span className=\"legend-value\">{formatNumber(item.value)}</span>\n </div>\n ))}\n </div>\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n <div className=\"chart-center\">\n <div className=\"chart-percentage\">{efficiency}%</div>\n <div className=\"chart-label\">{t(\"EKYC_COMPLETE\") || \"Complete\"}</div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Panel 2: Submission Health */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">\n {t(\"EKYC_SUBMISSION_HEALTH\") || \"Submission Health\"}\n {/* <span className=\"optimal-badge\">{t(\"EKYC_OPTIMAL\") || \"Optimal\"}</span> */}\n </div>\n <div className=\"panel-subtitle\">{t(\"EKYC_PLATFORM_EFFICIENCY\") || \"Platform operational efficiency\"}</div>\n <div className=\"health-metrics-row\">\n <div className=\"health-percentage\">{healthPct}%</div>\n {/* <div className=\"health-trend\">↗ +2.1%</div> */}\n </div>\n <div className=\"status-progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${healthPct}%` }} />\n </div>\n <div className=\"mini-metrics-grid\">\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_AVG_LATENCY\") || \"Avg Latency\"}</div>\n <div className=\"metric-value\">0s</div>\n </div>\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_ERROR_RATE\") || \"Error Rate\"}</div>\n <div className=\"metric-value\">0.0%</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;\n","import React, { useMemo } from \"react\";\nimport StatusCards from \"./StatusCards\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\n\n// Mock data removed in favor of API integration\n\nconst Dashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 2. API Data Fetching\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const countData = useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n submittedCount: info.submittedCount || 0,\n inProgressCount: info.inProgressCount || 0,\n };\n }, [dashboardData]);\n\n return isLoading ? (\n <Loader />\n ) : (\n <Card className=\"min-width-full\">\n <StatusCards countData={countData} />\n </Card>\n );\n};\n\nexport default Dashboard;\n","import React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, Card, Loader, InboxLinks } from \"@djb25/digit-ui-react-components\";\nimport { useHistory } from \"react-router-dom\";\nimport StatusCards from \"./StatusCards\";\n\nconst DesktopInbox = ({ tableConfig, filterComponent, ...props }) => {\n const {\n data,\n isLoading,\n onSort,\n onNextPage,\n onPrevPage,\n currentPage,\n pageSizeLimit,\n onPageSizeChange,\n parentRoute,\n searchParams,\n sortParams,\n totalRecords,\n countData,\n } = props;\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const FilterComponent = Digit.ComponentRegistryService?.getComponent(filterComponent);\n\n // State for Review Modal\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(\"/digit-ui/employee/ekyc/review\", { kNumber: selectedKno, aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const columns = useMemo(\n () => [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n // {\n // Header: t(\"EKYC_MOBILE_NO\"),\n // accessor: \"mobileNumber\",\n // Cell: ({ row }) => <span>{row.original?.mobileNumber || \"NA\"}</span>,\n // },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n {\n Header: t(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","export const ekycMockData = {\n topKpis: {\n totalWaterConnections: 2990996,\n totalEkycCompleted: 2460810,\n totalPending: 530186,\n totalRejected: 224324,\n agencyEkycCompleted: 2352069,\n citizenSelfEkycCompleted: 638927,\n todaysEkyc: 54684,\n successRate: 82,\n rejectionPercentage: 7,\n },\n\n executiveMetrics: {\n totalSurveyors: 186,\n totalSupervisors: 56,\n activeJurisdictions: 27,\n todaysGrowth: 2.8,\n selfEkycAdoption: 38,\n avgApprovalTime: \"2.3 Days\",\n riskZones: 7,\n escalationsOpen: 18,\n },\n\n alerts: [\n {\n title: \"North East District pending increased\",\n priority: \"high\",\n change: \"+22%\",\n district: \"North East District\",\n },\n {\n title: \"Agency 2 self eKYC adoption low\",\n priority: \"medium\",\n change: \"-12%\",\n district: \"West District\",\n },\n {\n title: \"Escalation raised in NWS Bhera Enclave\",\n priority: \"high\",\n change: \"+18\",\n district: \"Outer North\",\n },\n {\n title: \"Approval rate improved in East District\",\n priority: \"low\",\n change: \"+9%\",\n district: \"East District\",\n },\n ],\n\n heatmapData: [\n {\n district: \"Outer North\",\n intensity: 82,\n },\n {\n district: \"East District\",\n intensity: 48,\n },\n {\n district: \"South District\",\n intensity: 67,\n },\n {\n district: \"North East District\",\n intensity: 74,\n },\n ],\n\n dailyTrend: [\n {\n label: \"Mon\",\n completed: 270689,\n pending: 491305,\n rejected: 145810,\n },\n {\n label: \"Tue\",\n completed: 442945,\n pending: 466563,\n rejected: 157026,\n },\n {\n label: \"Wed\",\n completed: 615202,\n pending: 441821,\n rejected: 168243,\n },\n {\n label: \"Thu\",\n completed: 812067,\n pending: 413545,\n rejected: 179459,\n },\n {\n label: \"Fri\",\n completed: 1033540,\n pending: 381733,\n rejected: 190675,\n },\n {\n label: \"Sat\",\n completed: 1279621,\n pending: 346388,\n rejected: 201891,\n },\n {\n label: \"Sun\",\n completed: 1574918,\n pending: 303973,\n rejected: 213107,\n },\n ],\n\n selfVsAgency: [\n {\n label: \"Agency1\",\n agency: 201457,\n citizen: 758414,\n },\n {\n label: \"Agency 2\",\n agency: 164302,\n citizen: 919322,\n },\n {\n label: \"Agency 3\",\n agency: 328451,\n citizen: 541772,\n },\n ],\n\n pendingVsCompleted: [\n {\n label: \"Agency1\",\n completed: 201457,\n pending: 201457,\n },\n {\n label: \"Agency 2\",\n completed: 164302,\n pending: 164302,\n },\n {\n label: \"Agency 3\",\n completed: 328451,\n pending: 77278,\n },\n ],\n\n rejectionAnalysis: [\n {\n label: \"Agency1\",\n rejected: 71990,\n success: 72,\n },\n {\n label: \"Agency 2\",\n rejected: 81271,\n success: 77,\n },\n {\n label: \"Agency 3\",\n rejected: 71063,\n success: 86,\n },\n ],\n\n vendors: [\n {\n id: 1,\n name: \"Agency1\",\n\n assignedConnections: 959871,\n\n completedEkyc: 201457,\n\n selfEkyc: 758414,\n\n pending: 201457,\n\n rejected: 71990,\n\n inactiveDemand: 1161328,\n\n successRate: 72,\n\n progress: 21,\n\n supervisors: 23,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"Outer North\", \"North West District\", \"Model Town AC 18\", \"Cluster 2\", \"North District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 16116,\n pending: 196084,\n rejected: 53272,\n },\n {\n day: \"Tue\",\n completed: 26189,\n pending: 192727,\n rejected: 55072,\n },\n {\n day: \"Wed\",\n completed: 38276,\n pending: 188698,\n rejected: 57232,\n },\n {\n day: \"Thu\",\n completed: 52378,\n pending: 183997,\n rejected: 59751,\n },\n {\n day: \"Fri\",\n completed: 68495,\n pending: 178625,\n rejected: 62631,\n },\n {\n day: \"Sat\",\n completed: 84611,\n pending: 173253,\n rejected: 65510,\n },\n {\n day: \"Sun\",\n completed: 100728,\n pending: 167880,\n rejected: 68390,\n },\n ],\n\n zones: [\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n cluster: \"NWS Bhera Enclave\",\n\n assignedConnections: 102669,\n\n location: \"102669\",\n\n zroOffice: \"NWS Bhera Enclave\",\n\n assemblyConstituency: \"Part of Mundka AC 08\",\n\n gpsLocation: null,\n\n distanceFromFarthestPoint: null,\n\n activeDemand: 202197,\n\n pppZones: 15800,\n\n inactiveDemand: 35265,\n\n districtwiseInactiveTotal: 237462,\n },\n\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n\n cluster: \"Narela\",\n\n assignedConnections: 99528,\n\n location: \"99528\",\n\n zroOffice: \"Narela\",\n\n assemblyConstituency: \"Narela AC 01\",\n\n activeDemand: 99528,\n\n pppZones: 19465,\n\n inactiveDemand: 35265,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"North West District\",\n\n cluster: \"Rohini AC 13\",\n\n assignedConnections: 71041,\n\n location: \"71041\",\n\n zroOffice: \"Rohini\",\n\n assemblyConstituency: \"Rithala AC 06\",\n\n activeDemand: 247949,\n\n pppZones: 28975,\n\n inactiveDemand: 49494,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Mangol Puri AC 12\",\n\n cluster: \"Model Town AC 18\",\n\n assignedConnections: 68957,\n\n location: \"68957\",\n\n zroOffice: \"Central North District\",\n\n assemblyConstituency: \"Ashok Vihar\",\n\n activeDemand: 231216,\n\n pppZones: 16627,\n\n inactiveDemand: 36915,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Timarpur AC 03\",\n\n cluster: \"Cluster 2\",\n\n assignedConnections: 34862,\n\n location: \"34862\",\n\n zroOffice: \"Old Delhi District\",\n\n assemblyConstituency: \"Pratap Nagar\",\n\n activeDemand: 99694,\n\n pppZones: 20011,\n\n inactiveDemand: 48011,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Bali Maran AC 22\",\n\n cluster: \"North District\",\n\n assignedConnections: 110507,\n\n location: \"110507\",\n\n zroOffice: \"Burari\",\n\n assemblyConstituency: \"Burari AC 2\",\n\n activeDemand: 178815,\n\n pppZones: 14700,\n\n inactiveDemand: 31772,\n },\n ],\n },\n\n {\n id: 2,\n\n name: \"Agency 2\",\n\n assignedConnections: 1083624,\n\n completedEkyc: 164302,\n\n selfEkyc: 919322,\n\n pending: 164302,\n\n rejected: 81271,\n\n inactiveDemand: 1247926,\n\n successRate: 77,\n\n progress: 15,\n\n supervisors: 14,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"West District\", \"Janak Puri\", \"South District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 13144,\n pending: 159920,\n rejected: 60140,\n },\n {\n day: \"Tue\",\n completed: 21359,\n pending: 157182,\n rejected: 62172,\n },\n {\n day: \"Wed\",\n completed: 31217,\n pending: 153896,\n rejected: 64610,\n },\n {\n day: \"Thu\",\n completed: 42718,\n pending: 150062,\n rejected: 67454,\n },\n {\n day: \"Fri\",\n completed: 55862,\n pending: 145681,\n rejected: 70705,\n },\n {\n day: \"Sat\",\n completed: 69006,\n pending: 141299,\n rejected: 73956,\n },\n {\n day: \"Sun\",\n completed: 82151,\n pending: 136918,\n rejected: 77207,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Rajouri Garden AC 27\",\n\n assignedConnections: 84506,\n\n location: \"84506\",\n\n zroOffice: \"Rajouri Garden AC 27\",\n\n assemblyConstituency: \"Punjabi Bagh\",\n\n activeDemand: 470766,\n\n pppZones: 13269,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Tilak Nagar AC 29\",\n\n assignedConnections: 51428,\n\n location: \"51428\",\n\n zroOffice: \"Tilak Nagar AC 29\",\n\n assemblyConstituency: \"Paschim Vihar\",\n\n activeDemand: 470766,\n\n pppZones: 6298,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"Part of Uttam Nagar & Vikas puri\",\n\n cluster: \"Janak Puri\",\n\n assignedConnections: 163041,\n\n location: \"163041\",\n\n zroOffice: \"Janakpuri\",\n\n assemblyConstituency: \"Janakpuri AC 30\",\n\n activeDemand: 369772,\n\n pppZones: 25729,\n\n inactiveDemand: 60534,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"South District\",\n\n assignedConnections: 52803,\n\n location: \"52803\",\n\n zroOffice: \"R K Puram\",\n\n assemblyConstituency: \"Malviya Nagar AC 43\",\n\n activeDemand: 243086,\n\n pppZones: 9678,\n\n inactiveDemand: 39204,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"Vasant Kunz\",\n\n assignedConnections: 58997,\n\n location: \"58997\",\n\n zroOffice: \"Vasant Kunj\",\n\n assemblyConstituency: \"Vasant Kunj\",\n\n activeDemand: 243086,\n\n pppZones: 6691,\n\n inactiveDemand: 39204,\n },\n ],\n },\n\n {\n id: 3,\n\n name: \"Agency 3\",\n\n assignedConnections: 947501,\n\n completedEkyc: 328451,\n\n selfEkyc: 541772,\n\n pending: 77278,\n\n rejected: 71063,\n\n inactiveDemand: 1016841,\n\n successRate: 86,\n\n progress: 78,\n\n supervisors: 19,\n\n activeSurveyors: 58,\n\n jurisdictions: [\"East District\", \"North East District\", \"South East District\", \"MNWS\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 44120,\n pending: 130002,\n rejected: 5711,\n },\n {\n day: \"Tue\",\n completed: 58221,\n pending: 121998,\n rejected: 7104,\n },\n {\n day: \"Wed\",\n completed: 70218,\n pending: 113201,\n rejected: 8842,\n },\n {\n day: \"Thu\",\n completed: 85124,\n pending: 104006,\n rejected: 9911,\n },\n {\n day: \"Fri\",\n completed: 102315,\n pending: 94441,\n rejected: 11214,\n },\n {\n day: \"Sat\",\n completed: 121009,\n pending: 85218,\n rejected: 12902,\n },\n {\n day: \"Sun\",\n completed: 142118,\n pending: 77278,\n rejected: 14101,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Mayur Vihar\",\n\n assignedConnections: 72326,\n\n location: \"72326\",\n\n zroOffice: \"Mayur Vihar\",\n\n assemblyConstituency: \"Trilokpuri AC 55\",\n\n activeDemand: 328564,\n\n pppZones: 9691,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Yojna Vihar\",\n\n assignedConnections: 40651,\n\n location: \"40651\",\n\n zroOffice: \"Yojna Vihar\",\n\n assemblyConstituency: \"Vishwas Nagar AC 59\",\n\n activeDemand: 328564,\n\n pppZones: 10097,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"GTB Enclave\",\n\n assignedConnections: 80453,\n\n location: \"80453\",\n\n zroOffice: \"GTB Enclave\",\n\n assemblyConstituency: \"Seemapuri AC 63\",\n\n activeDemand: 323753,\n\n pppZones: 10671,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"Yamuna Vihar\",\n\n assignedConnections: 90599,\n\n location: \"90599\",\n\n zroOffice: \"Yamuna Vihar\",\n\n assemblyConstituency: \"Mustafabad AC 69\",\n\n activeDemand: 323753,\n\n pppZones: 18185,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Kalkaji AC 51\",\n\n assignedConnections: 29188,\n\n location: \"29188\",\n\n zroOffice: \"Kalkaji AC 51\",\n\n assemblyConstituency: \"Saket\",\n\n activeDemand: 136102,\n\n pppZones: 3675,\n\n inactiveDemand: 23977,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Okhla\",\n\n assignedConnections: 18473,\n\n location: \"18473\",\n\n zroOffice: \"Sarita Vihar/Okhla\",\n\n assemblyConstituency: \"Okhla AC 54\",\n\n activeDemand: 136102,\n\n pppZones: 3703,\n\n inactiveDemand: 23977,\n },\n ],\n },\n ],\n};\n","export const downloadSurveyorPDF = async ({\n rows,\n surveyorName,\n employeeId,\n mobileNumber,\n vendorName,\n supervisorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const initData = Digit.SessionStorage.get(\"initData\");\n const tenants = initData?.tenants || [];\n const tenantInfo = tenants.find((tenant) => tenant.code === tenantId);\n\n const capitalize = (text) =>\n text && text.substr(0, 1).toUpperCase() + text.substr(1);\n const ulbCamel = (ulb) =>\n ulb &&\n ulb\n .toLowerCase()\n .split(\" \")\n .map(capitalize)\n .join(\" \");\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SURVEYOR_DETAILS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"SURVEYOR_NAME\"), value: surveyorName },\n { title: t(\"MOBILE_NUMBER\"), value: mobileNumber },\n { title: t(\"VENDOR_NAME\"), value: vendorName },\n { title: t(\"SUPERVISOR_NAME\"), value: supervisorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\"), value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\"), value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\"), value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\"), value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SURVEYOR_REPORT\"),\n details,\n applicationNumber: employeeId,\n rows,\n t,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n};\n\n\nexport const downloadSupervisorPDF = async ({\n rows,\n supervisorName,\n mobileNumber,\n vendorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SUPERVISOR_DETAILS\") || \"Supervisor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\", value: supervisorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from surveyors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || row.owner?.name || \"N/A\",\n firstName: row.owner?.mobileNumber || row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SURVEYOR_NAME\") || \"Surveyor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SUPERVISOR_REPORT\") || \"eKYC Supervisor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\nexport const downloadVendorPDF = async ({\n rows,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const emailContact = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"VENDOR_DETAILS\") || \"Vendor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"EMAIL\") || \"Email\", value: email }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from supervisors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || \"N/A\",\n firstName: row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SUPERVISOR_NAME\") || \"Supervisor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email: emailContact,\n phoneNumber,\n heading: t(\"EKYC_VENDOR_REPORT\") || \"eKYC Vendor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\n\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport { downloadVendorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst VendorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { vendorId } = useParams();\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Fetch all supervisors to filter by vendor\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Match vendor details\n const vendor = useMemo(() => {\n const userUuid = loggedInUser?.uuid;\n const userMobile = loggedInUser?.mobileNumber;\n\n // Helper to check if a vendor matches the logged in user\n const matchesUser = (v) => {\n const ownerUuid = v.owner?.uuid || v.owner?.id;\n const ownerMobile = v.owner?.mobileNumber || v.mobileNumber;\n return (userUuid && ownerUuid === userUuid) || (userMobile && ownerMobile === userMobile);\n };\n\n // Find in real API search first\n if (vendorSearchResponse) {\n if (vendorId) {\n const matched = vendorSearchResponse.find(\n (v) => v.dsoDetails?.id === vendorId || v.dsoDetails?.vendorId === vendorId || v.id === vendorId || v.vendorId === vendorId\n );\n if (matched) return matched.dsoDetails || matched;\n } else {\n // Try matching logged in user\n const matched = vendorSearchResponse.find((v) => matchesUser(v.dsoDetails || v));\n if (matched) return matched.dsoDetails || matched;\n // Default to first vendor if no match found\n if (vendorSearchResponse.length > 0) return vendorSearchResponse[0].dsoDetails || vendorSearchResponse[0];\n }\n }\n\n // Fall back to ekycMockData vendors\n if (vendorId) {\n return ekycMockData.vendors.find((v) => v.id === Number(vendorId) || v.name === vendorId) || ekycMockData.vendors[0];\n } else {\n // Match mock vendor with user name or return first\n const matchedMock = ekycMockData.vendors.find((v) => v.name?.toLowerCase() === loggedInUser?.name?.toLowerCase());\n return matchedMock || ekycMockData.vendors[0];\n }\n }, [vendorSearchResponse, vendorId, loggedInUser]);\n\n const targetVendorId = vendorId || vendor?.id || vendor?.vendorId;\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details) for target vendor\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n targetVendorId ? { vendorId: targetVendorId, vendorIds: [targetVendorId] } : {},\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n // Supervisors belonging to this vendor\n const vendorSupervisors = useMemo(() => {\n if (!supervisorSearchResponse?.supervisors) {\n // Mock fallback if supervisors count is present\n if (vendor && Array.isArray(ekycMockData.vendors)) {\n // Return dummy supervisors based on vendor name or id\n const mockSupList = Array.from({ length: vendor.supervisors || 5 }, (_, i) => ({\n id: `SUP_V_${vendor.id || 1}_${i}`,\n name: `Supervisor ${i + 1} (${vendor.name})`,\n mobileNo: `99999120${i}`,\n status: \"ACTIVE\",\n totalKnos: Math.round(1000 + Math.random() * 4000),\n submittedKnos: Math.round(500 + Math.random() * 2000),\n pendingKnos: Math.round(200 + Math.random() * 1000),\n progressPercent: Math.round(40 + Math.random() * 50),\n }));\n return mockSupList;\n }\n return [];\n }\n\n // Filter real supervisors belonging to this vendor\n const currentVendorId = vendor?.id || vendor?.vendorId || vendorId;\n const matchedSups = supervisorSearchResponse.supervisors.filter(\n (s) => s.vendorId === currentVendorId\n );\n\n return matchedSups.map((sup) => {\n // Find progress report for this supervisor in progressData\n const report = progressData?.supervisorReport?.find(\n (r) => r.supervisorId === sup.id || r.supervisorId === sup.owner?.uuid\n );\n\n return {\n id: sup.id || sup.owner?.uuid,\n name: sup.name || sup.owner?.name || \"N/A\",\n mobileNo: sup.owner?.mobileNumber || sup.mobileNo || \"N/A\",\n status: sup.status || \"ACTIVE\",\n totalKnos: report?.totalKnos || 0,\n submittedKnos: report?.submittedKnos || 0,\n pendingKnos: report?.pendingKnos || 0,\n progressPercent: report?.progressPercent || 0,\n };\n });\n }, [supervisorSearchResponse, vendor, progressData, vendorId]);\n\n const vendorName = vendor?.name || \"N/A\";\n const mobileNumber = vendor?.mobileNumber || vendor?.owner?.mobileNumber || \"N/A\";\n const email = vendor?.owner?.emailId || \"N/A\";\n const status = vendor ? \"ACTIVE\" : \"N/A\";\n const jurisdictions = useMemo(() => {\n if (Array.isArray(vendor?.jurisdictions)) {\n return vendor.jurisdictions.join(\", \");\n }\n return \"N/A\";\n }, [vendor]);\n const zoneIds = useMemo(() => {\n return vendor?.zoneIds?.length\n ? vendor.zoneIds.filter(Boolean).map(zone => String(zone).trim().toUpperCase())\n : [];\n }, [vendor]);\n\n // KPI stats calculation\n const cards = useMemo(() => {\n const hasRealData = vendorSupervisors.some((s) => s.totalKnos > 0);\n\n const totalKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0)\n : (progressData?.totalKnos || vendor?.assignedConnections || 0);\n\n const completedKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0)\n : (progressData?.completedKnos || vendor?.completedEkyc || 0);\n\n const pendingKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0)\n : (totalKnos - completedKnos);\n\n const progressPercent = totalKnos > 0 ? Math.round((completedKnos / totalKnos) * 100) : (vendor?.progress || 0);\n\n return [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: totalKnos,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n // {\n // label: \"TOTAL_ASSIGNMENTS\",\n // count: totalKnos,\n // color: \"#3B82F6\",\n // type: \"week\",\n // icon: <FaMapMarkedAlt />,\n // },\n {\n label: \"EKYC_COMPLETED\",\n count: completedKnos,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: pendingKnos,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${progressPercent}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n }, [vendorSupervisors, vendor, progressData]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true\n });\n\n const consumerList = response?.consumerList || [];\n\n if (!consumerList || consumerList.length === 0) {\n alert(t(\"NO_EKYC_DATA_FOUND\") || \"No eKYC data found to download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = fullName;\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n cleanObj[friendlyHeader] = val;\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${vendorName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Failed to download eKYC data:\", error);\n alert(t(\"EKYC_DOWNLOAD_FAILED\") || \"Failed to download eKYC data. Please try again.\");\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const paginatedSupervisors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return vendorSupervisors.slice(start, end);\n }, [vendorSupervisors, currentPage, pageSize]);\n\n const supervisorColumns = useMemo(\n () => [\n {\n Header: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\",\n accessor: (row) => row?.name || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/supervisor-dashboard/${row.original.id}`;\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.name || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: (row) => row?.status || \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || row?.progressPercent === 0 ? row.progressPercent : row.progress}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = vendorSupervisors.map((s) => ({\n name: s.name,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0) || vendor?.assignedConnections || 0;\n const completedKnos = vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0) || vendor?.completedEkyc || 0;\n\n downloadVendorPDF({\n rows: rowsWithStats,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate report:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handlePresetDownload = (filter) => {\n handleDownload();\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n handleDownload();\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isVendorSearchLoading || isSupervisorSearchLoading;\n\n if (isPageLoading && !vendor) {\n return <Loader />;\n }\n\n if (!vendor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_VENDOR_FOUND\") || \"No Vendor Found\"}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{vendorName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{vendorName}</h2>\n <div className=\"designation\">{t(\"VENDOR_AGENCY\") || \"Agency / Vendor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {\n cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isPageLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n {/* <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div> */}\n\n {/* <div className=\"detail-item\">\n <span className=\"label\">{t(\"JURISDICTIONS\") || \"Jurisdictions\"}</span>\n <span className=\"value\">{jurisdictions}</span>\n </div> */}\n\n <div className=\"detail-item\" style={{ gridColumn: \"1 / -1\" }}>\n <span className=\"label\">{t(\"ASSIGNED_ZONES\") || \"Assigned Zones\"}</span>\n <span className=\"value\">\n {zoneIds.length > 0\n ? (\n <div className=\"selected-zones\" style={{ marginTop: \"4px\", width: \"100%\" }}>\n {zoneIds.map(zone => (\n <span key={zone} className=\"selected-zone-chip\">\n {t(zone) || zone}\n </span>\n ))}\n </div>\n )\n : \"N/A\"}\n </span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\"}\n tableClass=\"ekycTable\"\n data={paginatedSupervisors}\n columns={supervisorColumns}\n isLoading={isPageLoading}\n totalRecords={vendorSupervisors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(vendorSupervisors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(vendorSupervisors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default VendorDetailsCard;\n","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header } from \"@djb25/digit-ui-react-components\";\n\nconst useInboxTableConfig = ({\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n checkPathName,\n onSortingByData,\n tenantId,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const tableColumnConfig = [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n disableSortBy: true,\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"SUBMITTED_AT\") || \"Submitted At\",\n accessor: \"submittedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"ASSIGNED_AT\") || \"Assigned At\",\n accessor: \"assignedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n ];\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n initSortId: \"applicationDate\",\n onPageSizeChange: onPageSizeChange,\n currentPage: offset,\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) + limit },\n checkPathName,\n }),\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) - limit },\n checkPathName,\n }),\n pageSizeLimit: limit,\n onSort: onSortingByData,\n // sortParams: [{id: getValues(\"sortBy\"), desc: getValues(\"sortOrder\") === \"DESC\" ? true : false}],\n totalRecords: totalCount,\n onSearch: formState?.searchForm?.message,\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: Math.max(0, Math.floor((totalCount - 1) / limit) * limit) },\n checkPathName,\n }),\n onFirstPage: () => dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, offset: 0 }, checkPathName }),\n // globalSearch: {searchForItemsInTable},\n // searchQueryForTable,\n data: table,\n columns: tableColumnConfig,\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default useInboxTableConfig;\n","import React from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport { CardLabelError, TextInput, CustomTooltip, Label } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchFormFieldsComponents = ({ searchFormState, controlSearchForm, searchType }) => {\n const { t } = useTranslation();\n const { errors } = searchFormState;\n\n if (searchType === \"mobile\") {\n return (\n <React.Fragment>\n {/* MOBILE NUMBER */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"ES_COMMON_MOBILE_NUM\") || \"Mobile Number\"}\n <CustomTooltip message={t(\"EKYC_MOBILE_NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"mobileNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[6-9]\\d{9}$/,\n message: t(\"ERR_INVALID_MOBILE_NUMBER\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.mobileNumber && <CardLabelError>{errors.mobileNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment>\n {/* K NUMBER (KNO) */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"EKYC_K.NUMBER\") || \"K Number\"}\n <CustomTooltip message={t(\"EKYC_K.NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"kNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[0-9]{10}$/,\n message: t(\"ERR_INVALID_KNO\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.kNumber && <CardLabelError>{errors.kNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n};\n\nexport default SearchFormFieldsComponents;\n","import { RadioButtons, SearchField } from \"@djb25/digit-ui-react-components\";\nimport React, { useState } from \"react\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nconst useInboxMobileCardsData = ({ table, tenantId, isSupervisor = false }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (!isSupervisor && reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData, isSupervisor]);\n\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const handleSupervisorReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const dataForMobileInboxCards = table?.map((item) => {\n if (isSupervisor) {\n const id = item.id;\n const status = item.status || \"DEFAULT\";\n\n return {\n [t(\"SURVEYOR_NAME\")]: (\n <span className=\"link\" onClick={() => handleSupervisorReview(id)}>\n {item.surveyorName || item.name || \"NA\"}\n </span>\n ),\n [t(\"MOBILE_NUMBER\")]: item.mobileNo || item.owner?.mobileNumber || \"NA\",\n [t(\"STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>,\n [t(\"SERVICE_TYPE\")]: item.serviceType || \"NA\",\n };\n } else {\n const kno = item.kno || item.applicationNumber || \"NA\";\n const status = (item.status || \"DEFAULT\").toUpperCase();\n const ekycStatus = (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase();\n\n return {\n [t(\"EKYC_APPLICATION_NO\")]: (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n ),\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName || \"NA\",\n [t(\"EKYC_STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>,\n [t(\"SUBMITTED_AT\")]: item.submittedAt ? Digit.DateUtils.ConvertEpochToDate(item.submittedAt) : \"-\",\n [t(\"ASSIGNED_AT\")]: item.assignedAt ? Digit.DateUtils.ConvertEpochToDate(item.assignedAt) : \"-\",\n [t(\"EKYC_EKYC_STATUS\")]: <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>,\n };\n }\n });\n\n const MobileSortFormValues = () => {\n const sortOrderOptions = [\n {\n code: \"DESC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_FIRST\",\n },\n {\n code: \"ASC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_LAST\",\n },\n ];\n const { control: controlSortForm } = useFormContext();\n return (\n <SearchField>\n <Controller\n name=\"sortOrder\"\n control={controlSortForm}\n render={({ onChange, value }) => (\n <RadioButtons\n onSelect={(e) => {\n onChange(e.code);\n }}\n selectedOption={sortOrderOptions.filter((option) => option.code === value)[0]}\n optionsKey=\"i18nKey\"\n name=\"sortOrder\"\n options={sortOrderOptions}\n />\n )}\n />\n </SearchField>\n );\n };\n\n return {\n data: dataForMobileInboxCards,\n isTwoDynamicPrefix: true,\n getRedirectionLink: () => {},\n handleClickEnabled: false,\n serviceRequestIdKey: isSupervisor ? \"id\" : \"applicationNo\",\n MobileSortFormValues,\n };\n};\n\nexport default useInboxMobileCardsData;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\nconst StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n);\n\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit]);\n\n const { isLoading: isListLoading, data: listData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // 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 progressParams = useMemo(() => {\n if (targetVendorId) {\n return { vendorId: targetVendorId, vendorIds: [targetVendorId] };\n }\n if (allVendorIds && allVendorIds.length > 0) {\n return { vendorId: allVendorIds[0], vendorIds: allVendorIds };\n }\n return {};\n }, [targetVendorId, allVendorIds]);\n\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n progressParams,\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return listData?.consumerList || [];\n }, [isSearchActive, searchData, listData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (\n item.connectionDetails?.ekycStatus ||\n item.connectionDetails?.ekycstatus ||\n item.ekycStatus ||\n item.ekycstatus ||\n \"NA\"\n ).toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.kno || \"\",\n owner: fullName || item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName || item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n\n const { t } = useTranslation();\n\n const supervisor = useMemo(() => {\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const roles = loggedInUser?.roles?.map((ele) => ele.code) || [];\n\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n const targetId = loggedInUser?.uuid;\n if (progressData?.supervisorReport && targetId) {\n const report = progressData.supervisorReport.find(\n (s) =>\n s.supervisorId?.toLowerCase() === targetId?.toLowerCase() ||\n s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n if (report) return report;\n }\n }\n\n if (progressData?.supervisorReport) {\n const totalKnos = progressData.supervisorReport.reduce((acc, r) => acc + (r.totalKnos || 0), 0);\n const submittedKnos = progressData.supervisorReport.reduce((acc, r) => acc + (r.submittedKnos || 0), 0);\n const pendingKnos = progressData.supervisorReport.reduce((acc, r) => acc + (r.pendingKnos || 0), 0);\n const progressPercent = totalKnos > 0 ? Math.round((submittedKnos / totalKnos) * 100) : 0;\n return {\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }\n return null;\n }, [progressData]);\n\n const cards = useMemo(() => [\n {\n label: t(\"TOTAL_EKYC_APPLICATIONS\"),\n count: supervisor?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: t(\"EKYC_COMPLETED\"),\n count: supervisor?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: t(\"PENDING_APPLICATIONS\"),\n count: supervisor?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: t(\"OVERALL_PROGRESS\"),\n count: `${supervisor?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ], [supervisor]);\n const totalRecords = listData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n function formReducer(state, payload) {\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isListLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n {/* Stats */}\n <div className=\"surveyor-dashboard\" style={{ overflowY: \"visible\", marginBottom: \"24px\" }}>\n <div className=\"stats-wrapper\" style={{ display: \"flex\", gap: \"16px\", flexWrap: \"wrap\" }}>\n {cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isProgressLoading}\n icon={card.icon}\n />\n ))}\n </div>\n </div>\n\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: listData,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { Fragment, useState } from \"react\";\nimport {\n Card,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n Menu,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\n\n// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />} style={{ margin: 0, padding: 0 }} onClick={routeTo} />\n );\n};\n\nconst checkForNA = (value) => (value !== null && value !== undefined && value !== \"\" ? value : \"N/A\");\n\nconst boolToYesNo = (value, t) => {\n if (value === true || value === \"true\" || String(value).toLowerCase() === \"yes\") return t(\"CORE_COMMON_YES\");\n if (value === false || value === \"false\" || String(value).toLowerCase() === \"no\") return t(\"CORE_COMMON_NO\");\n if (value === \"true\") return t(\"CORE_COMMON_YES\");\n if (value === \"false\") return t(\"CORE_COMMON_NO\");\n};\n/**\n * Robust data extraction for comparison.\n * The API returns { applicationReviewInfo: { newData: { ... }, oldData: { ... } } }\n */\nconst extractReviewData = (searchData, flowState) => {\n const rawData = searchData && Object.keys(searchData).length > 0 ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReviewInfo -> newData/oldData\n const reviewWrapper = rawData?.applicationReviewInfo || rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n\n return {\n newData: applicationData?.newData || applicationData,\n oldData: applicationData?.oldData || null,\n };\n};\n\nconst ReviewSection = ({ title, fields, newData, oldData, t, jumpTo, state, hideEditButton }) => {\n return (\n <div\n className=\"review-section-wrapper\"\n style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}\n >\n <div\n style={{\n padding: \"20px 24px\",\n background: \"#F9FAFB\",\n borderBottom: \"1px solid #EAECF0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && !hideEditButton && <ActionButton jumpTo={jumpTo} state={state} />}\n </div>\n\n <div style={{ padding: \"0 24px\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", tableLayout: \"fixed\" }}>\n <thead>\n <tr>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"30%\",\n }}\n >\n {t(\"EKYC_FIELD_NAME\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_EXISTING_INFORMATION\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_PROPOSED_UPDATES\")}\n </th>\n </tr>\n </thead>\n <tbody>\n {fields.map((field, idx) => {\n const valNew = newData?.[field.key];\n const valOld = oldData?.[field.key];\n const isChanged = oldData && String(valNew) !== String(valOld) && valOld !== undefined && valOld !== null;\n\n return (\n <tr key={idx} style={{ borderTop: \"1px solid #F2F4F7\" }}>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#344054\", fontWeight: \"500\" }}>{t(field.label)}</td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#667085\" }}>\n {field.isBool ? boolToYesNo(valOld, t) : checkForNA(valOld)}\n </td>\n <td\n style={{ padding: \"16px 0\", fontSize: \"14px\", color: isChanged ? \"#1B8B32\" : \"#101828\", fontWeight: isChanged ? \"700\" : \"400\" }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {field.isBool ? boolToYesNo(valNew, t) : checkForNA(valNew)}\n {isChanged && (\n <span\n style={{\n background: \"#ECFDF3\",\n color: \"#067647\",\n padding: \"2px 8px\",\n borderRadius: \"12px\",\n fontSize: \"10px\",\n fontWeight: \"600\",\n }}\n >\n {t(\"EKYC_CHANGED\")}\n </span>\n )}\n </div>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nconst Review = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n let { kno, applicationId } = useParams();\n\n const [agree, setAgree] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [showPreview, setShowPreview] = useState(false);\n const [previewUrl, setPreviewUrl] = useState(\"\");\n const [showOptions, setShowOptions] = useState(false);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({ error: false, label: \"\" });\n\n const options = [\n { action: t(\"APPROVE\") },\n { action: t(\"REJECT\") }\n ];\n\n const flowState = location.state || {};\n const { edits = {} } = flowState;\n const activeKno = kno || applicationId;\n\n const { aadhaarData = {}, addressDetails: editedAddress = {}, propertyDetails: editedProperty = {}, meterDetails: editedMeter = {} } = edits;\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const workflowMutation = Digit.Hooks.ekyc.useEkycWorkflow(tenantId);\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const { data: searchData, isLoading: isSearchLoading } = Digit.Hooks.ekyc.useEkycSearchReview({ kno: activeKno, fetchType: \"REVIEW\" }, tenantId, {\n enabled: !!activeKno,\n });\n\n const userRoles = Digit.SessionStorage.get(\"User\")?.info?.roles?.map((ele) => ele.code) || [];\n const isZRO = userRoles.includes(\"EKYC_ZRO\") || userRoles.includes(\"ZRO\");\n const isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SUPERVISOR\") || userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n const isStatusView = location.pathname.includes(\"/status/\");\n const hideEditButton = (isSupervisorOrSurveyorOrVendor && !isZRO) || isStatusView;\n\n // ── Data Consolidation ──────────────────────────────────────────────────\n const { newData: apiNewData, oldData: apiOldData } = extractReviewData(searchData, flowState);\n\n const prepareConsolidatedData = (data) => {\n if (!data) return null;\n const apiConn = data?.connectionDetails || data || {};\n const apiAddr = data?.addressDetails || data || {};\n const apiProp = data?.propertyInfo || data || {};\n const apiMeter = data?.meterDetails || data || {};\n\n return {\n connection: {\n consumerName:\n apiConn?.consumerName || (apiConn?.firstName ? [apiConn.firstName, apiConn.middleName, apiConn.lastName].filter(Boolean).join(\" \") : null),\n address: apiConn?.address || apiConn?.addressRaw,\n connectionType: apiConn?.connectionType || apiConn?.connectionCategory,\n meterNumber: apiConn?.meterNumber || apiConn?.meterNo,\n phoneNumber: apiConn?.phoneNumber || apiConn?.mobileNo || apiConn?.mobileNumber,\n email: apiConn?.email,\n statusflag: apiConn?.statusflag || apiConn?.statusFlag,\n ekycStatus: apiConn?.ekycStatus,\n knumber: apiConn?.knumber || apiConn?.kno,\n },\n address: {\n fullAddress: apiAddr?.fullAddress || apiAddr?.addressRaw,\n flatHouseNumber: apiAddr?.flatHouseNumber || apiAddr?.flatNo,\n buildingTower: apiAddr?.buildingTower || apiAddr?.building,\n landmark: apiAddr?.landmark,\n pinCode: apiAddr?.pinCode || apiAddr?.pincode,\n ward: apiAddr?.ward || apiAddr?.locality,\n assembly: apiAddr?.assembly,\n gpsValid: apiAddr?.gpsValid,\n latitude: apiAddr?.latitude,\n longitude: apiAddr?.longitude,\n mobileNo: apiAddr?.mobileNo || apiAddr?.mobileNumber,\n whatsappNo: apiAddr?.whatsappNo,\n email: apiAddr?.email,\n noOfPerson: apiAddr?.noOfPerson || apiAddr?.noOfPersons,\n knumber: apiAddr?.knumber || apiAddr?.kno,\n doorPhotoFilestoreId: apiAddr?.doorPhotoFilestoreId,\n },\n property: {\n kno: apiProp?.kno,\n pidNumber: apiProp?.pidNumber,\n typeOfConnection: apiProp?.typeOfConnection,\n connectionCategory: apiProp?.connectionCategory,\n userType: apiProp?.userType,\n numberOfFloors: apiProp?.numberOfFloors || apiProp?.noOfFloor,\n tenantName: apiProp?.tenantName,\n tenantMobile: apiProp?.tenantMobile,\n ekycStatus: apiProp?.ekycStatus,\n propertyDocumentFileStoreId: apiProp?.propertyDocumentFileStoreId,\n buildingImageFileStoreId: apiProp?.buildingImageFileStoreId,\n },\n meter: {\n kno: apiMeter?.kno,\n metered: apiMeter?.meterStatus === \"METERED\" || apiMeter?.metered,\n meterNumber: apiMeter?.meterNumber || apiMeter?.meterNo,\n meterMake: apiMeter?.meterMake,\n meterLocationAddress: apiMeter?.meterLocationAddress,\n meterLatitude: apiMeter?.meterLatitude,\n meterLongitude: apiMeter?.meterLongitude,\n workingStatus: apiMeter?.workingStatus,\n lastBillRaised: apiMeter?.lastBillRaised,\n systemMeterId: apiMeter?.systemMeterId,\n meterPhotoFileStoreId: apiMeter?.meterPhotoFileStoreId,\n },\n };\n };\n\n const newDataRaw = prepareConsolidatedData(apiNewData);\n const oldDataRaw = prepareConsolidatedData(apiOldData);\n\n // Apply edits to newData if present\n const connectionData = {\n ...newDataRaw?.connection,\n consumerName: aadhaarData?.name || newDataRaw?.connection?.consumerName,\n phoneNumber: aadhaarData?.mobileNumber || newDataRaw?.connection?.phoneNumber,\n knumber: newDataRaw?.connection?.knumber || activeKno,\n };\n\n const addressData = {\n ...newDataRaw?.address,\n fullAddress: editedAddress?.fullAddress || newDataRaw?.address?.fullAddress,\n flatHouseNumber: editedAddress?.flatHouseNumber || editedAddress?.flatNo || newDataRaw?.address?.flatHouseNumber,\n buildingTower: editedAddress?.buildingTower || editedAddress?.building || newDataRaw?.address?.buildingTower,\n landmark: editedAddress?.landmark || newDataRaw?.address?.landmark,\n pinCode: editedAddress?.pinCode || editedAddress?.pincode || newDataRaw?.address?.pinCode,\n ward: editedAddress?.ward || newDataRaw?.address?.ward,\n assembly: editedAddress?.assembly || newDataRaw?.address?.assembly,\n gpsValid: editedAddress?.gpsValid !== undefined ? editedAddress.gpsValid : newDataRaw?.address?.gpsValid,\n latitude: editedAddress?.latitude || newDataRaw?.address?.latitude,\n longitude: editedAddress?.longitude || newDataRaw?.address?.longitude,\n mobileNo: editedAddress?.mobileNo || aadhaarData?.mobileNumber || newDataRaw?.address?.mobileNo,\n whatsappNo: editedAddress?.whatsappNo || aadhaarData?.whatsappNumber || newDataRaw?.address?.whatsappNo,\n email: editedAddress?.email || newDataRaw?.address?.email,\n noOfPerson: editedAddress?.noOfPerson || aadhaarData?.noOfPersons || newDataRaw?.address?.noOfPerson,\n knumber: editedAddress?.knumber || newDataRaw?.address?.knumber || activeKno,\n doorPhotoFilestoreId: editedAddress?.doorPhotoFileStoreId || newDataRaw?.address?.doorPhotoFilestoreId,\n };\n\n const propertyData = {\n ...newDataRaw?.property,\n kno: newDataRaw?.property?.kno || activeKno,\n pidNumber: editedProperty?.pidNumber || newDataRaw?.property?.pidNumber,\n typeOfConnection: editedProperty?.connectionTypeData?.label || newDataRaw?.property?.typeOfConnection,\n connectionCategory: editedProperty?.connectionCategoryData?.label || newDataRaw?.property?.connectionCategory,\n userType: editedProperty?.userTypeData?.label || newDataRaw?.property?.userType,\n numberOfFloors: editedProperty?.noOfFloorsData?.label || newDataRaw?.property?.numberOfFloors,\n propertyDocumentFileStoreId: editedProperty?.propertyDocumentFileStoreId || newDataRaw?.property?.propertyDocumentFileStoreId,\n };\n\n const meterData = {\n ...newDataRaw?.meter,\n kno: editedMeter?.kno || newDataRaw?.meter?.kno || activeKno,\n metered: editedMeter?.meterStatusData?.value === \"Metered\" || newDataRaw?.meter?.metered,\n meterNumber: newDataRaw?.meter?.meterNumber,\n meterMake: editedMeter?.meterMake || newDataRaw?.meter?.meterMake,\n meterLocationAddress: editedMeter?.meterLocation || newDataRaw?.meter?.meterLocationAddress,\n workingStatus: editedMeter?.workingStatusData?.value === \"Working\" || newDataRaw?.meter?.workingStatus,\n lastBillRaised: editedMeter?.lastBillRaisedData?.value === \"Yes\" || newDataRaw?.meter?.lastBillRaised,\n meterPhotoFileStoreId: editedMeter?.meterPhotoFileStoreId || newDataRaw?.meter?.meterPhotoFileStoreId,\n };\n\n // ── Section Fields Configuration ─────────────────────────────────────\n const connectionFields = [\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n { label: \"EKYC_CONSUMER_NAME\", key: \"consumerName\" },\n { label: \"EKYC_ADDRESS\", key: \"address\" },\n { label: \"EKYC_CONNECTION_TYPE\", key: \"connectionType\" },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_MOBILE_NO\", key: \"phoneNumber\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_STATUS_FLAG\", key: \"statusflag\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const addressFields = [\n { label: \"EKYC_FULL_ADDRESS\", key: \"fullAddress\" },\n { label: \"EKYC_FLAT_HOUSE_NO\", key: \"flatHouseNumber\" },\n { label: \"EKYC_BUILDING_TOWER\", key: \"buildingTower\" },\n { label: \"EKYC_LANDMARK\", key: \"landmark\" },\n { label: \"EKYC_PINCODE\", key: \"pinCode\" },\n { label: \"EKYC_LOCALITY\", key: \"ward\" },\n { label: \"EKYC_ASSEMBLY\", key: \"assembly\" },\n { label: \"EKYC_GPS_VALID\", key: \"gpsValid\", isBool: true },\n { label: \"EKYC_LATITUDE\", key: \"latitude\" },\n { label: \"EKYC_LONGITUDE\", key: \"longitude\" },\n { label: \"EKYC_MOBILE_NO\", key: \"mobileNo\" },\n { label: \"EKYC_WHATSAPP_NO\", key: \"whatsappNo\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_NO_OF_PERSONS\", key: \"noOfPerson\" },\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n ];\n\n const propertyFields = [\n { label: \"EKYC_CONNECTION_CATEGORY\", key: \"connectionCategory\" },\n { label: \"EKYC_PID_NUMBER\", key: \"pidNumber\" },\n { label: \"EKYC_TYPE_OF_CONNECTION\", key: \"typeOfConnection\" },\n { label: \"EKYC_USER_TYPE\", key: \"userType\" },\n { label: \"EKYC_FLOOR_COUNT\", key: \"numberOfFloors\" },\n { label: \"EKYC_TENANT_NAME\", key: \"tenantName\" },\n { label: \"EKYC_TENANT_MOBILE\", key: \"tenantMobile\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const meterFields = [\n { label: \"EKYC_METERED\", key: \"metered\", isBool: true },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_METER_MAKE\", key: \"meterMake\" },\n { label: \"EKYC_METER_LOCATION_ADDRESS\", key: \"meterLocationAddress\" },\n { label: \"EKYC_METER_LATITUDE\", key: \"meterLatitude\" },\n { label: \"EKYC_METER_LONGITUDE\", key: \"meterLongitude\" },\n { label: \"EKYC_WORKING_STATUS\", key: \"workingStatus\", isBool: true },\n { label: \"EKYC_LAST_BILL_RAISED\", key: \"lastBillRaised\", isBool: true },\n { label: \"EKYC_SYSTEM_METER_ID\", key: \"systemMeterId\" },\n ];\n\n const handleDeclaration = () => setAgree(!agree);\n\n const handleReject = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"REJECTED\",\n remarks: \"Application rejected by reviewer\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Reject Error:\", err);\n }\n };\n\n const handleApprove = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"APPROVED\",\n remarks: \"All documents verified\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: false,\n label: t(\"EKYC_APPLICATION_APPROVE_SUCCESSFUL\") || \"Application Approved Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Approve Error:\", err);\n setToastData({\n error: true,\n label: err?.message || err?.response?.data?.message || \"Approve Error\",\n });\n setShowToast(true);\n }\n };\n\n const handleFinalSubmit = async () => {\n setIsSubmitting(true);\n try {\n const payload = {\n kno: activeKno,\n tenantId: tenantId,\n newData: {\n connectionDetails: connectionData,\n addressDetails: addressData,\n propertyInfo: propertyData,\n meterDetails: meterData,\n },\n };\n\n const result = await updateMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Submit Error:\", err);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleViewDocument = (fileStoreId) => {\n if (!fileStoreId) return;\n const documentUrl = `https://dev-djberp.nitcon.in/filestore/v1/files/id?tenantId=dl.djb&fileStoreId=${fileStoreId}`;\n setPreviewUrl(documentUrl);\n setShowPreview(true);\n };\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n if (option.action === t(\"Approve\")) {\n handleApprove();\n } else if (option.action === t(\"Reject\")) {\n handleReject();\n }\n };\n\n if (isSearchLoading || isSubmitting) return <Loader />;\n\n const baseUrl = \"/digit-ui/employee/ekyc\";\n\n return (\n <Fragment>\n <Card className=\"overflow-y-scroll\">\n {/* ── 1. Connection Details ────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_CONNECTION_DETAILS\")}\n fields={connectionFields}\n newData={connectionData}\n oldData={oldDataRaw?.connection}\n t={t}\n jumpTo={`${baseUrl}/consumer-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 2. Address Details ──────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_ADDRESS_DETAILS\")}\n fields={addressFields}\n newData={addressData}\n oldData={oldDataRaw?.address}\n t={t}\n jumpTo={`${baseUrl}/address-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 3. Property Info ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_PROPERTY_INFO\")}\n fields={propertyFields}\n newData={propertyData}\n oldData={oldDataRaw?.property}\n t={t}\n jumpTo={`${baseUrl}/property-info?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 4. Meter Details ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_METER_DETAILS\")}\n fields={meterFields}\n newData={meterData}\n oldData={oldDataRaw?.meter}\n t={t}\n jumpTo={`${baseUrl}/meter-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 5. Documents ────────────────────────────────────────────── */}\n <div style={{ marginTop: \"40px\" }}>\n <CardSubHeader style={{ marginBottom: \"20px\" }}>{t(\"EKYC_DOCUMENTS\")}</CardSubHeader>\n <StatusTable style={{ maxWidth: \"600px\" }}>\n <Row\n label={t(\"EKYC_DOOR_PHOTO\")}\n text={addressData.doorPhotoFilestoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n addressData.doorPhotoFilestoreId && (\n <div onClick={() => handleViewDocument(addressData.doorPhotoFilestoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n meterData.meterPhotoFileStoreId && (\n <div onClick={() => handleViewDocument(meterData.meterPhotoFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.buildingImageFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.buildingImageFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.propertyDocumentFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.propertyDocumentFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n </StatusTable>\n </div>\n\n {!hideEditButton && (\n <div style={{ marginTop: \"40px\", paddingTop: \"30px\", borderTop: \"1px solid #EAECF0\" }}>\n <CheckBox\n id=\"agreeDeclaration\"\n name=\"agreeDeclaration\"\n label={<span style={{ fontSize: \"16px\", color: \"#344054\" }}>{t(\"EKYC_FINAL_DECLARATION\")}</span>}\n onChange={handleDeclaration}\n checked={agree}\n />\n </div>\n )}\n\n {/* <ActionBar>\n <SubmitBar label={t(\"EKYC_REJECT\")} onSubmit={handleReject} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_APPROVE\")} onSubmit={handleApprove} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_SUBMIT_APPLICATION\")} onSubmit={handleFinalSubmit} disabled={!agree} />\n </ActionBar> */}\n {!hideEditButton && (\n <ActionBar>\n <SubmitBar\n label={t(\"TAKE_ACTION_FOR_APPROVE_REJECT\")}\n onSubmit={() => setShowOptions((prev) => !prev)}\n disabled={!agree}\n />\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n </Card>\n\n {/* ── Document Preview Modal ────────────────────────────────────── */}\n {showPreview && (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0,0,0,0.7)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 10000,\n }}\n >\n <div\n style={{\n position: \"relative\",\n backgroundColor: \"#fff\",\n padding: \"30px\",\n borderRadius: \"12px\",\n maxWidth: \"600px\",\n width: \"100%\",\n maxHeight: \"70vh\",\n overflow: \"auto\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n }}\n >\n <div\n onClick={() => setShowPreview(false)}\n style={{\n position: \"absolute\",\n top: \"10px\",\n right: \"10px\",\n cursor: \"pointer\",\n fontWeight: \"bold\",\n fontSize: \"20px\",\n color: \"#333\",\n background: \"#eee\",\n width: \"30px\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: \"50%\",\n }}\n >\n ×\n </div>\n <img\n src={previewUrl}\n alt=\"Document Preview\"\n style={{ maxWidth: \"100%\", height: \"auto\", display: \"block\" }}\n onError={(e) => {\n e.target.style.display = \"none\";\n e.target.nextSibling.style.display = \"block\";\n }}\n />\n <div style={{ display: \"none\", padding: \"40px\", textAlign: \"center\" }}>\n <p>{t(\"EKYC_DOCUMENT_PREVIEW_NOT_AVAILABLE\")}</p>\n <LinkButton label={t(\"EKYC_OPEN_IN_NEW_TAB\")} onClick={() => window.open(previewUrl, \"_blank\")} />\n </div>\n </div>\n </div>\n )}\n {showToast && (\n <Toast\n error={toastData.error}\n label={toastData.label}\n onClose={() => setShowToast(false)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { UploadFile, CheckBox, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst AadhaarVerificationConfig = (t, formData = {}, uploadFile, setDocumentId, documentId) => {\n const consumerType = formData?.consumerType?.name || formData?.consumerType;\n const occupantType = formData?.occupantType?.name || formData?.occupantType;\n const informantIsConsumer = formData?.informantIsConsumer ?? true;\n\n const fields = [\n {\n label: t(\"Consumer Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consumerType\",\n populators: {\n name: \"consumerType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Individual\" }, { name: \"Govt\" }, { name: \"Company_Society_Org\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Occupant Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"occupantType\",\n populators: {\n name: \"occupantType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Self\" }, { name: \"Tenanted\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Category Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"categoryType\",\n populators: {\n name: \"categoryType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Bulk\" }, { name: \"Non-Bulk\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"First Name\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"firstName\",\n validation: { required: true },\n },\n },\n {\n label: t(\"Middle Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"middleName\",\n },\n },\n {\n label: t(\"Last Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"lastName\",\n },\n },\n {\n label: t(\"Gender\"),\n isMandatory: false,\n type: \"custom\",\n key: \"gender\",\n populators: {\n name: \"gender\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Male\" }, { name: \"Female\" }, { name: \"Others\" }, { name: \"Not prefer to say\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Parent/Spouse Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"parentSpouseName\",\n },\n },\n {\n label: t(\"Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"mobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n error: t(\"Invalid mobile number\"),\n },\n },\n {\n label: t(\"WhatsApp\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"whatsapp\",\n },\n },\n {\n label: t(\"Email\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"email\",\n validation: {\n pattern: /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9.-]+$/,\n },\n error: t(\"Invalid email address\"),\n },\n },\n {\n label: t(\"No. of Residents\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"residents\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Type of Identity\"),\n isMandatory: true,\n type: \"custom\",\n key: \"identityType\",\n populators: {\n name: \"identityType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Aadhaar Card\" }, { name: \"Driving License\" }, { name: \"Passport\" }, { name: \"Voter ID\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Proof of Identity\"),\n isMandatory: false,\n type: \"custom\",\n key: \"idFile\",\n populators: {\n name: \"idFile\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n },\n {\n label: t(\"Document Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"documentNumber\",\n },\n },\n {\n label: t(\"Informant Is Consumer\"),\n isMandatory: false,\n type: \"custom\",\n key: \"informantIsConsumer\",\n populators: {\n name: \"informantIsConsumer\",\n component: (props) => (\n <CheckBox\n label={t(\"Yes, the informant is the consumer\")}\n checked={props.value ?? true}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n },\n ];\n\n // Informant conditional fields\n if (!informantIsConsumer) {\n fields.push(\n {\n label: t(\"Informant Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantName\",\n },\n },\n {\n label: t(\"Informant Relation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantRelation\",\n },\n }\n );\n }\n\n // Tenant conditional fields\n if (occupantType === \"Tenanted\") {\n fields.push({\n label: t(\"Document Proof\"),\n isMandatory: false,\n type: \"custom\",\n key: \"documentProof\",\n populators: {\n name: \"documentProof\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n });\n\n if (!documentId) {\n fields.push(\n {\n label: t(\"Owner Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"ownerMobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n },\n },\n {\n label: t(\"Tenant Verification\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"tenantVerification\",\n },\n }\n );\n }\n }\n\n // Govt conditional fields\n if (consumerType === \"Govt\") {\n fields.push(\n {\n label: t(\"Designation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"designation\",\n },\n },\n {\n label: t(\"Department\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"department\",\n },\n },\n {\n label: t(\"Employee ID\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"employeeId\",\n },\n }\n );\n }\n\n // Company / Society / Org conditional fields\n if (consumerType === \"Company_Society_Org\") {\n fields.push(\n {\n label: t(\"Entity Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"entityName\",\n },\n },\n {\n label: t(\"Contact Person\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"contactPerson\",\n },\n }\n );\n }\n\n // Consent checkbox field\n fields.push({\n label: t(\"Consent\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consent\",\n populators: {\n name: \"consent\",\n validation: { required: true },\n component: (props) => (\n <CheckBox\n label={t(\"I hereby consent to verify my Aadhaar details.\")}\n checked={props.value ?? false}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n });\n\n return [\n {\n head: t(\"EKYC_CONSUMER_CONNECTION\"),\n body: fields,\n },\n ];\n};\n\nexport default AadhaarVerificationConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport AadhaarVerificationConfig from \"../config/AadhaarVerificationConfig\";\n\nconst AadhaarVerification = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\") ||\n \"\";\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"CONNECTION\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.aadhaarVerification || {};\n\n // 🔹 STATES\n const [documentId, setDocumentId] = useState(savedData.documentId || null);\n const [documentProof, setDocumentProof] = useState(savedData.documentProof || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType ? { name: savedData.consumerType } : null,\n occupantType: savedData.occupantType ? { name: savedData.occupantType } : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || \"\",\n middleName: savedData.middleName || \"\",\n lastName: savedData.lastName || \"\",\n gender: savedData.gender ? { name: savedData.gender } : null,\n parentSpouseName: savedData.parentSpouseName || \"\",\n mobile: savedData.mobile || \"\",\n whatsapp: savedData.whatsapp || \"\",\n email: savedData.email || \"\",\n residents: savedData.residents || \"\",\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || \"\",\n informantRelation: savedData.informantRelation || \"\",\n documentId: savedData.documentId || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const details = rawData?.connectionDetails || rawData || {};\n const addrDetails = rawData?.addressDetails || {};\n\n if (details && Object.keys(details).length > 0 && !isDataLoaded) {\n let fName = \"\";\n let mName = \"\";\n let lName = \"\";\n\n if (details.firstName) {\n fName = details.firstName;\n mName = details.middleName || \"\";\n lName = details.lastName || \"\";\n } else if (details.consumerName) {\n const parts = details.consumerName.trim().split(/\\s+/);\n fName = parts[0] || \"\";\n if (parts.length === 2) lName = parts[1];\n if (parts.length > 2) {\n mName = parts.slice(1, -1).join(\" \");\n lName = parts[parts.length - 1];\n }\n }\n\n const updatedDefaults = {\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType\n ? { name: savedData.consumerType }\n : details.consumerType\n ? { name: details.consumerType }\n : null,\n occupantType: savedData.occupantType\n ? { name: savedData.occupantType }\n : details.occupantType\n ? { name: details.occupantType }\n : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || fName,\n middleName: savedData.middleName || mName,\n lastName: savedData.lastName || lName,\n gender: savedData.gender\n ? { name: savedData.gender }\n : details.gender\n ? { name: details.gender }\n : null,\n parentSpouseName: savedData.parentSpouseName || details.parentSpouse || \"\",\n mobile: savedData.mobile || details.phoneNumber || addrDetails.mobileNo || \"\",\n whatsapp: savedData.whatsapp || addrDetails.whatsappNo || \"\",\n email: savedData.email || details.email || addrDetails.email || \"\",\n residents: savedData.residents || (addrDetails.noOfPerson ? String(addrDetails.noOfPerson) : \"\"),\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || details.informantName || \"\",\n informantRelation: savedData.informantRelation || details.informantRelation || \"\",\n documentId: savedData.documentId || details.documentNumber || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.documentId) {\n setDocumentId(updatedDefaults.documentId);\n }\n if (updatedDefaults.documentProof) {\n setDocumentProof(updatedDefaults.documentProof);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUploadProof = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n if (fileStoreId) {\n onChange(file.name);\n setDocumentProof(file.name);\n setDocumentId(fileStoreId);\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Avoid updating states on every keypress unless they affect conditional visibility\n const consumerTypeChanged =\n (data?.consumerType?.name || data?.consumerType) !==\n (localFormData?.consumerType?.name || localFormData?.consumerType);\n const occupantTypeChanged =\n (data?.occupantType?.name || data?.occupantType) !==\n (localFormData?.occupantType?.name || localFormData?.occupantType);\n const informantIsConsumerChanged = data?.informantIsConsumer !== localFormData?.informantIsConsumer;\n\n if (consumerTypeChanged || occupantTypeChanged || informantIsConsumerChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const knoVal = data?.kno || searchKno;\n const consumerTypeVal = data?.consumerType;\n const occupantTypeVal = data?.occupantType;\n const categoryTypeVal = data?.categoryType;\n const firstNameVal = data?.firstName;\n const mobileVal = data?.mobile;\n const residentsVal = data?.residents;\n const consentVal = data?.consent;\n const docId = data?.documentId || documentId;\n const ownerMobileVal = data?.ownerMobile;\n\n let valid = true;\n if (!knoVal) valid = false;\n if (!consumerTypeVal) valid = false;\n if (!occupantTypeVal) valid = false;\n if (!categoryTypeVal) valid = false;\n if (!firstNameVal) valid = false;\n if (!mobileVal || !/^[6-9]\\d{9}$/.test(mobileVal)) valid = false;\n if (!residentsVal || Number(residentsVal) <= 0) valid = false;\n if (occupantTypeVal?.name === \"Tenanted\" && !docId && !ownerMobileVal) valid = false;\n if (!consentVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n kno: data.kno || searchKno,\n consumerType: data.consumerType?.name || data.consumerType,\n occupantType: data.occupantType?.name || data.occupantType,\n categoryType: data.categoryType?.name || data.categoryType,\n consumerName: data.consumerName || `${data.firstName || \"\"} ${data.middleName || \"\"} ${data.lastName || \"\"}`.trim(),\n firstName: data.firstName,\n middleName: data.middleName,\n lastName: data.lastName,\n gender: data.gender?.name || data.gender,\n parentSpouseName: data.parentSpouseName,\n relation: data.relation || savedData.relation || \"\",\n mobile: data.mobile,\n whatsapp: data.whatsapp,\n email: data.email,\n residents: data.residents,\n documentId: documentId,\n documentProof: documentProof,\n ownerMobile: data.ownerMobile,\n tenantVerification: data.tenantVerification,\n designation: data.designation,\n department: data.department,\n employeeId: data.employeeId,\n landline: data.landline || savedData.landline || \"\",\n entityRelation: data.entityRelation || savedData.entityRelation || \"\",\n contactPerson: data.contactPerson,\n entityName: data.entityName,\n idProof: data.identityType?.name || data.identityType,\n idNumber: data.documentNumber,\n consent: data.consent,\n informantIsConsumer: data.informantIsConsumer ?? true,\n informantName: data.informantName,\n informantRelation: data.informantRelation,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"CONSUMER\",\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Data updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update consumer details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = AadhaarVerificationConfig(t, localFormData, handleUploadProof, setDocumentId, documentId);\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default AadhaarVerification;\n","import AadhaarVerification from \"../components/AadhaarVerification\";\n\nexport const ekycConfig = [\n {\n body: [\n {\n route: \"consumer-details\",\n component: AadhaarVerification,\n key: \"aadhaarVerification\",\n texts: {\n header: \"EKYC_CONSUMER_CONNECTION\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 1,\n actions: \"EKYC_CONSUMER_CONNECTION\",\n },\n ],\n },\n {\n route: \"address-details\",\n component: \"AddressDetails\",\n key: \"addressDetails\",\n doorImage: true,\n showMapActualLocation: false,\n texts: {\n header: \"EKYC_ADDRESS_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 2,\n actions: \"EKYC_ADDRESS_DETAILS\",\n },\n ],\n },\n {\n route: \"property-info\",\n component: \"PropertyInfo\",\n key: \"propertyDetails\",\n texts: {\n header: \"EKYC_PROPERTY_INFO\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 3,\n actions: \"EKYC_PROPERTY_INFO\",\n },\n ],\n },\n {\n route: \"meter-details\",\n component: \"MeterDetails\",\n key: \"meterDetails\",\n texts: {\n header: \"EKYC_METER_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 4,\n actions: \"EKYC_METER_DETAILS\",\n },\n ],\n },\n ],\n },\n];\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n// import { useQueryClient } from \"react-query\";\nimport { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from \"react-router-dom\";\nimport { VerticalTimeline } from \"@djb25/digit-ui-react-components\";\nimport { ekycConfig } from \"../../config/config\";\n\nconst EKYCForm = ({ path: passedPath }) => {\n // const queryClient = useQueryClient();\n const match = useRouteMatch();\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const history = useHistory();\n\n let config = [];\n const [params, setParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n useEffect(() => {\n if (location.state && Object.keys(location.state).length > 0) {\n const { edits, ...rest } = location.state;\n setParams({ ...params, ...rest, ...edits });\n }\n }, [location.state]);\n\n const goNext = (skipStep, index, isAddMultiple, key) => {\n let currentPath = pathname.split(\"/\").pop();\n let routeObj = config.find((routeObj) => (key ? routeObj.key === key : routeObj.route === currentPath));\n if (!routeObj) routeObj = config.find((routeObj) => routeObj.route === currentPath);\n\n let nextStep = null;\n const currentIndex = config.findIndex((c) => c.route === routeObj.route);\n if (currentIndex > -1 && currentIndex < config.length - 1) {\n nextStep = config[currentIndex + 1].route;\n }\n\n let redirectWithHistory = history.push;\n if (skipStep) {\n redirectWithHistory = history.replace;\n }\n\n const base = passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\");\n if (nextStep === null) {\n return redirectWithHistory(`${base}/review`, { ...params, edits: params });\n }\n\n redirectWithHistory(`${base}/${nextStep}`, { ...params });\n };\n\n function handleSelect(key, data, skipStep, index, isAddMultiple = false, silent = false) {\n setParams((prev) => ({ ...prev, [key]: { ...params[key], ...data } }));\n if (!silent) {\n goNext(skipStep, index, isAddMultiple, key);\n }\n }\n\n // const onSuccess = () => {\n // clearParams();\n // queryClient.invalidateQueries(\"EKYC_CREATE\");\n // };\n\n ekycConfig.forEach((obj) => {\n config = config.concat(obj.body);\n });\n\n config.indexRoute = \"consumer-details\";\n\n const formStepRoutes = config.map((c) => c.route);\n const isFormStep = formStepRoutes.some((route) => pathname.includes(route));\n\n const sectionRefs = useRef({});\n\n useEffect(() => {\n if (isFormStep) {\n const currentRoute = pathname.split(\"/\").pop();\n if (sectionRefs.current[currentRoute]) {\n sectionRefs.current[currentRoute].scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }\n }\n }, [pathname, isFormStep]);\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={config} showFinalStep={true} />\n <div className=\"employee-form-section\">\n <Switch>\n <Route path={formStepRoutes.map((route) => `${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${route}`)}>\n <div className=\"single-page-form-container\">\n {config.map((routeObj, index) => {\n const { component } = routeObj;\n const Component = typeof component === \"string\" ? Digit.ComponentRegistryService.getComponent(component) : component;\n\n return (\n <div key={index} ref={(el) => (sectionRefs.current[routeObj.route] = el)} className=\"form-section-unit\">\n <Component\n config={{ ...routeObj, isCollapsible: true, defaultOpen: true }}\n onSelect={handleSelect}\n t={t}\n formData={params}\n // formData={{ ...params, address: params.addressDetails }}\n />\n </div>\n );\n })}\n </div>\n </Route>\n <Route>\n <Redirect to={`${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${config.indexRoute}`} />\n </Route>\n </Switch>\n </div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default EKYCForm;\n","import React, { useMemo, useState } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport Dashboard from \"./Dashboard\";\n\nconst parseAdditionalDetails = (additionalDetails) => {\n if (!additionalDetails) return {};\n if (typeof additionalDetails === \"object\") return additionalDetails;\n if (typeof additionalDetails !== \"string\") return {};\n try {\n return JSON.parse(additionalDetails);\n } catch (error) {\n return {};\n }\n};\n\nconst AdminDashboard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n const allVendorIds = useMemo(() => {\n if (!vendorSearchResponse) return [];\n return vendorSearchResponse\n .map((v) => {\n const dso = v.dsoDetails || v;\n return dso.id || dso.vendorId || v.id || v.vendorId;\n })\n .filter(Boolean);\n }, [vendorSearchResponse]);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n allVendorIds.length > 0 ? { vendorId: allVendorIds[0], vendorIds: allVendorIds } : {},\n {\n enabled: !!tenantId && allVendorIds.length > 0,\n keepPreviousData: true,\n }\n );\n\n const vendorsList = useMemo(() => {\n if (vendorSearchResponse && vendorSearchResponse.length > 0) {\n const filteredVendors = vendorSearchResponse.filter((v) => {\n const dso = v.dsoDetails || v;\n const additionalDetails = parseAdditionalDetails(dso.additionalDetails || v.additionalDetails);\n return additionalDetails?.serviceType?.toLowerCase() === \"ekyc\";\n });\n\n return filteredVendors.map((v) => {\n const dso = v.dsoDetails || v;\n const supervisorsList = dso.supervisors || [];\n const surveyorsList = dso.surveyors || [];\n\n // Extract supervisor IDs for this vendor\n const supervisorIds = supervisorsList.map((s) => s.id || s.owner?.uuid).filter(Boolean);\n\n // Find supervisor reports in progressData matching these IDs\n const matchedReports = progressData?.supervisorReport?.filter(\n (r) => supervisorIds.includes(r.supervisorId)\n ) || [];\n\n const completed = matchedReports.reduce((acc, r) => acc + (r.submittedKnos || 0), 0);\n const pending = matchedReports.reduce((acc, r) => acc + (r.pendingKnos || 0), 0);\n const total = matchedReports.reduce((acc, r) => acc + (r.totalKnos || 0), 0);\n const progress = total > 0 ? Math.round((completed / total) * 100) : 0;\n const rejected = 0; // Default to 0 or calculate if data exists\n\n return {\n id: dso.id || dso.vendorId || v.id || v.vendorId,\n name: dso.name || dso.displayName || v.name || \"N/A\",\n ownerName: dso.owner?.name || v.owner?.name || \"N/A\",\n mobileNumber: dso.mobileNumber || dso.owner?.mobileNumber || v.mobileNumber || \"N/A\",\n supervisors: supervisorsList.length,\n surveyors: surveyorsList.length,\n completed: completed,\n progress: progress,\n pending: pending,\n rejected: rejected,\n };\n });\n }\n return [];\n }, [vendorSearchResponse, progressData]);\n\n return (\n <Card className=\"surveyor-dashboard\">\n <Dashboard />\n <div className=\"admin-performance-section\">\n <h3 className=\"section-title\">\n {t(\"EKYC_VENDORS_PERFORMANCE\") || \"eKYC Vendors Performance\"}\n </h3>\n\n {isVendorSearchLoading || isProgressLoading ? (\n <Loader />\n ) : (\n <div className=\"vendors-grid\">\n {vendorsList.length === 0 ? (\n <div className=\"no-vendors\">\n {t(\"NO_VENDORS_FOUND\") || \"No vendors found.\"}\n </div>\n ) : (\n vendorsList.map((vendor) => (\n <div\n key={vendor.id}\n className=\"vendor-perf-card\"\n onClick={() => history.push(`/digit-ui/employee/ekyc/vendors/${vendor.id}`)}\n >\n <div className=\"card-header\">\n <div className=\"vendor-info\">\n <h4>{vendor.name}</h4>\n <p>{t(\"MOBILE\") || \"Mobile\"}: {vendor.mobileNumber}</p>\n </div>\n <span className=\"progress-badge\">\n {vendor.progress}%\n </span>\n </div>\n\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${vendor.progress}%` }}></div>\n </div>\n\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.supervisors}</div>\n <div className=\"label\">{t(\"SUPERVISORS\") || \"Supervisors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.surveyors}</div>\n <div className=\"label\">{t(\"SURVEYORS\") || \"Surveyors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value completed-val\">{vendor.completed}</div>\n <div className=\"label\">{t(\"COMPLETED\") || \"Completed\"}</div>\n </div>\n </div>\n\n <div className=\"card-footer\">\n <span>{t(\"PENDING\") || \"Pending\"}: <span className=\"pending-count\">{vendor.pending}</span></span>\n <span>{t(\"REJECTED\") || \"Rejected\"}: <span className=\"rejected-count\">{vendor.rejected}</span></span>\n </div>\n </div>\n ))\n )}\n </div>\n )}\n </div>\n\n </Card>\n );\n};\n\nexport default AdminDashboard;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { downloadSupervisorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst SupervisorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { id: supervisorId } = useParams();\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n // Fetch all supervisors to get details if assignment progress fails\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Resolve vendorId of this supervisor if available\n const targetVendorId = useMemo(() => {\n const targetId = supervisorId || loggedInUser?.uuid;\n if (!targetId || !supervisorSearchResponse?.supervisors) return null;\n const matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n return matchedSup?.vendorId || null;\n }, [supervisorId, loggedInUser, supervisorSearchResponse]);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n targetVendorId ? { vendorId: targetVendorId, vendorIds: [targetVendorId] } : {},\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n // Fetch all surveyors to get details of connected surveyors if assignment progress fails\n const { data: surveyorSearchResponse, isLoading: isSurveyorSearchLoading } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n const supervisor = useMemo(() => {\n const targetOwnerOrId = supervisorId || loggedInUser?.uuid;\n if (!targetOwnerOrId) return null;\n\n // Step 0: resolve real supervisor entity id (handles self-login case\n // where we only have the owner/auth uuid, not the supervisor record id)\n let resolvedSupervisorId = supervisorId; // if URL already has entity id, trust it\n if (!resolvedSupervisorId && supervisorSearchResponse?.supervisors && targetOwnerOrId) {\n const selfSup = supervisorSearchResponse.supervisors.find(\n (s) =>\n s.owner?.uuid?.toLowerCase() === targetOwnerOrId?.toLowerCase() ||\n s.id?.toLowerCase() === targetOwnerOrId?.toLowerCase()\n );\n resolvedSupervisorId = selfSup?.id;\n }\n\n const targetId = resolvedSupervisorId || targetOwnerOrId;\n\n // 1. Find the supervisor profile from search response\n let matchedSup = null;\n if (supervisorSearchResponse?.supervisors) {\n matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n // 2. Find progress report for this supervisor from progressData\n let progressReport = null;\n if (progressData?.supervisorReport && targetId) {\n progressReport = progressData.supervisorReport.find(\n (s) =>\n s.supervisorId?.toLowerCase() === targetId?.toLowerCase() ||\n s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n // 3. If we found the supervisor in search response, enrich and return\n if (matchedSup) {\n const matchedSurveyors = surveyorSearchResponse?.surveyors\n ? surveyorSearchResponse.surveyors\n .filter((surv) => surv.supervisorId === (matchedSup.id || matchedSup.owner?.uuid))\n .map((surv) => {\n let realStats = null;\n if (progressData?.supervisorReport) {\n for (const report of progressData.supervisorReport) {\n if (\n report.supervisorId?.toLowerCase() !== matchedSup.id?.toLowerCase() &&\n report.id?.toLowerCase() !== matchedSup.id?.toLowerCase()\n ) continue;\n const matchedSurv = report.surveyors?.find(\n (s) =>\n (s.surveyorId && (s.surveyorId?.toLowerCase() === surv.id?.toLowerCase() || s.surveyorId?.toLowerCase() === surv.owner?.uuid?.toLowerCase())) ||\n (s.id && (s.id?.toLowerCase() === surv.id?.toLowerCase() || s.id?.toLowerCase() === surv.owner?.uuid?.toLowerCase()))\n );\n if (matchedSurv) {\n realStats = matchedSurv;\n break;\n }\n }\n }\n\n return {\n surveyorId: surv.id || surv.owner?.uuid,\n surveyorName: surv.name || surv.owner?.name || \"N/A\",\n mobileNo: surv.owner?.mobileNumber || surv.mobileNo || \"N/A\",\n status: surv.status || \"ACTIVE\",\n totalKnos: realStats?.totalKnos || 0,\n submittedKnos: realStats?.submittedKnos || 0,\n pendingKnos: realStats?.pendingKnos || 0,\n progressPercent: realStats?.progressPercent || 0,\n };\n })\n : [];\n\n const totalKnos = progressReport?.totalKnos || matchedSurveyors.reduce((acc, s) => acc + (s.totalKnos || 0), 0);\n const submittedKnos = progressReport?.submittedKnos || matchedSurveyors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0);\n const pendingKnos = progressReport?.pendingKnos || matchedSurveyors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0);\n const progressPercent = progressReport ? progressReport.progressPercent : (totalKnos > 0 ? Math.round((submittedKnos / totalKnos) * 100) : 0);\n\n return {\n supervisorId: matchedSup.id || matchedSup.owner?.uuid,\n supervisorName: matchedSup.name || matchedSup.owner?.name || \"N/A\",\n mobileNo: matchedSup.owner?.mobileNumber || matchedSup.mobileNo || \"N/A\",\n status: matchedSup.status || \"ACTIVE\",\n assignedZoneId: matchedSup.assignedZoneId || \"N/A\",\n vendorId: matchedSup.vendorId,\n surveyors: matchedSurveyors,\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }\n\n // 4. Fallback: If not found in search response, but we have progressData report, return it and enrich with loggedInUser details\n if (progressReport) {\n const isSelf = targetId?.toLowerCase() === loggedInUser?.uuid?.toLowerCase();\n const supervisorName = isSelf ? (loggedInUser?.name || progressReport.supervisorName || \"N/A\") : (progressReport.supervisorName || \"N/A\");\n const mobileNo = isSelf ? (loggedInUser?.mobileNumber || progressReport.mobileNo || \"N/A\") : (progressReport.mobileNo || \"N/A\");\n\n const surveyorsMapped = progressReport.surveyors\n ? progressReport.surveyors.map((surv) => {\n const matchedSurv = surveyorSearchResponse?.surveyors?.find(\n (s) => s.id?.toLowerCase() === surv.surveyorId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === surv.surveyorId?.toLowerCase()\n );\n\n return {\n surveyorId: surv.surveyorId || surv.id,\n surveyorName: matchedSurv?.name || matchedSurv?.owner?.name || surv.surveyorName || \"N/A\",\n mobileNo: matchedSurv?.owner?.mobileNumber || matchedSurv?.mobileNo || surv.mobileNo || \"N/A\",\n status: matchedSurv?.status || surv.status || \"ACTIVE\",\n totalKnos: surv.totalKnos || 0,\n submittedKnos: surv.submittedKnos || 0,\n pendingKnos: surv.pendingKnos || 0,\n progressPercent: surv.progressPercent || 0,\n };\n })\n : [];\n\n return {\n supervisorId: progressReport.supervisorId || progressReport.id,\n supervisorName,\n mobileNo,\n status: progressReport.status || \"ACTIVE\",\n assignedZoneId: progressReport.assignedZoneId || \"N/A\",\n vendorId: progressReport.vendorId,\n surveyors: surveyorsMapped,\n totalKnos: progressReport.totalKnos || 0,\n submittedKnos: progressReport.submittedKnos || 0,\n pendingKnos: progressReport.pendingKnos || 0,\n progressPercent: progressReport.progressPercent || 0,\n };\n }\n\n return null;\n }, [progressData, supervisorSearchResponse, surveyorSearchResponse, supervisorId, loggedInUser]);\n\n const fullName = supervisor?.supervisorName || \"N/A\";\n const mobileNumber = supervisor?.mobileNo || \"N/A\";\n const email = loggedInUser?.emailId || \"N/A\";\n const gender = loggedInUser?.gender || \"N/A\";\n const status = supervisor?.status || \"N/A\";\n const assignedZone = supervisor?.assignedZoneId || \"N/A\";\n\n const vendorName = useMemo(() => {\n if (!vendorSearchResponse || !supervisor) return \"N/A\";\n const targetVendorId = supervisor.vendorId;\n if (!targetVendorId) return \"N/A\";\n const matchedVendor = vendorSearchResponse.find(\n (v) => v.dsoDetails?.id === targetVendorId || v.dsoDetails?.vendorId === targetVendorId || v.id === targetVendorId || v.vendorId === targetVendorId\n );\n return matchedVendor?.dsoDetails?.name || matchedVendor?.name || \"N/A\";\n }, [vendorSearchResponse, supervisor]);\n\n const surveyors = useMemo(() => {\n return supervisor?.surveyors || [];\n }, [supervisor]);\n\n const cards = useMemo(() => [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: supervisor?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: supervisor?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: supervisor?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${supervisor?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n \n },\n ], [supervisor]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const paginatedSurveyors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return surveyors.slice(start, end);\n }, [surveyors, currentPage, pageSize]);\n\n const surveyorColumns = useMemo(\n () => [\n {\n Header: t(\"SURVEYOR_NAME\") || \"Surveyor Name\",\n accessor: (row) => row?.surveyorName || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/surveyor-dashboard/${row.original.surveyorId}`\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.surveyorName || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: () => \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || 0}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = surveyors.map((s) => ({\n name: s.surveyorName,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = supervisor?.totalKnos || 0;\n const completedKnos = supervisor?.submittedKnos || 0;\n\n downloadSupervisorPDF({\n rows: rowsWithStats,\n supervisorName: fullName,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate supervisor report:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handlePresetDownload = (filter) => {\n handleDownload();\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n handleDownload();\n };\n\n const handleDownloadEkycData = async () => {\n if (!surveyors || surveyors.length === 0) {\n alert(t(\"NO_SURVEYORS_ASSIGNED\") || \"No surveyors assigned to this supervisor.\");\n return;\n }\n\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n reportDownload: true\n });\n\n const consumerList = response?.consumerList || [];\n\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n // Text fields that should be Title Cased (incl. dot-notation like CONSUMERTYPE.INDIVIDUAL)\n const titleCaseFields = [\"ekycStatus\", \"zoneName\", \"gender\", \"relationship\", \"assembly\", \"ward\", \"consumerType\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && titleCaseFields.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_Supervisor_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isSupervisorSearchLoading || isSurveyorSearchLoading || isVendorSearchLoading;\n\n if (isPageLoading && !supervisor) {\n return <Loader />;\n }\n\n if (!supervisor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SUPERVISOR_FOUND\")}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n <div className=\"designation\">{t(\"FIELD_SUPERVISOR\") || \"Field Supervisor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isProgressLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{gender}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONE\") || \"Assigned Zone\"}</span>\n <span className=\"value\">\n {assignedZone && assignedZone !== \"N/A\"\n ? (\n <div className=\"selected-zones\" style={{ marginTop: \"4px\" }}>\n <span className=\"selected-zone-chip\">\n {t(assignedZone.trim().toUpperCase()) || assignedZone}\n </span>\n </div>\n )\n : assignedZone}\n </span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\"}\n tableClass=\"ekycTable\"\n data={paginatedSurveyors}\n columns={surveyorColumns}\n isLoading={isProgressLoading}\n totalRecords={surveyors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(surveyors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(surveyors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default SupervisorDetailsCard;","import React, { useMemo, useState, useEffect } from \"react\";\nimport { Modal, Close, Table, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nconst AssignEkycModal = ({ surveyor, closeModal, refetchDashboard, tenantId: propsTenantId }) => {\n const { t } = useTranslation();\n const tenantId = propsTenantId || Digit.ULBService.getCurrentTenantId();\n const [selectedKnos, setSelectedKnos] = useState([]);\n const [isBulkSelection, setIsBulkSelection] = useState(false);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(10);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({\n error: false,\n label: \"\",\n });\n const [filters, setFilters] = useState({\n kno: \"\", // search value\n pincode: \"\",\n zoneCode: \"\",\n zoneName: \"\",\n ward: \"\",\n assembly: \"\",\n mrkey: \"\",\n ekycStatus: \"\",\n });\n\n const [debouncedFilters, setDebouncedFilters] = useState(filters);\n\n const { data: zroLocationsData, isLoading: isZroLoading } = Digit.Hooks.ws.useWSConfigMDMS.ZROLocation(tenantId);\n const mappedZROLocation = useMemo(() => {\n return (zroLocationsData || []).map((item) => ({\n code: item.code,\n name: item.name,\n }));\n }, [zroLocationsData]);\n\n const { data: egovLocationData } = Digit.Hooks.useCommonMDMS(tenantId, \"egov-location\", [\"TenantBoundary\"]);\n\n const boundaryData = useMemo(() => {\n const tenantBoundary = egovLocationData?.[\"egov-location\"]?.TenantBoundary || [];\n const revenueData = tenantBoundary.find((item) => item?.hierarchyType?.code === \"REVENUE\");\n const boundary = revenueData?.boundary || [];\n return Array.isArray(boundary) ? boundary : [boundary];\n }, [egovLocationData]);\n\n const { assemblyOptions, wardOptions } = useMemo(() => {\n const assemblies = new Map();\n const wards = new Map();\n\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const traverse = (node) => {\n if (!node) return;\n if (node.label === \"Ward\" || node.label === \"WARD\" || node.label === \"Block\" || node.label === \"BLOCK\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) wards.set(code, { code, name: name });\n }\n if (node.label === \"Assembly Constituency\" || node.label === \"ASSEMBLY_CONSTITUENCY\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) assemblies.set(code, { code, name: name });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach(traverse);\n }\n };\n\n boundaries.forEach(traverse);\n\n return {\n assemblyOptions: Array.from(assemblies.values()).sort((a, b) => a.name.localeCompare(b.name)),\n wardOptions: Array.from(wards.values()).sort((a, b) => a.name.localeCompare(b.name)),\n };\n }, [boundaryData]);\n\n const structuredLocalityData = useMemo(() => {\n let localities = [];\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const extractLocalities = (node) => {\n if (!node) return;\n\n if (node.label === \"Locality\" || node.label === \"LOCALITY\") {\n localities.push({\n ...node,\n name: node.localname || node.name || node.code,\n });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach((child) => extractLocalities(child));\n }\n };\n\n boundaries.forEach((rootNode) => extractLocalities(rootNode));\n\n return localities;\n }, [boundaryData]);\n\n const fetchedPincodes = useMemo(() => {\n const pinSet = new Set();\n\n structuredLocalityData.forEach((loc) => {\n if (loc.pincode) {\n const pins = Array.isArray(loc.pincode) ? loc.pincode : [loc.pincode];\n pins.forEach((p) => {\n if (p) {\n const sanitizedPin = p.toString().split(\".\")[0];\n pinSet.add(sanitizedPin);\n }\n });\n }\n });\n\n return Array.from(pinSet).sort();\n }, [structuredLocalityData]);\n\n const { data: filterOptionsData } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: true,\n fetchFilterOptions: true,\n },\n {\n tenantId: tenantId,\n offset: 0,\n limit: 1000,\n },\n {\n staleTime: Infinity,\n }\n );\n\n const pincodeOptions = useMemo(() => {\n if (!filterOptionsData) return fetchedPincodes || [];\n const pins = filterOptionsData.pincodeOptions || [];\n return Array.isArray(pins) ? pins.filter(Boolean).map(String).sort() : [];\n }, [filterOptionsData, fetchedPincodes]);\n\n const mrkeyOptions = useMemo(() => {\n if (!filterOptionsData) return [];\n const keys = filterOptionsData.mrkeyOptions || [];\n return Array.isArray(keys) ? keys.filter(Boolean).map(String).sort() : [];\n }, [filterOptionsData]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedFilters(filters);\n }, 500);\n\n return () => clearTimeout(timer);\n }, [filters]);\n\n useEffect(() => {\n setCurrentPage(0);\n }, [debouncedFilters, filters.kno]);\n\n const { data: applicationData, isFetching: isLoading, refetch: refetchApplicationList } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: true,\n /*\n ...(debouncedFilters.kno && {\n kno: debouncedFilters.kno,\n }),\n */\n ...(filters.kno && {\n kno: filters.kno,\n }),\n\n ...(debouncedFilters.ekycStatus && {\n ekycStatus: debouncedFilters.ekycStatus,\n }),\n\n ...(debouncedFilters.zoneName && {\n zoneName: debouncedFilters.zoneName,\n }),\n\n ...(debouncedFilters.assembly && {\n assembly: debouncedFilters.assembly,\n }),\n\n ...(debouncedFilters.ward && {\n ward: debouncedFilters.ward,\n }),\n\n ...(debouncedFilters.mrkey && {\n mrkey: debouncedFilters.mrkey,\n }),\n\n ...(debouncedFilters.pincode && {\n pincode: debouncedFilters.pincode,\n }),\n },\n {\n tenantId: tenantId,\n offset: currentPage * pageSize,\n limit: pageSize,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const handleAssignmentError = (errMsg, variables) => {\n const isAlreadyAssigned =\n errMsg.toLowerCase().includes(\"already assigned\") ||\n errMsg.toLowerCase().includes(\"already assign\") ||\n errMsg.toLowerCase().includes(\"active assignment\") ||\n errMsg.toLowerCase().includes(\"mrkey\") ||\n errMsg.toLowerCase().includes(\"mr key\") ||\n errMsg.toLowerCase().includes(\"kno\") ||\n errMsg.toLowerCase().includes(\"already exists\");\n\n if (isAlreadyAssigned) {\n const isMrKeyType = variables?.assignmentType === \"MRKEY\";\n\n if (isMrKeyType) {\n setToastData({\n error: true,\n label: t(\"EKYC_MR_KEY_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"mr key is already assign with another surveyor\",\n });\n } else {\n setToastData({\n error: true,\n label: t(\"EKYC_KNO_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"kno is already assign with another surveyor\",\n });\n }\n } else {\n setToastData({\n error: true,\n label: t(errMsg) || errMsg || t(\"EKYC_SOMETHING_WENT_WRONG\") || \"Something went wrong\",\n });\n }\n setShowToast(true);\n };\n\n const assignmentMutation = Digit.Hooks.ekyc.useEkycAssignmentCreate({\n onSuccess: (response, variables) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n return;\n }\n\n // Check for skipped assignments (e.g. 200 OK but skipped)\n if (response?.skipped && response.skipped.length > 0) {\n const reason = response.skipped[0]?.reason || \"\";\n handleAssignmentError(reason, variables);\n return;\n }\n\n setToastData({\n error: false,\n label: t(\"EKYC_ASSIGNMENT_SUCCESSFUL\") || \"Assignment successful\",\n });\n\n setShowToast(true);\n\n // optional delay so user can see the success toast\n setTimeout(async () => {\n if (refetchDashboard) {\n await refetchDashboard();\n }\n if (refetchApplicationList) {\n await refetchApplicationList();\n }\n closeModal();\n }, 1000);\n },\n\n onError: (error, variables) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n },\n });\n\n const tableData = applicationData?.consumerList || [];\n\n const getAssignmentPayload = () => {\n if (isBulkSelection) {\n const filterMappings = [\n { key: \"ekycStatus\", type: \"EKYCSTATUS\" },\n { key: \"zoneName\", type: \"ZONENAME\" },\n { key: \"assembly\", type: \"ASSEMBLY\" },\n { key: \"ward\", type: \"WARD\" },\n { key: \"mrkey\", type: \"MRKEY\" },\n { key: \"pincode\", type: \"PINCODE\" },\n ];\n\n const appliedFilter = filterMappings.find(({ key }) => debouncedFilters[key]);\n\n if (appliedFilter) {\n return {\n assignmentType: appliedFilter.type,\n assignmentValue: debouncedFilters[appliedFilter.key],\n };\n }\n }\n\n return {\n assignmentType: \"KNO\",\n assignmentValue: selectedKnos,\n };\n };\n\n const handleAssign = () => {\n const { assignmentType, assignmentValue } = getAssignmentPayload();\n\n assignmentMutation.mutate({\n tenantId: tenantId,\n surveyorId: surveyor?.owner?.uuid,\n assignmentType,\n assignmentValue,\n });\n };\n\n const handleSelectAll = () => {\n setIsBulkSelection(true);\n\n const pageKnos = tableData.map((item) => item.kno);\n\n const allSelected = pageKnos.length > 0 && pageKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos((prev) => (allSelected ? prev.filter((kno) => !pageKnos.includes(kno)) : [...new Set([...prev, ...pageKnos])]));\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => (\n <input\n type=\"checkbox\"\n checked={tableData.length > 0 && tableData.every((item) => selectedKnos.includes(item.kno))}\n onChange={handleSelectAll}\n />\n ),\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return <input type=\"checkbox\" checked={selectedKnos.includes(kno)} onChange={() => handleSelect(kno)} />;\n },\n },\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n {\n Header: \"Pincode\",\n accessor: \"pincode\",\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{t(status)}</span> : \"-\";\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedKnos, tableData]\n );\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n return (\n <Modal\n headerBarMain={`Assign KNOs to ${surveyor?.name}`}\n headerBarEnd={<Close onClick={closeModal} />}\n actionCancelLabel=\"Cancel\"\n actionCancelOnSubmit={closeModal}\n actionSaveLabel={t(\"EKYC_ASSIGN_KNOS\") || \"Assign KNOs\"}\n actionSaveOnSubmit={handleAssign}\n isDisabled={!selectedKnos?.length}\n >\n <div className=\"assign-knos-modal\">\n {/* Filters */}\n <div className=\"filters-grid\">\n <input className=\"form-control\" placeholder=\"KNO\" value={filters.kno} onChange={(e) => handleFilterChange(\"kno\", e.target.value)} />\n\n <select className=\"form-control\" value={filters.pincode} onChange={(e) => handleFilterChange(\"pincode\", e.target.value)}>\n <option value=\"\">Select Pincode</option>\n {pincodeOptions.map((pin) => (\n <option key={pin} value={pin}>\n {pin}\n </option>\n ))}\n </select>\n\n {/* <select\n className=\"form-control\"\n value={filters.zoneName}\n onChange={(e) => {\n const val = e.target.value;\n setFilters((prev) => ({\n ...prev,\n zoneCode: val,\n zoneName: val,\n }));\n }}\n disabled={isZroLoading}\n >\n <option value=\"\">{isZroLoading ? \"Loading ZRO Locations...\" : \"Select ZRO Location\"}</option>\n {mappedZROLocation.map((loc) => (\n <option key={loc.code} value={loc.name}>\n {loc.name}\n </option>\n ))}\n </select> */}\n\n <select className=\"form-control\" value={filters.ward} onChange={(e) => handleFilterChange(\"ward\", e.target.value)}>\n <option value=\"\">Select Ward</option>\n {wardOptions\n .filter((ward) => {\n const stripped = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return stripped.trim().length > 0;\n })\n .map((ward) => {\n const displayName = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return (\n <option key={ward.code} value={ward.name}>\n {displayName}\n </option>\n );\n })}\n </select>\n\n <select className=\"form-control\" value={filters.assembly} onChange={(e) => handleFilterChange(\"assembly\", e.target.value)}>\n <option value=\"\">Select Assembly</option>\n {assemblyOptions.map((assembly) => (\n <option key={assembly.code} value={assembly.name}>\n {assembly.name}\n </option>\n ))}\n </select>\n\n <select className=\"form-control\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)}>\n <option value=\"\">Select MR Key</option>\n {mrkeyOptions.map((key) => (\n <option key={key} value={key}>\n {key}\n </option>\n ))}\n </select>\n\n {selectedKnos.length > 0 && (\n <button className=\"clear-selected-btn\" type=\"button\" onClick={() => setSelectedKnos([])}>\n {t(\"EKYC_CLEAR_SELECTION\") || \"Clear Selected\"}\n </button>\n )}\n\n {/* <select className=\"form-control\" value={filters.ekycStatus} onChange={(e) => handleFilterChange(\"ekycStatus\", e.target.value)}>\n <option value=\"\">All eKYC Status</option>\n <option value=\"PENDING\">Pending</option>\n <option value=\"APPROVED\">Approved</option>\n <option value=\"REJECTED\">Rejected</option>\n </select> */}\n </div>\n\n {/* Table */}\n <Table\n tableTitle=\"eKYC Applications\"\n tableClass=\"ekycTable\"\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n totalRecords={applicationData?.totalCount || 0}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n manualPagination={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (applicationData?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((applicationData?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n {showToast && <Toast error={toastData.error} label={toastData.label} onClose={() => setShowToast(false)} />}\n </Modal>\n );\n};\n\nexport default AssignEkycModal;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\n// import { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, PieChart, Pie, Cell, Legend } from \"recharts\";\n\nimport { Card, SubmitBar, ActionBar, Menu, Loader, Table } from \"@djb25/digit-ui-react-components\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\n\nimport AssignEkycModal from \"./AssignEkycModal\";\nimport { downloadSurveyorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\n\nconst SurveyorDetailsDashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const [showModal, setShowModal] = useState(false);\n const [showOptions, setShowOptions] = useState(false);\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const { id: surveyorId } = useParams();\n const ownerIds = Digit.SessionStorage.get(\"User\")?.info?.uuid;\n\n const { t } = useTranslation();\n\n const { data: surveyorSearchById, isLoading: isLoadingId } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { ids: surveyorId },\n { enabled: !!surveyorId, staleTime: Infinity }\n );\n\n const hasFoundById = !!(surveyorSearchById?.surveyors?.length);\n\n const { data: surveyorSearchByOwner, isLoading: isLoadingOwner } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n surveyorId ? { ownerIds: surveyorId } : { ownerIds },\n { enabled: !surveyorId || (!isLoadingId && !hasFoundById), staleTime: Infinity }\n );\n\n const surveyorSearchResponse = useMemo(() => {\n if (surveyorId && hasFoundById) {\n return surveyorSearchById;\n }\n return surveyorSearchByOwner;\n }, [surveyorId, hasFoundById, surveyorSearchById, surveyorSearchByOwner]);\n\n const isLoading = surveyorId ? (isLoadingId || (isLoadingOwner && !hasFoundById)) : isLoadingOwner;\n\n const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n\n const surveyor = useMemo(() => {\n return surveyorSearchResponse?.surveyors?.[0] || null;\n }, [surveyorSearchResponse]);\n\n const { data: vendorData, isLoading: isVendorLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n const vendorName = useMemo(() => {\n if (surveyor?.vendorName) return surveyor.vendorName;\n if (!vendorData || !surveyor?.vendorId) return \"N/A\";\n const mappedVendor = vendorData.find((v) => v.dsoDetails?.id === surveyor.vendorId || v.dsoDetails?.vendorId === surveyor.vendorId);\n return mappedVendor?.dsoDetails?.name || surveyor.vendorId || \"N/A\";\n }, [vendorData, surveyor?.vendorId, surveyor?.vendorName]);\n\n const supervisorName = useMemo(() => {\n if (surveyor?.supervisorName) return surveyor.supervisorName;\n if (!supervisorSearchResponse?.supervisors || !surveyor?.supervisorId) return \"N/A\";\n const mappedSupervisor = supervisorSearchResponse.supervisors.find(\n (s) => s.id === surveyor.supervisorId || s.owner?.uuid === surveyor.supervisorId\n );\n return mappedSupervisor?.name || mappedSupervisor?.owner?.name || surveyor.supervisorId || \"N/A\";\n }, [supervisorSearchResponse, surveyor?.supervisorId, surveyor?.supervisorName]);\n const fullName = surveyor?.owner?.name || surveyor?.name || \"N/A\";\n const employeeId = surveyor?.employeeId || surveyor?.owner?.uuid || surveyor?.id;\n const mobileNumber = surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\";\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const queryParams = {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n surveyorId: surveyor?.owner?.uuid,\n };\n\n const { isFetching: isDashboardLoading, data: dashboardData = {}, refetch: refetchDashboard } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n queryParams,\n {\n enabled: !!queryParams.tenantId && !!queryParams.surveyorId,\n keepPreviousData: true,\n }\n );\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const knoColumns = useMemo(\n () => [\n {\n Header: t(\"KNO\") || \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: t(\"CONSUMER_NAME\") || \"Consumer Name\",\n accessor: (row) => toTitleCase(`${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim()),\n id: \"consumerName\",\n },\n {\n Header: t(\"ZONE\") || \"Zone\",\n accessor: (row) => toTitleCase(row.zoneName),\n id: \"zoneName\",\n },\n {\n Header: t(\"EKYC_STATUS\") || \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{toTitleCase(value)}</span> : \"-\";\n },\n },\n {\n Header: t(\"SUBMITTED_AT\") || \"Submitted At\",\n accessor: \"submittedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"ASSIGNED_AT\") || \"Assigned At\",\n accessor: \"assignedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n ],\n [t]\n );\n\n // ─── Download Report hooks (must be before any early returns) ───────\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const isPageLoading = isLoading || isVendorLoading || isSupervisorSearchLoading;\n\n if (isPageLoading && !surveyor) {\n return <Loader />;\n }\n\n if (!surveyor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SURVEYOR_FOUND\")}</div>\n </Card>\n );\n }\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: range.from.getTime(),\n toDate: range.to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: from.getTime(),\n toDate: to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch custom dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const options = [{ action: \"Assign\" }];\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n setShowModal(true);\n };\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n surveyorId: surveyor?.owner?.uuid,\n reportDownload: true,\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n // Text fields that should be Title Cased (incl. dot-notation like CONSUMERTYPE.INDIVIDUAL)\n const titleCaseFields = [\"ekycStatus\", \"zoneName\", \"gender\", \"relationship\", \"assembly\", \"ward\", \"consumerType\"];\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n // Apply Title Case to known text fields; leave numbers, KNO, mobile, pincode as-is\n if (typeof val === \"string\" && titleCaseFields.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const closeModal = async () => {\n setShowModal(false);\n };\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n\n <div className=\"designation\">{surveyor?.description || t(\"FIELD_SURVEYOR\")}</div>\n\n {/* <div className=\"employee-id\">\n {t(\"EMPLOYEE_ID\")}: {employeeId}\n </div> */}\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"FROM_DATE\") || \"From\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) => setCustomDate((d) => ({ ...d, from: e.target.value }))}\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"TO_DATE\") || \"To\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) => setCustomDate((d) => ({ ...d, to: e.target.value }))}\n />\n </div>\n\n <button className=\"download-action-btn\" onClick={handleCustomDownload}>\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n <StatCard title={t(\"TOTAL_ASSIGNED\")} value={dashboardData?.dashboardInfo?.total || 0} type=\"today\" isLoading={isDashboardLoading} icon={<FaUsers />} />\n <StatCard title={t(\"COMPLETED\")} value={dashboardData?.dashboardInfo?.completed || 0} type=\"week\" isLoading={isDashboardLoading} icon={<FaCheckCircle />} />\n <StatCard title={t(\"PENDING\")} value={dashboardData?.dashboardInfo?.pending || 0} type=\"pending\" isLoading={isDashboardLoading} icon={<FaClock />} />\n <StatCard title={t(\"SUBMITTED\")} value={dashboardData?.dashboardInfo?.submittedCount || 0} type=\"month\" isLoading={isDashboardLoading} icon={<FaChartLine />} />\n </div>\n\n {/* Charts */}\n <div className=\"charts-wrapper\">\n {/* Weekly Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"WEEKLY_SURVEY_PROGRESS\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart data={weeklyData}>\n <CartesianGrid strokeDasharray=\"3 3\" />\n\n <XAxis dataKey=\"day\" />\n\n <YAxis />\n\n <Tooltip />\n\n <Bar dataKey=\"completed\" fill=\"#0B2559\" radius={[6, 6, 0, 0]} />\n </BarChart>\n </ResponsiveContainer>\n </div> */}\n\n {/* Pie Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"CASE_DISTRIBUTION\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <PieChart>\n <Pie data={statusData} dataKey=\"value\" nameKey=\"name\" outerRadius={90} label>\n {statusData.map((entry, index) => (\n <Cell key={index} fill={entry.color} />\n ))}\n </Pie>\n\n <Tooltip />\n\n <Legend />\n </PieChart>\n </ResponsiveContainer>\n </div> */}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{surveyor?.owner?.emailId || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{surveyor?.owner?.gender || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{surveyor?.status || \"N/A\"}</span>\n </div>\n\n {/* <div className=\"detail-item\">\n <span className=\"label\">{t(\"SERVICE_TYPE\")}</span>\n <span className=\"value\">{surveyor?.additionalDetails?.serviceType || \"N/A\"}</span>\n </div> */}\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SUPERVISOR_NAME\") || \"Supervisor Name\"}</span>\n <span className=\"value\">{supervisorName}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"ASSIGNED_KNOS\")}\n tableClass=\"ekycTable\"\n data={dashboardData?.dashboardInfo?.consumerList || []}\n columns={knoColumns}\n isLoading={isDashboardLoading}\n totalRecords={dashboardData?.dashboardInfo?.total}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n showAutoSerialNo={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (dashboardData?.dashboardInfo?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((dashboardData?.dashboardInfo?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n {/* Actions */}\n {roles.includes(\"EKYC_SUPERVISOR\") && (\n <ActionBar>\n <SubmitBar label={t(\"EKYC_ASSIGN_KNOS\")} onSubmit={() => setShowOptions((prev) => !prev)} />\n\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n\n {showModal && <AssignEkycModal surveyor={surveyor} closeModal={closeModal} refetchDashboard={refetchDashboard} />}\n </Card>\n );\n};\n\nexport default SurveyorDetailsDashboard;\n","import React, { useState, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { Label, DatePicker, SubmitBar, Toast, Dropdown, UploadFile, CollapsibleCardPage, VerticalTimeline } from \"@djb25/digit-ui-react-components\";\n\nconst WorkOrder = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n const history = useHistory();\n\n const [showToast, setShowToast] = useState(null);\n const [vendor, setVendor] = useState(null);\n const [validFrom, setValidFrom] = useState(\"\");\n const [validTo, setValidTo] = useState(\"\");\n const [uploadedFile, setUploadedFile] = useState(null);\n const [file, setFile] = useState(null);\n const [error, setError] = useState(null);\n\n const { data: vendorOptions, isLoading: isVendorLoading } = Digit.Hooks.fsm.useVendorSearch({\n tenantId,\n filters: { status: \"ACTIVE\" },\n config: {\n select: (data) => data?.vendor || [],\n },\n });\n\n const { mutate: createWorkOrder } = Digit.Hooks.wt.useVendorWorkOrderCreate(tenantId);\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (file) {\n if (file.size >= 10000000) {\n setError(t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") || \"File size exceeds 10MB\");\n } else {\n try {\n const response = await Digit.UploadServices.Filestorage(\"EKYC\", file, Digit.ULBService.getStateId());\n if (response?.data?.files?.length > 0) {\n setUploadedFile(response?.data?.files[0]?.fileStoreId);\n } else {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n }\n } catch (err) {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n }\n }\n }\n })();\n }, [file]);\n\n const handleSubmit = () => {\n const payload = {\n vendorWorkOrder: {\n tenantId,\n name: vendor?.name,\n mobileNumber: vendor?.owner?.mobileNumber,\n emailId: vendor?.owner?.emailId,\n vendorId: vendor?.code || vendor?.id,\n validFrom: new Date(validFrom).getTime(),\n validTo: new Date(validTo).getTime(),\n serviceType: \"EKYC\",\n fileStoreId: uploadedFile,\n },\n };\n\n createWorkOrder(payload, {\n onSuccess: (result) => {\n setShowToast({ isError: false, label: t(\"EKYC_WORK_ORDER_SAVE_SUCCESS\") });\n setTimeout(() => {\n history.push(\"/digit-ui/employee/module/details\");\n }, 3000);\n },\n onError: (err) => {\n setShowToast({ isError: true, label: err?.response?.data?.Errors?.[0]?.message || t(\"EKYC_WORK_ORDER_SAVE_ERROR\") });\n },\n });\n };\n\n function selectfile(e) {\n setUploadedFile(null);\n setFile(e.target.files[0]);\n }\n\n const isFormDisabled = !vendor || !validFrom || !validTo || !uploadedFile;\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n return (\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={[{ timeLine: [{ actions: t(\"EKYC_WORK_ORDER_ASSIGN\"), currentStep: 1 }] }]} showFinalStep={false} />\n\n <div style={{ flex: 1 }}>\n <CollapsibleCardPage title={t(\"EKYC_UPLOAD_WORK_ORDER\")} defaultOpen={true}>\n <div className=\"formcomposer-section-grid\">\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"EKYC_VENDOR_NAME\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <Dropdown t={t} option={vendorOptions} optionKey=\"name\" select={setVendor} selected={vendor} placeholder={t(\"EKYC_SELECT_VENDOR\")} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"COMMON_VALID_FROM_DATE\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <DatePicker date={validFrom} onChange={(date) => setValidFrom(date)} style={{ width: \"100%\" }} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"COMMON_VALID_TO_DATE\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <DatePicker date={validTo} min={validFrom} onChange={(date) => setValidTo(date)} style={{ width: \"100%\" }} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>{`${t(\"EKYC_UPLOAD_DOCUMENT\")}`} <span className=\"check-page-link-button\">*</span></Label>\n <UploadFile\n id={\"ekyc-doc\"}\n extraStyleName={\"propertyCreate\"}\n accept=\"image/*, .pdf, .png, .jpeg, .jpg\"\n onUpload={selectfile}\n onDelete={() => setUploadedFile(null)}\n message={uploadedFile ? `1 ${t(`EKYC_ACTION_FILEUPLOADED`)}` : t(`EKYC_ACTION_NO_FILEUPLOADED`)}\n error={error}\n />\n </div>\n </div>\n </CollapsibleCardPage>\n\n <div style={{ display: \"flex\", marginTop: \"24px\", justifyContent: isMobile ? \"center\" : \"flex-end\" }}>\n <SubmitBar label={t(\"ES_COMMON_SAVE\")} onSubmit={isFormDisabled ? null : handleSubmit} disabled={isFormDisabled} />\n </div>\n </div>\n\n {showToast && <Toast error={showToast.isError} label={showToast.label} onClose={() => setShowToast(null)} />}\n </div>\n );\n};\n\nexport default WorkOrder;\n","import React from \"react\";\nexport function formReducer(state, payload) {\n const storageKey = \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n}\n\nexport const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n};\n\nexport const tableColumnConfig = (t, handleReview) => [\n {\n Header: t(\"SURVEYOR_NAME\"),\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const id = row.original?.id;\n return (\n <span className=\"link\" onClick={() => handleReview(id)}>\n {row.original?.surveyorName || row.original?.name || \"NA\"}\n </span>\n );\n },\n },\n // {\n // Header: t(\"SURVEYOR_NAME\"),\n // accessor: \"surveyorName\",\n // Cell: ({ row }) => <span>{row.original?.surveyorName || row.original?.name || \"NA\"}</span>,\n // },\n {\n Header: t(\"MOBILE_NUMBER\"),\n accessor: \"mobileNo\",\n Cell: ({ row }) => <span>{row.original?.mobileNo || row.original?.owner?.mobileNumber || \"NA\"}</span>,\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>;\n },\n },\n {\n Header: t(\"SERVICE_TYPE\"),\n accessor: \"serviceType\",\n Cell: ({ row }) => <span>{row.original?.serviceType || \"NA\"}</span>,\n },\n];\n","import { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { tableColumnConfig } from \"../../../vendor/src/config/tableConfig\";\n\nconst SupervisorInboxTableConfig = ({\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n onSortingByData,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n const handleReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n\n currentPage: Math.floor(offset / limit),\n\n onPageSizeChange,\n\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) + Number(limit),\n },\n }),\n\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) - Number(limit),\n },\n }),\n\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Math.ceil(totalCount / limit) * limit - Number(limit),\n },\n }),\n\n onFirstPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: 0 },\n }),\n\n totalRecords: totalCount,\n onSort: onSortingByData,\n\n data: table,\n columns: tableColumnConfig(t, handleReview),\n\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default SupervisorInboxTableConfig;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport SupervisorInboxTableConfig from \"../hook/SupervisorInboxTableConfig\";\nimport SearchFormFieldsComponents from \"./SearchFormFieldsComponent\";\nimport { formInitValue, formReducer } from \"../../../vendor/src/config/tableConfig\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\nimport useInboxMobileCardsData from \"../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst AssignEkyc = () => {\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\"; // Force tenantId to dl.djb for EKYC APIs in citizen portal\n }\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n let paginationParms = {\n limit: formState?.tableForm?.limit || 10,\n offset: formState?.tableForm?.offset || 0,\n sortBy: formState?.tableForm?.sortBy || \"createdTime\",\n sortOrder: formState?.tableForm?.sortOrder || \"DESC\",\n };\n\n const mobileNumber = formState?.searchForm?.mobileNumber || \"\";\n const isSearchActive = !!mobileNumber;\n\n const filters = {\n ...paginationParms,\n status: \"ACTIVE,DISABLED\",\n };\n\n if (isSearchActive) {\n filters.mobileNumber = mobileNumber;\n }\n\n const { data: dashboardData, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, filters, { enabled: !!tenantId, keepPreviousData: true });\n\n const { isLoading: isDataSearchLoading, data } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const sourceData = useMemo(() => {\n return dashboardData?.surveyors || [];\n }, [dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n const owner = item?.owner || {};\n const roleCodes = owner?.roles?.map((role) => role.code)?.join(\", \") || \"\";\n\n return {\n ...item,\n id: item?.id || \"\",\n surveyorName: item?.name || owner?.name || \"\",\n mobileNo: item?.mobileNo || owner?.mobileNumber || \"\",\n email: owner?.emailId || \"\",\n vendorId: item?.vendorId || \"\",\n tenantId: item?.tenantId || \"\",\n supervisorId: item?.supervisorId || \"\",\n status: item?.status || \"\",\n roleCodes,\n userName: owner?.userName || \"\",\n gender: owner?.gender || \"\",\n serviceType: item?.additionalDetails?.serviceType || \"\",\n createdTime: item?.auditDetails?.createdTime || 0,\n lastModifiedTime: item?.auditDetails?.lastModifiedTime || 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"mobile\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues } });\n dispatch({ action: \"mutateSearchForm\", data });\n };\n\n const searchFormDefaultValues = {\n mobileNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"mobileNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n });\n }\n }\n };\n\n const propsForInboxTable = SupervisorInboxTableConfig({\n ...{\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading;\n\n const cards = [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: data?.totalKnos || 0,\n color: \"#0B2559\",\n filter: null,\n active: true,\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: data?.totalAssignments || 0,\n color: \"#3B82F6\",\n filter: [\"ASSIGNED\"],\n type: \"week\",\n icon: <FaMapMarkedAlt />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: data?.completedKnos || 0,\n color: \"#10B981\",\n filter: [\"COMPLETED\"],\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: (data?.totalKnos || 0) - (data?.completedKnos || 0),\n color: \"#F59E0B\",\n filter: [\"PENDING\"],\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${data?.overallProgressPercent || 0}%`,\n color: \"#A855F7\",\n filter: [\"IN_PROGRESS\"],\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, isSupervisor: true });\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: dashboardData?.dashboardInfo,\n // cards,\n isCardLoading: isDataSearchLoading,\n showSearchOnMobile: true,\n forceTable: true,\n }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\n","import Dashboard from \"../components/Dashboard\";\nimport Inbox from \"../pages/employee/Inbox\";\n// import Create from \"../pages/employee/Create\";\n// import Mapping from \"../pages/employee/Mapping\";\nimport EKYCForm from \"../pages/employee/EKYCForm\";\nimport Review from \"../components/Review\";\nimport AssignEkyc from \"../components/AssignEkyc\";\nimport AdminDashboard from \"../components/AdminDashboard\";\nimport CeoDashboard from \"../components/CeoDashboard\";\nimport VendorDetailsCard from \"../components/VendorDetailsCard\";\nimport SupervisorDetailsCard from \"../components/SupervisorDetailsCard\";\nimport SurveyorDetailsCard from \"../components/SurveyorDetailsCard\";\nimport WorkOrder from \"../pages/employee/WorkOrder\";\n\n\n// yeh function role (employee/citizen) leta hai aur uske hisaab se\n// breadcrumb ka URL bana deta hai. Baaki sab kuch same rehta hai.\nconst breadcrumb = (userType, listLabel, listPath, detailLabel) => [\n { label: listLabel, path: `/digit-ui/${userType}/ekyc/${listPath}` },\n { label: detailLabel },\n];\n\n// 👇 isi function ko employee ke liye bhi call karenge, citizen ke liye bhi\nexport const getEkycRoutes = (userType) => [\n // ---- simple pages ----\n { path: \"/dashboard\", component: Dashboard, layout: \"normal\", breadcrumb: \"EKYC_DASHBOARD\" },\n { path: \"/inbox\", component: Inbox, layout: \"normal\", breadcrumb: \"EKYC_INBOX\" },\n { path: \"/review/:kno\", component: Review, layout: \"normal\", breadcrumb: \"EKYC_REVIEW\" },\n // { path: \"/create-kyc\", component: Create, layout: \"normal\", breadcrumb: \"EKYC_CREATE_KYC\" },\n // { path: \"/mapping\", component: Mapping, layout: \"normal\", breadcrumb: \"EKYC_MAPPING\" },\n { path: \"/admin-dashboard\", component: AdminDashboard, layout: \"normal\", breadcrumb: \"EKYC_ADMIN_DASHBOARD\" },\n // { path: \"/work-order\", component: WorkOrder, layout: \"normal\", breadcrumb: \"EKYC_WORK_ORDER\" },\n { path: \"/work-order\", component: WorkOrder, layout: \"normal\", breadcrumb: \"EKYC_WORK_ORDER\" },\n // { path: \"/ceo-dashboard\", component: CeoDashboard, layout: \"normal\", breadcrumb: \"CEO_M.F_DOR_FINANCE_VIEW\" },\n\n // ---- EKYC form ke 4 steps ----\n { path: \"/consumer-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_CONSUMER_DETAILS\" },\n { path: \"/address-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_ADDRESS_DETAILS\" },\n { path: \"/property-info\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_PROPERTY_INFO\" },\n { path: \"/meter-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_METER_DETAILS\" },\n\n // ---- assign ----\n {\n path: [\"/assign\"],\n component: AssignEkyc,\n layout: \"normal\",\n breadcrumb: [{ label: \"EKYC_ASSIGN\", path: `/digit-ui/${userType}/ekyc/assign` }],\n },\n\n // ---- detail-card wale routes ----\n // {\n // path: [\"/review/:kno\", \"/review\"],\n // component: Review,\n // layout: \"action\",\n // breadcrumb: breadcrumb(userType, \"EKYC_INBOX\", \"inbox:kno\", \"EKYC_REVIEW\"),\n // },\n {\n path: [\"/vendors/:vendorId\", \"/vendors\"],\n component: VendorDetailsCard,\n layout: \"normal\",\n breadcrumb: breadcrumb(userType, \"EKYC_VENDORS\", \"vendors:vendorId\", \"EKYC_VENDOR_DETAILS\"),\n },\n {\n path: [\"/supervisor-dashboard/:id\", \"/supervisor-dashboard\"],\n component: SupervisorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SUPERVISOR_DASHBOARD\", \"supervisor-dashboard:id\", \"EKYC_SUPERVISOR_DETAILS\"),\n },\n {\n path: [\"/surveyor-dashboard/:id\", \"/surveyor-dashboard\"],\n component: SurveyorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SURVEYOR_DASHBOARD\", \"surveyor-dashboard/:id\", \"EKYC_SURVEYOR_DETAILS\"),\n },\n];\n\n// dono role ke liye ready-made arrays — jaha jaruratho wahi import karo\nexport const ekycRoutes = getEkycRoutes(\"employee\"); // employee ke liye\nexport const citizenEkycRoutes = getEkycRoutes(\"citizen\"); // citizen ke liye","import { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation } from \"react-router-dom\";\nimport Dashboard from \"../../components/Dashboard\";\n// import CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard.js\";\nimport Inbox from \"./Inbox\";\n// import Mapping from \"./Mapping\";\n// import Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\n// import AssignEkyc from \"../../components/AssignEkyc.js\";\nimport AdminDashboard from \"../../components/AdminDashboard.js\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard.js\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\"\nimport WorkOrder from \"./WorkOrder\";\nimport { ekycRoutes } from \"../../config/Routes\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n // const getDynamicBreadcrumbs = () => {\n // const pathname = location.pathname;\n\n // // Parent crumb — always present and clickable → redirects to eKYC inbox\n // const crumbs = [\n // { icon: HomeIcon, path: \"/digit-ui/employee\" },\n // { label: t(\"ACTION_TEST_EKYC\"), path: `/digit-ui/employee/module/details` },\n // ];\n\n // // Child crumb — only appended when on a sub-page (not inbox/dashboard itself)\n // if (pathname.includes(\"/create-kyc\")) {\n // crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n // } else if (pathname.includes(\"/consumer-details\")) {\n // crumbs.push({ label: t(\"EKYC_CONSUMER_DETAILS\") });\n // } else if (pathname.includes(\"/address-details\")) {\n // crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n // } else if (pathname.includes(\"/property-info\")) {\n // crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n // } else if (pathname.includes(\"/meter-details\")) {\n // crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n // } else if (pathname.includes(\"/review\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/employee/ekyc/inbox` });\n // crumbs.push({ label: t(\"EKYC_REVIEW\") });\n // } else if (pathname.includes(\"/surveyor-dashboard\") || pathname.includes(\"/assign/surveyor-details\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") || \"Surveyor Dashboard\" });\n // } else if (pathname.includes(\"/assign\")) {\n // crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n // } else if (pathname.includes(\"/ceo-dashboard\")) {\n // crumbs.push({ label: t(\"CEO_M.F_DOR_FINANCE_VIEW\") });\n // } else if (pathname.includes(\"/admin-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\" });\n // } else if (pathname.includes(\"/supervisor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") || \"Supervisor Dashboard\" });\n // } else if (pathname.includes(\"/surveyor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n // } else if (pathname.includes(\"/vendors/\")) {\n // crumbs.push({ label: t(\"EKYC_VENDOR_DETAILS\") });\n // } else if (pathname.includes(\"/mapping\")) {\n // crumbs.push({ label: t(\"EKYC_MAPPING\") });\n // } else if (pathname.includes(\"/dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n // } else if (pathname.includes(\"/inbox\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\") });\n // }\n // // dashboard & inbox → no child crumb (only \"eKYC Admin\" shown)\n\n // return crumbs;\n // };\n\n const getDynamicBreadcrumbs = () => {\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(\"ACTION_TEST_EKYC\"), path: \"/digit-ui/employee/module/details\" },\n ];\n const pathSegments = location.pathname.split(\"/\").filter(Boolean);\n const ekycIndex = pathSegments.indexOf(\"ekyc\");\n const relativeSegments = ekycIndex !== -1 ? pathSegments.slice(ekycIndex + 1) : [];\n\n let matchedPath = \"\";\n const currentRoute = ekycRoutes.find((route) => {\n const paths = Array.isArray(route.path) ? route.path : [route.path];\n return paths.some((singlePath) => {\n const routeSegments = singlePath.split(\"/\").filter(Boolean);\n if (routeSegments.length === relativeSegments.length && routeSegments.every((seg, i) => seg.startsWith(\":\") || seg === relativeSegments[i])) {\n matchedPath = singlePath;\n return true;\n }\n return false;\n });\n });\n\n if (currentRoute) {\n if (Array.isArray(currentRoute.breadcrumb)) {\n currentRoute.breadcrumb.forEach((crumb) => {\n let crumbPath = crumb.path;\n if (crumbPath && matchedPath) {\n matchedPath.split(\"/\").filter(Boolean).forEach((segment, idx) => {\n if (segment.startsWith(\":\")) {\n const val = relativeSegments[idx];\n crumbPath = crumbPath.replace(new RegExp(`\\\\/${segment}`, \"g\"), `/${val}`)\n .replace(new RegExp(`(\\\\w+)${segment}`, \"g\"), `$1/${val}`)\n .replace(new RegExp(segment, \"g\"), val);\n }\n });\n }\n crumbs.push({ label: t(crumb.label), ...(crumbPath ? { path: crumbPath } : {}) });\n });\n } else {\n crumbs.push({ label: t(currentRoute.breadcrumb) });\n }\n }\n return crumbs;\n };\n const formStepRoutes = [\"consumer-details\", \"address-details\", \"property-info\", \"meter-details\"];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n Back\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <div className=\"employee-form\">\n <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Create />\n </LayoutWrapper>\n )}\n /> */}\n\n {/* <PrivateRoute\n path={`${path}/mapping`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Mapping />\n </LayoutWrapper>\n )}\n /> */}\n {/* <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n /> */}\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={formStepRoutes.map((route) => `${path}/${route}`)}\n component={(props) => (\n <LayoutWrapper layoutClass=\"normal\">\n <EKYCForm {...props} path={path} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review/:kno`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/ceo-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <CeoDashboard />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/admin-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AdminDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/vendors/:vendorId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/surveyor-dashboard/:id`, `${path}/surveyor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/work-order`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <WorkOrder />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n /> */}\n </Switch>\n </div>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst PropertyInfoConfig = (t, formData = {}, uploadFile, buildingImage, buildingImageId, setBuildingImage, setBuildingImageId) => {\n const propertyType = formData?.propertyType?.name || formData?.propertyType;\n const isHotel = propertyType === \"Hotel\";\n const isHospitalOrNursing = propertyType === \"Hospital\" || propertyType === \"Nursing Home\";\n\n const fields = [\n {\n label: t(\"PID Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"pidNumber\",\n },\n },\n {\n label: t(\"Property Type\"),\n isMandatory: false,\n type: \"custom\",\n key: \"propertyType\",\n populators: {\n name: \"propertyType\",\n component: (props) => (\n <Dropdown\n option={[\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sub Property Category\"),\n isMandatory: false,\n type: \"custom\",\n key: \"subPropertyCategory\",\n populators: {\n name: \"subPropertyCategory\",\n component: (props) => (\n <Dropdown\n option={[]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"No. of Floors\"),\n isMandatory: true,\n type: \"number\",\n populators: {\n name: \"noOfFloors\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Floor No. of this KNO\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"floorNo\",\n },\n },\n {\n label: isHospitalOrNursing ? t(\"No of Beds\") : t(\"No of Beds\"),\n isMandatory: isHospitalOrNursing,\n type: \"number\",\n populators: {\n name: \"noOfBeds\",\n validation: isHospitalOrNursing ? { required: true, min: 1 } : {},\n },\n },\n {\n label: isHotel ? t(\"No. of Rooms\") : t(\"No. of Rooms\"),\n isMandatory: isHotel,\n type: \"number\",\n populators: {\n name: \"noOfRooms\",\n validation: isHotel ? { required: true, min: 1 } : {},\n },\n },\n {\n label: t(\"Number of Dwelling Units\"),\n isMandatory: false,\n type: \"number\",\n populators: {\n name: \"dwellingUnits\",\n },\n },\n {\n label: t(\"Building Image\"),\n isMandatory: true,\n type: \"custom\",\n key: \"buildingImage\",\n populators: {\n name: \"buildingImage\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {buildingImage && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n },\n ];\n\n return [\n {\n head: t(\"EKYC_PROPERTY_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default PropertyInfoConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport PropertyInfoConfig from \"../config/PropertyInfoConfig\";\n\nconst PropertyInfo = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"PROPERTY\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.propertyDetails || {};\n\n // 🔹 STATES\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n pidNumber: savedData.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : null,\n subPropertyCategory: savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null,\n noOfFloors: savedData.noOfFloors || \"\",\n floorNo: savedData.floorNo || \"\",\n noOfRooms: savedData.noOfRooms || \"\",\n noOfBeds: savedData.noOfBeds || \"\",\n dwellingUnits: savedData.dwellingUnits || \"\",\n buildingImage: savedData.buildingImageId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || rawData || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !isDataLoaded) {\n let propType = null;\n let subPropCat = null;\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ].find((type) => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) propType = matchingType;\n else propType = { name: propertyInfo.subPropertyCategory };\n subPropCat = { name: propertyInfo.subPropertyCategory };\n }\n\n if (propertyInfo.propertyType) {\n subPropCat = { name: propertyInfo.propertyType };\n if (!propertyInfo.subPropertyCategory) propType = { name: propertyInfo.propertyType };\n }\n\n const updatedDefaults = {\n pidNumber: savedData.pidNumber || propertyInfo.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : propType,\n subPropertyCategory: savedData.subPropertyCategory\n ? { name: savedData.subPropertyCategory }\n : subPropCat,\n noOfFloors:\n savedData.noOfFloors ||\n (propertyInfo.numberOfFloors || propertyInfo.noOfFloor\n ? String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor)\n : \"\"),\n floorNo: savedData.floorNo || propertyInfo.floorNo || \"\",\n noOfRooms:\n savedData.noOfRooms ||\n (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined\n ? String(propertyInfo.numberOfRooms)\n : \"\"),\n noOfBeds:\n savedData.noOfBeds ||\n (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined\n ? String(propertyInfo.numberOfBeds)\n : \"\"),\n dwellingUnits:\n savedData.dwellingUnits ||\n (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined\n ? String(propertyInfo.numberOfDwellingUnits)\n : \"\"),\n buildingImage: savedData.buildingImageId || propertyInfo.buildingImageFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.buildingImage) {\n setBuildingImageId(updatedDefaults.buildingImage);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setBuildingImageId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setBuildingImage(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Check if propertyType changed to re-evaluate mandatory validation or conditional visibility\n const propertyTypeChanged =\n (data?.propertyType?.name || data?.propertyType) !==\n (localFormData?.propertyType?.name || localFormData?.propertyType);\n\n if (propertyTypeChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const propTypeVal = data?.propertyType;\n const subPropCatVal = data?.subPropertyCategory;\n const noOfFloorsVal = data?.noOfFloors;\n const buildingImgId = buildingImageId || data?.buildingImage;\n const noOfRoomsVal = data?.noOfRooms;\n const noOfBedsVal = data?.noOfBeds;\n\n let valid = true;\n if (!propTypeVal) valid = false;\n if (!subPropCatVal) valid = false;\n if (!noOfFloorsVal || Number(noOfFloorsVal) < 1) valid = false;\n if (!buildingImgId) valid = false;\n\n if (propTypeVal?.name === \"Hotel\" && !noOfRoomsVal) valid = false;\n if (\n (propTypeVal?.name === \"Hospital\" || propTypeVal?.name === \"Nursing Home\") &&\n !noOfBedsVal\n )\n valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n pidNumber: data.pidNumber,\n propertyType: data.propertyType?.name || data.propertyType,\n subPropertyCategory: data.subPropertyCategory?.name || data.subPropertyCategory,\n noOfFloors: data.noOfFloors,\n floorNo: data.floorNo,\n noOfRooms: data.noOfRooms,\n noOfBeds: data.noOfBeds,\n dwellingUnits: data.dwellingUnits,\n buildingImageId: buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Property details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update property details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = PropertyInfoConfig(\n t,\n localFormData,\n handleUpload,\n buildingImage,\n buildingImageId,\n setBuildingImage,\n setBuildingImageId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetailsConfig = (t, formData = {}, uploadPhoto, meterPhoto, meterPhotoId, setMeterPhoto, setMeterPhotoId) => {\n const meterStatus = formData?.meterStatus?.name || formData?.meterStatus;\n const lastBillReceived = formData?.lastBillReceived?.name || formData?.lastBillReceived;\n const sewerConnection = formData?.sewerConnection?.name || formData?.sewerConnection;\n\n const isFrozen = meterStatus === \"Can not be identified\";\n\n // Generate Month-Year Options (1998–2026)\n const monthYearOptions = [];\n for (let y = 1998; y <= 2026; y++) {\n for (let m = 1; m <= 12; m++) {\n monthYearOptions.push({ name: `${m}/${y}` });\n }\n }\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const fields = [\n {\n label: t(\"Connection Category\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"connectionCategory\",\n validation: { required: true },\n },\n },\n {\n label: t(\"SA Type\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"saType\",\n },\n },\n {\n label: t(\"Status\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"status\",\n },\n },\n {\n label: t(\"MR Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrCode\",\n },\n },\n {\n label: t(\"Area Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"areaCode\",\n },\n },\n {\n label: t(\"MR Key\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrKey\",\n },\n },\n ];\n\n // 🔹 Non-frozen fields\n if (!isFrozen) {\n fields.push(\n {\n label: t(\"Meter Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterNumber\",\n },\n },\n {\n label: t(\"Meter Maker\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterMaker\",\n },\n },\n {\n label: t(\"Meter Condition\"),\n isMandatory: false,\n type: \"custom\",\n key: \"meterCondition\",\n populators: {\n name: \"meterCondition\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Damaged\" }, { name: \"Not-Damaged\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (meterStatus === \"Metered\") {\n fields.push({\n label: t(\"Meter Photo\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterPhoto\",\n populators: {\n name: \"meterPhoto\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadPhoto(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setMeterPhoto(null);\n setMeterPhotoId(null);\n }}\n message={meterPhotoId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {meterPhoto && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={meterPhoto}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n });\n }\n }\n\n // 🔹 Standard fields after the conditional section\n fields.push(\n {\n label: t(\"Meter Status\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterStatus\",\n populators: {\n name: \"meterStatus\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Metered\" }, { name: \"Unmetered\" }, { name: \"Can not be identified\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Meter Location\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterLocation\",\n populators: {\n name: \"meterLocation\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Inside\" }, { name: \"Outside\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Last Bill Received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"lastBillReceived\",\n populators: {\n name: \"lastBillReceived\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n // 🔹 Bill-received fields\n if (lastBillReceived === \"Yes\") {\n fields.push({\n label: t(\"When was the last bill received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"billMonthYear\",\n populators: {\n name: \"billMonthYear\",\n component: (props) => (\n <Dropdown\n option={monthYearOptions}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n } else if (lastBillReceived === \"No\") {\n fields.push({\n label: t(\"Reason *\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"reason\",\n validation: { required: true },\n },\n });\n }\n\n fields.push(\n {\n label: t(\"Access to Meter\"),\n isMandatory: false,\n type: \"custom\",\n key: \"accessToMeter\",\n populators: {\n name: \"accessToMeter\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sewer Connection\"),\n isMandatory: true,\n type: \"custom\",\n key: \"sewerConnection\",\n populators: {\n name: \"sewerConnection\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (sewerConnection === \"No\") {\n fields.push({\n label: t(\"Septic Tank\"),\n isMandatory: true,\n type: \"custom\",\n key: \"septicTank\",\n populators: {\n name: \"septicTank\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n }\n\n return [\n {\n head: t(\"EKYC_METER_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default MeterDetailsConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport MeterDetailsConfig from \"../config/MeterDetailsConfig\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"METER\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.meterDetails || {};\n\n // 🔹 STATES\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n connectionCategory: savedData.connectionCategory || \"\",\n saType: savedData.saType || \"\",\n status: savedData.status || \"\",\n mrCode: savedData.mrCode || \"\",\n areaCode: savedData.areaCode || \"\",\n mrKey: savedData.mrKey || \"\",\n meterNumber: savedData.meterNumber || \"\",\n meterMaker: savedData.meterMaker || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : null,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : null,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : null,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : null,\n reason: savedData.reason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : null,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : null,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : null,\n meterPhoto: savedData.meterPhotoId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !isDataLoaded) {\n let mStatus = null;\n let mCondition = null;\n let mLoc = null;\n let billRec = null;\n let billMonYr = null;\n let accToMeter = null;\n let sewerConn = null;\n let sepTank = null;\n\n if (apiMeter.meterStatus) {\n const matchingStatus = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ].find((o) => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) mStatus = matchingStatus;\n else mStatus = { name: apiMeter.meterStatus };\n } else if (apiMeter.metered !== undefined) {\n mStatus = { name: apiMeter.metered ? \"Metered\" : \"Unmetered\" };\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = [{ name: \"Damaged\" }, { name: \"Not-Damaged\" }].find(\n (o) => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase()\n );\n if (matchingCond) mCondition = matchingCond;\n else mCondition = { name: apiMeter.meterCondition };\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = [{ name: \"Inside\" }, { name: \"Outside\" }].find(\n (o) =>\n o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() ||\n apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase())\n );\n if (matchingLoc) mLoc = matchingLoc;\n else mLoc = { name: apiMeter.meterLocation };\n }\n\n if (apiMeter.lastBillRaised !== undefined && apiMeter.lastBillRaised !== null) {\n const strVal = String(apiMeter.lastBillRaised).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") billRec = { name: \"Yes\" };\n else billRec = { name: \"No\" };\n }\n\n if (apiMeter.lastBillReceivedDate) {\n const formatted = apiMeter.lastBillReceivedDate.replace(\"-\", \"/\");\n const parsedParts = formatted.split(\"/\");\n if (parsedParts.length === 2) {\n const mon = parseInt(parsedParts[0], 10);\n const yr = parseInt(parsedParts[1], 10);\n billMonYr = { name: `${mon}/${yr}` };\n } else {\n billMonYr = { name: apiMeter.lastBillReceivedDate };\n }\n }\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") accToMeter = { name: \"Yes\" };\n else accToMeter = { name: \"No\" };\n }\n\n if (apiMeter.sewerConnection !== undefined && apiMeter.sewerConnection !== null) {\n const strVal = String(apiMeter.sewerConnection).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sewerConn = { name: \"Yes\" };\n else sewerConn = { name: \"No\" };\n }\n\n if (apiMeter.septicTank !== undefined && apiMeter.septicTank !== null) {\n const strVal = String(apiMeter.septicTank).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sepTank = { name: \"Yes\" };\n else sepTank = { name: \"No\" };\n }\n\n const updatedDefaults = {\n connectionCategory: savedData.connectionCategory || apiMeter.connectionCategory || \"\",\n saType: savedData.saType || apiMeter.saType || \"\",\n status: savedData.status || apiMeter.statusFlag || \"\",\n mrCode: savedData.mrCode || (apiMeter.mrcode ? String(apiMeter.mrcode) : \"\"),\n areaCode: savedData.areaCode || (apiMeter.areacode ? String(apiMeter.areacode) : \"\"),\n mrKey: savedData.mrKey || (apiMeter.mrkey ? String(apiMeter.mrkey) : \"\"),\n meterNumber: savedData.meterNumber || apiMeter.meterNumber || \"\",\n meterMaker: savedData.meterMaker || apiMeter.meterMake || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : mStatus,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : mCondition,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : mLoc,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : billRec,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : billMonYr,\n reason: savedData.reason || apiMeter.lastBillNotRaisedReason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : accToMeter,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : sewerConn,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : sepTank,\n meterPhoto: savedData.meterPhotoId || apiMeter.meterPhotoFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.meterPhoto) {\n setMeterPhotoId(updatedDefaults.meterPhoto);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setMeterPhotoId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n const meterStatusChanged =\n (data?.meterStatus?.name || data?.meterStatus) !==\n (localFormData?.meterStatus?.name || localFormData?.meterStatus);\n\n const lastBillReceivedChanged =\n (data?.lastBillReceived?.name || data?.lastBillReceived) !==\n (localFormData?.lastBillReceived?.name || localFormData?.lastBillReceived);\n\n const sewerConnectionChanged =\n (data?.sewerConnection?.name || data?.sewerConnection) !==\n (localFormData?.sewerConnection?.name || localFormData?.sewerConnection);\n\n if (meterStatusChanged || lastBillReceivedChanged || sewerConnectionChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const connCatVal = data?.connectionCategory;\n const mStatusVal = data?.meterStatus;\n const mLocVal = data?.meterLocation;\n const billRecVal = data?.lastBillReceived;\n const sewerConnVal = data?.sewerConnection;\n const mPhotoId = meterPhotoId || data?.meterPhoto;\n const reasonVal = data?.reason;\n const billMonYrVal = data?.billMonthYear;\n const sepTankVal = data?.septicTank;\n\n let valid = true;\n if (!connCatVal) valid = false;\n if (!mStatusVal) valid = false;\n if (!mLocVal) valid = false;\n if (!billRecVal) valid = false;\n if (!sewerConnVal) valid = false;\n\n if (mStatusVal?.name === \"Metered\" && !mPhotoId) valid = false;\n if (billRecVal?.name === \"No\" && !reasonVal) valid = false;\n if (billRecVal?.name === \"Yes\" && !billMonYrVal) valid = false;\n if (sewerConnVal?.name === \"No\" && !sepTankVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n connectionCategory: data.connectionCategory,\n saType: data.saType,\n status: data.status,\n mrCode: data.mrCode,\n areaCode: data.areaCode,\n mrKey: data.mrKey,\n meterNumber: data.meterNumber,\n meterMaker: data.meterMaker,\n meterStatus: data.meterStatus?.name || data.meterStatus,\n meterCondition: data.meterCondition?.name || data.meterCondition,\n meterLocation: data.meterLocation?.name || data.meterLocation,\n lastBillReceived: data.lastBillReceived?.name || data.lastBillReceived,\n billMonthYear: data.billMonthYear?.name || data.billMonthYear,\n reason: data.reason,\n accessToMeter: data.accessToMeter?.name || data.accessToMeter,\n sewerConnection: data.sewerConnection?.name || data.sewerConnection,\n septicTank: data.septicTank?.name || data.septicTank,\n meterPhotoId: meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Meter details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update meter details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = MeterDetailsConfig(\n t,\n localFormData,\n handleUpload,\n meterPhoto,\n meterPhotoId,\n setMeterPhoto,\n setMeterPhotoId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 20,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 20,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return dashboardData?.consumerList || [];\n }, [isSearchActive, searchData, dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n const searchDetails = item.connectionDetails || {};\n const fullName = (searchDetails.firstName || searchDetails.middleName || searchDetails.lastName)\n ? `${searchDetails.firstName || \"\"} ${searchDetails.middleName || \"\"} ${searchDetails.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : searchDetails.consumerName || \"\";\n\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: fullName,\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: fullName,\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = (item.firstName || item.middleName || item.lastName)\n ? `${item.firstName || \"\"} ${item.middleName || \"\"} ${item.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : item.consumerName || item.citizenName || \"\";\n\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: fullName,\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName,\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 20,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useEffect, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport {\n Card,\n CardHeader,\n CardText,\n Loader,\n StatusTable,\n Row,\n InboxComposer,\n VerticalTimeline,\n SubmitBar,\n} from \"@djb25/digit-ui-react-components\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\nconst EkycStatus = () => {\n const { t } = useTranslation();\n const { id } = useParams();\n const history = useHistory();\n\n // Separate states for the input form state and the triggered search query\n const [formState, setFormState] = useState({\n searchForm: {\n kNumber: id && id !== \":id\" ? id : \"\",\n },\n filterForm: {},\n });\n const [searchQuery, setSearchQuery] = useState(id && id !== \":id\" ? id : \"\");\n const [errorMsg, setErrorMsg] = useState(\"\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // Sync states with URL id parameter change (e.g. back navigation or page load)\n // Added strict equality check to prevent infinite re-render loop\n useEffect(() => {\n const currentKNumber = formState?.searchForm?.kNumber || \"\";\n const targetKNumber = id && id !== \":id\" ? id : \"\";\n if (currentKNumber !== targetKNumber) {\n setFormState({\n searchForm: { kNumber: targetKNumber },\n filterForm: {},\n });\n setSearchQuery(targetKNumber);\n }\n }, [id]);\n\n // Fetch eKYC review/status data - only triggers on 'searchQuery' state\n const { data: searchData, isLoading: isReviewLoading } = Digit.Hooks.ekyc.useEkycSearchReview(\n { kno: searchQuery, fetchType: \"REVIEW\" },\n tenantId,\n {\n enabled: !!searchQuery,\n retry: false,\n onError: (err) => {\n setErrorMsg(err?.message || t(\"EKYC_STATUS_NOT_FOUND\", \"eKYC Application not found.\"));\n },\n }\n );\n\n // Fetch connection/application details via useSearchConnection\n const { data: connectionSearchData, isLoading: isConnectionLoading } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchQuery } },\n { enabled: !!searchQuery, retry: false }\n );\n\n const isLoading = isReviewLoading || isConnectionLoading;\n\n const onSearchFormSubmit = (data) => {\n const val = data?.kNumber?.trim();\n if (!val) {\n setErrorMsg(t(\"EKYC_PLEASE_ENTER_KNO\", \"Please enter a valid K-Number.\"));\n return;\n }\n setErrorMsg(\"\");\n setFormState({\n searchForm: data,\n filterForm: {},\n });\n setSearchQuery(val);\n history.push(`/digit-ui/citizen/ekyc/${val}`);\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", \"\");\n setErrorMsg(\"\");\n setFormState({\n searchForm: { kNumber: \"\" },\n filterForm: {},\n });\n setSearchQuery(\"\");\n history.push(\"/digit-ui/citizen/ekyc/:id\");\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n const propsForInboxTable = {\n columns: [],\n data: [],\n limit: 10,\n offset: 0,\n };\n\n const propsForInboxMobileCards = {\n data: [],\n };\n\n const getStatusDetails = () => {\n if (!searchData) return null;\n const reviewWrapper = searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const appData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n const newData = appData?.newData || appData;\n const connection = newData?.connectionDetails || newData || {};\n\n const naText = t(\"CS_NA\", \"N/A\");\n const connRaw = connectionSearchData?.connectionDetails || connectionSearchData || {};\n const addrRaw = connectionSearchData?.addressDetails || {};\n const propRaw = connectionSearchData?.propertyInfo || {};\n const meterRaw = connectionSearchData?.meterDetails || {};\n\n const rawStatus = (connection?.ekycStatus || connection?.ekycstatus || connRaw?.ekycStatus || propRaw?.ekycStatus || meterRaw?.ekycStatus || \"NA\").toUpperCase();\n\n const reviewName = connection?.consumerName || [newData?.firstName, newData?.middleName, newData?.lastName].filter(Boolean).join(\" \");\n const connName = connRaw?.consumerName || [connRaw?.firstName, connRaw?.middleName, connRaw?.lastName].filter(Boolean).join(\" \");\n\n const reviewPhone = connection?.phoneNumber || connection?.mobileNo || connection?.mobileNumber;\n const connPhone = connRaw?.phoneNumber || connRaw?.mobileNo || connRaw?.mobileNumber || addrRaw?.mobileNo || addrRaw?.phoneNumber || addrRaw?.mobileNumber;\n\n const reviewType = connection?.connectionType || connection?.connectionCategory;\n const connType = connRaw?.connectionType || connRaw?.connectionCategory || connRaw?.knoCategory || propRaw?.connectionType || propRaw?.connectionCategory || meterRaw?.connectionCategory;\n\n return {\n kno: connection?.knumber || connection?.kno || connRaw?.knumber || connRaw?.kno || searchQuery,\n consumerName: (reviewName && reviewName !== naText && reviewName !== \"\") ? reviewName : (connName || naText),\n phoneNumber: (reviewPhone && reviewPhone !== naText && reviewPhone !== \"\") ? reviewPhone : (connPhone || naText),\n connectionType: (reviewType && reviewType !== naText && reviewType !== \"\") ? reviewType : (connType || naText),\n status: rawStatus,\n };\n };\n\n const details = getStatusDetails();\n\n // Visual Stepper configuration for VerticalTimeline\n const timelineConfig = [\n {\n route: \"submitted\",\n timeLine: [\n {\n currentStep: 1,\n actions: t(\"EKYC_STEP_SUBMITTED\", \"eKYC Survey Submitted\"),\n },\n ],\n },\n {\n route: \"verification\",\n timeLine: [\n {\n currentStep: 2,\n actions: t(\"EKYC_STEP_UNDER_VERIFICATION\", \"Under Verification\"),\n },\n ],\n },\n {\n route: \"zro-decision\",\n timeLine: [\n {\n currentStep: 3,\n actions: t(\"EKYC_STEP_ZRO_DECISION\", \"ZRO Decision\"),\n },\n ],\n },\n ];\n\n let activeStepIndex = 0;\n if (details) {\n if (details.status === \"APPROVED\") {\n activeStepIndex = 3;\n } else if (details.status === \"REJECTED\") {\n activeStepIndex = 2;\n } else if (details.status === \"PENDING_FOR_VERIFICATION\") {\n activeStepIndex = 1;\n } else {\n activeStepIndex = 1;\n }\n }\n\n const getStatusText = (status) => {\n const key = `EKYC_STATUS_${status}`;\n const val = t(key);\n if (val === key) {\n if (status === \"APPROVED\") return \"Approved\";\n if (status === \"REJECTED\") return \"Rejected\";\n if (status === \"PENDING_FOR_VERIFICATION\") return \"Pending For Verification\";\n return status;\n }\n return val;\n };\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n {!isLoading && details && (\n <VerticalTimeline config={timelineConfig} currentActiveIndex={activeStepIndex} />\n )}\n <div className=\"employee-form-section\">\n <div className=\"single-page-form-container\">\n {/* 1. Search Form Card rendered with InboxComposer */}\n <Card className=\"ekyc-status-search-card\">\n <CardHeader className=\"ekyc-status-card-header\">\n {t(\"EKYC_APPLICATION_STATUS_TRACKER\", \"eKYC Application Status\")}\n </CardHeader>\n <CardText className=\"ekyc-status-card-text\">\n {t(\"EKYC_STATUS_TRACKER_SUBHEADER\", \"Enter your K-Number below to track the real-time status of your eKYC application.\")}\n </CardText>\n\n <div className=\"status-search-composer-wrapper\">\n <InboxComposer\n {...{\n isInboxLoading: false,\n ...propsForSearchForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n showSearchOnMobile: true,\n }}\n />\n </div>\n </Card>\n\n {errorMsg && (\n <div className=\"ekyc-status-error-msg\">\n {errorMsg}\n </div>\n )}\n\n {/* 2. Results Card */}\n {isLoading && <Loader />}\n\n {!isLoading && details && (\n <Card className=\"ekyc-status-results-card\">\n {/* Status overview and badge */}\n <div className=\"ekyc-status-overview-header\">\n <div>\n <span className=\"ekyc-status-label-title\">\n {t(\"EKYC_CURRENT_STATUS\", \"Current Status\")}\n </span>\n <div className=\"ekyc-status-value-text\">\n {getStatusText(details.status)}\n </div>\n </div>\n <span className={`ekyc-status-badge ${details.status.toLowerCase()}`}>\n {details.status}\n </span>\n </div>\n\n {/* Details Table */}\n <div className=\"ekyc-status-details-section\">\n <h3 className=\"ekyc-status-details-title\">\n {t(\"EKYC_CONNECTION_SUMMARY\", \"Connection Summary\")}\n </h3>\n <StatusTable>\n <Row label={t(\"EKYC_K_NUMBER\", \"K-Number\")} text={details.kno} />\n <Row label={t(\"EKYC_CONSUMER_NAME\", \"Consumer Name\")} text={details.consumerName} />\n <Row label={t(\"EKYC_MOBILE_NO\", \"Mobile Number\")} text={details.phoneNumber} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\", \"Connection Type\")} text={details.connectionType} />\n </StatusTable>\n </div>\n\n {/* View Application button */}\n <div className=\"ekyc-status-action-section\" style={{ marginTop: \"24px\", display: \"flex\", justifyContent: \"flex-end\" }}>\n <SubmitBar\n label={t(\"EKYC_VIEW_APPLICATION\", \"View Application\")}\n onSubmit={() => history.push(`/digit-ui/citizen/ekyc/status/${details.kno}`)}\n />\n </div>\n </Card>\n )}\n </div>\n </div>\n </div>\n </React.Fragment>\n );\n\n \n};\n\nexport default EkycStatus;\n","import React from \"react\";\nimport { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper, BackButton, ExpandedViewContext } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"../../components/EKYCCard\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch, Redirect, Route } from \"react-router-dom\";\nimport AadhaarVerification from \"../../components/AadhaarVerification\";\nimport PropertyInfo from \"../../components/PropertyInfo\";\nimport MeterDetails from \"../../components/MeterDetails\";\nimport Review from \"../../components/Review\";\nimport Home from \"./Home\";\nimport Inbox from \"./Inbox\";\nimport AssignEkyc from \"../../components/AssignEkyc\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard\";\nimport EkycStatus from \"./EkycStatus\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n const { data: { stateInfo } = {} } = Digit.Hooks.useStore.getInitData();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC citizen home\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(\"EKYC_MODULE_NAME\"), path: `/digit-ui/citizen/ekyc` },\n ];\n\n // Child crumb — only appended when on a sub-page\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/aadhaar-verification\")) {\n crumbs.push({ label: t(\"EKYC_AADHAAR_VERIFICATION\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/citizen/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/citizen/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n } else if (pathname.includes(\"/supervisor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") });\n } else if (pathname.includes(\"/surveyor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n } else if (pathname.includes(\"/vendor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DASHBOARD\") || \"Vendor Dashboard\" });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/status/\") || /^\\/digit-ui\\/citizen\\/ekyc\\/[^/]+$/.test(pathname)) {\n const statusLabel = t(\"EKYC_STATUS\");\n crumbs.push({ label: statusLabel === \"EKYC_STATUS\" || statusLabel === \"STATUS\" ? \"eKYC Status\" : statusLabel });\n }\n // home (exact path) → no child crumb\n\n return crumbs;\n };\n\n // const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n // const isEkyAction = (!roles?.includes(\"EKYC_SURVEYOR\") || roles?.includes(\"EMPLOYEE\"))\n\n\n return (\n <AppContainer>\n <div className=\"ground-container form-container\" style={{ flex: 1 }}>\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <Switch>\n <Route exact path={`${path}`}>\n <Redirect to=\"/digit-ui/citizen/ekyc-home\" />\n </Route>\n <PrivateRoute\n path={[`${path}/vendor-dashboard/:vendorId`, `${path}/vendor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AadhaarVerification />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/address-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AddressDetails />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <PropertyInfo />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <MeterDetails />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/status/:applicationId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <EkycStatus />\n </LayoutWrapper>\n )}\n />\n </Switch>\n </div>\n </AppContainer>\n );\n};\n\nexport default CitizenApp;\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CitizenHomeCard, DocumentIcon, Loader } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"./components/EKYCCard\";\nimport Inbox from \"./components/Dashboard\";\nimport DesktopInbox from \"./components/DesktopInbox\";\nimport MobileInbox from \"./components/MobileInbox\";\nimport Filter from \"./components/Filter\";\nimport EmployeeApp from \"./pages/employee\";\nimport CitizenApp from \"./pages/citizen\";\nimport PropertyInfo from \"./components/PropertyInfo\";\nimport MeterDetails from \"./components/MeterDetails\";\nimport AadhaarVerification from \"./components/AadhaarVerification\";\n\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading } = Digit.Services.useStore({ stateCode, moduleCode, language });\n\n Digit.SessionStorage.set(\"EKYC_TENANTS\", tenants);\n\n useEffect(\n () =>\n Digit.LocalizationService.getLocale({\n modules: [`rainmaker-ekyc`, `rainmaker-${Digit.ULBService.getCurrentTenantId()}`],\n locale: Digit.StoreData.getCurrentLanguage(),\n tenantId: Digit.ULBService.getCurrentTenantId(),\n }),\n []\n );\n\n if (isLoading) {\n return <Loader page={true} />;\n }\n\n if (userType === \"employee\") {\n return <EmployeeApp path={path} url={url} userType={userType} tenants={tenants} />;\n } else return <CitizenApp />;\n};\n\nexport const EkycLinks = ({ matchPath, userType }) => {\n const { t } = useTranslation();\n const propsForModuleCard = {\n links: [],\n };\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code) : [];\n\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n propsForModuleCard.links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/surveyor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/citizen/ekyc/inbox`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n propsForModuleCard.links.push(\n {\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/supervisor-dashboard`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/citizen/ekyc/assign`,\n }\n );\n }\n\n if (roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/vendor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n\n if (roles.length === 1 && roles.includes(\"CITIZEN\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_STATUS\"),\n link: `/digit-ui/citizen/ekyc/:id`,\n });\n }\n\n const formattedLinks = propsForModuleCard.links.map((l) => ({\n i18nKey: l.label,\n link: l.link,\n count: l.count,\n }));\n\n return (\n <CitizenHomeCard\n header={t(\"EKYC_MODULE_NAME\")}\n links={formattedLinks}\n Icon={() => <DocumentIcon className=\"fill-path-primary-main\" />}\n />\n );\n};\n\nconst componentsToRegister = {\n EKYCModule: EkycModule,\n EKYCCard,\n EKYCInbox: Inbox,\n EKYCDesktopInbox: DesktopInbox,\n EKYCMobileInbox: MobileInbox,\n EKYC_INBOX_FILTER: (props) => <Filter {...props} />,\n EkycLinks,\n AadhaarVerification,\n PropertyInfo,\n MeterDetails,\n};\n\nexport const initEkycComponents = () => {\n Object.entries(componentsToRegister).forEach(([key, value]) => {\n Digit.ComponentRegistryService.setComponent(key, value);\n });\n};\n\nexport default EkycModule;\n"],"names":["EKYCCard","_Digit$SessionStorage","_Digit$SessionStorage2","_useTranslation","useTranslation","t","tenantId","Digit","ULBService","getCurrentTenantId","citizenInfo","SessionStorage","get","info","roles","Array","isArray","map","ele","code","_Digit$Hooks$ekyc$use","Hooks","ekyc","useEkycApplicationList","offset","limit","enabled","listData","data","isLoading","totalCount","isCitizen","window","location","pathname","includes","prefix","links","push","label","link","count","length","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","EmployeeModuleCard","_iteratorSymbol","Symbol","iterator","_asyncIteratorSymbol","asyncIterator","_catch","body","recover","result","e","then","_finallyRethrows","finalizer","bind","getChartConstructor","C","Chartjs","StatusCards","_ref","countData","_useState","useState","ekycDownloadLoading","setEkycDownloadLoading","loggedInUser","fullName","name","hasExternalData","total","submittedCount","useEkycSurveyorDashboard","ekycStatus","dashboardData","apiCountData","useMemo","dashboardInfo","completed","pending","inProgressCount","rejected","active","handleDownloadEkycData","Promise","resolve","EkycService","application_list","reportDownload","response","consumerList","alert","excludedKeys","headerMapping","kno","firstName","middleName","lastName","gender","mobileNumber","emailId","fatherOrHusbandName","relationship","dob","zoneName","assembly","ward","pincode","mrkey","consumerType","createdTime","lastModifiedTime","toTitleCase","str","cleanStr","String","split","pop","toLowerCase","replace","c","toUpperCase","skipTitleCase","excelData","item","cleanObj","filter","Boolean","join","Object","keys","forEach","key","val","friendlyHeader","cleanFileName","Download","Excel","error","console","_wasThrown","_result","reject","chartRef1","useRef","chartInstance1","inprocess","submitted","actualCompleted","approved","efficiency","Math","round","healthPct","formatNumber","num","Intl","NumberFormat","format","useEffect","current","destroy","ctx1","getContext","ChartConstructor","type","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","className","disabled","onClick","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","points","x1","y1","x2","y2","style","background","ref","Dashboard","Loader","Card","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kNumber","aadhaarData","columns","Header","accessor","Cell","_ref2","_row$original","_row$original2","row","original","applicationNumber","_ref3","_row$original3","citizenName","_ref4","_row$original4","_row$original5","status","_ref5","_row$original6","_row$original7","raw","ekycstatus","_ref6","_row$original8","_row$original9","tableData","items","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_extends","_searchParams","setSearchParams","onChange","prev","onSubmit","preventDefault","onClear","cleared","kName","HomeIcon","cx","cy","r","TextInput","target","placeholder","todaysAudits","auditChange","pendingCount","i","fromCharCode","MobileInbox","_data$items","mobileData","Link","to","SubmitBar","DetailsCard","serviceRequestIdKey","linkPrefix","text","index","textAlign","Filter","statusMap","applyLocalFilters","clearAll","onStatusChange","newParams","FilterForm","handleSubmit","fn","onResetFilterForm","id","onMobileExclusiveFilterPopupFormClose","onClose","FilterFormField","fontWeight","Dropdown","option","optionKey","select","selected","ekycMockData","topKpis","totalWaterConnections","totalEkycCompleted","totalPending","totalRejected","agencyEkycCompleted","citizenSelfEkycCompleted","todaysEkyc","successRate","rejectionPercentage","executiveMetrics","totalSurveyors","totalSupervisors","activeJurisdictions","todaysGrowth","selfEkycAdoption","avgApprovalTime","riskZones","escalationsOpen","alerts","title","priority","change","district","heatmapData","intensity","dailyTrend","selfVsAgency","agency","citizen","pendingVsCompleted","rejectionAnalysis","success","vendors","assignedConnections","completedEkyc","selfEkyc","inactiveDemand","progress","supervisors","activeSurveyors","jurisdictions","dailyPerformance","day","zones","cluster","zroOffice","assemblyConstituency","gpsLocation","distanceFromFarthestPoint","activeDemand","pppZones","districtwiseInactiveTotal","downloadSurveyorPDF","rows","surveyorName","employeeId","vendorName","supervisorName","initData","tenants","tenantInfo","find","tenant","capitalize","substr","ulbCamel","ulb","email","phoneNumber","currentDate","Date","formattedDate","toLocaleDateString","month","year","formattedTime","toLocaleTimeString","hour","minute","second","hour12","downloadDateTime","isValDefined","undefined","details","asSectionHeader","values","Utils","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","downloadSupervisorPDF","mappedRows","_row$owner","_row$owner2","owner","mobileNo","submittedAt","originalToLocaleDateString","prototype","progressIndex","_len","arguments","args","_key","apply","customT","downloadVendorPDF","emailContact","_len2","_key2","VendorDetailsCard","_vendor$owner","_vendor$owner2","_vendorName$charAt","_useParams","useParams","vendorId","_Digit$Hooks$fsm$useD","fsm","useDsoSearch","staleTime","vendorSearchResponse","isVendorSearchLoading","_Digit$Hooks$fsm$useS","useSupervisorSearch","supervisorSearchResponse","isSupervisorSearchLoading","vendor","userUuid","uuid","userMobile","matchesUser","v","_v$owner","_v$owner2","_v$owner3","ownerUuid","ownerMobile","matched","_v$dsoDetails","_v$dsoDetails2","dsoDetails","Number","matchedMock","_v$name","_loggedInUser$name","targetVendorId","useEkycAssignmentProgress","vendorIds","keepPreviousData","isProgressLoading","progressData","vendorSupervisors","mockSupList","from","_","totalKnos","random","submittedKnos","pendingKnos","progressPercent","currentVendorId","matchedSups","s","sup","_progressData$supervi","_sup$owner2","_sup$owner3","_sup$owner4","report","supervisorReport","_sup$owner","supervisorId","zoneIds","_vendor$zoneIds","zone","trim","cards","hasRealData","some","reduce","acc","completedKnos","icon","FaUsers","FaCheckCircle","FaClock","FaChartLine","setCurrentPage","_useState2","pageSize","setPageSize","_useState3","paginatedSupervisors","start","end","slice","supervisorColumns","_Digit$SessionStorage3","_Digit$SessionStorage4","userType","targetPath","href","textDecoration","_useState4","showReportMenu","setShowReportMenu","_useState5","customDate","setCustomDate","_useState6","showCustomPicker","setShowCustomPicker","_useState7","reportLoading","setReportLoading","reportMenuRef","handler","contains","document","addEventListener","removeEventListener","handleDownload","rowsWithStats","err","handlePresetDownload","handleCustomDownload","StatCard","Fragment","isPageLoading","charAt","p","card","idx","gridColumn","marginTop","tableTitle","tableClass","isPaginationRequired","ceil","onFirstPage","onLastPage","max","useInboxTableConfig","_formState$tableForm","_formState$tableForm2","_formState$searchForm","formState","table","dispatch","checkPathName","onSortingByData","_ref$inboxStyles","inboxStyles","_ref$tableStyle","tableStyle","tableForm","tableColumnConfig","disableSortBy","DateUtils","ConvertEpochToDate","_ref7","disableSort","autoSort","manualPagination","initSortId","_formState$tableForm3","action","parseInt","_formState$tableForm4","searchForm","message","floor","SearchFormFieldsComponents","searchFormState","controlSearchForm","searchType","errors","Label","CustomTooltip","Controller","control","defaultValue","rules","pattern","render","CardLabelError","useInboxMobileCardsData","_ref$isSupervisor","isSupervisor","handleSupervisorReview","dataForMobileInboxCards","_item$owner","serviceType","assignedAt","MobileSortFormValues","sortOrderOptions","i18nKey","_useFormContext","useFormContext","controlSortForm","SearchField","RadioButtons","onSelect","selectedOption","optionsKey","isTwoDynamicPrefix","getRedirectionLink","handleClickEnabled","Inbox","_formState$searchForm3","_formState$searchForm4","useLocation","formInitValue","filterForm","sortBy","sortOrder","_useReducer","useReducer","formReducer","filters","queryParams","isListLoading","_Digit$Hooks$ekyc$use2","_useMemo","allVendorIds","allIds","dso","matchedId","progressParams","_Digit$Hooks$ekyc$use3","searchDetails","_formState$searchForm2","isSearchActive","_Digit$Hooks$ekyc$use4","useSearchConnection","isSearchLoading","searchData","sourceData","filteredData","_item$sla","isSearchItem","connectionDetails","_item$propertyInfo","_item$propertyInfo2","_item$connectionDetai","_item$propertyInfo3","_item$connectionDetai2","_item$connectionDetai3","_item$connectionDetai4","_item$connectionDetai5","applicationNo","propertyInfo","connectionNo","consumerName","statusflag","sla","supervisor","_loggedInUser$roles","targetId","_s$supervisorId","_s$id","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","state","payload","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","onMobileSortOrderData","onSortFormReset","setSortFormValue","propsForMobileSortForm","sortFormDefaultValues","propsForInboxMobileCards","isInboxLoading","marginBottom","gap","flexWrap","InboxComposer","forceTable","showSearchOnMobile","ActionButton","jumpTo","routeTo","isEditing","LinkButton","EditIcon","margin","checkForNA","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","borderRadius","border","overflow","borderBottom","justifyContent","alignItems","CardSubHeader","fontSize","borderCollapse","tableLayout","textTransform","field","valNew","valOld","isChanged","borderTop","isBool","Review","_newDataRaw$connectio","_newDataRaw$connectio2","_newDataRaw$connectio3","_newDataRaw$address","_newDataRaw$address2","_newDataRaw$address3","_newDataRaw$address4","_newDataRaw$address5","_newDataRaw$address6","_newDataRaw$address7","_newDataRaw$address8","_newDataRaw$address9","_newDataRaw$address0","_newDataRaw$address1","_newDataRaw$address10","_newDataRaw$address11","_newDataRaw$address12","_newDataRaw$address13","_newDataRaw$address14","_newDataRaw$property","_newDataRaw$property2","_editedProperty$conne","_newDataRaw$property3","_editedProperty$conne2","_newDataRaw$property4","_editedProperty$userT","_newDataRaw$property5","_editedProperty$noOfF","_newDataRaw$property6","_newDataRaw$property7","_newDataRaw$meter","_editedMeter$meterSta","_newDataRaw$meter2","_newDataRaw$meter3","_newDataRaw$meter4","_newDataRaw$meter5","_editedMeter$workingS","_newDataRaw$meter6","_editedMeter$lastBill","_newDataRaw$meter7","_newDataRaw$meter8","applicationId","agree","setAgree","isSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","showOptions","setShowOptions","showToast","setShowToast","toastData","setToastData","_flowState$edits","edits","activeKno","_edits$aadhaarData","_edits$addressDetails","addressDetails","editedAddress","_edits$propertyDetail","propertyDetails","editedProperty","_edits$meterDetails","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","userRoles","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","_extractReviewData","apiNewData","apiOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","address","addressRaw","connectionType","connectionCategory","meterNumber","meterNo","statusFlag","knumber","fullAddress","flatHouseNumber","flatNo","buildingTower","building","landmark","pinCode","locality","gpsValid","latitude","longitude","whatsappNo","noOfPerson","noOfPersons","doorPhotoFilestoreId","property","pidNumber","typeOfConnection","numberOfFloors","noOfFloor","tenantName","tenantMobile","propertyDocumentFileStoreId","buildingImageFileStoreId","meter","metered","meterStatus","meterMake","meterLocationAddress","meterLatitude","meterLongitude","workingStatus","lastBillRaised","systemMeterId","meterPhotoFileStoreId","newDataRaw","oldDataRaw","connectionData","addressData","whatsappNumber","doorPhotoFileStoreId","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","meterLocation","workingStatusData","lastBillRaisedData","connectionFields","addressFields","propertyFields","meterFields","handleDeclaration","handleReject","_Digit$UserService$ge","_Digit$UserService$ge2","_Digit$UserService$ge3","RequestInfo","apiId","ver","msgId","authToken","UserService","getUser","access_token","remarks","reviewedBy","userName","role","_temp","mutateAsync","handleApprove","_Digit$UserService$ge4","_Digit$UserService$ge5","_Digit$UserService$ge6","_temp2","setTimeout","_err$response","_err$response$data","handleViewDocument","fileStoreId","documentUrl","handleMenuSelect","baseUrl","StatusTable","maxWidth","Row","actionButton","GenericFileIcon","cursor","paddingTop","CheckBox","checked","ActionBar","Menu","position","top","left","zIndex","maxHeight","boxShadow","right","src","alt","onError","nextSibling","open","Toast","AadhaarVerificationConfig","formData","uploadFile","setDocumentId","documentId","_formData","_formData$consumerTyp","_formData2","_formData3","_formData3$occupantTy","_formData4","_formData$informantIs","_formData5","occupantType","informantIsConsumer","isMandatory","populators","component","validation","required","min","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","AadhaarVerification","config","URLSearchParams","search","urlKno","searchKno","sessionStorage","getItem","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","toast","setToast","isDataLoaded","setIsDataLoaded","canSubmit","setCanSubmit","_savedData$informantI","categoryType","parentSpouseName","mobile","whatsapp","residents","identityType","documentNumber","informantName","informantRelation","idFile","tenantVerification","designation","department","entityName","contactPerson","consent","defaultValues","setDefaultValues","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","_savedData$informantI2","fName","mName","lName","parts","updatedDefaults","parentSpouse","handleUploadProof","file","files","size","UploadServices","Filestorage","res","_res$data","_res$data$files","_res$data$files$","onFormValueChange","setValue","_data$consumerType","_localFormData$consum","_data$occupantType","_localFormData$occupa","consumerTypeChanged","occupantTypeChanged","informantIsConsumerChanged","knoVal","consumerTypeVal","occupantTypeVal","categoryTypeVal","firstNameVal","mobileVal","residentsVal","consentVal","docId","ownerMobileVal","valid","test","_data$consumerType2","_data$occupantType2","_data$categoryType","_data$gender","_data$identityType","_data$informantIsCons","submitData","relation","landline","entityRelation","idProof","idNumber","updateType","Config","FormComposer","isDisabled","isCollapsible","isDefaultOpen","noCard","submitInForm","ekycConfig","route","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","showMapActualLocation","EKYCForm","passedPath","path","match","useRouteMatch","_Digit$Hooks$useSessi","useSessionStorage","params","setParams","_location$state","rest","goNext","skipStep","isAddMultiple","currentPath","routeObj","nextStep","currentIndex","findIndex","redirectWithHistory","base","handleSelect","silent","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","parseAdditionalDetails","additionalDetails","JSON","parse","AdminDashboard","vendorsList","filteredVendors","_additionalDetails$se","_dso$owner","_dso$owner2","supervisorsList","surveyorsList","surveyors","supervisorIds","_s$owner","matchedReports","displayName","ownerName","SupervisorDetailsCard","_fullName$charAt","matchedSup","_s$owner$uuid","_Digit$Hooks$fsm$useS2","useSurveyorSearch","surveyorSearchResponse","isSurveyorSearchLoading","targetOwnerOrId","resolvedSupervisorId","selfSup","_s$owner2","_s$owner2$uuid","_s$id2","_s$id3","_s$owner3","_s$owner3$uuid","progressReport","_s$id4","_progressReport","_progressReport2","_progressReport3","_matchedSup$owner2","_matchedSup$owner3","_matchedSup$owner4","matchedSurveyors","surv","_matchedSup$owner","_surv$owner3","_surv$owner4","_surv$owner5","_realStats","_realStats2","_realStats3","_realStats4","realStats","_report$supervisorId","_matchedSup$id","_report$id","_matchedSup$id2","_report$surveyors","matchedSurv","_s$surveyorId","_surv$id","_s$surveyorId2","_surv$owner","_surv$owner$uuid","_s$id5","_surv$id2","_s$id6","_surv$owner2","_surv$owner2$uuid","surveyorId","assignedZoneId","_loggedInUser$uuid","isSelf","surveyorsMapped","_surveyorSearchRespon","_matchedSurv$owner","_matchedSurv$owner2","_s$id7","_surv$surveyorId","_s$owner4","_s$owner4$uuid","_surv$surveyorId2","assignedZone","_matchedVendor$dsoDet","matchedVendor","paginatedSurveyors","surveyorColumns","titleCaseFields","AssignEkycModal","surveyor","closeModal","refetchDashboard","propsTenantId","selectedKnos","setSelectedKnos","isBulkSelection","setIsBulkSelection","zoneCode","setFilters","_useState8","debouncedFilters","setDebouncedFilters","_Digit$Hooks$ws$useWS","ws","useWSConfigMDMS","ZROLocation","zroLocationsData","mappedZROLocation","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","assemblies","Map","wards","boundaries","traverse","node","localname","assemblyOptions","sort","a","b","localeCompare","wardOptions","structuredLocalityData","localities","extractLocalities","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","sanitizedPin","toString","add","unassignedOnly","fetchFilterOptions","Infinity","filterOptionsData","pincodeOptions","mrkeyOptions","timer","clearTimeout","isFetching","refetchApplicationList","refetch","handleAssignmentError","errMsg","variables","isAlreadyAssigned","isMrKeyType","assignmentType","assignmentMutation","useEkycAssignmentCreate","onSuccess","_response$data","skipped","_response$skipped$","reason","_temp4","_temp3","_error$data","_error$response","_error$response$data","getAssignmentPayload","filterMappings","appliedFilter","assignmentValue","handleAssign","_surveyor$owner","_getAssignmentPayload","mutate","handleSelectAll","pageKnos","allSelected","every","handleFilterChange","Modal","headerBarMain","headerBarEnd","Close","actionCancelLabel","actionCancelOnSubmit","actionSaveLabel","actionSaveOnSubmit","pin","stripped","totalPages","SurveyorDetailsDashboard","_surveyorSearchById$s","_surveyor$owner2","_surveyor$owner3","_surveyor$owner4","_dashboardData$dashbo","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner8","_surveyor$owner9","_surveyor$owner0","_dashboardData$dashbo5","_dashboardData$dashbo6","showModal","setShowModal","ownerIds","ids","surveyorSearchById","isLoadingId","hasFoundById","surveyorSearchByOwner","isLoadingOwner","vendorData","isVendorLoading","_Digit$Hooks$fsm$useS3","_mappedVendor$dsoDeta","mappedVendor","_mappedSupervisor$own","mappedSupervisor","isDashboardLoading","knoColumns","_useState9","getDateRange","now","setHours","setDate","getDate","getDay","range","_surveyor$owner5","dashboard","fromDate","getTime","toDate","_response$dashboardIn","_surveyor$owner6","_response$dashboardIn2","_wasThrown2","_result2","_surveyor$owner7","_wasThrown3","_result3","description","showAutoSerialNo","_dashboardData$dashbo7","_dashboardData$dashbo8","WorkOrder","setVendor","validFrom","setValidFrom","validTo","setValidTo","uploadedFile","setUploadedFile","setFile","setError","_Digit$Hooks$fsm$useV","useVendorSearch","vendorOptions","_Digit$Hooks$wt$useVe","wt","useVendorWorkOrderCreate","createWorkOrder","getStateId","_response$data$files","_response$data2","_response$data2$files","vendorWorkOrder","isError","_err$response$data$Er","_err$response$data$Er2","Errors","selectfile","isFormDisabled","CollapsibleCardPage","flexDirection","DatePicker","date","extraStyleName","accept","storageKey","_row$original5$owner","SupervisorInboxTableConfig","AssignEkyc","paginationParms","isDataSearchLoading","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","auditDetails","isCardLoading","breadcrumb","listLabel","listPath","detailLabel","getEkycRoutes","layout","SurveyorDetailsCard","ekycRoutes","EmployeeApp","removeItem","getDynamicBreadcrumbs","crumbs","pathSegments","ekycIndex","indexOf","relativeSegments","matchedPath","paths","singlePath","routeSegments","seg","startsWith","crumb","crumbPath","segment","RegExp","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","breadcrumbs","PrivateRoute","LayoutWrapper","layoutClass","businessService","isInbox","exact","PropertyInfoConfig","buildingImage","buildingImageId","setBuildingImage","setBuildingImageId","_formData$propertyTyp","propertyType","isHotel","isHospitalOrNursing","objectFit","PropertyInfo","subPropertyCategory","noOfFloors","floorNo","noOfRooms","noOfBeds","dwellingUnits","propType","subPropCat","matchingType","numberOfRooms","numberOfBeds","numberOfDwellingUnits","handleUpload","reader","FileReader","onloadend","readAsDataURL","_data$propertyType","_localFormData$proper","propertyTypeChanged","propTypeVal","subPropCatVal","noOfFloorsVal","buildingImgId","noOfRoomsVal","noOfBedsVal","_data$propertyType2","_data$subPropertyCate","MeterDetailsConfig","uploadPhoto","meterPhoto","meterPhotoId","setMeterPhoto","setMeterPhotoId","_formData$meterStatus","_formData3$lastBillRe","_formData5$sewerConne","_formData6","lastBillReceived","sewerConnection","isFrozen","monthYearOptions","y","m","yesNo","MeterDetails","saType","mrCode","areaCode","mrKey","meterMaker","meterCondition","billMonthYear","accessToMeter","septicTank","mStatus","mCondition","mLoc","billRec","billMonYr","accToMeter","sewerConn","sepTank","matchingStatus","o","matchingCond","matchingLoc","strVal","lastBillReceivedDate","formatted","parsedParts","mon","yr","mrcode","areacode","lastBillNotRaisedReason","_data$meterStatus","_localFormData$meterS","_data$lastBillReceive","_localFormData$lastBi","_data$sewerConnection","_localFormData$sewerC","meterStatusChanged","lastBillReceivedChanged","sewerConnectionChanged","connCatVal","mStatusVal","mLocVal","billRecVal","sewerConnVal","mPhotoId","reasonVal","billMonYrVal","sepTankVal","_data$meterStatus2","_data$meterCondition","_data$meterLocation","_data$lastBillReceive2","_data$billMonthYear","_data$accessToMeter","_data$sewerConnection2","_data$septicTank","EkycStatus","setFormState","searchQuery","setSearchQuery","errorMsg","setErrorMsg","currentKNumber","targetKNumber","retry","isReviewLoading","connectionSearchData","isConnectionLoading","_data$kNumber","getStatusDetails","naText","connRaw","addrRaw","propRaw","meterRaw","rawStatus","reviewName","connName","reviewPhone","connPhone","reviewType","connType","knoCategory","timelineConfig","activeStepIndex","getStatusText","currentActiveIndex","CardHeader","CardText","CitizenApp","_useRouteMatch","_Digit$Hooks$useStore","useStore","getInitData","statusLabel","EkycModule","stateCode","url","language","StoreData","getCurrentLanguage","_Digit$Services$useSt","Services","LocalizationService","getLocale","modules","locale","page","EkycLinks","formattedLinks","l","CitizenHomeCard","DocumentIcon","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.modern.js","sources":["../src/components/EKYCCard.js","../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/components/StatusCards.js","../src/components/Dashboard.js","../src/components/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/components/mockData.js","../src/utils/reportDownloader.js","../src/components/VendorDetailsCard.js","../src/hook/useInboxTableConfig.js","../src/components/SearchFormFieldsComponent.js","../src/hook/useInboxMobileCardsData.js","../src/pages/employee/Inbox.js","../src/components/Review.js","../src/config/AadhaarVerificationConfig.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../src/components/AdminDashboard.js","../src/components/SupervisorDetailsCard.js","../src/components/AssignEkycModal.js","../src/components/SurveyorDetailsCard.js","../src/pages/employee/WorkOrder.js","../../vendor/src/config/tableConfig.js","../src/hook/SupervisorInboxTableConfig.js","../src/components/AssignEkyc.js","../src/config/Routes.js","../src/pages/employee/index.js","../src/config/PropertyInfoConfig.js","../src/components/PropertyInfo.js","../src/config/MeterDetailsConfig.js","../src/components/MeterDetails.js","../src/pages/citizen/Inbox.js","../src/pages/citizen/EkycStatus.js","../src/pages/citizen/index.js","../src/Module.js"],"sourcesContent":["import { PersonIcon, EmployeeModuleCard } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst EKYCCard = () => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code || ele) : [];\n\n const { data: listData, isLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {},\n { tenantId, offset: 0, limit: 1 },\n { enabled: !!tenantId }\n );\n\n const totalCount = isLoading ? \"-\" : listData?.totalCount || 0;\n\n const isCitizen = window.location.pathname.includes(\"/citizen\");\n const prefix = isCitizen ? \"/digit-ui/citizen/ekyc\" : \"/digit-ui/employee/ekyc\";\n\n let links = [];\n if (isCitizen) {\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `${prefix}/surveyor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n links.push(\n {\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `${prefix}/supervisor-dashboard`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n }\n );\n }\n if (roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `${prefix}/vendor-dashboard`,\n });\n }\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n if (links.length === 0 || (roles.length === 1 && roles.includes(\"CITIZEN\"))) {\n links.push({\n label: t(\"EKYC_STATUS\"),\n link: `${prefix}/:id`,\n });\n }\n } else {\n // Employee links\n links = [\n // {\n // label: t(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n // link: `${prefix}/ceo-dashboard`,\n // },\n {\n label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\",\n link: `${prefix}/admin-dashboard`,\n },\n {\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `${prefix}/inbox`,\n },\n {\n label: t(\"EKYC_WORK_ORDER\"),\n link: `${prefix}/work-order`,\n },\n ...(!roles.includes(\"EMPLOYEE\")\n ? [\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `${prefix}/assign`,\n },\n ]\n : []),\n ];\n }\n\n const propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: isCitizen\n ? []\n : [\n {\n count: totalCount,\n label: t(\"TOTAL_EKYC\"),\n link: `${prefix}/admin-dashboard`,\n },\n ],\n links: links,\n };\n\n return <EmployeeModuleCard {...propsForModuleCard} />;\n};\n\nexport default EKYCCard;\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Chartjs from \"chart.js/auto\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const fullName = loggedInUser?.name || \"Admin\";\n\n const hasExternalData = countData && typeof countData.total === \"number\" && typeof countData.submittedCount === \"number\";\n\n const { data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n ekycStatus: \"submitted\"\n },\n {\n enabled: !!tenantId && !hasExternalData,\n }\n );\n\n const apiCountData = React.useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n submittedCount: info.submittedCount || 0,\n inProgressCount: info.inProgressCount || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n };\n }, [dashboardData]);\n\n const handleDownloadEkycData = async (fromDate, toDate) => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true,\n ...(fromDate && { fromDate }),\n ...(toDate && { toDate }),\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\", \"doorPhotoFilestoreId\", \"panFilestoreId\",\n \"documentProofFilestoreId\", \"buildingImageFileStoreId\", \"propertyDocumentFileStoreId\",\n \"meterPhotoFileStoreId\", \"modifiedBy\", \"zoneCode\", \"propertyType\", \"subPropertyCategory\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\"),\n firstName: t(\"FIRST_NAME\"),\n middleName: t(\"MIDDLE_NAME\"),\n lastName: t(\"LAST_NAME\"),\n status: t(\"STATUS\"),\n ekycStatus: t(\"EKYC_STATUS\"),\n zoneName: t(\"ZONE\"),\n zoneCode: t(\"ZONE_CODE\"),\n assembly: t(\"EKYC_ASSEMBLY\"),\n ward: t(\"WARD\"),\n pincode: t(\"EKYC_PINCODE\"),\n addressRaw: t(\"ADDRESS_RAW\"),\n locality: t(\"EKYC_LOCALITY\"),\n subLocality: t(\"SUB_LOCALITY\"),\n flatHouseNumber: t(\"FLAT_HOUSE_NUMBER\"),\n streetName: t(\"STREET_NAME\"),\n landmark: t(\"EKYC_LANDMARK\"),\n city: t(\"CITY\"),\n state: t(\"STATE\"),\n addressType: t(\"ADDRESS_TYPE\"),\n addressProofType: t(\"ADDRESS_PROOF_TYPE\"),\n mobileNo: t(\"MOBILE_NUMBER\"),\n alternateMobileNo: t(\"ALTERNATE_MOBILE_NUMBER\"),\n whatsappNo: t(\"WHATSAPP_NO\"),\n email: t(\"EMAIL\"),\n landlineNo: t(\"LANDLINE_NO\"),\n mrkey: t(\"MR_KEY\"),\n mrcode: t(\"MR_CODE\"),\n areacode: t(\"AREA_CODE\"),\n source: t(\"SOURCE\"),\n submittedAt: t(\"SUBMITTED_AT\"),\n assignedAt: t(\"ASSIGNED_AT\"),\n connectionType: t(\"CONNECTION_TYPE\"),\n Type: t(\"CONSUMER_TYPE\"),\n occupantType: t(\"OCCUPANT_TYPE\"),\n knoCategory: t(\"KNO_CATEGORY\"),\n approvedAt: t(\"APPROVED_AT\"),\n gender: t(\"GENDER\"),\n parentSpouse: t(\"PARENT_SPOUSE\"),\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\n relationship: t(\"RELATIONSHIP\"),\n informantName: t(\"INFORMANT_NAME\"),\n informantRelation: t(\"INFORMANT_RELATION\"),\n informantIs: t(\"INFORMANT_IS\"),\n contactPerson: t(\"CONTACT_PERSON\"),\n relation: t(\"RELATION\"),\n entityName: t(\"ENTITY_NAME\"),\n designation: t(\"DESIGNATION\"),\n department: t(\"DEPARTMENT\"),\n employeeId: t(\"EMPLOYEE_ID\"),\n ownerMobile: t(\"OWNER_MOBILE\"),\n ownerVerificationDone: t(\"OWNER_VERIFICATION_DONE\"),\n consentGiven: t(\"CONSENT_GIVEN\"),\n proofOfIdentityType: t(\"PROOF_OF_IDENTITY_TYPE\"),\n documentNumber: t(\"DOCUMENT_NUMBER\"),\n noOfPerson: t(\"NUMBER_OF_PERSON\"),\n latitude: t(\"LATITUDE\"),\n longitude: t(\"LONGITUDE\"),\n gpsValid: t(\"GPS_VALID\"),\n meterNumber: t(\"METER_NUMBER\"),\n meterMake: t(\"METER_MAKE\"),\n meterStatus: t(\"METER_STATUS\"),\n meterCondition: t(\"METER_CONDITION\"),\n meterLocation: t(\"METER_LOCATION\"),\n meterLocationAddress: t(\"METER_LOCATION_ADDRESS\"),\n workingStatus: t(\"WORKING_STATUS\"),\n sewerConnection: t(\"SEWER_CONNECTION\"),\n septicTank: t(\"SEPTIC_TANK\"),\n lastBillRaised: t(\"LAST_BILL_RAISED\"),\n lastBillReceivedDate: t(\"LAST_BILL_RECEIVED_DATE\"),\n accessToMeter: t(\"ACCESS_TO_METER\"),\n systemMeterId: t(\"SYSTEM_METER_ID\"),\n lastBillNotRaisedReason: t(\"LAST_BILL_NOT_RAISED_REASON\"),\n waterConnectionYears: t(\"WATER_CONNECTION_YEARS\"),\n sewerConnectionYears: t(\"SEWER_CONNECTION_YEARS\"),\n pidNumber: t(\"PID_NUMBER\"),\n propertyType: t(\"PROPERTY_TYPE\"),\n subPropertyCategory: t(\"SUB_PROPERTY_CATEGORY\"),\n noOfFloor: t(\"NO_OF_FLOOR\"),\n noOfRooms: t(\"NO_OF_ROOMS\"),\n noOfBeds: t(\"NO_OF_BEDS\"),\n numberOfDwellingUnits: t(\"NUMBER_OF_DWELLING_UNITS\"),\n floorNo: t(\"FLOOR_NO\"),\n userType: t(\"USER_TYPE\"),\n tenantName: t(\"TENANT_NAME\"),\n tenantMobile: t(\"TENANT_MOBILE\"),\n verificationStatus: t(\"VERIFICATION_STATUS\"),\n houseBuiltDuration: t(\"HOUSE_BUILT_DURATION\"),\n surveyorId: t(\"SURVEYOR_ID\"),\n supervisorId: t(\"SUPERVISOR_ID\"),\n vendorId: t(\"VENDOR_ID\"),\n assignmentType: t(\"ASSIGNMENT_TYPE\"),\n assignmentValue: t(\"ASSIGNMENT_VALUE\"),\n assignedTime: t(\"ASSIGNED_TIME\"),\n isSelfAssigned: t(\"IS_SELF_ASSIGNED\"),\n doorPhotoFilestoreId: t(\"DOOR_PHOTO_FILESTORE_ID\"),\n panFilestoreId: t(\"PAN_FILESTORE_ID\"),\n documentProofFilestoreId: t(\"DOCUMENT_PROOF_FILESTORE_ID\"),\n buildingImageFileStoreId: t(\"BUILDING_IMAGE_FILESTORE_ID\"),\n propertyDocumentFileStoreId: t(\"PROPERTY_DOCUMENT_FILESTORE_ID\"),\n meterPhotoFileStoreId: t(\"METER_PHOTO_FILESTORE_ID\"),\n modifiedBy: t(\"MODIFIED_BY\"),\n emailId: t(\"EMAIL_ID\"),\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\"),\n dob: t(\"DOB\"),\n consumerType: t(\"CONSUMER_TYPE\"),\n createdTime: t(\"CREATED_TIME\"),\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\"),\n meterLatitude: t(\"EKYC_METER_LATITUDE1\"),\n meterLongitude: t(\"EKYC_METER_LONGITUDE1\"),\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n let cleanStr = String(str);\n if (cleanStr.includes(\".\") && !cleanStr.includes(\"@\") && isNaN(Number(cleanStr))) {\n cleanStr = cleanStr.split(\".\").pop();\n }\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n const skipTitleCase = [\"kno\", \"mobileNumber\", \"emailId\", \"email\", \"pincode\", \"mrkey\", \"dob\", \"createdTime\", \"lastModifiedTime\", \"meterLatitude\", \"meterLongitude\"];\n const translatedFields = [\"meterMake\", \"meterLocation\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const name = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (name) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(name);\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n let val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n if (String(val).toLowerCase() === \"true\") {\n val = t(\"CS_YES\");\n } else if (String(val).toLowerCase() === \"false\") {\n val = t(\"CS_NO\");\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && translatedFields.includes(key)) {\n cleanObj[friendlyHeader] = t(val);\n } else if (typeof val === \"string\" && !skipTitleCase.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_All_Data_Admin_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(range.from.getTime(), range.to.getTime());\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n await handleDownloadEkycData(from.getTime(), to.getTime());\n };\n\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n const total = hasExternalData ? countData.total : (apiCountData?.total || countData?.total || countData?.totalCount || 0);\n const pending = hasExternalData ? countData.pending : (apiCountData?.pending || countData?.pending || 0);\n const active = hasExternalData ? countData.active : (apiCountData?.active || countData?.active || 0);\n const completed = hasExternalData ? countData.completed : (apiCountData?.completed || countData?.completed || 0);\n const inprocess = hasExternalData ? countData.inProgressCount : (apiCountData?.inProgressCount || countData?.inProgressCount || 0);\n const submitted = hasExternalData ? countData.submittedCount : (apiCountData?.submittedCount || countData?.submittedCount || 0);\n const actualCompleted = completed;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round(((submitted + completed) / total) * 100) : 0;\n // const healthPct = total > 0 ? Math.round((approved / total) * 100) : 0;\n const healthPct = submitted > 0 ? Math.round((approved / submitted) * 100) : 0;\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n\n\n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\"), t(\"EKYC_SUBMITTED\"), t(\"EKYC_INPROCESS\")],\n datasets: [\n {\n data: [pending, completed, submitted, inprocess],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\", \"#49a3fb\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n },\n ],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: false,\n responsive: true,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n };\n }, [pending, completed, active, t]);\n\n const legendItems = [\n { color: \"#77B6EA\", label: t(\"EKYC_COMPLETED\"), value: completed },\n { color: \"#0c2a52\", label: t(\"EKYC_PENDING\"), value: pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_SUBMITTED\"), value: submitted },\n { color: \"#49a3fb\", label: t(\"EKYC_INPROCESS\"), value: inprocess }\n\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-cards-wrapper\">\n {/* Header */}\n <div className=\"status-cards-header\">\n <div>\n <div className=\"eyebrow\">\n <span className=\"eyebrow-dot\" />\n {t(\"EKYC_INSTITUTIONAL_OVERVIEW\") || \"Institutional Performance Overview\"}\n </div>\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n <p className=\"status-cards-subtitle\">\n {t(\"EKYC_DASHBOARD_SUBTITLE\") || \"Real-time monitoring of consumer verification workflows across all administrative zones.\"}\n </p>\n </div>\n <div className=\"total-applications-card\">\n <div className=\"total-label\">{t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Processed\"}</div>\n <div className=\"total-number\">{formatNumber(total)}</div>\n {/* <div className=\"total-badge\">↗ +12.4% {t(\"EKYC_FROM_LAST_QUARTER\") || \"from last quarter\"}</div> */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-inputs\">\n <label>\n <span>From</span>\n <input type=\"date\" value={customDate.from} onChange={(e) => setCustomDate({ ...customDate, from: e.target.value })} />\n </label>\n <label>\n <span>To</span>\n <input type=\"date\" value={customDate.to} onChange={(e) => setCustomDate({ ...customDate, to: e.target.value })} />\n </label>\n </div>\n <div style={{ display: \"flex\", gap: \"10px\", marginTop: \"10px\" }}>\n <button\n className=\"picker-cancel-btn\"\n onClick={() => {\n setShowCustomPicker(false);\n setCustomDate({ from: \"\", to: \"\" });\n }}\n >\n {t(\"CANCEL\") || \"Cancel\"}\n </button>\n <button className=\"picker-apply-btn\" onClick={handleCustomDownload}>\n {t(\"APPLY\") || \"Apply\"}\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Panels */}\n <div className=\"status-panels-grid\">\n {/* Panel 1: Status Breakdown */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">{t(\"EKYC_STATUS_BREAKDOWN\") || \"Status Breakdown\"}</div>\n <div className=\"panel-subtitle\">{t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle distribution\"}</div>\n <div className=\"breakdown-body\">\n <div className=\"status-legend\">\n {legendItems.map((item) => (\n <div key={item.label} className=\"legend-row\">\n <span className=\"legend-label\">\n <span className=\"indicator-dot\" style={{ background: item.color }} />\n {item.label}\n </span>\n <span className=\"legend-value\">{formatNumber(item.value)}</span>\n </div>\n ))}\n </div>\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n <div className=\"chart-center\">\n <div className=\"chart-percentage\">{efficiency}%</div>\n <div className=\"chart-label\">{t(\"EKYC_COMPLETE\") || \"Complete\"}</div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Panel 2: Submission Health */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">\n {t(\"EKYC_SUBMISSION_HEALTH\") || \"Submission Health\"}\n {/* <span className=\"optimal-badge\">{t(\"EKYC_OPTIMAL\") || \"Optimal\"}</span> */}\n </div>\n <div className=\"panel-subtitle\">{t(\"EKYC_PLATFORM_EFFICIENCY\") || \"Platform operational efficiency\"}</div>\n <div className=\"health-metrics-row\">\n <div className=\"health-percentage\">{healthPct}%</div>\n {/* <div className=\"health-trend\">↗ +2.1%</div> */}\n </div>\n <div className=\"status-progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${healthPct}%` }} />\n </div>\n <div className=\"mini-metrics-grid\">\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_AVG_LATENCY\") || \"Avg Latency\"}</div>\n <div className=\"metric-value\">0s</div>\n </div>\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_ERROR_RATE\") || \"Error Rate\"}</div>\n <div className=\"metric-value\">0.0%</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;\n","import React, { useMemo } from \"react\";\nimport StatusCards from \"./StatusCards\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\n\n// Mock data removed in favor of API integration\n\nconst Dashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 2. API Data Fetching\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const countData = useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n submittedCount: info.submittedCount || 0,\n inProgressCount: info.inProgressCount || 0,\n };\n }, [dashboardData]);\n\n return isLoading ? (\n <Loader />\n ) : (\n <Card className=\"min-width-full\">\n <StatusCards countData={countData} />\n </Card>\n );\n};\n\nexport default Dashboard;\n","import React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, Card, Loader, InboxLinks } from \"@djb25/digit-ui-react-components\";\nimport { useHistory } from \"react-router-dom\";\nimport StatusCards from \"./StatusCards\";\n\nconst DesktopInbox = ({ tableConfig, filterComponent, ...props }) => {\n const {\n data,\n isLoading,\n onSort,\n onNextPage,\n onPrevPage,\n currentPage,\n pageSizeLimit,\n onPageSizeChange,\n parentRoute,\n searchParams,\n sortParams,\n totalRecords,\n countData,\n } = props;\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const FilterComponent = Digit.ComponentRegistryService?.getComponent(filterComponent);\n\n // State for Review Modal\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(\"/digit-ui/employee/ekyc/review\", { kNumber: selectedKno, aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const columns = useMemo(\n () => [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n // {\n // Header: t(\"EKYC_MOBILE_NO\"),\n // accessor: \"mobileNumber\",\n // Cell: ({ row }) => <span>{row.original?.mobileNumber || \"NA\"}</span>,\n // },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n {\n Header: t(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","export const ekycMockData = {\n topKpis: {\n totalWaterConnections: 2990996,\n totalEkycCompleted: 2460810,\n totalPending: 530186,\n totalRejected: 224324,\n agencyEkycCompleted: 2352069,\n citizenSelfEkycCompleted: 638927,\n todaysEkyc: 54684,\n successRate: 82,\n rejectionPercentage: 7,\n },\n\n executiveMetrics: {\n totalSurveyors: 186,\n totalSupervisors: 56,\n activeJurisdictions: 27,\n todaysGrowth: 2.8,\n selfEkycAdoption: 38,\n avgApprovalTime: \"2.3 Days\",\n riskZones: 7,\n escalationsOpen: 18,\n },\n\n alerts: [\n {\n title: \"North East District pending increased\",\n priority: \"high\",\n change: \"+22%\",\n district: \"North East District\",\n },\n {\n title: \"Agency 2 self eKYC adoption low\",\n priority: \"medium\",\n change: \"-12%\",\n district: \"West District\",\n },\n {\n title: \"Escalation raised in NWS Bhera Enclave\",\n priority: \"high\",\n change: \"+18\",\n district: \"Outer North\",\n },\n {\n title: \"Approval rate improved in East District\",\n priority: \"low\",\n change: \"+9%\",\n district: \"East District\",\n },\n ],\n\n heatmapData: [\n {\n district: \"Outer North\",\n intensity: 82,\n },\n {\n district: \"East District\",\n intensity: 48,\n },\n {\n district: \"South District\",\n intensity: 67,\n },\n {\n district: \"North East District\",\n intensity: 74,\n },\n ],\n\n dailyTrend: [\n {\n label: \"Mon\",\n completed: 270689,\n pending: 491305,\n rejected: 145810,\n },\n {\n label: \"Tue\",\n completed: 442945,\n pending: 466563,\n rejected: 157026,\n },\n {\n label: \"Wed\",\n completed: 615202,\n pending: 441821,\n rejected: 168243,\n },\n {\n label: \"Thu\",\n completed: 812067,\n pending: 413545,\n rejected: 179459,\n },\n {\n label: \"Fri\",\n completed: 1033540,\n pending: 381733,\n rejected: 190675,\n },\n {\n label: \"Sat\",\n completed: 1279621,\n pending: 346388,\n rejected: 201891,\n },\n {\n label: \"Sun\",\n completed: 1574918,\n pending: 303973,\n rejected: 213107,\n },\n ],\n\n selfVsAgency: [\n {\n label: \"Agency1\",\n agency: 201457,\n citizen: 758414,\n },\n {\n label: \"Agency 2\",\n agency: 164302,\n citizen: 919322,\n },\n {\n label: \"Agency 3\",\n agency: 328451,\n citizen: 541772,\n },\n ],\n\n pendingVsCompleted: [\n {\n label: \"Agency1\",\n completed: 201457,\n pending: 201457,\n },\n {\n label: \"Agency 2\",\n completed: 164302,\n pending: 164302,\n },\n {\n label: \"Agency 3\",\n completed: 328451,\n pending: 77278,\n },\n ],\n\n rejectionAnalysis: [\n {\n label: \"Agency1\",\n rejected: 71990,\n success: 72,\n },\n {\n label: \"Agency 2\",\n rejected: 81271,\n success: 77,\n },\n {\n label: \"Agency 3\",\n rejected: 71063,\n success: 86,\n },\n ],\n\n vendors: [\n {\n id: 1,\n name: \"Agency1\",\n\n assignedConnections: 959871,\n\n completedEkyc: 201457,\n\n selfEkyc: 758414,\n\n pending: 201457,\n\n rejected: 71990,\n\n inactiveDemand: 1161328,\n\n successRate: 72,\n\n progress: 21,\n\n supervisors: 23,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"Outer North\", \"North West District\", \"Model Town AC 18\", \"Cluster 2\", \"North District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 16116,\n pending: 196084,\n rejected: 53272,\n },\n {\n day: \"Tue\",\n completed: 26189,\n pending: 192727,\n rejected: 55072,\n },\n {\n day: \"Wed\",\n completed: 38276,\n pending: 188698,\n rejected: 57232,\n },\n {\n day: \"Thu\",\n completed: 52378,\n pending: 183997,\n rejected: 59751,\n },\n {\n day: \"Fri\",\n completed: 68495,\n pending: 178625,\n rejected: 62631,\n },\n {\n day: \"Sat\",\n completed: 84611,\n pending: 173253,\n rejected: 65510,\n },\n {\n day: \"Sun\",\n completed: 100728,\n pending: 167880,\n rejected: 68390,\n },\n ],\n\n zones: [\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n cluster: \"NWS Bhera Enclave\",\n\n assignedConnections: 102669,\n\n location: \"102669\",\n\n zroOffice: \"NWS Bhera Enclave\",\n\n assemblyConstituency: \"Part of Mundka AC 08\",\n\n gpsLocation: null,\n\n distanceFromFarthestPoint: null,\n\n activeDemand: 202197,\n\n pppZones: 15800,\n\n inactiveDemand: 35265,\n\n districtwiseInactiveTotal: 237462,\n },\n\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n\n cluster: \"Narela\",\n\n assignedConnections: 99528,\n\n location: \"99528\",\n\n zroOffice: \"Narela\",\n\n assemblyConstituency: \"Narela AC 01\",\n\n activeDemand: 99528,\n\n pppZones: 19465,\n\n inactiveDemand: 35265,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"North West District\",\n\n cluster: \"Rohini AC 13\",\n\n assignedConnections: 71041,\n\n location: \"71041\",\n\n zroOffice: \"Rohini\",\n\n assemblyConstituency: \"Rithala AC 06\",\n\n activeDemand: 247949,\n\n pppZones: 28975,\n\n inactiveDemand: 49494,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Mangol Puri AC 12\",\n\n cluster: \"Model Town AC 18\",\n\n assignedConnections: 68957,\n\n location: \"68957\",\n\n zroOffice: \"Central North District\",\n\n assemblyConstituency: \"Ashok Vihar\",\n\n activeDemand: 231216,\n\n pppZones: 16627,\n\n inactiveDemand: 36915,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Timarpur AC 03\",\n\n cluster: \"Cluster 2\",\n\n assignedConnections: 34862,\n\n location: \"34862\",\n\n zroOffice: \"Old Delhi District\",\n\n assemblyConstituency: \"Pratap Nagar\",\n\n activeDemand: 99694,\n\n pppZones: 20011,\n\n inactiveDemand: 48011,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Bali Maran AC 22\",\n\n cluster: \"North District\",\n\n assignedConnections: 110507,\n\n location: \"110507\",\n\n zroOffice: \"Burari\",\n\n assemblyConstituency: \"Burari AC 2\",\n\n activeDemand: 178815,\n\n pppZones: 14700,\n\n inactiveDemand: 31772,\n },\n ],\n },\n\n {\n id: 2,\n\n name: \"Agency 2\",\n\n assignedConnections: 1083624,\n\n completedEkyc: 164302,\n\n selfEkyc: 919322,\n\n pending: 164302,\n\n rejected: 81271,\n\n inactiveDemand: 1247926,\n\n successRate: 77,\n\n progress: 15,\n\n supervisors: 14,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"West District\", \"Janak Puri\", \"South District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 13144,\n pending: 159920,\n rejected: 60140,\n },\n {\n day: \"Tue\",\n completed: 21359,\n pending: 157182,\n rejected: 62172,\n },\n {\n day: \"Wed\",\n completed: 31217,\n pending: 153896,\n rejected: 64610,\n },\n {\n day: \"Thu\",\n completed: 42718,\n pending: 150062,\n rejected: 67454,\n },\n {\n day: \"Fri\",\n completed: 55862,\n pending: 145681,\n rejected: 70705,\n },\n {\n day: \"Sat\",\n completed: 69006,\n pending: 141299,\n rejected: 73956,\n },\n {\n day: \"Sun\",\n completed: 82151,\n pending: 136918,\n rejected: 77207,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Rajouri Garden AC 27\",\n\n assignedConnections: 84506,\n\n location: \"84506\",\n\n zroOffice: \"Rajouri Garden AC 27\",\n\n assemblyConstituency: \"Punjabi Bagh\",\n\n activeDemand: 470766,\n\n pppZones: 13269,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Tilak Nagar AC 29\",\n\n assignedConnections: 51428,\n\n location: \"51428\",\n\n zroOffice: \"Tilak Nagar AC 29\",\n\n assemblyConstituency: \"Paschim Vihar\",\n\n activeDemand: 470766,\n\n pppZones: 6298,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"Part of Uttam Nagar & Vikas puri\",\n\n cluster: \"Janak Puri\",\n\n assignedConnections: 163041,\n\n location: \"163041\",\n\n zroOffice: \"Janakpuri\",\n\n assemblyConstituency: \"Janakpuri AC 30\",\n\n activeDemand: 369772,\n\n pppZones: 25729,\n\n inactiveDemand: 60534,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"South District\",\n\n assignedConnections: 52803,\n\n location: \"52803\",\n\n zroOffice: \"R K Puram\",\n\n assemblyConstituency: \"Malviya Nagar AC 43\",\n\n activeDemand: 243086,\n\n pppZones: 9678,\n\n inactiveDemand: 39204,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"Vasant Kunz\",\n\n assignedConnections: 58997,\n\n location: \"58997\",\n\n zroOffice: \"Vasant Kunj\",\n\n assemblyConstituency: \"Vasant Kunj\",\n\n activeDemand: 243086,\n\n pppZones: 6691,\n\n inactiveDemand: 39204,\n },\n ],\n },\n\n {\n id: 3,\n\n name: \"Agency 3\",\n\n assignedConnections: 947501,\n\n completedEkyc: 328451,\n\n selfEkyc: 541772,\n\n pending: 77278,\n\n rejected: 71063,\n\n inactiveDemand: 1016841,\n\n successRate: 86,\n\n progress: 78,\n\n supervisors: 19,\n\n activeSurveyors: 58,\n\n jurisdictions: [\"East District\", \"North East District\", \"South East District\", \"MNWS\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 44120,\n pending: 130002,\n rejected: 5711,\n },\n {\n day: \"Tue\",\n completed: 58221,\n pending: 121998,\n rejected: 7104,\n },\n {\n day: \"Wed\",\n completed: 70218,\n pending: 113201,\n rejected: 8842,\n },\n {\n day: \"Thu\",\n completed: 85124,\n pending: 104006,\n rejected: 9911,\n },\n {\n day: \"Fri\",\n completed: 102315,\n pending: 94441,\n rejected: 11214,\n },\n {\n day: \"Sat\",\n completed: 121009,\n pending: 85218,\n rejected: 12902,\n },\n {\n day: \"Sun\",\n completed: 142118,\n pending: 77278,\n rejected: 14101,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Mayur Vihar\",\n\n assignedConnections: 72326,\n\n location: \"72326\",\n\n zroOffice: \"Mayur Vihar\",\n\n assemblyConstituency: \"Trilokpuri AC 55\",\n\n activeDemand: 328564,\n\n pppZones: 9691,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Yojna Vihar\",\n\n assignedConnections: 40651,\n\n location: \"40651\",\n\n zroOffice: \"Yojna Vihar\",\n\n assemblyConstituency: \"Vishwas Nagar AC 59\",\n\n activeDemand: 328564,\n\n pppZones: 10097,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"GTB Enclave\",\n\n assignedConnections: 80453,\n\n location: \"80453\",\n\n zroOffice: \"GTB Enclave\",\n\n assemblyConstituency: \"Seemapuri AC 63\",\n\n activeDemand: 323753,\n\n pppZones: 10671,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"Yamuna Vihar\",\n\n assignedConnections: 90599,\n\n location: \"90599\",\n\n zroOffice: \"Yamuna Vihar\",\n\n assemblyConstituency: \"Mustafabad AC 69\",\n\n activeDemand: 323753,\n\n pppZones: 18185,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Kalkaji AC 51\",\n\n assignedConnections: 29188,\n\n location: \"29188\",\n\n zroOffice: \"Kalkaji AC 51\",\n\n assemblyConstituency: \"Saket\",\n\n activeDemand: 136102,\n\n pppZones: 3675,\n\n inactiveDemand: 23977,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Okhla\",\n\n assignedConnections: 18473,\n\n location: \"18473\",\n\n zroOffice: \"Sarita Vihar/Okhla\",\n\n assemblyConstituency: \"Okhla AC 54\",\n\n activeDemand: 136102,\n\n pppZones: 3703,\n\n inactiveDemand: 23977,\n },\n ],\n },\n ],\n};\n","export const downloadSurveyorPDF = async ({\n rows,\n surveyorName,\n employeeId,\n mobileNumber,\n vendorName,\n supervisorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const initData = Digit.SessionStorage.get(\"initData\");\n const tenants = initData?.tenants || [];\n const tenantInfo = tenants.find((tenant) => tenant.code === tenantId);\n\n const capitalize = (text) =>\n text && text.substr(0, 1).toUpperCase() + text.substr(1);\n const ulbCamel = (ulb) =>\n ulb &&\n ulb\n .toLowerCase()\n .split(\" \")\n .map(capitalize)\n .join(\" \");\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SURVEYOR_DETAILS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"SURVEYOR_NAME\"), value: surveyorName },\n { title: t(\"MOBILE_NUMBER\"), value: mobileNumber },\n { title: t(\"VENDOR_NAME\"), value: vendorName },\n { title: t(\"SUPERVISOR_NAME\"), value: supervisorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\"), value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\"), value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\"), value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\"), value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SURVEYOR_REPORT\"),\n details,\n applicationNumber: employeeId,\n rows,\n t,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n};\n\n\nexport const downloadSupervisorPDF = async ({\n rows,\n supervisorName,\n mobileNumber,\n vendorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SUPERVISOR_DETAILS\") || \"Supervisor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\", value: supervisorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from surveyors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || row.owner?.name || \"N/A\",\n firstName: row.owner?.mobileNumber || row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SURVEYOR_NAME\") || \"Surveyor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SUPERVISOR_REPORT\") || \"eKYC Supervisor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\nexport const downloadVendorPDF = async ({\n rows,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const emailContact = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"VENDOR_DETAILS\") || \"Vendor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"EMAIL\") || \"Email\", value: email }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from supervisors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || \"N/A\",\n firstName: row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SUPERVISOR_NAME\") || \"Supervisor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email: emailContact,\n phoneNumber,\n heading: t(\"EKYC_VENDOR_REPORT\") || \"eKYC Vendor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\n\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport { downloadVendorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst VendorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { vendorId } = useParams();\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Fetch all supervisors to filter by vendor\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Match vendor details\n const vendor = useMemo(() => {\n const userUuid = loggedInUser?.uuid;\n const userMobile = loggedInUser?.mobileNumber;\n\n // Helper to check if a vendor matches the logged in user\n const matchesUser = (v) => {\n const ownerUuid = v.owner?.uuid || v.owner?.id;\n const ownerMobile = v.owner?.mobileNumber || v.mobileNumber;\n return (userUuid && ownerUuid === userUuid) || (userMobile && ownerMobile === userMobile);\n };\n\n // Find in real API search first\n if (vendorSearchResponse) {\n if (vendorId) {\n const matched = vendorSearchResponse.find(\n (v) => v.dsoDetails?.id === vendorId || v.dsoDetails?.vendorId === vendorId || v.id === vendorId || v.vendorId === vendorId\n );\n if (matched) return matched.dsoDetails || matched;\n } else {\n // Try matching logged in user\n const matched = vendorSearchResponse.find((v) => matchesUser(v.dsoDetails || v));\n if (matched) return matched.dsoDetails || matched;\n // Default to first vendor if no match found\n if (vendorSearchResponse.length > 0) return vendorSearchResponse[0].dsoDetails || vendorSearchResponse[0];\n }\n }\n\n // Fall back to ekycMockData vendors\n if (vendorId) {\n return ekycMockData.vendors.find((v) => v.id === Number(vendorId) || v.name === vendorId) || ekycMockData.vendors[0];\n } else {\n // Match mock vendor with user name or return first\n const matchedMock = ekycMockData.vendors.find((v) => v.name?.toLowerCase() === loggedInUser?.name?.toLowerCase());\n return matchedMock || ekycMockData.vendors[0];\n }\n }, [vendorSearchResponse, vendorId, loggedInUser]);\n\n const targetVendorId = vendorId || vendor?.id || vendor?.vendorId;\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details) for target vendor\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n targetVendorId ? { vendorId: targetVendorId, vendorIds: [targetVendorId] } : {},\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n // Supervisors belonging to this vendor\n const vendorSupervisors = useMemo(() => {\n if (!supervisorSearchResponse?.supervisors) {\n // Mock fallback if supervisors count is present\n if (vendor && Array.isArray(ekycMockData.vendors)) {\n // Return dummy supervisors based on vendor name or id\n const mockSupList = Array.from({ length: vendor.supervisors || 5 }, (_, i) => ({\n id: `SUP_V_${vendor.id || 1}_${i}`,\n name: `Supervisor ${i + 1} (${vendor.name})`,\n mobileNo: `99999120${i}`,\n status: \"ACTIVE\",\n totalKnos: Math.round(1000 + Math.random() * 4000),\n submittedKnos: Math.round(500 + Math.random() * 2000),\n pendingKnos: Math.round(200 + Math.random() * 1000),\n progressPercent: Math.round(40 + Math.random() * 50),\n }));\n return mockSupList;\n }\n return [];\n }\n\n // Filter real supervisors belonging to this vendor\n const currentVendorId = vendor?.id || vendor?.vendorId || vendorId;\n const matchedSups = supervisorSearchResponse.supervisors.filter(\n (s) => s.vendorId === currentVendorId\n );\n\n return matchedSups.map((sup) => {\n // Find progress report for this supervisor in progressData\n const report = progressData?.supervisorReport?.find(\n (r) => r.supervisorId === sup.id || r.supervisorId === sup.owner?.uuid\n );\n\n return {\n id: sup.id || sup.owner?.uuid,\n name: sup.name || sup.owner?.name || \"N/A\",\n mobileNo: sup.owner?.mobileNumber || sup.mobileNo || \"N/A\",\n status: sup.status || \"ACTIVE\",\n totalKnos: report?.totalKnos || 0,\n submittedKnos: report?.submittedKnos || 0,\n pendingKnos: report?.pendingKnos || 0,\n progressPercent: report?.progressPercent || 0,\n };\n });\n }, [supervisorSearchResponse, vendor, progressData, vendorId]);\n\n const vendorName = vendor?.name || \"N/A\";\n const mobileNumber = vendor?.mobileNumber || vendor?.owner?.mobileNumber || \"N/A\";\n const email = vendor?.owner?.emailId || \"N/A\";\n const status = vendor ? \"ACTIVE\" : \"N/A\";\n const jurisdictions = useMemo(() => {\n if (Array.isArray(vendor?.jurisdictions)) {\n return vendor.jurisdictions.join(\", \");\n }\n return \"N/A\";\n }, [vendor]);\n const zoneIds = useMemo(() => {\n return vendor?.zoneIds?.length\n ? vendor.zoneIds.filter(Boolean).map(zone => String(zone).trim().toUpperCase())\n : [];\n }, [vendor]);\n\n // KPI stats calculation\n const cards = useMemo(() => {\n const hasRealData = vendorSupervisors.some((s) => s.totalKnos > 0);\n\n const totalKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0)\n : (progressData?.totalKnos || vendor?.assignedConnections || 0);\n\n const completedKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0)\n : (progressData?.completedKnos || vendor?.completedEkyc || 0);\n\n const pendingKnos = hasRealData\n ? vendorSupervisors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0)\n : (totalKnos - completedKnos);\n\n const progressPercent = totalKnos > 0 ? Math.round((completedKnos / totalKnos) * 100) : (vendor?.progress || 0);\n\n return [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: totalKnos,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n // {\n // label: \"TOTAL_ASSIGNMENTS\",\n // count: totalKnos,\n // color: \"#3B82F6\",\n // type: \"week\",\n // icon: <FaMapMarkedAlt />,\n // },\n {\n label: \"EKYC_COMPLETED\",\n count: completedKnos,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: pendingKnos,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${progressPercent}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n }, [vendorSupervisors, vendor, progressData]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId,\n offset: 0,\n limit: 10000,\n reportDownload: true\n });\n\n const consumerList = response?.consumerList || [];\n\n if (!consumerList || consumerList.length === 0) {\n alert(t(\"NO_EKYC_DATA_FOUND\") || \"No eKYC data found to download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = fullName;\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n cleanObj[friendlyHeader] = val;\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${vendorName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Failed to download eKYC data:\", error);\n alert(t(\"EKYC_DOWNLOAD_FAILED\") || \"Failed to download eKYC data. Please try again.\");\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const paginatedSupervisors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return vendorSupervisors.slice(start, end);\n }, [vendorSupervisors, currentPage, pageSize]);\n\n const supervisorColumns = useMemo(\n () => [\n {\n Header: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\",\n accessor: (row) => row?.name || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/supervisor-dashboard/${row.original.id}`;\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.name || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: (row) => row?.status || \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || row?.progressPercent === 0 ? row.progressPercent : row.progress}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = vendorSupervisors.map((s) => ({\n name: s.name,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0) || vendor?.assignedConnections || 0;\n const completedKnos = vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0) || vendor?.completedEkyc || 0;\n\n downloadVendorPDF({\n rows: rowsWithStats,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate report:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handlePresetDownload = (filter) => {\n handleDownload();\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n handleDownload();\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isVendorSearchLoading || isSupervisorSearchLoading;\n\n if (isPageLoading && !vendor) {\n return <Loader />;\n }\n\n if (!vendor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_VENDOR_FOUND\") || \"No Vendor Found\"}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{vendorName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{vendorName}</h2>\n <div className=\"designation\">{t(\"VENDOR_AGENCY\") || \"Agency / Vendor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {\n cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isPageLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n {/* <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div> */}\n\n {/* <div className=\"detail-item\">\n <span className=\"label\">{t(\"JURISDICTIONS\") || \"Jurisdictions\"}</span>\n <span className=\"value\">{jurisdictions}</span>\n </div> */}\n\n <div className=\"detail-item\" style={{ gridColumn: \"1 / -1\" }}>\n <span className=\"label\">{t(\"ASSIGNED_ZONES\") || \"Assigned Zones\"}</span>\n <span className=\"value\">\n {zoneIds.length > 0\n ? (\n <div className=\"selected-zones\" style={{ marginTop: \"4px\", width: \"100%\" }}>\n {zoneIds.map(zone => (\n <span key={zone} className=\"selected-zone-chip\">\n {t(zone) || zone}\n </span>\n ))}\n </div>\n )\n : \"N/A\"}\n </span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SUPERVISORS\") || \"Connected Supervisors\"}\n tableClass=\"ekycTable\"\n data={paginatedSupervisors}\n columns={supervisorColumns}\n isLoading={isPageLoading}\n totalRecords={vendorSupervisors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(vendorSupervisors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(vendorSupervisors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default VendorDetailsCard;\n","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header } from \"@djb25/digit-ui-react-components\";\n\nconst useInboxTableConfig = ({\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n checkPathName,\n onSortingByData,\n tenantId,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n return String(str)\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const tableColumnConfig = [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n disableSortBy: true,\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{toTitleCase(row.original?.citizenName) || \"NA\"}</span>,\n },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = (row.original?.status || \"DEFAULT\").toUpperCase();\n return <span className={`ekyc-status-tag ${status}`}>{toTitleCase(row.original?.status || \"DEFAULT\")}</span>;\n },\n },\n {\n Header: t(\"SUBMITTED_AT\") || \"Submitted At\",\n accessor: \"submittedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"ASSIGNED_AT\") || \"Assigned At\",\n accessor: \"assignedAt\",\n Cell: ({ value }) => (value ? Digit.DateUtils.ConvertEpochToDate(value) : \"-\"),\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const raw = row.original?.ekycStatus || row.original?.ekycstatus || \"NA\";\n const ekycStatus = raw.toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{toTitleCase(raw)}</span>;\n },\n },\n ];\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n initSortId: \"applicationDate\",\n onPageSizeChange: onPageSizeChange,\n currentPage: offset,\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) + limit },\n checkPathName,\n }),\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) - limit },\n checkPathName,\n }),\n pageSizeLimit: limit,\n onSort: onSortingByData,\n // sortParams: [{id: getValues(\"sortBy\"), desc: getValues(\"sortOrder\") === \"DESC\" ? true : false}],\n totalRecords: totalCount,\n onSearch: formState?.searchForm?.message,\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: Math.max(0, Math.floor((totalCount - 1) / limit) * limit) },\n checkPathName,\n }),\n onFirstPage: () => dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, offset: 0 }, checkPathName }),\n // globalSearch: {searchForItemsInTable},\n // searchQueryForTable,\n data: table,\n columns: tableColumnConfig,\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default useInboxTableConfig;\n","import React from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport { CardLabelError, TextInput, CustomTooltip, Label } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchFormFieldsComponents = ({ searchFormState, controlSearchForm, searchType }) => {\n const { t } = useTranslation();\n const { errors } = searchFormState;\n\n if (searchType === \"mobile\") {\n return (\n <React.Fragment>\n {/* MOBILE NUMBER */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"ES_COMMON_MOBILE_NUM\") || \"Mobile Number\"}\n <CustomTooltip message={t(\"EKYC_MOBILE_NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"mobileNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[6-9]\\d{9}$/,\n message: t(\"ERR_INVALID_MOBILE_NUMBER\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.mobileNumber && <CardLabelError>{errors.mobileNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment>\n {/* K NUMBER (KNO) */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"EKYC_K.NUMBER\") || \"K Number\"}\n <CustomTooltip message={t(\"EKYC_K.NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"kNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[0-9]{10}$/,\n message: t(\"ERR_INVALID_KNO\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.kNumber && <CardLabelError>{errors.kNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n};\n\nexport default SearchFormFieldsComponents;\n","import { RadioButtons, SearchField } from \"@djb25/digit-ui-react-components\";\nimport React, { useState } from \"react\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nconst useInboxMobileCardsData = ({ table, tenantId, isSupervisor = false }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (!isSupervisor && reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData, isSupervisor]);\n\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const handleSupervisorReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const dataForMobileInboxCards = table?.map((item) => {\n if (isSupervisor) {\n const id = item.id;\n const status = item.status || \"DEFAULT\";\n\n return {\n [t(\"SURVEYOR_NAME\")]: (\n <span className=\"link\" onClick={() => handleSupervisorReview(id)}>\n {item.surveyorName || item.name || \"NA\"}\n </span>\n ),\n [t(\"MOBILE_NUMBER\")]: item.mobileNo || item.owner?.mobileNumber || \"NA\",\n [t(\"STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>,\n [t(\"SERVICE_TYPE\")]: item.serviceType || \"NA\",\n };\n } else {\n const kno = item.kno || item.applicationNumber || \"NA\";\n const status = (item.status || \"DEFAULT\").toUpperCase();\n const ekycStatus = (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase();\n\n return {\n [t(\"EKYC_APPLICATION_NO\")]: (\n <span className=\"link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n ),\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName || \"NA\",\n [t(\"EKYC_STATUS\")]: <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>,\n [t(\"SUBMITTED_AT\")]: item.submittedAt ? Digit.DateUtils.ConvertEpochToDate(item.submittedAt) : \"-\",\n [t(\"ASSIGNED_AT\")]: item.assignedAt ? Digit.DateUtils.ConvertEpochToDate(item.assignedAt) : \"-\",\n [t(\"EKYC_EKYC_STATUS\")]: <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>,\n };\n }\n });\n\n const MobileSortFormValues = () => {\n const sortOrderOptions = [\n {\n code: \"DESC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_FIRST\",\n },\n {\n code: \"ASC\",\n i18nKey: \"ES_INBOX_DATE_LATEST_LAST\",\n },\n ];\n const { control: controlSortForm } = useFormContext();\n return (\n <SearchField>\n <Controller\n name=\"sortOrder\"\n control={controlSortForm}\n render={({ onChange, value }) => (\n <RadioButtons\n onSelect={(e) => {\n onChange(e.code);\n }}\n selectedOption={sortOrderOptions.filter((option) => option.code === value)[0]}\n optionsKey=\"i18nKey\"\n name=\"sortOrder\"\n options={sortOrderOptions}\n />\n )}\n />\n </SearchField>\n );\n };\n\n return {\n data: dataForMobileInboxCards,\n isTwoDynamicPrefix: true,\n getRedirectionLink: () => {},\n handleClickEnabled: false,\n serviceRequestIdKey: isSupervisor ? \"id\" : \"applicationNo\",\n MobileSortFormValues,\n };\n};\n\nexport default useInboxMobileCardsData;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\nconst StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n);\n\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit]);\n\n const { isLoading: isListLoading, data: listData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // 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 progressParams = useMemo(() => {\n if (targetVendorId) {\n return { vendorId: targetVendorId, vendorIds: [targetVendorId] };\n }\n if (allVendorIds && allVendorIds.length > 0) {\n return { vendorId: allVendorIds[0], vendorIds: allVendorIds };\n }\n return {};\n }, [targetVendorId, allVendorIds]);\n\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n progressParams,\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return listData?.consumerList || [];\n }, [isSearchActive, searchData, listData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (\n item.connectionDetails?.ekycStatus ||\n item.connectionDetails?.ekycstatus ||\n item.ekycStatus ||\n item.ekycstatus ||\n \"NA\"\n ).toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.kno || \"\",\n owner: fullName || item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName || item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n\n const { t } = useTranslation();\n\n const supervisor = useMemo(() => {\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const roles = loggedInUser?.roles?.map((ele) => ele.code) || [];\n\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n const targetId = loggedInUser?.uuid;\n if (progressData?.supervisorReport && targetId) {\n const report = progressData.supervisorReport.find(\n (s) =>\n s.supervisorId?.toLowerCase() === targetId?.toLowerCase() ||\n s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n if (report) return report;\n }\n }\n\n if (progressData?.supervisorReport) {\n const totalKnos = progressData.supervisorReport.reduce((acc, r) => acc + (r.totalKnos || 0), 0);\n const submittedKnos = progressData.supervisorReport.reduce((acc, r) => acc + (r.submittedKnos || 0), 0);\n const pendingKnos = progressData.supervisorReport.reduce((acc, r) => acc + (r.pendingKnos || 0), 0);\n const progressPercent = totalKnos > 0 ? Math.round((submittedKnos / totalKnos) * 100) : 0;\n return {\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }\n return null;\n }, [progressData]);\n\n const cards = useMemo(() => [\n {\n label: t(\"TOTAL_EKYC_APPLICATIONS\"),\n count: supervisor?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: t(\"EKYC_COMPLETED\"),\n count: supervisor?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: t(\"PENDING_APPLICATIONS\"),\n count: supervisor?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: t(\"OVERALL_PROGRESS\"),\n count: `${supervisor?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ], [supervisor]);\n const totalRecords = listData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n function formReducer(state, payload) {\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(\"EKYC.INBOX\", { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isListLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n {/* Stats */}\n <div className=\"surveyor-dashboard\" style={{ overflowY: \"visible\", marginBottom: \"24px\" }}>\n <div className=\"stats-wrapper\" style={{ display: \"flex\", gap: \"16px\", flexWrap: \"wrap\" }}>\n {cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isProgressLoading}\n icon={card.icon}\n />\n ))}\n </div>\n </div>\n\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: listData,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { Fragment, useState } from \"react\";\nimport {\n Card,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n Menu,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\n\n// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />} style={{ margin: 0, padding: 0 }} onClick={routeTo} />\n );\n};\n\nconst checkForNA = (value) => (value !== null && value !== undefined && value !== \"\" ? value : \"N/A\");\n\nconst boolToYesNo = (value, t) => {\n if (value === true || value === \"true\" || String(value).toLowerCase() === \"yes\") return t(\"CORE_COMMON_YES\");\n if (value === false || value === \"false\" || String(value).toLowerCase() === \"no\") return t(\"CORE_COMMON_NO\");\n if (value === \"true\") return t(\"CORE_COMMON_YES\");\n if (value === \"false\") return t(\"CORE_COMMON_NO\");\n};\n/**\n * Robust data extraction for comparison.\n * The API returns { applicationReviewInfo: { newData: { ... }, oldData: { ... } } }\n */\nconst extractReviewData = (searchData, flowState) => {\n const rawData = searchData && Object.keys(searchData).length > 0 ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReviewInfo -> newData/oldData\n const reviewWrapper = rawData?.applicationReviewInfo || rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n\n return {\n newData: applicationData?.newData || applicationData,\n oldData: applicationData?.oldData || null,\n };\n};\n\nconst ReviewSection = ({ title, fields, newData, oldData, t, jumpTo, state, hideEditButton }) => {\n return (\n <div\n className=\"review-section-wrapper\"\n style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}\n >\n <div\n style={{\n padding: \"20px 24px\",\n background: \"#F9FAFB\",\n borderBottom: \"1px solid #EAECF0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && !hideEditButton && <ActionButton jumpTo={jumpTo} state={state} />}\n </div>\n\n <div style={{ padding: \"0 24px\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", tableLayout: \"fixed\" }}>\n <thead>\n <tr>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"30%\",\n }}\n >\n {t(\"EKYC_FIELD_NAME\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_EXISTING_INFORMATION\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_PROPOSED_UPDATES\")}\n </th>\n </tr>\n </thead>\n <tbody>\n {fields.map((field, idx) => {\n const valNew = newData?.[field.key];\n const valOld = oldData?.[field.key];\n const isChanged = oldData && String(valNew) !== String(valOld) && valOld !== undefined && valOld !== null;\n\n return (\n <tr key={idx} style={{ borderTop: \"1px solid #F2F4F7\" }}>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#344054\", fontWeight: \"500\" }}>{t(field.label)}</td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#667085\" }}>\n {field.isBool ? boolToYesNo(valOld, t) : checkForNA(valOld)}\n </td>\n <td\n style={{ padding: \"16px 0\", fontSize: \"14px\", color: isChanged ? \"#1B8B32\" : \"#101828\", fontWeight: isChanged ? \"700\" : \"400\" }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {field.isBool ? boolToYesNo(valNew, t) : checkForNA(valNew)}\n {isChanged && (\n <span\n style={{\n background: \"#ECFDF3\",\n color: \"#067647\",\n padding: \"2px 8px\",\n borderRadius: \"12px\",\n fontSize: \"10px\",\n fontWeight: \"600\",\n }}\n >\n {t(\"EKYC_CHANGED\")}\n </span>\n )}\n </div>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nconst Review = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n let { kno, applicationId } = useParams();\n\n const [agree, setAgree] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [showPreview, setShowPreview] = useState(false);\n const [previewUrl, setPreviewUrl] = useState(\"\");\n const [showOptions, setShowOptions] = useState(false);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({ error: false, label: \"\" });\n\n const options = [\n { action: t(\"APPROVE\") },\n { action: t(\"REJECT\") }\n ];\n\n const flowState = location.state || {};\n const { edits = {} } = flowState;\n const activeKno = kno || applicationId;\n\n const { aadhaarData = {}, addressDetails: editedAddress = {}, propertyDetails: editedProperty = {}, meterDetails: editedMeter = {} } = edits;\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const workflowMutation = Digit.Hooks.ekyc.useEkycWorkflow(tenantId);\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const { data: searchData, isLoading: isSearchLoading } = Digit.Hooks.ekyc.useEkycSearchReview({ kno: activeKno, fetchType: \"REVIEW\" }, tenantId, {\n enabled: !!activeKno,\n });\n\n const userRoles = Digit.SessionStorage.get(\"User\")?.info?.roles?.map((ele) => ele.code) || [];\n const isZRO = userRoles.includes(\"EKYC_ZRO\") || userRoles.includes(\"ZRO\");\n const isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SUPERVISOR\") || userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n const isStatusView = location.pathname.includes(\"/status/\");\n const hideEditButton = (isSupervisorOrSurveyorOrVendor && !isZRO) || isStatusView;\n\n // ── Data Consolidation ──────────────────────────────────────────────────\n const { newData: apiNewData, oldData: apiOldData } = extractReviewData(searchData, flowState);\n\n const prepareConsolidatedData = (data) => {\n if (!data) return null;\n const apiConn = data?.connectionDetails || data || {};\n const apiAddr = data?.addressDetails || data || {};\n const apiProp = data?.propertyInfo || data || {};\n const apiMeter = data?.meterDetails || data || {};\n\n return {\n connection: {\n consumerName:\n apiConn?.consumerName || (apiConn?.firstName ? [apiConn.firstName, apiConn.middleName, apiConn.lastName].filter(Boolean).join(\" \") : null),\n address: apiConn?.address || apiConn?.addressRaw,\n connectionType: apiConn?.connectionType || apiConn?.connectionCategory,\n meterNumber: apiConn?.meterNumber || apiConn?.meterNo,\n phoneNumber: apiConn?.phoneNumber || apiConn?.mobileNo || apiConn?.mobileNumber,\n email: apiConn?.email,\n statusflag: apiConn?.statusflag || apiConn?.statusFlag,\n ekycStatus: apiConn?.ekycStatus,\n knumber: apiConn?.knumber || apiConn?.kno,\n },\n address: {\n fullAddress: apiAddr?.fullAddress || apiAddr?.addressRaw,\n flatHouseNumber: apiAddr?.flatHouseNumber || apiAddr?.flatNo,\n buildingTower: apiAddr?.buildingTower || apiAddr?.building,\n landmark: apiAddr?.landmark,\n pinCode: apiAddr?.pinCode || apiAddr?.pincode,\n ward: apiAddr?.ward || apiAddr?.locality,\n assembly: apiAddr?.assembly,\n gpsValid: apiAddr?.gpsValid,\n latitude: apiAddr?.latitude,\n longitude: apiAddr?.longitude,\n mobileNo: apiAddr?.mobileNo || apiAddr?.mobileNumber,\n whatsappNo: apiAddr?.whatsappNo,\n email: apiAddr?.email,\n noOfPerson: apiAddr?.noOfPerson || apiAddr?.noOfPersons,\n knumber: apiAddr?.knumber || apiAddr?.kno,\n doorPhotoFilestoreId: apiAddr?.doorPhotoFilestoreId,\n },\n property: {\n kno: apiProp?.kno,\n pidNumber: apiProp?.pidNumber,\n typeOfConnection: apiProp?.typeOfConnection,\n connectionCategory: apiProp?.connectionCategory,\n userType: apiProp?.userType,\n numberOfFloors: apiProp?.numberOfFloors || apiProp?.noOfFloor,\n tenantName: apiProp?.tenantName,\n tenantMobile: apiProp?.tenantMobile,\n ekycStatus: apiProp?.ekycStatus,\n propertyDocumentFileStoreId: apiProp?.propertyDocumentFileStoreId,\n buildingImageFileStoreId: apiProp?.buildingImageFileStoreId,\n },\n meter: {\n kno: apiMeter?.kno,\n metered: apiMeter?.meterStatus === \"METERED\" || apiMeter?.metered,\n meterNumber: apiMeter?.meterNumber || apiMeter?.meterNo,\n meterMake: apiMeter?.meterMake,\n meterLocationAddress: apiMeter?.meterLocationAddress,\n meterLatitude: apiMeter?.meterLatitude,\n meterLongitude: apiMeter?.meterLongitude,\n workingStatus: apiMeter?.workingStatus,\n lastBillRaised: apiMeter?.lastBillRaised,\n systemMeterId: apiMeter?.systemMeterId,\n meterPhotoFileStoreId: apiMeter?.meterPhotoFileStoreId,\n },\n };\n };\n\n const newDataRaw = prepareConsolidatedData(apiNewData);\n const oldDataRaw = prepareConsolidatedData(apiOldData);\n\n // Apply edits to newData if present\n const connectionData = {\n ...newDataRaw?.connection,\n consumerName: aadhaarData?.name || newDataRaw?.connection?.consumerName,\n phoneNumber: aadhaarData?.mobileNumber || newDataRaw?.connection?.phoneNumber,\n knumber: newDataRaw?.connection?.knumber || activeKno,\n };\n\n const addressData = {\n ...newDataRaw?.address,\n fullAddress: editedAddress?.fullAddress || newDataRaw?.address?.fullAddress,\n flatHouseNumber: editedAddress?.flatHouseNumber || editedAddress?.flatNo || newDataRaw?.address?.flatHouseNumber,\n buildingTower: editedAddress?.buildingTower || editedAddress?.building || newDataRaw?.address?.buildingTower,\n landmark: editedAddress?.landmark || newDataRaw?.address?.landmark,\n pinCode: editedAddress?.pinCode || editedAddress?.pincode || newDataRaw?.address?.pinCode,\n ward: editedAddress?.ward || newDataRaw?.address?.ward,\n assembly: editedAddress?.assembly || newDataRaw?.address?.assembly,\n gpsValid: editedAddress?.gpsValid !== undefined ? editedAddress.gpsValid : newDataRaw?.address?.gpsValid,\n latitude: editedAddress?.latitude || newDataRaw?.address?.latitude,\n longitude: editedAddress?.longitude || newDataRaw?.address?.longitude,\n mobileNo: editedAddress?.mobileNo || aadhaarData?.mobileNumber || newDataRaw?.address?.mobileNo,\n whatsappNo: editedAddress?.whatsappNo || aadhaarData?.whatsappNumber || newDataRaw?.address?.whatsappNo,\n email: editedAddress?.email || newDataRaw?.address?.email,\n noOfPerson: editedAddress?.noOfPerson || aadhaarData?.noOfPersons || newDataRaw?.address?.noOfPerson,\n knumber: editedAddress?.knumber || newDataRaw?.address?.knumber || activeKno,\n doorPhotoFilestoreId: editedAddress?.doorPhotoFilestoreId || newDataRaw?.address?.doorPhotoFilestoreId,\n };\n\n\n const propertyData = {\n ...newDataRaw?.property,\n kno: newDataRaw?.property?.kno || activeKno,\n pidNumber: editedProperty?.pidNumber || newDataRaw?.property?.pidNumber,\n typeOfConnection: editedProperty?.connectionTypeData?.label || newDataRaw?.property?.typeOfConnection,\n connectionCategory: editedProperty?.connectionCategoryData?.label || newDataRaw?.property?.connectionCategory,\n userType: editedProperty?.userTypeData?.label || newDataRaw?.property?.userType,\n numberOfFloors: editedProperty?.noOfFloorsData?.label || newDataRaw?.property?.numberOfFloors,\n propertyDocumentFileStoreId: editedProperty?.propertyDocumentFileStoreId || newDataRaw?.property?.propertyDocumentFileStoreId,\n };\n\n const meterData = {\n ...newDataRaw?.meter,\n kno: editedMeter?.kno || newDataRaw?.meter?.kno || activeKno,\n metered: editedMeter?.meterStatusData?.value === \"Metered\" || newDataRaw?.meter?.metered,\n meterNumber: newDataRaw?.meter?.meterNumber,\n meterMake: editedMeter?.meterMake || newDataRaw?.meter?.meterMake,\n meterLocationAddress: editedMeter?.meterLocation || newDataRaw?.meter?.meterLocationAddress,\n workingStatus: editedMeter?.workingStatusData?.value === \"Working\" || newDataRaw?.meter?.workingStatus,\n lastBillRaised: editedMeter?.lastBillRaisedData?.value === \"Yes\" || newDataRaw?.meter?.lastBillRaised,\n meterPhotoFileStoreId: editedMeter?.meterPhotoFileStoreId || newDataRaw?.meter?.meterPhotoFileStoreId,\n };\n\n // ── Section Fields Configuration ─────────────────────────────────────\n const connectionFields = [\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n { label: \"EKYC_CONSUMER_NAME\", key: \"consumerName\" },\n { label: \"EKYC_ADDRESS\", key: \"address\" },\n { label: \"EKYC_CONNECTION_TYPE\", key: \"connectionType\" },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_MOBILE_NO\", key: \"phoneNumber\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_STATUS_FLAG\", key: \"statusflag\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const addressFields = [\n { label: \"EKYC_FULL_ADDRESS\", key: \"fullAddress\" },\n { label: \"EKYC_FLAT_HOUSE_NO\", key: \"flatHouseNumber\" },\n { label: \"EKYC_BUILDING_TOWER\", key: \"buildingTower\" },\n { label: \"EKYC_LANDMARK\", key: \"landmark\" },\n { label: \"EKYC_PINCODE\", key: \"pinCode\" },\n { label: \"EKYC_LOCALITY\", key: \"ward\" },\n { label: \"EKYC_ASSEMBLY\", key: \"assembly\" },\n { label: \"EKYC_GPS_VALID\", key: \"gpsValid\", isBool: true },\n { label: \"EKYC_LATITUDE\", key: \"latitude\" },\n { label: \"EKYC_LONGITUDE\", key: \"longitude\" },\n { label: \"EKYC_MOBILE_NO\", key: \"mobileNo\" },\n { label: \"EKYC_WHATSAPP_NO\", key: \"whatsappNo\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_NO_OF_PERSONS\", key: \"noOfPerson\" },\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n ];\n\n const propertyFields = [\n { label: \"EKYC_CONNECTION_CATEGORY\", key: \"connectionCategory\" },\n { label: \"EKYC_PID_NUMBER\", key: \"pidNumber\" },\n { label: \"EKYC_TYPE_OF_CONNECTION\", key: \"typeOfConnection\" },\n { label: \"EKYC_USER_TYPE\", key: \"userType\" },\n { label: \"EKYC_FLOOR_COUNT\", key: \"numberOfFloors\" },\n { label: \"EKYC_TENANT_NAME\", key: \"tenantName\" },\n { label: \"EKYC_TENANT_MOBILE\", key: \"tenantMobile\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const meterFields = [\n { label: \"EKYC_METERED\", key: \"metered\", isBool: true },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_METER_MAKE\", key: \"meterMake\" },\n { label: \"EKYC_METER_LOCATION_ADDRESS\", key: \"meterLocationAddress\" },\n { label: \"EKYC_METER_LATITUDE\", key: \"meterLatitude\" },\n { label: \"EKYC_METER_LONGITUDE\", key: \"meterLongitude\" },\n { label: \"EKYC_WORKING_STATUS\", key: \"workingStatus\", isBool: true },\n { label: \"EKYC_LAST_BILL_RAISED\", key: \"lastBillRaised\", isBool: true },\n { label: \"EKYC_SYSTEM_METER_ID\", key: \"systemMeterId\" },\n ];\n\n const handleDeclaration = () => setAgree(!agree);\n\n const handleReject = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"REJECTED\",\n remarks: \"Application rejected by reviewer\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Reject Error:\", err);\n }\n };\n\n const handleApprove = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"APPROVED\",\n remarks: \"All documents verified\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: false,\n label: t(\"EKYC_APPLICATION_APPROVE_SUCCESSFUL\") || \"Application Approved Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Approve Error:\", err);\n setToastData({\n error: true,\n label: err?.message || err?.response?.data?.message || \"Approve Error\",\n });\n setShowToast(true);\n }\n };\n\n const handleFinalSubmit = async () => {\n setIsSubmitting(true);\n try {\n const payload = {\n kno: activeKno,\n tenantId: tenantId,\n newData: {\n connectionDetails: connectionData,\n addressDetails: addressData,\n propertyInfo: propertyData,\n meterDetails: meterData,\n },\n };\n\n const result = await updateMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Submit Error:\", err);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleViewDocument = 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 const baseUrl = \"/digit-ui/employee/ekyc\";\n\n return (\n <Fragment>\n <Card className=\"overflow-y-scroll\">\n {/* ── 1. Connection Details ────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_CONNECTION_DETAILS\")}\n fields={connectionFields}\n newData={connectionData}\n oldData={oldDataRaw?.connection}\n t={t}\n jumpTo={`${baseUrl}/consumer-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 2. Address Details ──────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_ADDRESS_DETAILS\")}\n fields={addressFields}\n newData={addressData}\n oldData={oldDataRaw?.address}\n t={t}\n jumpTo={`${baseUrl}/address-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 3. Property Info ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_PROPERTY_INFO\")}\n fields={propertyFields}\n newData={propertyData}\n oldData={oldDataRaw?.property}\n t={t}\n jumpTo={`${baseUrl}/property-info?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 4. Meter Details ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_METER_DETAILS\")}\n fields={meterFields}\n newData={meterData}\n oldData={oldDataRaw?.meter}\n t={t}\n jumpTo={`${baseUrl}/meter-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 5. Documents ────────────────────────────────────────────── */}\n <div style={{ marginTop: \"40px\" }}>\n <CardSubHeader style={{ marginBottom: \"20px\" }}>{t(\"EKYC_DOCUMENTS\")}</CardSubHeader>\n <StatusTable style={{ maxWidth: \"600px\" }}>\n <Row\n label={t(\"EKYC_DOOR_PHOTO\")}\n text={addressData.doorPhotoFilestoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n addressData.doorPhotoFilestoreId && (\n <div onClick={() => handleViewDocument(addressData.doorPhotoFilestoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n meterData.meterPhotoFileStoreId && (\n <div onClick={() => handleViewDocument(meterData.meterPhotoFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.buildingImageFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.buildingImageFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.propertyDocumentFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.propertyDocumentFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n </StatusTable>\n </div>\n\n {!hideEditButton && (\n <div style={{ marginTop: \"40px\", paddingTop: \"30px\", borderTop: \"1px solid #EAECF0\" }}>\n <CheckBox\n id=\"agreeDeclaration\"\n name=\"agreeDeclaration\"\n label={<span style={{ fontSize: \"16px\", color: \"#344054\" }}>{t(\"EKYC_FINAL_DECLARATION\")}</span>}\n onChange={handleDeclaration}\n checked={agree}\n />\n </div>\n )}\n\n {/* <ActionBar>\n <SubmitBar label={t(\"EKYC_REJECT\")} onSubmit={handleReject} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_APPROVE\")} onSubmit={handleApprove} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_SUBMIT_APPLICATION\")} onSubmit={handleFinalSubmit} disabled={!agree} />\n </ActionBar> */}\n {!hideEditButton && (\n <ActionBar>\n <SubmitBar\n label={t(\"TAKE_ACTION_FOR_APPROVE_REJECT\")}\n onSubmit={() => setShowOptions((prev) => !prev)}\n disabled={!agree}\n />\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n </Card>\n\n {/* ── Document Preview Modal ────────────────────────────────────── */}\n {showPreview && (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0,0,0,0.7)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 10000,\n }}\n >\n <div\n style={{\n position: \"relative\",\n backgroundColor: \"#fff\",\n padding: \"30px\",\n borderRadius: \"12px\",\n maxWidth: \"600px\",\n width: \"100%\",\n maxHeight: \"70vh\",\n overflow: \"auto\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n }}\n >\n <div\n onClick={() => setShowPreview(false)}\n style={{\n position: \"absolute\",\n top: \"10px\",\n right: \"10px\",\n cursor: \"pointer\",\n fontWeight: \"bold\",\n fontSize: \"20px\",\n color: \"#333\",\n background: \"#eee\",\n width: \"30px\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: \"50%\",\n }}\n >\n ×\n </div>\n <img\n src={previewUrl}\n alt=\"Document Preview\"\n style={{ maxWidth: \"100%\", height: \"auto\", display: \"block\" }}\n onError={(e) => {\n e.target.style.display = \"none\";\n e.target.nextSibling.style.display = \"block\";\n }}\n />\n <div style={{ display: \"none\", padding: \"40px\", textAlign: \"center\" }}>\n <p>{t(\"EKYC_DOCUMENT_PREVIEW_NOT_AVAILABLE\")}</p>\n <LinkButton label={t(\"EKYC_OPEN_IN_NEW_TAB\")} onClick={() => window.open(previewUrl, \"_blank\")} />\n </div>\n </div>\n </div>\n )}\n {showToast && (\n <Toast\n error={toastData.error}\n label={toastData.label}\n onClose={() => setShowToast(false)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { UploadFile, CheckBox, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst AadhaarVerificationConfig = (t, formData = {}, uploadFile, setDocumentId, documentId) => {\n const consumerType = formData?.consumerType?.name || formData?.consumerType;\n const occupantType = formData?.occupantType?.name || formData?.occupantType;\n const informantIsConsumer = formData?.informantIsConsumer ?? true;\n\n const fields = [\n {\n label: t(\"Consumer Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consumerType\",\n populators: {\n name: \"consumerType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Individual\" }, { name: \"Govt\" }, { name: \"Company_Society_Org\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Occupant Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"occupantType\",\n populators: {\n name: \"occupantType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Self\" }, { name: \"Tenanted\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Category Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"categoryType\",\n populators: {\n name: \"categoryType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Bulk\" }, { name: \"Non-Bulk\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"First Name\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"firstName\",\n validation: { required: true },\n },\n },\n {\n label: t(\"Middle Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"middleName\",\n },\n },\n {\n label: t(\"Last Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"lastName\",\n },\n },\n {\n label: t(\"Gender\"),\n isMandatory: false,\n type: \"custom\",\n key: \"gender\",\n populators: {\n name: \"gender\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Male\" }, { name: \"Female\" }, { name: \"Others\" }, { name: \"Not prefer to say\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Parent/Spouse Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"parentSpouseName\",\n },\n },\n {\n label: t(\"Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"mobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n error: t(\"Invalid mobile number\"),\n },\n },\n {\n label: t(\"WhatsApp\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"whatsapp\",\n },\n },\n {\n label: t(\"Email\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"email\",\n validation: {\n pattern: /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9.-]+$/,\n },\n error: t(\"Invalid email address\"),\n },\n },\n {\n label: t(\"No. of Residents\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"residents\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Type of Identity\"),\n isMandatory: true,\n type: \"custom\",\n key: \"identityType\",\n populators: {\n name: \"identityType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Aadhaar Card\" }, { name: \"Driving License\" }, { name: \"Passport\" }, { name: \"Voter ID\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Proof of Identity\"),\n isMandatory: false,\n type: \"custom\",\n key: \"idFile\",\n populators: {\n name: \"idFile\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n },\n {\n label: t(\"Document Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"documentNumber\",\n },\n },\n {\n label: t(\"Informant Is Consumer\"),\n isMandatory: false,\n type: \"custom\",\n key: \"informantIsConsumer\",\n populators: {\n name: \"informantIsConsumer\",\n component: (props) => (\n <CheckBox\n label={t(\"Yes, the informant is the consumer\")}\n checked={props.value ?? true}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n },\n ];\n\n // Informant conditional fields\n if (!informantIsConsumer) {\n fields.push(\n {\n label: t(\"Informant Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantName\",\n },\n },\n {\n label: t(\"Informant Relation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantRelation\",\n },\n }\n );\n }\n\n // Tenant conditional fields\n if (occupantType === \"Tenanted\") {\n fields.push({\n label: t(\"Document Proof\"),\n isMandatory: false,\n type: \"custom\",\n key: \"documentProof\",\n populators: {\n name: \"documentProof\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n });\n\n if (!documentId) {\n fields.push(\n {\n label: t(\"Owner Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"ownerMobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n },\n },\n {\n label: t(\"Tenant Verification\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"tenantVerification\",\n },\n }\n );\n }\n }\n\n // Govt conditional fields\n if (consumerType === \"Govt\") {\n fields.push(\n {\n label: t(\"Designation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"designation\",\n },\n },\n {\n label: t(\"Department\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"department\",\n },\n },\n {\n label: t(\"Employee ID\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"employeeId\",\n },\n }\n );\n }\n\n // Company / Society / Org conditional fields\n if (consumerType === \"Company_Society_Org\") {\n fields.push(\n {\n label: t(\"Entity Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"entityName\",\n },\n },\n {\n label: t(\"Contact Person\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"contactPerson\",\n },\n }\n );\n }\n\n // Consent checkbox field\n fields.push({\n label: t(\"Consent\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consent\",\n populators: {\n name: \"consent\",\n validation: { required: true },\n component: (props) => (\n <CheckBox\n label={t(\"I hereby consent to verify my Aadhaar details.\")}\n checked={props.value ?? false}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n });\n\n return [\n {\n head: t(\"EKYC_CONSUMER_CONNECTION\"),\n body: fields,\n },\n ];\n};\n\nexport default AadhaarVerificationConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport AadhaarVerificationConfig from \"../config/AadhaarVerificationConfig\";\n\nconst AadhaarVerification = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\") ||\n \"\";\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"CONNECTION\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.aadhaarVerification || {};\n\n // 🔹 STATES\n const [documentId, setDocumentId] = useState(savedData.documentId || null);\n const [documentProof, setDocumentProof] = useState(savedData.documentProof || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType ? { name: savedData.consumerType } : null,\n occupantType: savedData.occupantType ? { name: savedData.occupantType } : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || \"\",\n middleName: savedData.middleName || \"\",\n lastName: savedData.lastName || \"\",\n gender: savedData.gender ? { name: savedData.gender } : null,\n parentSpouseName: savedData.parentSpouseName || \"\",\n mobile: savedData.mobile || \"\",\n whatsapp: savedData.whatsapp || \"\",\n email: savedData.email || \"\",\n residents: savedData.residents || \"\",\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || \"\",\n informantRelation: savedData.informantRelation || \"\",\n documentId: savedData.documentId || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const details = rawData?.connectionDetails || rawData || {};\n const addrDetails = rawData?.addressDetails || {};\n\n if (details && Object.keys(details).length > 0 && !isDataLoaded) {\n let fName = \"\";\n let mName = \"\";\n let lName = \"\";\n\n if (details.firstName) {\n fName = details.firstName;\n mName = details.middleName || \"\";\n lName = details.lastName || \"\";\n } else if (details.consumerName) {\n const parts = details.consumerName.trim().split(/\\s+/);\n fName = parts[0] || \"\";\n if (parts.length === 2) lName = parts[1];\n if (parts.length > 2) {\n mName = parts.slice(1, -1).join(\" \");\n lName = parts[parts.length - 1];\n }\n }\n\n const updatedDefaults = {\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType\n ? { name: savedData.consumerType }\n : details.consumerType\n ? { name: details.consumerType }\n : null,\n occupantType: savedData.occupantType\n ? { name: savedData.occupantType }\n : details.occupantType\n ? { name: details.occupantType }\n : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || fName,\n middleName: savedData.middleName || mName,\n lastName: savedData.lastName || lName,\n gender: savedData.gender\n ? { name: savedData.gender }\n : details.gender\n ? { name: details.gender }\n : null,\n parentSpouseName: savedData.parentSpouseName || details.parentSpouse || \"\",\n mobile: savedData.mobile || details.phoneNumber || addrDetails.mobileNo || \"\",\n whatsapp: savedData.whatsapp || addrDetails.whatsappNo || \"\",\n email: savedData.email || details.email || addrDetails.email || \"\",\n residents: savedData.residents || (addrDetails.noOfPerson ? String(addrDetails.noOfPerson) : \"\"),\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || details.informantName || \"\",\n informantRelation: savedData.informantRelation || details.informantRelation || \"\",\n documentId: savedData.documentId || details.documentNumber || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.documentId) {\n setDocumentId(updatedDefaults.documentId);\n }\n if (updatedDefaults.documentProof) {\n setDocumentProof(updatedDefaults.documentProof);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUploadProof = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n if (fileStoreId) {\n onChange(file.name);\n setDocumentProof(file.name);\n setDocumentId(fileStoreId);\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Avoid updating states on every keypress unless they affect conditional visibility\n const consumerTypeChanged =\n (data?.consumerType?.name || data?.consumerType) !==\n (localFormData?.consumerType?.name || localFormData?.consumerType);\n const occupantTypeChanged =\n (data?.occupantType?.name || data?.occupantType) !==\n (localFormData?.occupantType?.name || localFormData?.occupantType);\n const informantIsConsumerChanged = data?.informantIsConsumer !== localFormData?.informantIsConsumer;\n\n if (consumerTypeChanged || occupantTypeChanged || informantIsConsumerChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const knoVal = data?.kno || searchKno;\n const consumerTypeVal = data?.consumerType;\n const occupantTypeVal = data?.occupantType;\n const categoryTypeVal = data?.categoryType;\n const firstNameVal = data?.firstName;\n const mobileVal = data?.mobile;\n const residentsVal = data?.residents;\n const consentVal = data?.consent;\n const docId = data?.documentId || documentId;\n const ownerMobileVal = data?.ownerMobile;\n\n let valid = true;\n if (!knoVal) valid = false;\n if (!consumerTypeVal) valid = false;\n if (!occupantTypeVal) valid = false;\n if (!categoryTypeVal) valid = false;\n if (!firstNameVal) valid = false;\n if (!mobileVal || !/^[6-9]\\d{9}$/.test(mobileVal)) valid = false;\n if (!residentsVal || Number(residentsVal) <= 0) valid = false;\n if (occupantTypeVal?.name === \"Tenanted\" && !docId && !ownerMobileVal) valid = false;\n if (!consentVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n kno: data.kno || searchKno,\n consumerType: data.consumerType?.name || data.consumerType,\n occupantType: data.occupantType?.name || data.occupantType,\n categoryType: data.categoryType?.name || data.categoryType,\n consumerName: data.consumerName || `${data.firstName || \"\"} ${data.middleName || \"\"} ${data.lastName || \"\"}`.trim(),\n firstName: data.firstName,\n middleName: data.middleName,\n lastName: data.lastName,\n gender: data.gender?.name || data.gender,\n parentSpouseName: data.parentSpouseName,\n relation: data.relation || savedData.relation || \"\",\n mobile: data.mobile,\n whatsapp: data.whatsapp,\n email: data.email,\n residents: data.residents,\n documentId: documentId,\n documentProof: documentProof,\n ownerMobile: data.ownerMobile,\n tenantVerification: data.tenantVerification,\n designation: data.designation,\n department: data.department,\n employeeId: data.employeeId,\n landline: data.landline || savedData.landline || \"\",\n entityRelation: data.entityRelation || savedData.entityRelation || \"\",\n contactPerson: data.contactPerson,\n entityName: data.entityName,\n idProof: data.identityType?.name || data.identityType,\n idNumber: data.documentNumber,\n consent: data.consent,\n informantIsConsumer: data.informantIsConsumer ?? true,\n informantName: data.informantName,\n informantRelation: data.informantRelation,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"CONSUMER\",\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Data updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update consumer details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = AadhaarVerificationConfig(t, localFormData, handleUploadProof, setDocumentId, documentId);\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default AadhaarVerification;\n","import AadhaarVerification from \"../components/AadhaarVerification\";\n\nexport const ekycConfig = [\n {\n body: [\n {\n route: \"consumer-details\",\n component: AadhaarVerification,\n key: \"aadhaarVerification\",\n texts: {\n header: \"EKYC_CONSUMER_CONNECTION\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 1,\n actions: \"EKYC_CONSUMER_CONNECTION\",\n },\n ],\n },\n {\n route: \"address-details\",\n component: \"AddressDetails\",\n key: \"addressDetails\",\n doorImage: true,\n showMapActualLocation: false,\n texts: {\n header: \"EKYC_ADDRESS_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 2,\n actions: \"EKYC_ADDRESS_DETAILS\",\n },\n ],\n },\n {\n route: \"property-info\",\n component: \"PropertyInfo\",\n key: \"propertyDetails\",\n texts: {\n header: \"EKYC_PROPERTY_INFO\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 3,\n actions: \"EKYC_PROPERTY_INFO\",\n },\n ],\n },\n {\n route: \"meter-details\",\n component: \"MeterDetails\",\n key: \"meterDetails\",\n texts: {\n header: \"EKYC_METER_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 4,\n actions: \"EKYC_METER_DETAILS\",\n },\n ],\n },\n ],\n },\n];\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n// import { useQueryClient } from \"react-query\";\nimport { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from \"react-router-dom\";\nimport { VerticalTimeline } from \"@djb25/digit-ui-react-components\";\nimport { ekycConfig } from \"../../config/config\";\n\nconst EKYCForm = ({ path: passedPath }) => {\n // const queryClient = useQueryClient();\n const match = useRouteMatch();\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const history = useHistory();\n\n let config = [];\n const [params, setParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n useEffect(() => {\n if (location.state && Object.keys(location.state).length > 0) {\n const { edits, ...rest } = location.state;\n setParams({ ...params, ...rest, ...edits });\n }\n }, [location.state]);\n\n const goNext = (skipStep, index, isAddMultiple, key) => {\n let currentPath = pathname.split(\"/\").pop();\n let routeObj = config.find((routeObj) => (key ? routeObj.key === key : routeObj.route === currentPath));\n if (!routeObj) routeObj = config.find((routeObj) => routeObj.route === currentPath);\n\n let nextStep = null;\n const currentIndex = config.findIndex((c) => c.route === routeObj.route);\n if (currentIndex > -1 && currentIndex < config.length - 1) {\n nextStep = config[currentIndex + 1].route;\n }\n\n let redirectWithHistory = history.push;\n if (skipStep) {\n redirectWithHistory = history.replace;\n }\n\n const base = passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\");\n if (nextStep === null) {\n return redirectWithHistory(`${base}/review`, { ...params, edits: params });\n }\n\n redirectWithHistory(`${base}/${nextStep}`, { ...params });\n };\n\n function handleSelect(key, data, skipStep, index, isAddMultiple = false, silent = false) {\n setParams((prev) => ({ ...prev, [key]: { ...params[key], ...data } }));\n if (!silent) {\n goNext(skipStep, index, isAddMultiple, key);\n }\n }\n\n // const onSuccess = () => {\n // clearParams();\n // queryClient.invalidateQueries(\"EKYC_CREATE\");\n // };\n\n ekycConfig.forEach((obj) => {\n config = config.concat(obj.body);\n });\n\n config.indexRoute = \"consumer-details\";\n\n const formStepRoutes = config.map((c) => c.route);\n const isFormStep = formStepRoutes.some((route) => pathname.includes(route));\n\n const sectionRefs = useRef({});\n\n useEffect(() => {\n if (isFormStep) {\n const currentRoute = pathname.split(\"/\").pop();\n if (sectionRefs.current[currentRoute]) {\n sectionRefs.current[currentRoute].scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }\n }\n }, [pathname, isFormStep]);\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={config} showFinalStep={true} />\n <div className=\"employee-form-section\">\n <Switch>\n <Route path={formStepRoutes.map((route) => `${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${route}`)}>\n <div className=\"single-page-form-container\">\n {config.map((routeObj, index) => {\n const { component } = routeObj;\n const Component = typeof component === \"string\" ? Digit.ComponentRegistryService.getComponent(component) : component;\n\n return (\n <div key={index} ref={(el) => (sectionRefs.current[routeObj.route] = el)} className=\"form-section-unit\">\n <Component\n config={{ ...routeObj, isCollapsible: true, defaultOpen: true }}\n onSelect={handleSelect}\n t={t}\n formData={params}\n // formData={{ ...params, address: params.addressDetails }}\n />\n </div>\n );\n })}\n </div>\n </Route>\n <Route>\n <Redirect to={`${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${config.indexRoute}`} />\n </Route>\n </Switch>\n </div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default EKYCForm;\n","import React, { useMemo, useState } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { ekycMockData } from \"./mockData\";\nimport Dashboard from \"./Dashboard\";\n\nconst parseAdditionalDetails = (additionalDetails) => {\n if (!additionalDetails) return {};\n if (typeof additionalDetails === \"object\") return additionalDetails;\n if (typeof additionalDetails !== \"string\") return {};\n try {\n return JSON.parse(additionalDetails);\n } catch (error) {\n return {};\n }\n};\n\nconst AdminDashboard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\";\n }\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n const allVendorIds = useMemo(() => {\n if (!vendorSearchResponse) return [];\n return vendorSearchResponse\n .map((v) => {\n const dso = v.dsoDetails || v;\n return dso.id || dso.vendorId || v.id || v.vendorId;\n })\n .filter(Boolean);\n }, [vendorSearchResponse]);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n allVendorIds.length > 0 ? { vendorId: allVendorIds[0], vendorIds: allVendorIds } : {},\n {\n enabled: !!tenantId && allVendorIds.length > 0,\n keepPreviousData: true,\n }\n );\n\n const vendorsList = useMemo(() => {\n if (vendorSearchResponse && vendorSearchResponse.length > 0) {\n const filteredVendors = vendorSearchResponse.filter((v) => {\n const dso = v.dsoDetails || v;\n const additionalDetails = parseAdditionalDetails(dso.additionalDetails || v.additionalDetails);\n return additionalDetails?.serviceType?.toLowerCase() === \"ekyc\";\n });\n\n return filteredVendors.map((v) => {\n const dso = v.dsoDetails || v;\n const supervisorsList = dso.supervisors || [];\n const surveyorsList = dso.surveyors || [];\n\n // Extract supervisor IDs for this vendor\n const supervisorIds = supervisorsList.map((s) => s.id || s.owner?.uuid).filter(Boolean);\n\n // Find supervisor reports in progressData matching these IDs\n const matchedReports = progressData?.supervisorReport?.filter(\n (r) => supervisorIds.includes(r.supervisorId)\n ) || [];\n\n const completed = matchedReports.reduce((acc, r) => acc + (r.submittedKnos || 0), 0);\n const pending = matchedReports.reduce((acc, r) => acc + (r.pendingKnos || 0), 0);\n const total = matchedReports.reduce((acc, r) => acc + (r.totalKnos || 0), 0);\n const progress = total > 0 ? Math.round((completed / total) * 100) : 0;\n const rejected = 0; // Default to 0 or calculate if data exists\n\n return {\n id: dso.id || dso.vendorId || v.id || v.vendorId,\n name: dso.name || dso.displayName || v.name || \"N/A\",\n ownerName: dso.owner?.name || v.owner?.name || \"N/A\",\n mobileNumber: dso.mobileNumber || dso.owner?.mobileNumber || v.mobileNumber || \"N/A\",\n supervisors: supervisorsList.length,\n surveyors: surveyorsList.length,\n completed: completed,\n progress: progress,\n pending: pending,\n rejected: rejected,\n };\n });\n }\n return [];\n }, [vendorSearchResponse, progressData]);\n\n return (\n <Card className=\"surveyor-dashboard\">\n <Dashboard />\n <div className=\"admin-performance-section\">\n <h3 className=\"section-title\">\n {t(\"EKYC_VENDORS_PERFORMANCE\") || \"eKYC Vendors Performance\"}\n </h3>\n\n {isVendorSearchLoading || isProgressLoading ? (\n <Loader />\n ) : (\n <div className=\"vendors-grid\">\n {vendorsList.length === 0 ? (\n <div className=\"no-vendors\">\n {t(\"NO_VENDORS_FOUND\") || \"No vendors found.\"}\n </div>\n ) : (\n vendorsList.map((vendor) => (\n <div\n key={vendor.id}\n className=\"vendor-perf-card\"\n onClick={() => history.push(`/digit-ui/employee/ekyc/vendors/${vendor.id}`)}\n >\n <div className=\"card-header\">\n <div className=\"vendor-info\">\n <h4>{vendor.name}</h4>\n <p>{t(\"MOBILE\") || \"Mobile\"}: {vendor.mobileNumber}</p>\n </div>\n <span className=\"progress-badge\">\n {vendor.progress}%\n </span>\n </div>\n\n <div className=\"progress-bar-container\">\n <div className=\"progress-bar-fill\" style={{ width: `${vendor.progress}%` }}></div>\n </div>\n\n <div className=\"stats-grid\">\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.supervisors}</div>\n <div className=\"label\">{t(\"SUPERVISORS\") || \"Supervisors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value\">{vendor.surveyors}</div>\n <div className=\"label\">{t(\"SURVEYORS\") || \"Surveyors\"}</div>\n </div>\n <div className=\"stat-item\">\n <div className=\"value completed-val\">{vendor.completed}</div>\n <div className=\"label\">{t(\"COMPLETED\") || \"Completed\"}</div>\n </div>\n </div>\n\n <div className=\"card-footer\">\n <span>{t(\"PENDING\") || \"Pending\"}: <span className=\"pending-count\">{vendor.pending}</span></span>\n <span>{t(\"REJECTED\") || \"Rejected\"}: <span className=\"rejected-count\">{vendor.rejected}</span></span>\n </div>\n </div>\n ))\n )}\n </div>\n )}\n </div>\n\n </Card>\n );\n};\n\nexport default AdminDashboard;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { downloadSupervisorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\n\nconst SupervisorDetailsCard = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { id: supervisorId } = useParams();\n const loggedInUser = Digit.SessionStorage.get(\"User\")?.info;\n const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n\n // Fetch all supervisors to get details if assignment progress fails\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Resolve vendorId of this supervisor if available\n const targetVendorId = useMemo(() => {\n const targetId = supervisorId || loggedInUser?.uuid;\n if (!targetId || !supervisorSearchResponse?.supervisors) return null;\n const matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n return matchedSup?.vendorId || null;\n }, [supervisorId, loggedInUser, supervisorSearchResponse]);\n\n // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress(\n targetVendorId ? { vendorId: targetVendorId, vendorIds: [targetVendorId] } : {},\n {\n enabled: !!tenantId,\n keepPreviousData: true,\n }\n );\n\n // Fetch all surveyors to get details of connected surveyors if assignment progress fails\n const { data: surveyorSearchResponse, isLoading: isSurveyorSearchLoading } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId, staleTime: 300000 }\n );\n\n const supervisor = useMemo(() => {\n const targetOwnerOrId = supervisorId || loggedInUser?.uuid;\n if (!targetOwnerOrId) return null;\n\n // Step 0: resolve real supervisor entity id (handles self-login case\n // where we only have the owner/auth uuid, not the supervisor record id)\n let resolvedSupervisorId = supervisorId; // if URL already has entity id, trust it\n if (!resolvedSupervisorId && supervisorSearchResponse?.supervisors && targetOwnerOrId) {\n const selfSup = supervisorSearchResponse.supervisors.find(\n (s) =>\n s.owner?.uuid?.toLowerCase() === targetOwnerOrId?.toLowerCase() ||\n s.id?.toLowerCase() === targetOwnerOrId?.toLowerCase()\n );\n resolvedSupervisorId = selfSup?.id;\n }\n\n const targetId = resolvedSupervisorId || targetOwnerOrId;\n\n // 1. Find the supervisor profile from search response\n let matchedSup = null;\n if (supervisorSearchResponse?.supervisors) {\n matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n // 2. Find progress report for this supervisor from progressData\n let progressReport = null;\n if (progressData?.supervisorReport && targetId) {\n progressReport = progressData.supervisorReport.find(\n (s) =>\n s.supervisorId?.toLowerCase() === targetId?.toLowerCase() ||\n s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n // 3. If we found the supervisor in search response, enrich and return\n if (matchedSup) {\n const matchedSurveyors = surveyorSearchResponse?.surveyors\n ? surveyorSearchResponse.surveyors\n .filter((surv) => surv.supervisorId === (matchedSup.id || matchedSup.owner?.uuid))\n .map((surv) => {\n let realStats = null;\n if (progressData?.supervisorReport) {\n for (const report of progressData.supervisorReport) {\n if (\n report.supervisorId?.toLowerCase() !== matchedSup.id?.toLowerCase() &&\n report.id?.toLowerCase() !== matchedSup.id?.toLowerCase()\n ) continue;\n const matchedSurv = report.surveyors?.find(\n (s) =>\n (s.surveyorId && (s.surveyorId?.toLowerCase() === surv.id?.toLowerCase() || s.surveyorId?.toLowerCase() === surv.owner?.uuid?.toLowerCase())) ||\n (s.id && (s.id?.toLowerCase() === surv.id?.toLowerCase() || s.id?.toLowerCase() === surv.owner?.uuid?.toLowerCase()))\n );\n if (matchedSurv) {\n realStats = matchedSurv;\n break;\n }\n }\n }\n\n return {\n surveyorId: surv.id || surv.owner?.uuid,\n surveyorName: surv.name || surv.owner?.name || \"N/A\",\n mobileNo: surv.owner?.mobileNumber || surv.mobileNo || \"N/A\",\n status: surv.status || \"ACTIVE\",\n totalKnos: realStats?.totalKnos || 0,\n submittedKnos: realStats?.submittedKnos || 0,\n pendingKnos: realStats?.pendingKnos || 0,\n progressPercent: realStats?.progressPercent || 0,\n };\n })\n : [];\n\n const totalKnos = progressReport?.totalKnos || matchedSurveyors.reduce((acc, s) => acc + (s.totalKnos || 0), 0);\n const submittedKnos = progressReport?.submittedKnos || matchedSurveyors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0);\n const pendingKnos = progressReport?.pendingKnos || matchedSurveyors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0);\n const progressPercent = progressReport ? progressReport.progressPercent : (totalKnos > 0 ? Math.round((submittedKnos / totalKnos) * 100) : 0);\n\n return {\n supervisorId: matchedSup.id || matchedSup.owner?.uuid,\n supervisorName: matchedSup.name || matchedSup.owner?.name || \"N/A\",\n mobileNo: matchedSup.owner?.mobileNumber || matchedSup.mobileNo || \"N/A\",\n status: matchedSup.status || \"ACTIVE\",\n assignedZoneId: matchedSup.assignedZoneId || \"N/A\",\n vendorId: matchedSup.vendorId,\n surveyors: matchedSurveyors,\n totalKnos,\n submittedKnos,\n pendingKnos,\n progressPercent,\n };\n }\n\n // 4. Fallback: If not found in search response, but we have progressData report, return it and enrich with loggedInUser details\n if (progressReport) {\n const isSelf = targetId?.toLowerCase() === loggedInUser?.uuid?.toLowerCase();\n const supervisorName = isSelf ? (loggedInUser?.name || progressReport.supervisorName || \"N/A\") : (progressReport.supervisorName || \"N/A\");\n const mobileNo = isSelf ? (loggedInUser?.mobileNumber || progressReport.mobileNo || \"N/A\") : (progressReport.mobileNo || \"N/A\");\n\n const surveyorsMapped = progressReport.surveyors\n ? progressReport.surveyors.map((surv) => {\n const matchedSurv = surveyorSearchResponse?.surveyors?.find(\n (s) => s.id?.toLowerCase() === surv.surveyorId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === surv.surveyorId?.toLowerCase()\n );\n\n return {\n surveyorId: surv.surveyorId || surv.id,\n surveyorName: matchedSurv?.name || matchedSurv?.owner?.name || surv.surveyorName || \"N/A\",\n mobileNo: matchedSurv?.owner?.mobileNumber || matchedSurv?.mobileNo || surv.mobileNo || \"N/A\",\n status: matchedSurv?.status || surv.status || \"ACTIVE\",\n totalKnos: surv.totalKnos || 0,\n submittedKnos: surv.submittedKnos || 0,\n pendingKnos: surv.pendingKnos || 0,\n progressPercent: surv.progressPercent || 0,\n };\n })\n : [];\n\n return {\n supervisorId: progressReport.supervisorId || progressReport.id,\n supervisorName,\n mobileNo,\n status: progressReport.status || \"ACTIVE\",\n assignedZoneId: progressReport.assignedZoneId || \"N/A\",\n vendorId: progressReport.vendorId,\n surveyors: surveyorsMapped,\n totalKnos: progressReport.totalKnos || 0,\n submittedKnos: progressReport.submittedKnos || 0,\n pendingKnos: progressReport.pendingKnos || 0,\n progressPercent: progressReport.progressPercent || 0,\n };\n }\n\n return null;\n }, [progressData, supervisorSearchResponse, surveyorSearchResponse, supervisorId, loggedInUser]);\n\n const fullName = supervisor?.supervisorName || \"N/A\";\n const mobileNumber = supervisor?.mobileNo || \"N/A\";\n const email = loggedInUser?.emailId || \"N/A\";\n const gender = loggedInUser?.gender || \"N/A\";\n const status = supervisor?.status || \"N/A\";\n const assignedZone = supervisor?.assignedZoneId || \"N/A\";\n\n const vendorName = useMemo(() => {\n if (!vendorSearchResponse || !supervisor) return \"N/A\";\n const targetVendorId = supervisor.vendorId;\n if (!targetVendorId) return \"N/A\";\n const matchedVendor = vendorSearchResponse.find(\n (v) => v.dsoDetails?.id === targetVendorId || v.dsoDetails?.vendorId === targetVendorId || v.id === targetVendorId || v.vendorId === targetVendorId\n );\n return matchedVendor?.dsoDetails?.name || matchedVendor?.name || \"N/A\";\n }, [vendorSearchResponse, supervisor]);\n\n const surveyors = useMemo(() => {\n return supervisor?.surveyors || [];\n }, [supervisor]);\n\n const cards = useMemo(() => [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: supervisor?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: supervisor?.submittedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: supervisor?.pendingKnos || 0,\n color: \"#F59E0B\",\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${supervisor?.progressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n icon: <FaChartLine />,\n \n },\n ], [supervisor]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const paginatedSurveyors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return surveyors.slice(start, end);\n }, [surveyors, currentPage, pageSize]);\n\n const surveyorColumns = useMemo(\n () => [\n {\n Header: t(\"SURVEYOR_NAME\") || \"Surveyor Name\",\n accessor: (row) => row?.surveyorName || \"N/A\",\n Cell: ({ row }) => {\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n const targetPath = `/digit-ui/${userType}/ekyc/surveyor-dashboard/${row.original.surveyorId}`\n return (\n <a\n href={targetPath}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n onClick={(e) => {\n e.preventDefault();\n history.push(targetPath);\n }}\n >\n {row.original?.surveyorName || \"N/A\"}\n </a>\n );\n },\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: () => \"ACTIVE\",\n id: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge verified`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalKnos || 0,\n id: \"totalEkycApplications\",\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.submittedKnos || 0,\n id: \"ekycCompleted\",\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingKnos || 0,\n id: \"pendingApplications\",\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => `${row?.progressPercent || 0}%`,\n id: \"overallProgress\",\n }\n ],\n [t, history]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const handleDownload = () => {\n setReportLoading(true);\n try {\n const rowsWithStats = surveyors.map((s) => ({\n name: s.surveyorName,\n mobileNo: s.mobileNo,\n status: s.status,\n total: s.totalKnos,\n completed: s.submittedKnos,\n pending: s.pendingKnos,\n progress: `${s.progressPercent}%`\n }));\n\n const totalKnos = supervisor?.totalKnos || 0;\n const completedKnos = supervisor?.submittedKnos || 0;\n\n downloadSupervisorPDF({\n rows: rowsWithStats,\n supervisorName: fullName,\n vendorName,\n mobileNumber,\n email,\n dashboardInfo: {\n total: totalKnos,\n completed: completedKnos,\n pending: totalKnos - completedKnos,\n submittedCount: completedKnos,\n },\n t,\n });\n } catch (err) {\n console.error(\"Failed to generate supervisor report:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handlePresetDownload = (filter) => {\n handleDownload();\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n handleDownload();\n };\n\n const handleDownloadEkycData = async () => {\n if (!surveyors || surveyors.length === 0) {\n alert(t(\"NO_SURVEYORS_ASSIGNED\") || \"No surveyors assigned to this supervisor.\");\n return;\n }\n\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n reportDownload: true\n });\n\n const consumerList = response?.consumerList || [];\n\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const toTitleCase = (str) => {\n if (!str) return \"\";\n // Handle dot-notation values like \"CONSUMERTYPE.INDIVIDUAL\" → \"Individual\"\n const cleanStr = String(str).includes(\".\") ? String(str).split(\".\").pop() : String(str);\n return cleanStr\n .toLowerCase()\n .replace(/_/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n };\n\n // Text fields that should be Title Cased (incl. dot-notation like CONSUMERTYPE.INDIVIDUAL)\n const titleCaseFields = [\"ekycStatus\", \"zoneName\", \"gender\", \"relationship\", \"assembly\", \"ward\", \"consumerType\"];\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n if (typeof val === \"string\" && titleCaseFields.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_Supervisor_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const isPageLoading = isProgressLoading || isSupervisorSearchLoading || isSurveyorSearchLoading || isVendorSearchLoading;\n\n if (isPageLoading && !supervisor) {\n return <Loader />;\n }\n\n if (!supervisor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SUPERVISOR_FOUND\")}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n <div className=\"designation\">{t(\"FIELD_SUPERVISOR\") || \"Field Supervisor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n isLoading={isProgressLoading}\n icon={card.icon}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{mobileNumber}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{email}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{gender}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{status}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"ASSIGNED_ZONE\") || \"Assigned Zone\"}</span>\n <span className=\"value\">\n {assignedZone && assignedZone !== \"N/A\"\n ? (\n <div className=\"selected-zones\" style={{ marginTop: \"4px\" }}>\n <span className=\"selected-zone-chip\">\n {t(assignedZone.trim().toUpperCase()) || assignedZone}\n </span>\n </div>\n )\n : assignedZone}\n </span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\"}\n tableClass=\"ekycTable\"\n data={paginatedSurveyors}\n columns={surveyorColumns}\n isLoading={isProgressLoading}\n totalRecords={surveyors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(surveyors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(surveyors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default SupervisorDetailsCard;","import React, { useMemo, useState, useEffect } from \"react\";\nimport { Modal, Close, Table, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nconst AssignEkycModal = ({ surveyor, isReassign, closeModal, refetchDashboard, tenantId: propsTenantId }) => {\n const { t } = useTranslation();\n const tenantId = propsTenantId || Digit.ULBService.getCurrentTenantId();\n const [selectedKnos, setSelectedKnos] = useState([]);\n const [isBulkSelection, setIsBulkSelection] = useState(false);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(10);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({\n error: false,\n label: \"\",\n });\n const [filters, setFilters] = useState({\n kno: \"\", // search value\n pincode: \"\",\n zoneCode: \"\",\n zoneName: \"\",\n ward: \"\",\n assembly: \"\",\n mrkey: \"\",\n ekycStatus: \"\",\n });\n\n const [debouncedFilters, setDebouncedFilters] = useState(filters);\n\n const { data: zroLocationsData, isLoading: isZroLoading } = Digit.Hooks.ws.useWSConfigMDMS.ZROLocation(tenantId);\n const mappedZROLocation = useMemo(() => {\n return (zroLocationsData || []).map((item) => ({\n code: item.code,\n name: item.name,\n }));\n }, [zroLocationsData]);\n\n const { data: egovLocationData } = Digit.Hooks.useCommonMDMS(tenantId, \"egov-location\", [\"TenantBoundary\"]);\n\n const boundaryData = useMemo(() => {\n const tenantBoundary = egovLocationData?.[\"egov-location\"]?.TenantBoundary || [];\n const revenueData = tenantBoundary.find((item) => item?.hierarchyType?.code === \"REVENUE\");\n const boundary = revenueData?.boundary || [];\n return Array.isArray(boundary) ? boundary : [boundary];\n }, [egovLocationData]);\n\n const { assemblyOptions, wardOptions } = useMemo(() => {\n const assemblies = new Map();\n const wards = new Map();\n\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const traverse = (node) => {\n if (!node) return;\n if (node.label === \"Ward\" || node.label === \"WARD\" || node.label === \"Block\" || node.label === \"BLOCK\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) wards.set(code, { code, name: name });\n }\n if (node.label === \"Assembly Constituency\" || node.label === \"ASSEMBLY_CONSTITUENCY\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) assemblies.set(code, { code, name: name });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach(traverse);\n }\n };\n\n boundaries.forEach(traverse);\n\n return {\n assemblyOptions: Array.from(assemblies.values()).sort((a, b) => a.name.localeCompare(b.name)),\n wardOptions: Array.from(wards.values()).sort((a, b) => a.name.localeCompare(b.name)),\n };\n }, [boundaryData]);\n\n const structuredLocalityData = useMemo(() => {\n let localities = [];\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const extractLocalities = (node) => {\n if (!node) return;\n\n if (node.label === \"Locality\" || node.label === \"LOCALITY\") {\n localities.push({\n ...node,\n name: node.localname || node.name || node.code,\n });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach((child) => extractLocalities(child));\n }\n };\n\n boundaries.forEach((rootNode) => extractLocalities(rootNode));\n\n return localities;\n }, [boundaryData]);\n\n const fetchedPincodes = useMemo(() => {\n const pinSet = new Set();\n\n structuredLocalityData.forEach((loc) => {\n if (loc.pincode) {\n const pins = Array.isArray(loc.pincode) ? loc.pincode : [loc.pincode];\n pins.forEach((p) => {\n if (p) {\n const sanitizedPin = p.toString().split(\".\")[0];\n pinSet.add(sanitizedPin);\n }\n });\n }\n });\n\n return Array.from(pinSet).sort();\n }, [structuredLocalityData]);\n\n const { data: filterOptionsData } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n unassignedOnly: !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: currentPage * pageSize,\n limit: pageSize,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const handleAssignmentError = (errMsg, variables) => {\n const isAlreadyAssigned =\n errMsg.toLowerCase().includes(\"already assigned\") ||\n errMsg.toLowerCase().includes(\"already assign\") ||\n errMsg.toLowerCase().includes(\"active assignment\") ||\n errMsg.toLowerCase().includes(\"mrkey\") ||\n errMsg.toLowerCase().includes(\"mr key\") ||\n errMsg.toLowerCase().includes(\"kno\") ||\n errMsg.toLowerCase().includes(\"already exists\");\n\n if (isAlreadyAssigned) {\n const isMrKeyType = variables?.assignmentType === \"MRKEY\";\n\n if (isMrKeyType) {\n setToastData({\n error: true,\n label: t(\"EKYC_MR_KEY_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"mr key is already assign with another surveyor\",\n });\n } else {\n setToastData({\n error: true,\n label: t(\"EKYC_KNO_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"kno is already assign with another surveyor\",\n });\n }\n } else {\n setToastData({\n error: true,\n label: t(errMsg) || errMsg || t(\"EKYC_SOMETHING_WENT_WRONG\") || \"Something went wrong\",\n });\n }\n setShowToast(true);\n };\n\n const assignmentMutation = Digit.Hooks.ekyc.useEkycAssignmentCreate({\n onSuccess: (response, variables) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n return;\n }\n\n // Check for skipped assignments (e.g. 200 OK but skipped)\n if (response?.skipped && response.skipped.length > 0) {\n const reason = response.skipped[0]?.reason || \"\";\n handleAssignmentError(reason, variables);\n return;\n }\n\n setToastData({\n error: false,\n label: t(\"EKYC_ASSIGNMENT_SUCCESSFUL\") || \"Assignment successful\",\n });\n\n setShowToast(true);\n\n // optional delay so user can see the success toast\n setTimeout(async () => {\n if (refetchDashboard) {\n await refetchDashboard();\n }\n if (refetchApplicationList) {\n await refetchApplicationList();\n }\n closeModal();\n }, 1000);\n },\n\n onError: (error, variables) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n handleAssignmentError(errMsg, variables);\n },\n });\n\n const 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 tableData = applicationData?.consumerList || [];\n\n const getAssignmentPayload = () => {\n if (isBulkSelection) {\n const filterMappings = [\n { key: \"ekycStatus\", type: \"EKYCSTATUS\" },\n { key: \"zoneName\", type: \"ZONENAME\" },\n { key: \"assembly\", type: \"ASSEMBLY\" },\n { key: \"ward\", type: \"WARD\" },\n { key: \"mrkey\", type: \"MRKEY\" },\n { key: \"pincode\", type: \"PINCODE\" },\n ];\n\n const appliedFilter = filterMappings.find(({ key }) => debouncedFilters[key]);\n\n if (appliedFilter) {\n return {\n assignmentType: appliedFilter.type,\n assignmentValue: debouncedFilters[appliedFilter.key],\n };\n }\n }\n\n return {\n assignmentType: \"KNO\",\n assignmentValue: selectedKnos,\n };\n };\n\n const handleAssign = () => {\n const { assignmentType, assignmentValue } = getAssignmentPayload();\n\n const payload = {\n tenantId: tenantId,\n assignmentType,\n assignmentValue,\n };\n\n if (isReassign) {\n payload.newSurveyorId = surveyor?.owner?.uuid;\n } else {\n payload.surveyorId = surveyor?.owner?.uuid;\n }\n\n activeMutation.mutate(payload);\n };\n\n const handleSelectAll = () => {\n setIsBulkSelection(true);\n\n const pageKnos = tableData.map((item) => item.kno);\n\n const allSelected = pageKnos.length > 0 && pageKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos((prev) => (allSelected ? prev.filter((kno) => !pageKnos.includes(kno)) : [...new Set([...prev, ...pageKnos])]));\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => (\n <input\n type=\"checkbox\"\n checked={tableData.length > 0 && tableData.every((item) => selectedKnos.includes(item.kno))}\n onChange={handleSelectAll}\n />\n ),\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return <input type=\"checkbox\" checked={selectedKnos.includes(kno)} onChange={() => handleSelect(kno)} />;\n },\n },\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n {\n Header: \"Pincode\",\n accessor: \"pincode\",\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => {\n const status = (value || \"NA\").toUpperCase();\n return value ? <span className={`ekyc-status-tag ${status}`}>{t(status)}</span> : \"-\";\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedKnos, tableData]\n );\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n return (\n <Modal\n headerBarMain={isReassign ? `Reassign KNOs to ${surveyor?.name}` : `Assign KNOs to ${surveyor?.name}`}\n headerBarEnd={<Close onClick={closeModal} />}\n actionCancelLabel=\"Cancel\"\n actionCancelOnSubmit={closeModal}\n actionSaveLabel={isReassign ? (t(\"EKYC_REASSIGN_KNOS\") || \"Reassign KNOs\") : (t(\"EKYC_ASSIGN_KNOS\") || \"Assign KNOs\")}\n actionSaveOnSubmit={handleAssign}\n isDisabled={!selectedKnos?.length}\n >\n <div className=\"assign-knos-modal\">\n {/* Filters */}\n <div className=\"filters-grid\">\n <input className=\"form-control\" placeholder=\"KNO\" value={filters.kno} onChange={(e) => handleFilterChange(\"kno\", e.target.value)} />\n\n <select className=\"form-control\" value={filters.pincode} onChange={(e) => handleFilterChange(\"pincode\", e.target.value)}>\n <option value=\"\">Select Pincode</option>\n {pincodeOptions.map((pin) => (\n <option key={pin} value={pin}>\n {pin}\n </option>\n ))}\n </select>\n\n {/* <select\n className=\"form-control\"\n value={filters.zoneName}\n onChange={(e) => {\n const val = e.target.value;\n setFilters((prev) => ({\n ...prev,\n zoneCode: val,\n zoneName: val,\n }));\n }}\n disabled={isZroLoading}\n >\n <option value=\"\">{isZroLoading ? \"Loading ZRO Locations...\" : \"Select ZRO Location\"}</option>\n {mappedZROLocation.map((loc) => (\n <option key={loc.code} value={loc.name}>\n {loc.name}\n </option>\n ))}\n </select> */}\n\n {/* <select className=\"form-control\" value={filters.ward} onChange={(e) => handleFilterChange(\"ward\", e.target.value)}>\n <option value=\"\">Select Ward</option>\n {wardOptions\n .filter((ward) => {\n const stripped = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return stripped.trim().length > 0;\n })\n .map((ward) => {\n const displayName = ward.name.replace(/[0-9]/g, \"\").replace(/^[-\\s]+|[-\\s]+$/g, \"\");\n return (\n <option key={ward.code} value={ward.name}>\n {displayName}\n </option>\n );\n })}\n </select> */}\n{/* \n <select className=\"form-control\" value={filters.assembly} onChange={(e) => handleFilterChange(\"assembly\", e.target.value)}>\n <option value=\"\">Select Assembly</option>\n {assemblyOptions.map((assembly) => (\n <option key={assembly.code} value={assembly.name}>\n {assembly.name}\n </option>\n ))}\n </select> */}\n\n <select className=\"form-control\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)}>\n <option value=\"\">Select MR Key</option>\n {mrkeyOptions.map((key) => (\n <option key={key} value={key}>\n {key}\n </option>\n ))}\n </select>\n\n {selectedKnos.length > 0 && (\n <button className=\"clear-selected-btn\" type=\"button\" onClick={() => setSelectedKnos([])}>\n {t(\"EKYC_CLEAR_SELECTION\") || \"Clear Selected\"}\n </button>\n )}\n\n {/* <select className=\"form-control\" value={filters.ekycStatus} onChange={(e) => handleFilterChange(\"ekycStatus\", e.target.value)}>\n <option value=\"\">All eKYC Status</option>\n <option value=\"PENDING\">Pending</option>\n <option value=\"APPROVED\">Approved</option>\n <option value=\"REJECTED\">Rejected</option>\n </select> */}\n </div>\n\n {/* Table */}\n <Table\n tableTitle=\"eKYC Applications\"\n tableClass=\"ekycTable\"\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n totalRecords={applicationData?.totalCount || 0}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n manualPagination={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (applicationData?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((applicationData?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n {showToast && <Toast error={toastData.error} label={toastData.label} onClose={() => setShowToast(false)} />}\n </Modal>\n );\n};\n\nexport default AssignEkycModal;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\n// import { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, PieChart, Pie, Cell, Legend } from \"recharts\";\n\nimport { Card, SubmitBar, ActionBar, Menu, Loader, Table } from \"@djb25/digit-ui-react-components\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\n\nimport AssignEkycModal from \"./AssignEkycModal\";\nimport { downloadSurveyorPDF } from \"../utils/reportDownloader\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine } from \"react-icons/fa\";\n\nconst SurveyorDetailsDashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const [showModal, setShowModal] = useState(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 handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: range.from.getTime(),\n toDate: range.to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: from.getTime(),\n toDate: to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch custom dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading, icon }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n {icon && <div className=\"stat-icon\">{icon}</div>}\n </React.Fragment>\n )}\n </div>\n );\n\n const options = [{ action: \"Assign\" }, { action: \"EKYC_REASSIGN\"}];\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n setShowModal(option.action);\n };\n\n const handleDownloadEkycData = async () => {\n setEkycDownloadLoading(true);\n try {\n const response = await Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 10000,\n surveyorId: surveyor?.owner?.uuid,\n reportDownload: true,\n });\n\n const consumerList = response?.consumerList || [];\n if (consumerList.length === 0) {\n alert(t(\"NO_DATA_FOUND\") || \"No data found for download.\");\n return;\n }\n\n const excludedKeys = [\n \"status\", \"source\", \"submittedAt\", \"assignedAt\", \"connectionType\", \"approvedAt\",\n \"alternateMobileNo\", \"city\", \"state\", \"addressType\", \"addressProofType\", \"mrcode\",\n \"areacode\", \"verificationStatus\", \"surveyorId\", \"supervisorId\", \"vendorId\",\n \"assignmentType\", \"assignmentValue\", \"assignedTime\", \"isSelfAssigned\", \"userType\",\n \"tenantName\", \"tenantMobile\"\n ];\n\n const headerMapping = {\n kno: t(\"KNO\") || \"KNO\",\n firstName: t(\"FIRST_NAME\") || \"First Name\",\n middleName: t(\"MIDDLE_NAME\") || \"Middle Name\",\n lastName: t(\"LAST_NAME\") || \"Last Name\",\n gender: t(\"GENDER\") || \"Gender\",\n mobileNumber: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n emailId: t(\"EMAIL_ID\") || \"Email ID\",\n fatherOrHusbandName: t(\"FATHER_HUSBUND_NAME\") || \"Father/Husband Name\",\n relationship: t(\"RELATIONSHIP\") || \"Relationship\",\n dob: t(\"DOB\") || \"Date of Birth\",\n ekycStatus: t(\"EKYC_STATUS\") || \"eKYC Status\",\n zoneName: t(\"ZONE\") || \"Zone\",\n assembly: t(\"ASSEMBLY\") || \"Assembly\",\n ward: t(\"WARD\") || \"Ward\",\n pincode: t(\"PINCODE\") || \"Pincode\",\n mrkey: t(\"MR_KEY\") || \"MR Key\",\n consumerType: t(\"CONSUMER_TYPE\") || \"Consumer Type\",\n createdTime: t(\"CREATED_TIME\") || \"Created Time\",\n lastModifiedTime: t(\"LAST_MODIFIED_TIME\") || \"Last Modified Time\",\n };\n\n const excelData = consumerList.map((item) => {\n const cleanObj = {};\n\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (fullName) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = toTitleCase(fullName);\n }\n\n // Text fields that should be Title Cased (incl. dot-notation like CONSUMERTYPE.INDIVIDUAL)\n const titleCaseFields = [\"ekycStatus\", \"zoneName\", \"gender\", \"relationship\", \"assembly\", \"ward\", \"consumerType\"];\n\n Object.keys(item).forEach(key => {\n if (excludedKeys.includes(key)) return;\n\n const val = item[key];\n if (typeof val === \"object\" && val !== null) {\n return;\n }\n\n const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;\n\n // Apply Title Case to known text fields; leave numbers, KNO, mobile, pincode as-is\n if (typeof val === \"string\" && titleCaseFields.includes(key)) {\n cleanObj[friendlyHeader] = toTitleCase(val);\n } else {\n cleanObj[friendlyHeader] = val;\n }\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_Data_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n const closeModal = async () => {\n setShowModal(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\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div key={key} className=\"menu-item\" onClick={() => handlePresetDownload(key)}>\n {label}\n </div>\n ))}\n\n <div className=\"custom-date-trigger\" onClick={() => setShowCustomPicker((p) => !p)}>\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"FROM_DATE\") || \"From\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) => setCustomDate((d) => ({ ...d, from: e.target.value }))}\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">{t(\"TO_DATE\") || \"To\"}</label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) => setCustomDate((d) => ({ ...d, to: e.target.value }))}\n />\n </div>\n\n <button className=\"download-action-btn\" onClick={handleCustomDownload}>\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n <StatCard title={t(\"TOTAL_ASSIGNED\")} value={dashboardData?.dashboardInfo?.total || 0} type=\"today\" isLoading={isDashboardLoading} icon={<FaUsers />} />\n <StatCard title={t(\"COMPLETED\")} value={dashboardData?.dashboardInfo?.completed || 0} type=\"week\" isLoading={isDashboardLoading} icon={<FaCheckCircle />} />\n <StatCard title={t(\"PENDING\")} value={dashboardData?.dashboardInfo?.pending || 0} type=\"pending\" isLoading={isDashboardLoading} icon={<FaClock />} />\n <StatCard title={t(\"SUBMITTED\")} value={dashboardData?.dashboardInfo?.submittedCount || 0} type=\"month\" isLoading={isDashboardLoading} icon={<FaChartLine />} />\n </div>\n\n {/* Charts */}\n <div className=\"charts-wrapper\">\n {/* Weekly Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"WEEKLY_SURVEY_PROGRESS\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart data={weeklyData}>\n <CartesianGrid strokeDasharray=\"3 3\" />\n\n <XAxis dataKey=\"day\" />\n\n <YAxis />\n\n <Tooltip />\n\n <Bar dataKey=\"completed\" fill=\"#0B2559\" radius={[6, 6, 0, 0]} />\n </BarChart>\n </ResponsiveContainer>\n </div> */}\n\n {/* Pie Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"CASE_DISTRIBUTION\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <PieChart>\n <Pie data={statusData} dataKey=\"value\" nameKey=\"name\" outerRadius={90} label>\n {statusData.map((entry, index) => (\n <Cell key={index} fill={entry.color} />\n ))}\n </Pie>\n\n <Tooltip />\n\n <Legend />\n </PieChart>\n </ResponsiveContainer>\n </div> */}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-details-wrapper\">\n {/* Left side details */}\n <div className=\"details-left\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}</span>\n <span className=\"value\">{surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}</span>\n <span className=\"value\">{surveyor?.owner?.emailId || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}</span>\n <span className=\"value\">{surveyor?.owner?.gender || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}</span>\n <span className=\"value\">{surveyor?.status || \"N/A\"}</span>\n </div>\n\n {/* <div className=\"detail-item\">\n <span className=\"label\">{t(\"SERVICE_TYPE\")}</span>\n <span className=\"value\">{surveyor?.additionalDetails?.serviceType || \"N/A\"}</span>\n </div> */}\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SUPERVISOR_NAME\") || \"Supervisor Name\"}</span>\n <span className=\"value\">{supervisorName}</span>\n </div>\n </div>\n </div>\n\n {/* Right side download card */}\n <div className=\"details-right\">\n <div className=\"download-card\">\n <h4>{t(\"DOWNLOAD_EKYC_DATA\") || \"Download eKYC Data\"}</h4>\n <p>\n {t(\"DOWNLOAD_EKYC_DATA_DESC\") ||\n \"Export the complete eKYC verification records for your assigned jurisdiction into Excel format.\"}\n </p>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n {ekycDownloadLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_EXCEL\") || \"Download Excel\"}\n </button>\n </div>\n </div>\n </div>\n </div>\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"ASSIGNED_KNOS\")}\n tableClass=\"ekycTable\"\n data={dashboardData?.dashboardInfo?.consumerList || []}\n columns={knoColumns}\n isLoading={isDashboardLoading}\n totalRecords={dashboardData?.dashboardInfo?.total}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n showAutoSerialNo={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (dashboardData?.dashboardInfo?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((dashboardData?.dashboardInfo?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n {/* Actions */}\n {roles.includes(\"EKYC_SUPERVISOR\") && (\n <ActionBar>\n <SubmitBar label={t(\"EKYC_ASSIGN_KNOS\")} onSubmit={() => setShowOptions((prev) => !prev)} />\n\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n\n {showModal && <AssignEkycModal surveyor={surveyor} isReassign={showModal === \"EKYC_REASSIGN\"} closeModal={closeModal} refetchDashboard={refetchDashboard} />}\n </Card>\n );\n};\n\nexport default SurveyorDetailsDashboard;\n","import React, { useState, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { Label, DatePicker, SubmitBar, Toast, Dropdown, UploadFile, CollapsibleCardPage, VerticalTimeline } from \"@djb25/digit-ui-react-components\";\n\nconst WorkOrder = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n const history = useHistory();\n\n const [showToast, setShowToast] = useState(null);\n const [vendor, setVendor] = useState(null);\n const [validFrom, setValidFrom] = useState(\"\");\n const [validTo, setValidTo] = useState(\"\");\n const [uploadedFile, setUploadedFile] = useState(null);\n const [file, setFile] = useState(null);\n const [error, setError] = useState(null);\n\n const { data: vendorOptions, isLoading: isVendorLoading } = Digit.Hooks.fsm.useVendorSearch({\n tenantId,\n filters: { status: \"ACTIVE\" },\n config: {\n select: (data) => data?.vendor || [],\n },\n });\n\n const { mutate: createWorkOrder } = Digit.Hooks.wt.useVendorWorkOrderCreate(tenantId);\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (file) {\n if (file.size >= 10000000) {\n setError(t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") || \"File size exceeds 10MB\");\n } else {\n try {\n const response = await Digit.UploadServices.Filestorage(\"EKYC\", file, Digit.ULBService.getStateId());\n if (response?.data?.files?.length > 0) {\n setUploadedFile(response?.data?.files[0]?.fileStoreId);\n } else {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n }\n } catch (err) {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n }\n }\n }\n })();\n }, [file]);\n\n const handleSubmit = () => {\n const payload = {\n vendorWorkOrder: {\n tenantId,\n name: vendor?.name,\n mobileNumber: vendor?.owner?.mobileNumber,\n emailId: vendor?.owner?.emailId,\n vendorId: vendor?.code || vendor?.id,\n validFrom: new Date(validFrom).getTime(),\n validTo: new Date(validTo).getTime(),\n serviceType: \"EKYC\",\n fileStoreId: uploadedFile,\n },\n };\n\n createWorkOrder(payload, {\n onSuccess: (result) => {\n setShowToast({ isError: false, label: t(\"EKYC_WORK_ORDER_SAVE_SUCCESS\") });\n setTimeout(() => {\n history.push(\"/digit-ui/employee/module/details\");\n }, 3000);\n },\n onError: (err) => {\n setShowToast({ isError: true, label: err?.response?.data?.Errors?.[0]?.message || t(\"EKYC_WORK_ORDER_SAVE_ERROR\") });\n },\n });\n };\n\n function selectfile(e) {\n setUploadedFile(null);\n setFile(e.target.files[0]);\n }\n\n const isFormDisabled = !vendor || !validFrom || !validTo || !uploadedFile;\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n return (\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={[{ timeLine: [{ actions: t(\"EKYC_WORK_ORDER_ASSIGN\"), currentStep: 1 }] }]} showFinalStep={false} />\n\n <div style={{ flex: 1 }}>\n <CollapsibleCardPage title={t(\"EKYC_UPLOAD_WORK_ORDER\")} defaultOpen={true}>\n <div className=\"formcomposer-section-grid\">\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"EKYC_VENDOR_NAME\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <Dropdown t={t} option={vendorOptions} optionKey=\"name\" select={setVendor} selected={vendor} placeholder={t(\"EKYC_SELECT_VENDOR\")} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"COMMON_VALID_FROM_DATE\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <DatePicker date={validFrom} onChange={(date) => setValidFrom(date)} style={{ width: \"100%\" }} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>\n {`${t(\"COMMON_VALID_TO_DATE\")}`} <span className=\"check-page-link-button\">*</span>\n </Label>\n <DatePicker date={validTo} min={validFrom} onChange={(date) => setValidTo(date)} style={{ width: \"100%\" }} />\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <Label>{`${t(\"EKYC_UPLOAD_DOCUMENT\")}`} <span className=\"check-page-link-button\">*</span></Label>\n <UploadFile\n id={\"ekyc-doc\"}\n extraStyleName={\"propertyCreate\"}\n accept=\"image/*, .pdf, .png, .jpeg, .jpg\"\n onUpload={selectfile}\n onDelete={() => setUploadedFile(null)}\n message={uploadedFile ? `1 ${t(`EKYC_ACTION_FILEUPLOADED`)}` : t(`EKYC_ACTION_NO_FILEUPLOADED`)}\n error={error}\n />\n </div>\n </div>\n </CollapsibleCardPage>\n\n <div style={{ display: \"flex\", marginTop: \"24px\", justifyContent: isMobile ? \"center\" : \"flex-end\" }}>\n <SubmitBar label={t(\"ES_COMMON_SAVE\")} onSubmit={isFormDisabled ? null : handleSubmit} disabled={isFormDisabled} />\n </div>\n </div>\n\n {showToast && <Toast error={showToast.isError} label={showToast.label} onClose={() => setShowToast(null)} />}\n </div>\n );\n};\n\nexport default WorkOrder;\n","import React from \"react\";\nexport function formReducer(state, payload) {\n const storageKey = \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n}\n\nexport const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n};\n\nexport const tableColumnConfig = (t, handleReview) => [\n {\n Header: t(\"SURVEYOR_NAME\"),\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const id = row.original?.id;\n return (\n <span className=\"link\" onClick={() => handleReview(id)}>\n {row.original?.surveyorName || row.original?.name || \"NA\"}\n </span>\n );\n },\n },\n // {\n // Header: t(\"SURVEYOR_NAME\"),\n // accessor: \"surveyorName\",\n // Cell: ({ row }) => <span>{row.original?.surveyorName || row.original?.name || \"NA\"}</span>,\n // },\n {\n Header: t(\"MOBILE_NUMBER\"),\n accessor: \"mobileNo\",\n Cell: ({ row }) => <span>{row.original?.mobileNo || row.original?.owner?.mobileNumber || \"NA\"}</span>,\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>;\n },\n },\n {\n Header: t(\"SERVICE_TYPE\"),\n accessor: \"serviceType\",\n Cell: ({ row }) => <span>{row.original?.serviceType || \"NA\"}</span>,\n },\n];\n","import { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { tableColumnConfig } from \"../../../vendor/src/config/tableConfig\";\n\nconst SupervisorInboxTableConfig = ({\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n onSortingByData,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n const handleReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n\n currentPage: Math.floor(offset / limit),\n\n onPageSizeChange,\n\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) + Number(limit),\n },\n }),\n\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) - Number(limit),\n },\n }),\n\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Math.ceil(totalCount / limit) * limit - Number(limit),\n },\n }),\n\n onFirstPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: 0 },\n }),\n\n totalRecords: totalCount,\n onSort: onSortingByData,\n\n data: table,\n columns: tableColumnConfig(t, handleReview),\n\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default SupervisorInboxTableConfig;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport SupervisorInboxTableConfig from \"../hook/SupervisorInboxTableConfig\";\nimport SearchFormFieldsComponents from \"./SearchFormFieldsComponent\";\nimport { formInitValue, formReducer } from \"../../../vendor/src/config/tableConfig\";\nimport { FaUsers, FaCheckCircle, FaClock, FaChartLine, FaMapMarkedAlt } from \"react-icons/fa\";\nimport useInboxMobileCardsData from \"../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst AssignEkyc = () => {\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\"; // Force tenantId to dl.djb for EKYC APIs in citizen portal\n }\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n let paginationParms = {\n limit: formState?.tableForm?.limit || 10,\n offset: formState?.tableForm?.offset || 0,\n sortBy: formState?.tableForm?.sortBy || \"createdTime\",\n sortOrder: formState?.tableForm?.sortOrder || \"DESC\",\n };\n\n const mobileNumber = formState?.searchForm?.mobileNumber || \"\";\n const isSearchActive = !!mobileNumber;\n\n const filters = {\n ...paginationParms,\n status: \"ACTIVE,DISABLED\",\n };\n\n if (isSearchActive) {\n filters.mobileNumber = mobileNumber;\n }\n\n const { data: dashboardData, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, filters, { enabled: !!tenantId, keepPreviousData: true });\n\n const { isLoading: isDataSearchLoading, data } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const sourceData = useMemo(() => {\n return dashboardData?.surveyors || [];\n }, [dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n const owner = item?.owner || {};\n const roleCodes = owner?.roles?.map((role) => role.code)?.join(\", \") || \"\";\n\n return {\n ...item,\n id: item?.id || \"\",\n surveyorName: item?.name || owner?.name || \"\",\n mobileNo: item?.mobileNo || owner?.mobileNumber || \"\",\n email: owner?.emailId || \"\",\n vendorId: item?.vendorId || \"\",\n tenantId: item?.tenantId || \"\",\n supervisorId: item?.supervisorId || \"\",\n status: item?.status || \"\",\n roleCodes,\n userName: owner?.userName || \"\",\n gender: owner?.gender || \"\",\n serviceType: item?.additionalDetails?.serviceType || \"\",\n createdTime: item?.auditDetails?.createdTime || 0,\n lastModifiedTime: item?.auditDetails?.lastModifiedTime || 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"mobile\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues } });\n dispatch({ action: \"mutateSearchForm\", data });\n };\n\n const searchFormDefaultValues = {\n mobileNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"mobileNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n });\n }\n }\n };\n\n const propsForInboxTable = SupervisorInboxTableConfig({\n ...{\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading;\n\n const cards = [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: data?.totalKnos || 0,\n color: \"#0B2559\",\n filter: null,\n active: true,\n type: \"today\",\n icon: <FaUsers />,\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: data?.totalAssignments || 0,\n color: \"#3B82F6\",\n filter: [\"ASSIGNED\"],\n type: \"week\",\n icon: <FaMapMarkedAlt />,\n },\n {\n label: \"EKYC_COMPLETED\",\n count: data?.completedKnos || 0,\n color: \"#10B981\",\n filter: [\"COMPLETED\"],\n type: \"month\",\n icon: <FaCheckCircle />,\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: (data?.totalKnos || 0) - (data?.completedKnos || 0),\n color: \"#F59E0B\",\n filter: [\"PENDING\"],\n type: \"pending\",\n icon: <FaClock />,\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${data?.overallProgressPercent || 0}%`,\n color: \"#A855F7\",\n filter: [\"IN_PROGRESS\"],\n type: \"progress\",\n icon: <FaChartLine />,\n },\n ];\n\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, isSupervisor: true });\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: dashboardData?.dashboardInfo,\n // cards,\n isCardLoading: isDataSearchLoading,\n showSearchOnMobile: true,\n forceTable: true,\n }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\n","import Dashboard from \"../components/Dashboard\";\nimport Inbox from \"../pages/employee/Inbox\";\n// import Create from \"../pages/employee/Create\";\n// import Mapping from \"../pages/employee/Mapping\";\nimport EKYCForm from \"../pages/employee/EKYCForm\";\nimport Review from \"../components/Review\";\nimport AssignEkyc from \"../components/AssignEkyc\";\nimport AdminDashboard from \"../components/AdminDashboard\";\nimport CeoDashboard from \"../components/CeoDashboard\";\nimport VendorDetailsCard from \"../components/VendorDetailsCard\";\nimport SupervisorDetailsCard from \"../components/SupervisorDetailsCard\";\nimport SurveyorDetailsCard from \"../components/SurveyorDetailsCard\";\nimport WorkOrder from \"../pages/employee/WorkOrder\";\n\n\n// yeh function role (employee/citizen) leta hai aur uske hisaab se\n// breadcrumb ka URL bana deta hai. Baaki sab kuch same rehta hai.\nconst breadcrumb = (userType, listLabel, listPath, detailLabel) => [\n { label: listLabel, path: `/digit-ui/${userType}/ekyc/${listPath}` },\n { label: detailLabel },\n];\n\n// 👇 isi function ko employee ke liye bhi call karenge, citizen ke liye bhi\nexport const getEkycRoutes = (userType) => [\n // ---- simple pages ----\n { path: \"/dashboard\", component: Dashboard, layout: \"normal\", breadcrumb: \"EKYC_DASHBOARD\" },\n { path: \"/inbox\", component: Inbox, layout: \"normal\", breadcrumb: \"EKYC_INBOX\" },\n { path: \"/review/:kno\", component: Review, layout: \"normal\", breadcrumb: \"EKYC_REVIEW\" },\n // { path: \"/create-kyc\", component: Create, layout: \"normal\", breadcrumb: \"EKYC_CREATE_KYC\" },\n // { path: \"/mapping\", component: Mapping, layout: \"normal\", breadcrumb: \"EKYC_MAPPING\" },\n { path: \"/admin-dashboard\", component: AdminDashboard, layout: \"normal\", breadcrumb: \"EKYC_ADMIN_DASHBOARD\" },\n // { path: \"/work-order\", component: WorkOrder, layout: \"normal\", breadcrumb: \"EKYC_WORK_ORDER\" },\n { path: \"/work-order\", component: WorkOrder, layout: \"normal\", breadcrumb: \"EKYC_WORK_ORDER\" },\n // { path: \"/ceo-dashboard\", component: CeoDashboard, layout: \"normal\", breadcrumb: \"CEO_M.F_DOR_FINANCE_VIEW\" },\n\n // ---- EKYC form ke 4 steps ----\n { path: \"/consumer-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_CONSUMER_DETAILS\" },\n { path: \"/address-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_ADDRESS_DETAILS\" },\n { path: \"/property-info\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_PROPERTY_INFO\" },\n { path: \"/meter-details\", component: EKYCForm, layout: \"normal\", breadcrumb: \"EKYC_METER_DETAILS\" },\n\n // ---- assign ----\n {\n path: [\"/assign\"],\n component: AssignEkyc,\n layout: \"normal\",\n breadcrumb: [{ label: \"EKYC_ASSIGN\", path: `/digit-ui/${userType}/ekyc/assign` }],\n },\n\n // ---- detail-card wale routes ----\n // {\n // path: [\"/review/:kno\", \"/review\"],\n // component: Review,\n // layout: \"action\",\n // breadcrumb: breadcrumb(userType, \"EKYC_INBOX\", \"inbox:kno\", \"EKYC_REVIEW\"),\n // },\n {\n path: [\"/vendors/:vendorId\", \"/vendors\"],\n component: VendorDetailsCard,\n layout: \"normal\",\n breadcrumb: breadcrumb(userType, \"EKYC_VENDORS\", \"vendors:vendorId\", \"EKYC_VENDOR_DETAILS\"),\n },\n {\n path: [\"/supervisor-dashboard/:id\", \"/supervisor-dashboard\"],\n component: SupervisorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SUPERVISOR_DASHBOARD\", \"supervisor-dashboard:id\", \"EKYC_SUPERVISOR_DETAILS\"),\n },\n {\n path: [\"/surveyor-dashboard/:id\", \"/surveyor-dashboard\"],\n component: SurveyorDetailsCard,\n layout: \"action\",\n breadcrumb: breadcrumb(userType, \"EKYC_SURVEYOR_DASHBOARD\", \"surveyor-dashboard/:id\", \"EKYC_SURVEYOR_DETAILS\"),\n },\n];\n\n// dono role ke liye ready-made arrays — jaha jaruratho wahi import karo\nexport const ekycRoutes = getEkycRoutes(\"employee\"); // employee ke liye\nexport const citizenEkycRoutes = getEkycRoutes(\"citizen\"); // citizen ke liye","import { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation } from \"react-router-dom\";\nimport Dashboard from \"../../components/Dashboard\";\n// import CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard.js\";\nimport Inbox from \"./Inbox\";\n// import Mapping from \"./Mapping\";\n// import Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\n// import AssignEkyc from \"../../components/AssignEkyc.js\";\nimport AdminDashboard from \"../../components/AdminDashboard.js\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard.js\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\"\nimport WorkOrder from \"./WorkOrder\";\nimport { ekycRoutes } from \"../../config/Routes\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n // const getDynamicBreadcrumbs = () => {\n // const pathname = location.pathname;\n\n // // Parent crumb — always present and clickable → redirects to eKYC inbox\n // const crumbs = [\n // { icon: HomeIcon, path: \"/digit-ui/employee\" },\n // { label: t(\"ACTION_TEST_EKYC\"), path: `/digit-ui/employee/module/details` },\n // ];\n\n // // Child crumb — only appended when on a sub-page (not inbox/dashboard itself)\n // if (pathname.includes(\"/create-kyc\")) {\n // crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n // } else if (pathname.includes(\"/consumer-details\")) {\n // crumbs.push({ label: t(\"EKYC_CONSUMER_DETAILS\") });\n // } else if (pathname.includes(\"/address-details\")) {\n // crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n // } else if (pathname.includes(\"/property-info\")) {\n // crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n // } else if (pathname.includes(\"/meter-details\")) {\n // crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n // } else if (pathname.includes(\"/review\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/employee/ekyc/inbox` });\n // crumbs.push({ label: t(\"EKYC_REVIEW\") });\n // } else if (pathname.includes(\"/surveyor-dashboard\") || pathname.includes(\"/assign/surveyor-details\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") || \"Surveyor Dashboard\" });\n // } else if (pathname.includes(\"/assign\")) {\n // crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n // } else if (pathname.includes(\"/ceo-dashboard\")) {\n // crumbs.push({ label: t(\"CEO_M.F_DOR_FINANCE_VIEW\") });\n // } else if (pathname.includes(\"/admin-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\" });\n // } else if (pathname.includes(\"/supervisor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") || \"Supervisor Dashboard\" });\n // } else if (pathname.includes(\"/surveyor-dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n // } else if (pathname.includes(\"/vendors/\")) {\n // crumbs.push({ label: t(\"EKYC_VENDOR_DETAILS\") });\n // } else if (pathname.includes(\"/mapping\")) {\n // crumbs.push({ label: t(\"EKYC_MAPPING\") });\n // } else if (pathname.includes(\"/dashboard\")) {\n // crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n // } else if (pathname.includes(\"/inbox\")) {\n // crumbs.push({ label: t(\"EKYC_INBOX\") });\n // }\n // // dashboard & inbox → no child crumb (only \"eKYC Admin\" shown)\n\n // return crumbs;\n // };\n\n const getDynamicBreadcrumbs = () => {\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(\"ACTION_TEST_EKYC\"), path: \"/digit-ui/employee/module/details\" },\n ];\n const pathSegments = location.pathname.split(\"/\").filter(Boolean);\n const ekycIndex = pathSegments.indexOf(\"ekyc\");\n const relativeSegments = ekycIndex !== -1 ? pathSegments.slice(ekycIndex + 1) : [];\n\n let matchedPath = \"\";\n const currentRoute = ekycRoutes.find((route) => {\n const paths = Array.isArray(route.path) ? route.path : [route.path];\n return paths.some((singlePath) => {\n const routeSegments = singlePath.split(\"/\").filter(Boolean);\n if (routeSegments.length === relativeSegments.length && routeSegments.every((seg, i) => seg.startsWith(\":\") || seg === relativeSegments[i])) {\n matchedPath = singlePath;\n return true;\n }\n return false;\n });\n });\n\n if (currentRoute) {\n if (Array.isArray(currentRoute.breadcrumb)) {\n currentRoute.breadcrumb.forEach((crumb) => {\n let crumbPath = crumb.path;\n if (crumbPath && matchedPath) {\n matchedPath.split(\"/\").filter(Boolean).forEach((segment, idx) => {\n if (segment.startsWith(\":\")) {\n const val = relativeSegments[idx];\n crumbPath = crumbPath.replace(new RegExp(`\\\\/${segment}`, \"g\"), `/${val}`)\n .replace(new RegExp(`(\\\\w+)${segment}`, \"g\"), `$1/${val}`)\n .replace(new RegExp(segment, \"g\"), val);\n }\n });\n }\n crumbs.push({ label: t(crumb.label), ...(crumbPath ? { path: crumbPath } : {}) });\n });\n } else {\n crumbs.push({ label: t(currentRoute.breadcrumb) });\n }\n }\n return crumbs;\n };\n const formStepRoutes = [\"consumer-details\", \"address-details\", \"property-info\", \"meter-details\"];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n Back\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <div className=\"employee-form\">\n <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Create />\n </LayoutWrapper>\n )}\n /> */}\n\n {/* <PrivateRoute\n path={`${path}/mapping`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Mapping />\n </LayoutWrapper>\n )}\n /> */}\n {/* <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n /> */}\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={formStepRoutes.map((route) => `${path}/${route}`)}\n component={(props) => (\n <LayoutWrapper layoutClass=\"normal\">\n <EKYCForm {...props} path={path} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review/:kno`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/ceo-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <CeoDashboard />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/admin-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AdminDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/vendors/:vendorId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={[`${path}/surveyor-dashboard/:id`, `${path}/surveyor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/work-order`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <WorkOrder />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n /> */}\n </Switch>\n </div>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst PropertyInfoConfig = (t, formData = {}, uploadFile, buildingImage, buildingImageId, setBuildingImage, setBuildingImageId) => {\n const propertyType = formData?.propertyType?.name || formData?.propertyType;\n const isHotel = propertyType === \"Hotel\";\n const isHospitalOrNursing = propertyType === \"Hospital\" || propertyType === \"Nursing Home\";\n\n const fields = [\n {\n label: t(\"PID Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"pidNumber\",\n },\n },\n {\n label: t(\"Property Type\"),\n isMandatory: false,\n type: \"custom\",\n key: \"propertyType\",\n populators: {\n name: \"propertyType\",\n component: (props) => (\n <Dropdown\n option={[\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sub Property Category\"),\n isMandatory: false,\n type: \"custom\",\n key: \"subPropertyCategory\",\n populators: {\n name: \"subPropertyCategory\",\n component: (props) => (\n <Dropdown\n option={[]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"No. of Floors\"),\n isMandatory: true,\n type: \"number\",\n populators: {\n name: \"noOfFloors\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Floor No. of this KNO\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"floorNo\",\n },\n },\n {\n label: isHospitalOrNursing ? t(\"No of Beds\") : t(\"No of Beds\"),\n isMandatory: isHospitalOrNursing,\n type: \"number\",\n populators: {\n name: \"noOfBeds\",\n validation: isHospitalOrNursing ? { required: true, min: 1 } : {},\n },\n },\n {\n label: isHotel ? t(\"No. of Rooms\") : t(\"No. of Rooms\"),\n isMandatory: isHotel,\n type: \"number\",\n populators: {\n name: \"noOfRooms\",\n validation: isHotel ? { required: true, min: 1 } : {},\n },\n },\n {\n label: t(\"Number of Dwelling Units\"),\n isMandatory: false,\n type: \"number\",\n populators: {\n name: \"dwellingUnits\",\n },\n },\n {\n label: t(\"Building Image\"),\n isMandatory: true,\n type: \"custom\",\n key: \"buildingImage\",\n populators: {\n name: \"buildingImage\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {buildingImage && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n },\n ];\n\n return [\n {\n head: t(\"EKYC_PROPERTY_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default PropertyInfoConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport PropertyInfoConfig from \"../config/PropertyInfoConfig\";\n\nconst PropertyInfo = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"PROPERTY\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.propertyDetails || {};\n\n // 🔹 STATES\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n pidNumber: savedData.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : null,\n subPropertyCategory: savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null,\n noOfFloors: savedData.noOfFloors || \"\",\n floorNo: savedData.floorNo || \"\",\n noOfRooms: savedData.noOfRooms || \"\",\n noOfBeds: savedData.noOfBeds || \"\",\n dwellingUnits: savedData.dwellingUnits || \"\",\n buildingImage: savedData.buildingImageId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || rawData || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !isDataLoaded) {\n let propType = null;\n let subPropCat = null;\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ].find((type) => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) propType = matchingType;\n else propType = { name: propertyInfo.subPropertyCategory };\n subPropCat = { name: propertyInfo.subPropertyCategory };\n }\n\n if (propertyInfo.propertyType) {\n subPropCat = { name: propertyInfo.propertyType };\n if (!propertyInfo.subPropertyCategory) propType = { name: propertyInfo.propertyType };\n }\n\n const updatedDefaults = {\n pidNumber: savedData.pidNumber || propertyInfo.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : propType,\n subPropertyCategory: savedData.subPropertyCategory\n ? { name: savedData.subPropertyCategory }\n : subPropCat,\n noOfFloors:\n savedData.noOfFloors ||\n (propertyInfo.numberOfFloors || propertyInfo.noOfFloor\n ? String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor)\n : \"\"),\n floorNo: savedData.floorNo || propertyInfo.floorNo || \"\",\n noOfRooms:\n savedData.noOfRooms ||\n (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined\n ? String(propertyInfo.numberOfRooms)\n : \"\"),\n noOfBeds:\n savedData.noOfBeds ||\n (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined\n ? String(propertyInfo.numberOfBeds)\n : \"\"),\n dwellingUnits:\n savedData.dwellingUnits ||\n (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined\n ? String(propertyInfo.numberOfDwellingUnits)\n : \"\"),\n buildingImage: savedData.buildingImageId || propertyInfo.buildingImageFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.buildingImage) {\n setBuildingImageId(updatedDefaults.buildingImage);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setBuildingImageId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setBuildingImage(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Check if propertyType changed to re-evaluate mandatory validation or conditional visibility\n const propertyTypeChanged =\n (data?.propertyType?.name || data?.propertyType) !==\n (localFormData?.propertyType?.name || localFormData?.propertyType);\n\n if (propertyTypeChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const propTypeVal = data?.propertyType;\n const subPropCatVal = data?.subPropertyCategory;\n const noOfFloorsVal = data?.noOfFloors;\n const buildingImgId = buildingImageId || data?.buildingImage;\n const noOfRoomsVal = data?.noOfRooms;\n const noOfBedsVal = data?.noOfBeds;\n\n let valid = true;\n if (!propTypeVal) valid = false;\n if (!subPropCatVal) valid = false;\n if (!noOfFloorsVal || Number(noOfFloorsVal) < 1) valid = false;\n if (!buildingImgId) valid = false;\n\n if (propTypeVal?.name === \"Hotel\" && !noOfRoomsVal) valid = false;\n if (\n (propTypeVal?.name === \"Hospital\" || propTypeVal?.name === \"Nursing Home\") &&\n !noOfBedsVal\n )\n valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n pidNumber: data.pidNumber,\n propertyType: data.propertyType?.name || data.propertyType,\n subPropertyCategory: data.subPropertyCategory?.name || data.subPropertyCategory,\n noOfFloors: data.noOfFloors,\n floorNo: data.floorNo,\n noOfRooms: data.noOfRooms,\n noOfBeds: data.noOfBeds,\n dwellingUnits: data.dwellingUnits,\n buildingImageId: buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Property details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update property details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = PropertyInfoConfig(\n t,\n localFormData,\n handleUpload,\n buildingImage,\n buildingImageId,\n setBuildingImage,\n setBuildingImageId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetailsConfig = (t, formData = {}, uploadPhoto, meterPhoto, meterPhotoId, setMeterPhoto, setMeterPhotoId) => {\n const meterStatus = formData?.meterStatus?.name || formData?.meterStatus;\n const lastBillReceived = formData?.lastBillReceived?.name || formData?.lastBillReceived;\n const sewerConnection = formData?.sewerConnection?.name || formData?.sewerConnection;\n\n const isFrozen = meterStatus === \"Can not be identified\";\n\n // Generate Month-Year Options (1998–2026)\n const monthYearOptions = [];\n for (let y = 1998; y <= 2026; y++) {\n for (let m = 1; m <= 12; m++) {\n monthYearOptions.push({ name: `${m}/${y}` });\n }\n }\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const fields = [\n {\n label: t(\"Connection Category\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"connectionCategory\",\n validation: { required: true },\n },\n },\n {\n label: t(\"SA Type\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"saType\",\n },\n },\n {\n label: t(\"Status\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"status\",\n },\n },\n {\n label: t(\"MR Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrCode\",\n },\n },\n {\n label: t(\"Area Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"areaCode\",\n },\n },\n {\n label: t(\"MR Key\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrKey\",\n },\n },\n ];\n\n // 🔹 Non-frozen fields\n if (!isFrozen) {\n fields.push(\n {\n label: t(\"Meter Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterNumber\",\n },\n },\n {\n label: t(\"Meter Maker\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterMaker\",\n },\n },\n {\n label: t(\"Meter Condition\"),\n isMandatory: false,\n type: \"custom\",\n key: \"meterCondition\",\n populators: {\n name: \"meterCondition\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Damaged\" }, { name: \"Not-Damaged\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (meterStatus === \"Metered\") {\n fields.push({\n label: t(\"Meter Photo\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterPhoto\",\n populators: {\n name: \"meterPhoto\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadPhoto(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setMeterPhoto(null);\n setMeterPhotoId(null);\n }}\n message={meterPhotoId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {meterPhoto && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={meterPhoto}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n });\n }\n }\n\n // 🔹 Standard fields after the conditional section\n fields.push(\n {\n label: t(\"Meter Status\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterStatus\",\n populators: {\n name: \"meterStatus\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Metered\" }, { name: \"Unmetered\" }, { name: \"Can not be identified\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Meter Location\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterLocation\",\n populators: {\n name: \"meterLocation\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Inside\" }, { name: \"Outside\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Last Bill Received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"lastBillReceived\",\n populators: {\n name: \"lastBillReceived\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n // 🔹 Bill-received fields\n if (lastBillReceived === \"Yes\") {\n fields.push({\n label: t(\"When was the last bill received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"billMonthYear\",\n populators: {\n name: \"billMonthYear\",\n component: (props) => (\n <Dropdown\n option={monthYearOptions}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n } else if (lastBillReceived === \"No\") {\n fields.push({\n label: t(\"Reason *\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"reason\",\n validation: { required: true },\n },\n });\n }\n\n fields.push(\n {\n label: t(\"Access to Meter\"),\n isMandatory: false,\n type: \"custom\",\n key: \"accessToMeter\",\n populators: {\n name: \"accessToMeter\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sewer Connection\"),\n isMandatory: true,\n type: \"custom\",\n key: \"sewerConnection\",\n populators: {\n name: \"sewerConnection\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (sewerConnection === \"No\") {\n fields.push({\n label: t(\"Septic Tank\"),\n isMandatory: true,\n type: \"custom\",\n key: \"septicTank\",\n populators: {\n name: \"septicTank\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n }\n\n return [\n {\n head: t(\"EKYC_METER_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default MeterDetailsConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport MeterDetailsConfig from \"../config/MeterDetailsConfig\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"METER\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.meterDetails || {};\n\n // 🔹 STATES\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n connectionCategory: savedData.connectionCategory || \"\",\n saType: savedData.saType || \"\",\n status: savedData.status || \"\",\n mrCode: savedData.mrCode || \"\",\n areaCode: savedData.areaCode || \"\",\n mrKey: savedData.mrKey || \"\",\n meterNumber: savedData.meterNumber || \"\",\n meterMaker: savedData.meterMaker || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : null,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : null,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : null,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : null,\n reason: savedData.reason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : null,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : null,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : null,\n meterPhoto: savedData.meterPhotoId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !isDataLoaded) {\n let mStatus = null;\n let mCondition = null;\n let mLoc = null;\n let billRec = null;\n let billMonYr = null;\n let accToMeter = null;\n let sewerConn = null;\n let sepTank = null;\n\n if (apiMeter.meterStatus) {\n const matchingStatus = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ].find((o) => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) mStatus = matchingStatus;\n else mStatus = { name: apiMeter.meterStatus };\n } else if (apiMeter.metered !== undefined) {\n mStatus = { name: apiMeter.metered ? \"Metered\" : \"Unmetered\" };\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = [{ name: \"Damaged\" }, { name: \"Not-Damaged\" }].find(\n (o) => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase()\n );\n if (matchingCond) mCondition = matchingCond;\n else mCondition = { name: apiMeter.meterCondition };\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = [{ name: \"Inside\" }, { name: \"Outside\" }].find(\n (o) =>\n o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() ||\n apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase())\n );\n if (matchingLoc) mLoc = matchingLoc;\n else mLoc = { name: apiMeter.meterLocation };\n }\n\n if (apiMeter.lastBillRaised !== undefined && apiMeter.lastBillRaised !== null) {\n const strVal = String(apiMeter.lastBillRaised).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") billRec = { name: \"Yes\" };\n else billRec = { name: \"No\" };\n }\n\n if (apiMeter.lastBillReceivedDate) {\n const formatted = apiMeter.lastBillReceivedDate.replace(\"-\", \"/\");\n const parsedParts = formatted.split(\"/\");\n if (parsedParts.length === 2) {\n const mon = parseInt(parsedParts[0], 10);\n const yr = parseInt(parsedParts[1], 10);\n billMonYr = { name: `${mon}/${yr}` };\n } else {\n billMonYr = { name: apiMeter.lastBillReceivedDate };\n }\n }\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") accToMeter = { name: \"Yes\" };\n else accToMeter = { name: \"No\" };\n }\n\n if (apiMeter.sewerConnection !== undefined && apiMeter.sewerConnection !== null) {\n const strVal = String(apiMeter.sewerConnection).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sewerConn = { name: \"Yes\" };\n else sewerConn = { name: \"No\" };\n }\n\n if (apiMeter.septicTank !== undefined && apiMeter.septicTank !== null) {\n const strVal = String(apiMeter.septicTank).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sepTank = { name: \"Yes\" };\n else sepTank = { name: \"No\" };\n }\n\n const updatedDefaults = {\n connectionCategory: savedData.connectionCategory || apiMeter.connectionCategory || \"\",\n saType: savedData.saType || apiMeter.saType || \"\",\n status: savedData.status || apiMeter.statusFlag || \"\",\n mrCode: savedData.mrCode || (apiMeter.mrcode ? String(apiMeter.mrcode) : \"\"),\n areaCode: savedData.areaCode || (apiMeter.areacode ? String(apiMeter.areacode) : \"\"),\n mrKey: savedData.mrKey || (apiMeter.mrkey ? String(apiMeter.mrkey) : \"\"),\n meterNumber: savedData.meterNumber || apiMeter.meterNumber || \"\",\n meterMaker: savedData.meterMaker || apiMeter.meterMake || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : mStatus,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : mCondition,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : mLoc,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : billRec,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : billMonYr,\n reason: savedData.reason || apiMeter.lastBillNotRaisedReason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : accToMeter,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : sewerConn,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : sepTank,\n meterPhoto: savedData.meterPhotoId || apiMeter.meterPhotoFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.meterPhoto) {\n setMeterPhotoId(updatedDefaults.meterPhoto);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setMeterPhotoId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n const meterStatusChanged =\n (data?.meterStatus?.name || data?.meterStatus) !==\n (localFormData?.meterStatus?.name || localFormData?.meterStatus);\n\n const lastBillReceivedChanged =\n (data?.lastBillReceived?.name || data?.lastBillReceived) !==\n (localFormData?.lastBillReceived?.name || localFormData?.lastBillReceived);\n\n const sewerConnectionChanged =\n (data?.sewerConnection?.name || data?.sewerConnection) !==\n (localFormData?.sewerConnection?.name || localFormData?.sewerConnection);\n\n if (meterStatusChanged || lastBillReceivedChanged || sewerConnectionChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const connCatVal = data?.connectionCategory;\n const mStatusVal = data?.meterStatus;\n const mLocVal = data?.meterLocation;\n const billRecVal = data?.lastBillReceived;\n const sewerConnVal = data?.sewerConnection;\n const mPhotoId = meterPhotoId || data?.meterPhoto;\n const reasonVal = data?.reason;\n const billMonYrVal = data?.billMonthYear;\n const sepTankVal = data?.septicTank;\n\n let valid = true;\n if (!connCatVal) valid = false;\n if (!mStatusVal) valid = false;\n if (!mLocVal) valid = false;\n if (!billRecVal) valid = false;\n if (!sewerConnVal) valid = false;\n\n if (mStatusVal?.name === \"Metered\" && !mPhotoId) valid = false;\n if (billRecVal?.name === \"No\" && !reasonVal) valid = false;\n if (billRecVal?.name === \"Yes\" && !billMonYrVal) valid = false;\n if (sewerConnVal?.name === \"No\" && !sepTankVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n connectionCategory: data.connectionCategory,\n saType: data.saType,\n status: data.status,\n mrCode: data.mrCode,\n areaCode: data.areaCode,\n mrKey: data.mrKey,\n meterNumber: data.meterNumber,\n meterMaker: data.meterMaker,\n meterStatus: data.meterStatus?.name || data.meterStatus,\n meterCondition: data.meterCondition?.name || data.meterCondition,\n meterLocation: data.meterLocation?.name || data.meterLocation,\n lastBillReceived: data.lastBillReceived?.name || data.lastBillReceived,\n billMonthYear: data.billMonthYear?.name || data.billMonthYear,\n reason: data.reason,\n accessToMeter: data.accessToMeter?.name || data.accessToMeter,\n sewerConnection: data.sewerConnection?.name || data.sewerConnection,\n septicTank: data.septicTank?.name || data.septicTank,\n meterPhotoId: meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Meter details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update meter details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = MeterDetailsConfig(\n t,\n localFormData,\n handleUpload,\n meterPhoto,\n meterPhotoId,\n setMeterPhoto,\n setMeterPhotoId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\nimport useInboxMobileCardsData from \"../../hook/useInboxMobileCardsData\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 20,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 20,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return dashboardData?.consumerList || [];\n }, [isSearchActive, searchData, dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n const searchDetails = item.connectionDetails || {};\n const fullName = (searchDetails.firstName || searchDetails.middleName || searchDetails.lastName)\n ? `${searchDetails.firstName || \"\"} ${searchDetails.middleName || \"\"} ${searchDetails.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : searchDetails.consumerName || \"\";\n\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: fullName,\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: fullName,\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = (item.firstName || item.middleName || item.lastName)\n ? `${item.firstName || \"\"} ${item.middleName || \"\"} ${item.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : item.consumerName || item.citizenName || \"\";\n\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: fullName,\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName,\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 20,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const onMobileSortOrderData = (data) => {\n const { sortOrder } = data;\n dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, sortOrder } });\n };\n\n const onSortFormReset = (setSortFormValue) => {\n setSortFormValue(\"sortOrder\", \"DESC\");\n dispatch({ action: \"mutateTableForm\", data: tableOrderFormDefaultValues });\n };\n\n const propsForMobileSortForm = { onMobileSortOrderData, sortFormDefaultValues: formState?.tableForm, onSortFormReset };\n const propsForInboxMobileCards = useInboxMobileCardsData({ table: filteredData, tenantId });\n\n const isInboxLoading = isLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n forceTable: true,\n showSearchOnMobile: true,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useEffect, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport {\n Card,\n CardHeader,\n CardText,\n Loader,\n StatusTable,\n Row,\n InboxComposer,\n VerticalTimeline,\n SubmitBar,\n} from \"@djb25/digit-ui-react-components\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\nconst EkycStatus = () => {\n const { t } = useTranslation();\n const { id } = useParams();\n const history = useHistory();\n\n // Separate states for the input form state and the triggered search query\n const [formState, setFormState] = useState({\n searchForm: {\n kNumber: id && id !== \":id\" ? id : \"\",\n },\n filterForm: {},\n });\n const [searchQuery, setSearchQuery] = useState(id && id !== \":id\" ? id : \"\");\n const [errorMsg, setErrorMsg] = useState(\"\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // Sync states with URL id parameter change (e.g. back navigation or page load)\n // Added strict equality check to prevent infinite re-render loop\n useEffect(() => {\n const currentKNumber = formState?.searchForm?.kNumber || \"\";\n const targetKNumber = id && id !== \":id\" ? id : \"\";\n if (currentKNumber !== targetKNumber) {\n setFormState({\n searchForm: { kNumber: targetKNumber },\n filterForm: {},\n });\n setSearchQuery(targetKNumber);\n }\n }, [id]);\n\n // Fetch eKYC review/status data - only triggers on 'searchQuery' state\n const { data: searchData, isLoading: isReviewLoading } = Digit.Hooks.ekyc.useEkycSearchReview(\n { kno: searchQuery, fetchType: \"REVIEW\" },\n tenantId,\n {\n enabled: !!searchQuery,\n retry: false,\n onError: (err) => {\n setErrorMsg(err?.message || t(\"EKYC_STATUS_NOT_FOUND\", \"eKYC Application not found.\"));\n },\n }\n );\n\n // Fetch connection/application details via useSearchConnection\n const { data: connectionSearchData, isLoading: isConnectionLoading } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchQuery } },\n { enabled: !!searchQuery, retry: false }\n );\n\n const isLoading = isReviewLoading || isConnectionLoading;\n\n const onSearchFormSubmit = (data) => {\n const val = data?.kNumber?.trim();\n if (!val) {\n setErrorMsg(t(\"EKYC_PLEASE_ENTER_KNO\", \"Please enter a valid K-Number.\"));\n return;\n }\n setErrorMsg(\"\");\n setFormState({\n searchForm: data,\n filterForm: {},\n });\n setSearchQuery(val);\n history.push(`/digit-ui/citizen/ekyc/${val}`);\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", \"\");\n setErrorMsg(\"\");\n setFormState({\n searchForm: { kNumber: \"\" },\n filterForm: {},\n });\n setSearchQuery(\"\");\n history.push(\"/digit-ui/citizen/ekyc/:id\");\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n const propsForInboxTable = {\n columns: [],\n data: [],\n limit: 10,\n offset: 0,\n };\n\n const propsForInboxMobileCards = {\n data: [],\n };\n\n const getStatusDetails = () => {\n if (!searchData) return null;\n const reviewWrapper = searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const appData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n const newData = appData?.newData || appData;\n const connection = newData?.connectionDetails || newData || {};\n\n const naText = t(\"CS_NA\", \"N/A\");\n const connRaw = connectionSearchData?.connectionDetails || connectionSearchData || {};\n const addrRaw = connectionSearchData?.addressDetails || {};\n const propRaw = connectionSearchData?.propertyInfo || {};\n const meterRaw = connectionSearchData?.meterDetails || {};\n\n const rawStatus = (connection?.ekycStatus || connection?.ekycstatus || connRaw?.ekycStatus || propRaw?.ekycStatus || meterRaw?.ekycStatus || \"NA\").toUpperCase();\n\n const reviewName = connection?.consumerName || [newData?.firstName, newData?.middleName, newData?.lastName].filter(Boolean).join(\" \");\n const connName = connRaw?.consumerName || [connRaw?.firstName, connRaw?.middleName, connRaw?.lastName].filter(Boolean).join(\" \");\n\n const reviewPhone = connection?.phoneNumber || connection?.mobileNo || connection?.mobileNumber;\n const connPhone = connRaw?.phoneNumber || connRaw?.mobileNo || connRaw?.mobileNumber || addrRaw?.mobileNo || addrRaw?.phoneNumber || addrRaw?.mobileNumber;\n\n const reviewType = connection?.connectionType || connection?.connectionCategory;\n const connType = connRaw?.connectionType || connRaw?.connectionCategory || connRaw?.knoCategory || propRaw?.connectionType || propRaw?.connectionCategory || meterRaw?.connectionCategory;\n\n return {\n kno: connection?.knumber || connection?.kno || connRaw?.knumber || connRaw?.kno || searchQuery,\n consumerName: (reviewName && reviewName !== naText && reviewName !== \"\") ? reviewName : (connName || naText),\n phoneNumber: (reviewPhone && reviewPhone !== naText && reviewPhone !== \"\") ? reviewPhone : (connPhone || naText),\n connectionType: (reviewType && reviewType !== naText && reviewType !== \"\") ? reviewType : (connType || naText),\n status: rawStatus,\n };\n };\n\n const details = getStatusDetails();\n\n // Visual Stepper configuration for VerticalTimeline\n const timelineConfig = [\n {\n route: \"submitted\",\n timeLine: [\n {\n currentStep: 1,\n actions: t(\"EKYC_STEP_SUBMITTED\", \"eKYC Survey Submitted\"),\n },\n ],\n },\n {\n route: \"verification\",\n timeLine: [\n {\n currentStep: 2,\n actions: t(\"EKYC_STEP_UNDER_VERIFICATION\", \"Under Verification\"),\n },\n ],\n },\n {\n route: \"zro-decision\",\n timeLine: [\n {\n currentStep: 3,\n actions: t(\"EKYC_STEP_ZRO_DECISION\", \"ZRO Decision\"),\n },\n ],\n },\n ];\n\n let activeStepIndex = 0;\n if (details) {\n if (details.status === \"APPROVED\") {\n activeStepIndex = 3;\n } else if (details.status === \"REJECTED\") {\n activeStepIndex = 2;\n } else if (details.status === \"PENDING_FOR_VERIFICATION\") {\n activeStepIndex = 1;\n } else {\n activeStepIndex = 1;\n }\n }\n\n const getStatusText = (status) => {\n const key = `EKYC_STATUS_${status}`;\n const val = t(key);\n if (val === key) {\n if (status === \"APPROVED\") return \"Approved\";\n if (status === \"REJECTED\") return \"Rejected\";\n if (status === \"PENDING_FOR_VERIFICATION\") return \"Pending For Verification\";\n return status;\n }\n return val;\n };\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n {!isLoading && details && (\n <VerticalTimeline config={timelineConfig} currentActiveIndex={activeStepIndex} />\n )}\n <div className=\"employee-form-section\">\n <div className=\"single-page-form-container\">\n {/* 1. Search Form Card rendered with InboxComposer */}\n <Card className=\"ekyc-status-search-card\">\n <CardHeader className=\"ekyc-status-card-header\">\n {t(\"EKYC_APPLICATION_STATUS_TRACKER\", \"eKYC Application Status\")}\n </CardHeader>\n <CardText className=\"ekyc-status-card-text\">\n {t(\"EKYC_STATUS_TRACKER_SUBHEADER\", \"Enter your K-Number below to track the real-time status of your eKYC application.\")}\n </CardText>\n\n <div className=\"status-search-composer-wrapper\">\n <InboxComposer\n {...{\n isInboxLoading: false,\n ...propsForSearchForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n showSearchOnMobile: true,\n }}\n />\n </div>\n </Card>\n\n {errorMsg && (\n <div className=\"ekyc-status-error-msg\">\n {errorMsg}\n </div>\n )}\n\n {/* 2. Results Card */}\n {isLoading && <Loader />}\n\n {!isLoading && details && (\n <Card className=\"ekyc-status-results-card\">\n {/* Status overview and badge */}\n <div className=\"ekyc-status-overview-header\">\n <div>\n <span className=\"ekyc-status-label-title\">\n {t(\"EKYC_CURRENT_STATUS\", \"Current Status\")}\n </span>\n <div className=\"ekyc-status-value-text\">\n {getStatusText(details.status)}\n </div>\n </div>\n <span className={`ekyc-status-badge ${details.status.toLowerCase()}`}>\n {details.status}\n </span>\n </div>\n\n {/* Details Table */}\n <div className=\"ekyc-status-details-section\">\n <h3 className=\"ekyc-status-details-title\">\n {t(\"EKYC_CONNECTION_SUMMARY\", \"Connection Summary\")}\n </h3>\n <StatusTable>\n <Row label={t(\"EKYC_K_NUMBER\", \"K-Number\")} text={details.kno} />\n <Row label={t(\"EKYC_CONSUMER_NAME\", \"Consumer Name\")} text={details.consumerName} />\n <Row label={t(\"EKYC_MOBILE_NO\", \"Mobile Number\")} text={details.phoneNumber} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\", \"Connection Type\")} text={details.connectionType} />\n </StatusTable>\n </div>\n\n {/* View Application button */}\n <div className=\"ekyc-status-action-section\" style={{ marginTop: \"24px\", display: \"flex\", justifyContent: \"flex-end\" }}>\n <SubmitBar\n label={t(\"EKYC_VIEW_APPLICATION\", \"View Application\")}\n onSubmit={() => history.push(`/digit-ui/citizen/ekyc/status/${details.kno}`)}\n />\n </div>\n </Card>\n )}\n </div>\n </div>\n </div>\n </React.Fragment>\n );\n\n \n};\n\nexport default EkycStatus;\n","import React from \"react\";\nimport { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper, BackButton, ExpandedViewContext } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"../../components/EKYCCard\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch, Redirect, Route } from \"react-router-dom\";\nimport AadhaarVerification from \"../../components/AadhaarVerification\";\nimport PropertyInfo from \"../../components/PropertyInfo\";\nimport MeterDetails from \"../../components/MeterDetails\";\nimport Review from \"../../components/Review\";\nimport Home from \"./Home\";\nimport Inbox from \"./Inbox\";\nimport AssignEkyc from \"../../components/AssignEkyc\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard\";\nimport EkycStatus from \"./EkycStatus\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n const { data: { stateInfo } = {} } = Digit.Hooks.useStore.getInitData();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC citizen home\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(\"EKYC_MODULE_NAME\"), path: `/digit-ui/citizen/ekyc` },\n ];\n\n // Child crumb — only appended when on a sub-page\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/aadhaar-verification\")) {\n crumbs.push({ label: t(\"EKYC_AADHAAR_VERIFICATION\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/citizen/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/citizen/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n } else if (pathname.includes(\"/supervisor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") });\n } else if (pathname.includes(\"/surveyor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n } else if (pathname.includes(\"/vendor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DASHBOARD\") || \"Vendor Dashboard\" });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/status/\") || /^\\/digit-ui\\/citizen\\/ekyc\\/[^/]+$/.test(pathname)) {\n const statusLabel = t(\"EKYC_STATUS\");\n crumbs.push({ label: statusLabel === \"EKYC_STATUS\" || statusLabel === \"STATUS\" ? \"eKYC Status\" : statusLabel });\n }\n // home (exact path) → no child crumb\n\n return crumbs;\n };\n\n // const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n // const isEkyAction = (!roles?.includes(\"EKYC_SURVEYOR\") || roles?.includes(\"EMPLOYEE\"))\n\n\n return (\n <AppContainer>\n <div className=\"ground-container form-container\" style={{ flex: 1 }}>\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <Switch>\n <Route exact path={`${path}`}>\n <Redirect to=\"/digit-ui/citizen/ekyc-home\" />\n </Route>\n <PrivateRoute\n path={[`${path}/vendor-dashboard/:vendorId`, `${path}/vendor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AadhaarVerification />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/address-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AddressDetails />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <PropertyInfo />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <MeterDetails />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/status/:applicationId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={[`${path}/supervisor-dashboard/:id`, `${path}/supervisor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <EkycStatus />\n </LayoutWrapper>\n )}\n />\n </Switch>\n </div>\n </AppContainer>\n );\n};\n\nexport default CitizenApp;\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CitizenHomeCard, DocumentIcon, Loader } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"./components/EKYCCard\";\nimport Inbox from \"./components/Dashboard\";\nimport DesktopInbox from \"./components/DesktopInbox\";\nimport MobileInbox from \"./components/MobileInbox\";\nimport Filter from \"./components/Filter\";\nimport EmployeeApp from \"./pages/employee\";\nimport CitizenApp from \"./pages/citizen\";\nimport PropertyInfo from \"./components/PropertyInfo\";\nimport MeterDetails from \"./components/MeterDetails\";\nimport AadhaarVerification from \"./components/AadhaarVerification\";\n\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading } = Digit.Services.useStore({ stateCode, moduleCode, language });\n\n Digit.SessionStorage.set(\"EKYC_TENANTS\", tenants);\n\n useEffect(\n () =>\n Digit.LocalizationService.getLocale({\n modules: [`rainmaker-ekyc`, `rainmaker-${Digit.ULBService.getCurrentTenantId()}`],\n locale: Digit.StoreData.getCurrentLanguage(),\n tenantId: Digit.ULBService.getCurrentTenantId(),\n }),\n []\n );\n\n if (isLoading) {\n return <Loader page={true} />;\n }\n\n if (userType === \"employee\") {\n return <EmployeeApp path={path} url={url} userType={userType} tenants={tenants} />;\n } else return <CitizenApp />;\n};\n\nexport const EkycLinks = ({ matchPath, userType }) => {\n const { t } = useTranslation();\n const propsForModuleCard = {\n links: [],\n };\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code) : [];\n\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n propsForModuleCard.links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/surveyor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/citizen/ekyc/inbox`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n propsForModuleCard.links.push(\n {\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/supervisor-dashboard`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/citizen/ekyc/assign`,\n }\n );\n }\n\n if (roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_VENDOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/vendor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push({\n label: t(\"TITLE_VENDOR_MANAGEMENT\"),\n link: `/digit-ui/citizen/vendor/search-vendor`,\n });\n }\n\n if (roles.length === 1 && roles.includes(\"CITIZEN\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_STATUS\"),\n link: `/digit-ui/citizen/ekyc/:id`,\n });\n }\n\n const formattedLinks = propsForModuleCard.links.map((l) => ({\n i18nKey: l.label,\n link: l.link,\n count: l.count,\n }));\n\n return (\n <CitizenHomeCard\n header={t(\"EKYC_MODULE_NAME\")}\n links={formattedLinks}\n Icon={() => <DocumentIcon className=\"fill-path-primary-main\" />}\n />\n );\n};\n\nconst componentsToRegister = {\n EKYCModule: EkycModule,\n EKYCCard,\n EKYCInbox: Inbox,\n EKYCDesktopInbox: DesktopInbox,\n EKYCMobileInbox: MobileInbox,\n EKYC_INBOX_FILTER: (props) => <Filter {...props} />,\n EkycLinks,\n AadhaarVerification,\n PropertyInfo,\n MeterDetails,\n};\n\nexport const initEkycComponents = () => {\n Object.entries(componentsToRegister).forEach(([key, value]) => {\n Digit.ComponentRegistryService.setComponent(key, value);\n });\n};\n\nexport default EkycModule;\n"],"names":["EKYCCard","_Digit$SessionStorage","_Digit$SessionStorage2","_useTranslation","useTranslation","t","tenantId","Digit","ULBService","getCurrentTenantId","citizenInfo","SessionStorage","get","info","roles","Array","isArray","map","ele","code","_Digit$Hooks$ekyc$use","Hooks","ekyc","useEkycApplicationList","offset","limit","enabled","listData","data","isLoading","totalCount","isCitizen","window","location","pathname","includes","prefix","links","push","label","link","count","length","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","EmployeeModuleCard","_iteratorSymbol","Symbol","iterator","_asyncIteratorSymbol","asyncIterator","_catch","body","recover","result","e","then","_finallyRethrows","finalizer","bind","getChartConstructor","C","Chartjs","StatusCards","_ref","countData","_useState","useState","ekycDownloadLoading","setEkycDownloadLoading","_useState2","showReportMenu","setShowReportMenu","_useState3","from","to","customDate","setCustomDate","_useState4","showCustomPicker","setShowCustomPicker","reportMenuRef","useRef","useEffect","handler","current","contains","target","document","addEventListener","removeEventListener","loggedInUser","fullName","name","hasExternalData","total","submittedCount","useEkycSurveyorDashboard","ekycStatus","dashboardData","apiCountData","useMemo","dashboardInfo","completed","pending","inProgressCount","rejected","active","handleDownloadEkycData","fromDate","toDate","Promise","resolve","EkycService","application_list","_extends","reportDownload","response","consumerList","alert","excludedKeys","headerMapping","kno","firstName","middleName","lastName","status","zoneName","zoneCode","assembly","ward","pincode","addressRaw","locality","subLocality","flatHouseNumber","streetName","landmark","city","state","addressType","addressProofType","mobileNo","alternateMobileNo","whatsappNo","email","landlineNo","mrkey","mrcode","areacode","source","submittedAt","assignedAt","connectionType","Type","occupantType","knoCategory","approvedAt","gender","parentSpouse","fatherOrHusbandName","relationship","informantName","informantRelation","informantIs","contactPerson","relation","entityName","designation","department","employeeId","ownerMobile","ownerVerificationDone","consentGiven","proofOfIdentityType","documentNumber","noOfPerson","latitude","longitude","gpsValid","meterNumber","meterMake","meterStatus","meterCondition","meterLocation","meterLocationAddress","workingStatus","sewerConnection","septicTank","lastBillRaised","lastBillReceivedDate","accessToMeter","systemMeterId","lastBillNotRaisedReason","waterConnectionYears","sewerConnectionYears","pidNumber","propertyType","subPropertyCategory","noOfFloor","noOfRooms","noOfBeds","numberOfDwellingUnits","floorNo","userType","tenantName","tenantMobile","verificationStatus","houseBuiltDuration","surveyorId","supervisorId","vendorId","assignmentType","assignmentValue","assignedTime","isSelfAssigned","doorPhotoFilestoreId","panFilestoreId","documentProofFilestoreId","buildingImageFileStoreId","propertyDocumentFileStoreId","meterPhotoFileStoreId","modifiedBy","emailId","dob","consumerType","createdTime","lastModifiedTime","meterLatitude","meterLongitude","toTitleCase","str","cleanStr","String","isNaN","Number","split","pop","toLowerCase","replace","c","toUpperCase","skipTitleCase","translatedFields","excelData","item","cleanObj","filter","Boolean","join","Object","keys","forEach","key","val","friendlyHeader","cleanFileName","Download","Excel","error","console","_wasThrown","_result","reject","getDateRange","now","Date","start","setHours","setDate","getDate","getDay","handlePresetDownload","range","getTime","handleCustomDownload","chartRef1","chartInstance1","inprocess","submitted","actualCompleted","approved","efficiency","Math","round","healthPct","formatNumber","num","Intl","NumberFormat","format","destroy","ctx1","getContext","ChartConstructor","type","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","className","ref","disabled","onClick","p","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","points","x1","y1","x2","y2","_ref2","onChange","style","gap","marginTop","background","Dashboard","Loader","Card","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kNumber","aadhaarData","columns","Header","accessor","Cell","_row$original","_row$original2","row","original","applicationNumber","_ref3","_row$original3","citizenName","_ref4","_row$original4","_row$original5","_ref5","_row$original6","_row$original7","raw","ekycstatus","_ref6","_row$original8","_row$original9","tableData","items","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_searchParams","setSearchParams","prev","onSubmit","preventDefault","onClear","cleared","kName","HomeIcon","cx","cy","r","TextInput","placeholder","todaysAudits","auditChange","pendingCount","i","fromCharCode","MobileInbox","_data$items","mobileData","mobileNumber","Link","SubmitBar","DetailsCard","serviceRequestIdKey","linkPrefix","text","index","textAlign","Filter","statusMap","applyLocalFilters","clearAll","onStatusChange","newParams","FilterForm","handleSubmit","fn","onResetFilterForm","id","onMobileExclusiveFilterPopupFormClose","onClose","FilterFormField","fontWeight","Dropdown","option","optionKey","select","selected","ekycMockData","topKpis","totalWaterConnections","totalEkycCompleted","totalPending","totalRejected","agencyEkycCompleted","citizenSelfEkycCompleted","todaysEkyc","successRate","rejectionPercentage","executiveMetrics","totalSurveyors","totalSupervisors","activeJurisdictions","todaysGrowth","selfEkycAdoption","avgApprovalTime","riskZones","escalationsOpen","alerts","title","priority","change","district","heatmapData","intensity","dailyTrend","selfVsAgency","agency","citizen","pendingVsCompleted","rejectionAnalysis","success","vendors","assignedConnections","completedEkyc","selfEkyc","inactiveDemand","progress","supervisors","activeSurveyors","jurisdictions","dailyPerformance","day","zones","cluster","zroOffice","assemblyConstituency","gpsLocation","distanceFromFarthestPoint","activeDemand","pppZones","districtwiseInactiveTotal","downloadSurveyorPDF","rows","surveyorName","vendorName","supervisorName","initData","tenants","tenantInfo","find","tenant","capitalize","substr","ulbCamel","ulb","phoneNumber","currentDate","formattedDate","toLocaleDateString","month","year","formattedTime","toLocaleTimeString","hour","minute","second","hour12","downloadDateTime","isValDefined","undefined","details","asSectionHeader","values","Utils","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","downloadSupervisorPDF","mappedRows","_row$owner","_row$owner2","owner","originalToLocaleDateString","prototype","progressIndex","_len","arguments","args","_key","apply","customT","downloadVendorPDF","emailContact","_len2","_key2","VendorDetailsCard","_vendor$owner","_vendor$owner2","_vendorName$charAt","_useParams","useParams","_Digit$Hooks$fsm$useD","fsm","useDsoSearch","staleTime","vendorSearchResponse","isVendorSearchLoading","_Digit$Hooks$fsm$useS","useSupervisorSearch","supervisorSearchResponse","isSupervisorSearchLoading","vendor","userUuid","uuid","userMobile","matchesUser","v","_v$owner","_v$owner2","_v$owner3","ownerUuid","matched","_v$dsoDetails","_v$dsoDetails2","dsoDetails","matchedMock","_v$name","_loggedInUser$name","targetVendorId","useEkycAssignmentProgress","vendorIds","keepPreviousData","isProgressLoading","progressData","vendorSupervisors","mockSupList","_","totalKnos","random","submittedKnos","pendingKnos","progressPercent","currentVendorId","matchedSups","s","sup","_progressData$supervi","_sup$owner2","_sup$owner3","_sup$owner4","report","supervisorReport","_sup$owner","zoneIds","_vendor$zoneIds","zone","trim","cards","hasRealData","some","reduce","acc","completedKnos","icon","FaUsers","FaCheckCircle","FaClock","FaChartLine","setCurrentPage","pageSize","setPageSize","paginatedSupervisors","end","slice","supervisorColumns","_Digit$SessionStorage3","_Digit$SessionStorage4","targetPath","href","textDecoration","_useState5","_useState6","_useState7","reportLoading","setReportLoading","handleDownload","rowsWithStats","err","StatCard","Fragment","isPageLoading","charAt","card","idx","gridColumn","tableTitle","tableClass","isPaginationRequired","ceil","onFirstPage","onLastPage","max","useInboxTableConfig","_formState$tableForm","_formState$tableForm2","_formState$searchForm","formState","table","dispatch","checkPathName","onSortingByData","_ref$inboxStyles","inboxStyles","_ref$tableStyle","tableStyle","tableForm","tableColumnConfig","disableSortBy","DateUtils","ConvertEpochToDate","_ref7","disableSort","autoSort","manualPagination","initSortId","_formState$tableForm3","action","parseInt","_formState$tableForm4","searchForm","message","floor","SearchFormFieldsComponents","searchFormState","controlSearchForm","searchType","errors","Label","CustomTooltip","Controller","control","defaultValue","rules","pattern","render","CardLabelError","useInboxMobileCardsData","_ref$isSupervisor","isSupervisor","handleSupervisorReview","dataForMobileInboxCards","_item$owner","serviceType","MobileSortFormValues","sortOrderOptions","i18nKey","_useFormContext","useFormContext","controlSortForm","SearchField","RadioButtons","onSelect","selectedOption","optionsKey","isTwoDynamicPrefix","getRedirectionLink","handleClickEnabled","Inbox","_formState$searchForm3","_formState$searchForm4","useLocation","formInitValue","filterForm","sortBy","sortOrder","_useReducer","useReducer","formReducer","filters","queryParams","isListLoading","_Digit$Hooks$ekyc$use2","_useMemo","allVendorIds","allIds","dso","matchedId","progressParams","_Digit$Hooks$ekyc$use3","searchDetails","_formState$searchForm2","isSearchActive","_Digit$Hooks$ekyc$use4","useSearchConnection","isSearchLoading","searchData","sourceData","filteredData","_item$sla","isSearchItem","connectionDetails","_item$propertyInfo","_item$propertyInfo2","_item$connectionDetai","_item$propertyInfo3","_item$connectionDetai2","_item$connectionDetai3","_item$connectionDetai4","_item$connectionDetai5","applicationNo","propertyInfo","connectionNo","consumerName","statusflag","sla","supervisor","_loggedInUser$roles","targetId","_s$supervisorId","_s$id","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","payload","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","onMobileSortOrderData","onSortFormReset","setSortFormValue","propsForMobileSortForm","sortFormDefaultValues","propsForInboxMobileCards","isInboxLoading","marginBottom","flexWrap","InboxComposer","forceTable","showSearchOnMobile","ActionButton","jumpTo","routeTo","isEditing","LinkButton","EditIcon","margin","checkForNA","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","borderRadius","border","overflow","borderBottom","justifyContent","alignItems","CardSubHeader","fontSize","borderCollapse","tableLayout","textTransform","field","valNew","valOld","isChanged","borderTop","isBool","Review","_newDataRaw$connectio","_newDataRaw$connectio2","_newDataRaw$connectio3","_newDataRaw$address","_newDataRaw$address2","_newDataRaw$address3","_newDataRaw$address4","_newDataRaw$address5","_newDataRaw$address6","_newDataRaw$address7","_newDataRaw$address8","_newDataRaw$address9","_newDataRaw$address0","_newDataRaw$address1","_newDataRaw$address10","_newDataRaw$address11","_newDataRaw$address12","_newDataRaw$address13","_newDataRaw$address14","_newDataRaw$property","_newDataRaw$property2","_editedProperty$conne","_newDataRaw$property3","_editedProperty$conne2","_newDataRaw$property4","_editedProperty$userT","_newDataRaw$property5","_editedProperty$noOfF","_newDataRaw$property6","_newDataRaw$property7","_newDataRaw$meter","_editedMeter$meterSta","_newDataRaw$meter2","_newDataRaw$meter3","_newDataRaw$meter4","_newDataRaw$meter5","_editedMeter$workingS","_newDataRaw$meter6","_editedMeter$lastBill","_newDataRaw$meter7","_newDataRaw$meter8","applicationId","agree","setAgree","isSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","showOptions","setShowOptions","showToast","setShowToast","toastData","setToastData","_flowState$edits","edits","activeKno","_edits$aadhaarData","_edits$addressDetails","addressDetails","editedAddress","_edits$propertyDetail","propertyDetails","editedProperty","_edits$meterDetails","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","userRoles","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","_extractReviewData","apiNewData","apiOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","address","connectionCategory","meterNo","statusFlag","knumber","fullAddress","flatNo","buildingTower","building","pinCode","noOfPersons","property","typeOfConnection","numberOfFloors","meter","metered","newDataRaw","oldDataRaw","connectionData","addressData","whatsappNumber","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","workingStatusData","lastBillRaisedData","connectionFields","addressFields","propertyFields","meterFields","handleDeclaration","handleReject","_Digit$UserService$ge","_Digit$UserService$ge2","_Digit$UserService$ge3","RequestInfo","apiId","ver","msgId","authToken","UserService","getUser","access_token","remarks","reviewedBy","userName","role","_temp","mutateAsync","handleApprove","_Digit$UserService$ge4","_Digit$UserService$ge5","_Digit$UserService$ge6","_temp2","setTimeout","_err$response","_err$response$data","handleViewDocument","fileStoreId","_temp4","UploadServices","FileFetchbyid","blobUrl","URL","createObjectURL","handleMenuSelect","baseUrl","StatusTable","maxWidth","Row","actionButton","GenericFileIcon","cursor","paddingTop","CheckBox","checked","ActionBar","Menu","position","top","left","zIndex","maxHeight","boxShadow","right","src","alt","onError","nextSibling","open","Toast","AadhaarVerificationConfig","formData","uploadFile","setDocumentId","documentId","_formData","_formData$consumerTyp","_formData2","_formData3","_formData3$occupantTy","_formData4","_formData$informantIs","_formData5","informantIsConsumer","isMandatory","populators","component","validation","required","min","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","AadhaarVerification","config","URLSearchParams","search","urlKno","searchKno","sessionStorage","getItem","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","toast","setToast","isDataLoaded","setIsDataLoaded","canSubmit","setCanSubmit","_savedData$informantI","categoryType","parentSpouseName","mobile","whatsapp","residents","identityType","idFile","tenantVerification","consent","defaultValues","setDefaultValues","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","_savedData$informantI2","fName","mName","lName","parts","updatedDefaults","handleUploadProof","file","files","size","Filestorage","res","_res$data","_res$data$files","_res$data$files$","onFormValueChange","setValue","_data$consumerType","_localFormData$consum","_data$occupantType","_localFormData$occupa","consumerTypeChanged","occupantTypeChanged","informantIsConsumerChanged","knoVal","consumerTypeVal","occupantTypeVal","categoryTypeVal","firstNameVal","mobileVal","residentsVal","consentVal","docId","ownerMobileVal","valid","test","_data$consumerType2","_data$occupantType2","_data$categoryType","_data$gender","_data$identityType","_data$informantIsCons","submitData","landline","entityRelation","idProof","idNumber","updateType","Config","FormComposer","isDisabled","isCollapsible","isDefaultOpen","noCard","submitInForm","ekycConfig","route","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","showMapActualLocation","EKYCForm","passedPath","path","match","useRouteMatch","_Digit$Hooks$useSessi","useSessionStorage","params","setParams","_location$state","rest","goNext","skipStep","isAddMultiple","currentPath","routeObj","nextStep","currentIndex","findIndex","redirectWithHistory","base","handleSelect","silent","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","parseAdditionalDetails","additionalDetails","JSON","parse","AdminDashboard","vendorsList","filteredVendors","_additionalDetails$se","_dso$owner","_dso$owner2","supervisorsList","surveyorsList","surveyors","supervisorIds","_s$owner","matchedReports","displayName","ownerName","SupervisorDetailsCard","_fullName$charAt","matchedSup","_s$owner$uuid","_Digit$Hooks$fsm$useS2","useSurveyorSearch","surveyorSearchResponse","isSurveyorSearchLoading","targetOwnerOrId","resolvedSupervisorId","selfSup","_s$owner2","_s$owner2$uuid","_s$id2","_s$id3","_s$owner3","_s$owner3$uuid","progressReport","_s$id4","_progressReport","_progressReport2","_progressReport3","_matchedSup$owner2","_matchedSup$owner3","_matchedSup$owner4","matchedSurveyors","surv","_matchedSup$owner","_surv$owner3","_surv$owner4","_surv$owner5","_realStats","_realStats2","_realStats3","_realStats4","realStats","_report$supervisorId","_matchedSup$id","_report$id","_matchedSup$id2","_report$surveyors","matchedSurv","_s$surveyorId","_surv$id","_s$surveyorId2","_surv$owner","_surv$owner$uuid","_s$id5","_surv$id2","_s$id6","_surv$owner2","_surv$owner2$uuid","assignedZoneId","_loggedInUser$uuid","isSelf","surveyorsMapped","_surveyorSearchRespon","_matchedSurv$owner","_matchedSurv$owner2","_s$id7","_surv$surveyorId","_s$owner4","_s$owner4$uuid","_surv$surveyorId2","assignedZone","_matchedVendor$dsoDet","matchedVendor","paginatedSurveyors","surveyorColumns","titleCaseFields","AssignEkycModal","surveyor","isReassign","closeModal","refetchDashboard","propsTenantId","selectedKnos","setSelectedKnos","isBulkSelection","setIsBulkSelection","setFilters","_useState8","debouncedFilters","setDebouncedFilters","_Digit$Hooks$ws$useWS","ws","useWSConfigMDMS","ZROLocation","zroLocationsData","mappedZROLocation","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","assemblies","Map","wards","boundaries","traverse","node","localname","assemblyOptions","sort","a","b","localeCompare","wardOptions","structuredLocalityData","localities","extractLocalities","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","sanitizedPin","toString","add","unassignedOnly","fetchFilterOptions","Infinity","filterOptionsData","pincodeOptions","mrkeyOptions","timer","clearTimeout","isFetching","refetchApplicationList","refetch","handleAssignmentError","errMsg","variables","isAlreadyAssigned","isMrKeyType","assignmentMutation","useEkycAssignmentCreate","onSuccess","_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","getAssignmentPayload","filterMappings","appliedFilter","handleAssign","_getAssignmentPayload","_surveyor$owner","newSurveyorId","_surveyor$owner2","mutate","handleSelectAll","pageKnos","allSelected","every","handleFilterChange","Modal","headerBarMain","headerBarEnd","Close","actionCancelLabel","actionCancelOnSubmit","actionSaveLabel","actionSaveOnSubmit","pin","totalPages","SurveyorDetailsDashboard","_surveyorSearchById$s","_surveyor$owner3","_surveyor$owner4","_dashboardData$dashbo","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner8","_surveyor$owner9","_surveyor$owner0","_dashboardData$dashbo5","_dashboardData$dashbo6","showModal","setShowModal","ownerIds","ids","surveyorSearchById","isLoadingId","hasFoundById","surveyorSearchByOwner","isLoadingOwner","vendorData","isVendorLoading","_Digit$Hooks$fsm$useS3","_mappedVendor$dsoDeta","mappedVendor","_mappedSupervisor$own","mappedSupervisor","isDashboardLoading","knoColumns","_useState9","_surveyor$owner5","dashboard","_response$dashboardIn","_surveyor$owner6","_response$dashboardIn2","_wasThrown2","_result2","_surveyor$owner7","_wasThrown3","_result3","description","showAutoSerialNo","_dashboardData$dashbo7","_dashboardData$dashbo8","WorkOrder","setVendor","validFrom","setValidFrom","validTo","setValidTo","uploadedFile","setUploadedFile","setFile","setError","_Digit$Hooks$fsm$useV","useVendorSearch","vendorOptions","_Digit$Hooks$wt$useVe","wt","useVendorWorkOrderCreate","createWorkOrder","getStateId","_response$data$files","_response$data2$files","vendorWorkOrder","isError","_err$response$data$Er","_err$response$data$Er2","Errors","selectfile","isFormDisabled","CollapsibleCardPage","flexDirection","DatePicker","date","extraStyleName","accept","storageKey","_row$original5$owner","SupervisorInboxTableConfig","AssignEkyc","paginationParms","isDataSearchLoading","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","auditDetails","isCardLoading","breadcrumb","listLabel","listPath","detailLabel","getEkycRoutes","layout","SurveyorDetailsCard","ekycRoutes","EmployeeApp","removeItem","getDynamicBreadcrumbs","crumbs","pathSegments","ekycIndex","indexOf","relativeSegments","matchedPath","paths","singlePath","routeSegments","seg","startsWith","crumb","crumbPath","segment","RegExp","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","breadcrumbs","PrivateRoute","LayoutWrapper","layoutClass","businessService","isInbox","exact","PropertyInfoConfig","buildingImage","buildingImageId","setBuildingImage","setBuildingImageId","_formData$propertyTyp","isHotel","isHospitalOrNursing","objectFit","PropertyInfo","noOfFloors","dwellingUnits","propType","subPropCat","matchingType","numberOfRooms","numberOfBeds","handleUpload","reader","FileReader","onloadend","readAsDataURL","_data$propertyType","_localFormData$proper","propertyTypeChanged","propTypeVal","subPropCatVal","noOfFloorsVal","buildingImgId","noOfRoomsVal","noOfBedsVal","_data$propertyType2","_data$subPropertyCate","MeterDetailsConfig","uploadPhoto","meterPhoto","meterPhotoId","setMeterPhoto","setMeterPhotoId","_formData$meterStatus","_formData3$lastBillRe","_formData5$sewerConne","_formData6","lastBillReceived","isFrozen","monthYearOptions","y","m","yesNo","MeterDetails","saType","mrCode","areaCode","mrKey","meterMaker","billMonthYear","mStatus","mCondition","mLoc","billRec","billMonYr","accToMeter","sewerConn","sepTank","matchingStatus","o","matchingCond","matchingLoc","strVal","formatted","parsedParts","mon","yr","_data$meterStatus","_localFormData$meterS","_data$lastBillReceive","_localFormData$lastBi","_data$sewerConnection","_localFormData$sewerC","meterStatusChanged","lastBillReceivedChanged","sewerConnectionChanged","connCatVal","mStatusVal","mLocVal","billRecVal","sewerConnVal","mPhotoId","reasonVal","billMonYrVal","sepTankVal","_data$meterStatus2","_data$meterCondition","_data$meterLocation","_data$lastBillReceive2","_data$billMonthYear","_data$accessToMeter","_data$sewerConnection2","_data$septicTank","EkycStatus","setFormState","searchQuery","setSearchQuery","errorMsg","setErrorMsg","currentKNumber","targetKNumber","retry","isReviewLoading","connectionSearchData","isConnectionLoading","_data$kNumber","getStatusDetails","naText","connRaw","addrRaw","propRaw","meterRaw","rawStatus","reviewName","connName","reviewPhone","connPhone","reviewType","connType","timelineConfig","activeStepIndex","getStatusText","currentActiveIndex","CardHeader","CardText","CitizenApp","_useRouteMatch","_Digit$Hooks$useStore","useStore","getInitData","statusLabel","EkycModule","stateCode","url","language","StoreData","getCurrentLanguage","_Digit$Services$useSt","Services","LocalizationService","getLocale","modules","locale","page","EkycLinks","formattedLinks","l","CitizenHomeCard","DocumentIcon","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}