@djb25/digit-ui-module-ekyc 1.0.41 → 1.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/EKYCCard.js","../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/components/analytics/charts/ExecutiveLineChart.jsx","../src/components/analytics/charts/ExecutiveBarChart.jsx","../src/components/analytics/charts/ExecutivePieChart.jsx","../src/components/CeoDashboard.jsx","../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/utils/reportDownloader.js","../src/components/VendorDetailsCard.js","../src/hook/useInboxTableConfig.js","../src/components/SearchFormFieldsComponent.js","../src/pages/employee/Inbox.js","../src/pages/employee/Mapping.js","../src/components/ConnectionDetailsView.js","../src/pages/employee/Create.js","../src/components/Review.js","../src/config/AadhaarVerificationConfig.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../../vendor/src/config/tableConfig.js","../src/hook/SupervisorInboxTableConfig.js","../src/components/AssignEkyc.js","../src/components/AdminDashboard.js","../src/components/SupervisorDetailsCard.js","../src/components/AssignEkycModal.js","../src/components/SurveyorDetailsCard.js","../src/components/CeoDashboard.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/Home.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 roles = Digit.SessionStorage.get(\"User\")?.info?.roles?.map((r) => r.code) || [];\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 propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: [\n {\n count: totalCount,\n label: t(\"TOTAL_EKYC\"),\n link: `/digit-ui/employee/ekyc/dashboard`,\n },\n ],\n links: [\n {\n label: t(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n link: `/digit-ui/employee/ekyc/ceo-dashboard`,\n },\n {\n label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\",\n link: `/digit-ui/employee/ekyc/admin-dashboard`,\n },\n // {\n // label: t(\"EKYC_DASHBOARD\"),\n // link: `/digit-ui/employee/ekyc/dashboard`,\n // },\n {\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/employee/ekyc/inbox`,\n },\n // {\n // label: t(\"EKYC_CREATE_KYC\"),\n // link: `/digit-ui/employee/ekyc/create-kyc`\n // },\n // {\n // label: t(\"EKYC_UPDATE_KYC\"),\n // link: `/digit-ui/employee/ekyc/update-kyc`\n // },\n // {\n // label: t(\"EKYC_MAPPING\"),\n // link: `/digit-ui/employee/ekyc/mapping`,\n // },\n ...(!roles.includes(\"EMPLOYEE\")\n ? [\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/employee/ekyc/assign`,\n },\n ]\n : []),\n ],\n };\n\n return <EmployeeModuleCard {...propsForModuleCard} />;\n};\n\nexport default EKYCCard;\n","import React, { useEffect, useRef } 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};\n\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n\n const total = countData?.total || 0;\n const pending = countData?.pending || 0;\n const active = countData?.completed || 0;\n const completed = 0;\n\n const actualCompleted = countData?.completed || 0;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round((actualCompleted / total) * 100) : 0;\n const healthPct = total > 0 ? Math.round((approved / total) * 100) : 0;\n\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n\n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_ACTIVE\"), t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\")],\n datasets: [\n {\n data: [active, pending, completed],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\"],\n borderColor: [\"#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: \"#0c2a52\", label: t(\"EKYC_ACTIVE\"), value: active },\n { color: \"#77B6EA\", label: t(\"EKYC_PENDING\"), value: pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_COMPLETED\"), value: completed },\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>\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\">1.2s</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.04%</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 };\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 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>{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\";\n return <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const ekycStatus = (row.original?.ekycStatus || row.original?.ekycstatus || \"NA\").toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</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","// import React from \"react\";\n// import { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\n// const ExecutiveLineChart = ({ data = [], dataKey = \"completed\", name = \"Value\" }) => {\n// return (\n// <div className=\"chart-card\" style={{ minHeight: 320 }}>\n// <ResponsiveContainer width=\"100%\" height={320}>\n// <LineChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n// <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n// <XAxis dataKey=\"label\" axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} itemStyle={{ color: \"#f8fafc\" }} />\n// <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n// <Line\n// type=\"monotone\"\n// dataKey={dataKey}\n// name={name}\n// stroke=\"#38bdf8\"\n// strokeWidth={3}\n// dot={{ r: 4 }}\n// activeDot={{ r: 6, strokeWidth: 2, fill: \"#60a5fa\" }}\n// />\n// </LineChart>\n// </ResponsiveContainer>\n// </div>\n// );\n// };\n\n// export default ExecutiveLineChart;\n\nimport React from \"react\";\nimport { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveLineChart = ({ data = [] }) => {\n const formattedData = data.map((item) => ({\n ...item,\n\n agencyKyc: item.completed || 0,\n\n selfKyc: Math.round((item.completed || 0) * 0.42),\n\n totalKyc: (item.completed || 0) + Math.round((item.completed || 0) * 0.42),\n }));\n\n return (\n <div className=\"chart-card executive-line-chart\">\n <ResponsiveContainer width=\"100%\" height={340}>\n <LineChart\n data={formattedData}\n margin={{\n top: 20,\n right: 12,\n left: 0,\n bottom: 0,\n }}\n >\n <CartesianGrid stroke=\"#e2e8f0\" strokeDasharray=\"3 3\" vertical={false} />\n\n <XAxis\n dataKey=\"label\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n fontWeight: 600,\n }}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n }}\n />\n\n <Tooltip\n cursor={{\n stroke: \"#cbd5e1\",\n strokeWidth: 1,\n }}\n contentStyle={{\n background: \"#ffffff\",\n border: \"1px solid #e2e8f0\",\n borderRadius: 18,\n boxShadow: \"0 10px 30px rgba(15,23,42,0.08)\",\n }}\n labelStyle={{\n color: \"#0f172a\",\n fontWeight: 700,\n marginBottom: 10,\n }}\n />\n\n <Legend\n verticalAlign=\"top\"\n align=\"right\"\n iconType=\"circle\"\n wrapperStyle={{\n paddingBottom: 18,\n color: \"#475569\",\n fontWeight: 600,\n }}\n />\n\n {/* TOTAL */}\n\n <Line\n type=\"monotone\"\n dataKey=\"totalKyc\"\n name=\"Total eKYC\"\n stroke=\"#0f172a\"\n strokeWidth={4}\n dot={false}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* AGENCY */}\n\n <Line\n type=\"monotone\"\n dataKey=\"agencyKyc\"\n name=\"Agency eKYC\"\n stroke=\"#3b82f6\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* SELF */}\n\n <Line\n type=\"monotone\"\n dataKey=\"selfKyc\"\n name=\"Self eKYC\"\n stroke=\"#10b981\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n </LineChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveLineChart;\n","import React from \"react\";\nimport { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveBarChart = ({ data = [], categories = [], xKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <BarChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n <XAxis dataKey={xKey} axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14 }} itemStyle={{ color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n {categories.map((series, index) => (\n <Bar\n key={series.key}\n dataKey={series.key}\n name={series.name}\n fill={index === 0 ? \"#34d399\" : \"#60a5fa\"}\n radius={[12, 12, 0, 0]}\n barSize={24}\n />\n ))}\n </BarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveBarChart;\n","import React from \"react\";\nimport { ResponsiveContainer, PieChart, Pie, Cell, Tooltip, Legend } from \"recharts\";\n\nconst colors = [\"#22c55e\", \"#38bdf8\", \"#f97316\", \"#facc15\", \"#f43f5e\"];\n\nconst ExecutivePieChart = ({ data = [], dataKey = \"value\", labelKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <PieChart>\n <Pie data={data} dataKey={dataKey} nameKey={labelKey} cx=\"50%\" cy=\"50%\" outerRadius={110} innerRadius={60} paddingAngle={3} label={{ fill: \"#f8fafc\", fontSize: 12 }}>\n {data.map((entry, index) => (\n <Cell key={`cell-${index}`} fill={colors[index % colors.length]} />\n ))}\n </Pie>\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"bottom\" align=\"center\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\", marginTop: 10 }} />\n </PieChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutivePieChart;\n","import React, { useMemo, useState } from \"react\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport {\n FaChartLine,\n FaUsers,\n FaCheckCircle,\n FaClock,\n FaExclamationTriangle,\n FaUserTie,\n FaMapMarkedAlt,\n FaSearch,\n FaArrowRight,\n} from \"react-icons/fa\";\nimport { ekycMockData } from \"./mockData\";\nimport ExecutiveLineChart from \"./analytics/charts/ExecutiveLineChart\";\nimport ExecutiveBarChart from \"./analytics/charts/ExecutiveBarChart\";\nimport ExecutivePieChart from \"./analytics/charts/ExecutivePieChart\";\n\nconst CeoDashboard = () => {\n const history = useHistory();\n const location = useLocation();\n const [query, setQuery] = useState(\"\");\n const [statusFilter, setStatusFilter] = useState(\"All\");\n\n const basePath = location.pathname.replace(/\\/ceo-dashboard$/, \"\");\n const filters = [\"All\", \"High Priority\", \"Stable\", \"Watchlist\"];\n\n const vendors = useMemo(() => ekycMockData.vendors || [], []);\n const topKpis = useMemo(() => ekycMockData.topKpis || {}, []);\n const dailyTrend = useMemo(() => ekycMockData.dailyTrend || [], []);\n const selfVsAgency = useMemo(() => ekycMockData.selfVsAgency || [], []);\n const pendingVsCompleted = useMemo(() => ekycMockData.pendingVsCompleted || [], []);\n // const rejectionAnalysis = ekycMockData.rejectionAnalysis || [];\n\n const filteredVendors = useMemo(() => {\n return vendors\n .filter((vendor) => {\n if (statusFilter === \"High Priority\") return vendor.successRate < 70;\n if (statusFilter === \"Watchlist\") return vendor.pending > 35000;\n if (statusFilter === \"Stable\") return vendor.successRate >= 70;\n return true;\n })\n .filter((vendor) => {\n if (!query) return true;\n const keyword = query.toLowerCase();\n return (\n vendor.name.toLowerCase().includes(keyword) ||\n vendor.jurisdictions.some((zone) => zone.toLowerCase().includes(keyword)) ||\n vendor.zones.some((zone) => zone.location?.toLowerCase().includes(keyword))\n );\n });\n }, [vendors, query, statusFilter]);\n\n const zoneRows = useMemo(() => {\n return vendors\n .flatMap((vendor) => vendor.zones.map((zone) => ({ ...zone, agency: vendor.name })))\n .filter((row) => row.location)\n .sort((a, b) => (b.activeDemand || 0) - (a.activeDemand || 0));\n }, [vendors]);\n\n const alerts = [\n \"North East District has 22% more pending accounts than last week\",\n \"Agency 2 has a 12% improvement opportunity in Self eKYC adoption\",\n \"Urgent: 18 supervisor escalations raised for NWS Bhera Enclave\",\n \"Risk alert: Rejection trends are rising in Outer North clusters\",\n ];\n\n const routeToVendor = (vendorId) => {\n history.push(`${basePath}/vendors/${vendorId}`);\n };\n\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell\">\n <section className=\"kpi-grid\">\n {[\n {\n title: \"Total Water Connections\",\n value: topKpis.totalWaterConnections,\n icon: <FaUsers />,\n variant: \"primary\",\n },\n {\n title: \"Total eKYC Completed\",\n value: topKpis.totalEkycCompleted,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Total Pending\",\n value: topKpis.totalPending,\n icon: <FaClock />,\n variant: \"warning\",\n },\n {\n title: \"Total Rejected\",\n value: topKpis.totalRejected,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n {\n title: \"Agency eKYC Completed\",\n value: topKpis.agencyEkycCompleted,\n icon: <FaUserTie />,\n variant: \"info\",\n },\n {\n title: \"Citizen Self eKYC Completed\",\n value: topKpis.citizenSelfEkycCompleted,\n icon: <FaUsers />,\n variant: \"secondary\",\n },\n {\n title: \"Today's eKYC\",\n value: topKpis.todaysEkyc,\n icon: <FaChartLine />,\n variant: \"muted\",\n },\n {\n title: \"Success Rate\",\n value: `${topKpis.successRate}%`,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Rejection Percentage\",\n value: `${topKpis.rejectionPercentage}%`,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n ].map((card) => (\n <article key={card.title} className={`kpi-card card-${card.variant}`}>\n <div className=\"kpi-icon\">{card.icon}</div>\n <div>\n <p className=\"kpi-title\">{card.title}</p>\n <h2>{card.value?.toLocaleString?.() ?? card.value}</h2>\n </div>\n </article>\n ))}\n </section>\n\n <section className=\"vendor-section\">\n <div className=\"section-top\">\n <div>\n <h2>Agency Performance Snapshot</h2>\n <p>Search, filter, and navigate into detailed analytics for every assigned vendor.</p>\n </div>\n <div className=\"vendor-filters\">\n <div className=\"search-box\">\n <FaSearch />\n <input type=\"text\" placeholder=\"Search agency, jurisdiction, location\" value={query} onChange={(e) => setQuery(e.target.value)} />\n </div>\n <div className=\"status-pill-group\">\n {filters.map((status) => (\n <button key={status} className={`status-pill ${statusFilter === status ? \"active\" : \"\"}`} onClick={() => setStatusFilter(status)}>\n {status}\n </button>\n ))}\n </div>\n </div>\n </div>\n\n <div className=\"vendor-grid\">\n {filteredVendors.map((vendor) => (\n <div key={vendor.id} className=\"vendor-card glass-card\" onClick={() => routeToVendor(vendor.id)}>\n <div className=\"vendor-card-top\">\n <div>\n <p className=\"vendor-chip\">{vendor.name}</p>\n <h3>{vendor.assignedConnections.toLocaleString()}</h3>\n <p className=\"vendor-subtitle\">Assigned connections across {vendor.jurisdictions.length} jurisdiction(s)</p>\n </div>\n <div className=\"vendor-progress-value\">{vendor.progress}%</div>\n </div>\n <div className=\"progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${vendor.progress}%` }} />\n </div>\n <div className=\"vendor-stats-grid\">\n <div>\n <strong>{vendor.completedEkyc.toLocaleString()}</strong>\n <span>Agency eKYC</span>\n </div>\n <div>\n <strong>{vendor.selfEkyc.toLocaleString()}</strong>\n <span>Self eKYC</span>\n </div>\n <div>\n <strong>{vendor.pending.toLocaleString()}</strong>\n <span>Pending</span>\n </div>\n <div>\n <strong>{vendor.rejected.toLocaleString()}</strong>\n <span>Rejected</span>\n </div>\n </div>\n <div className=\"vendor-card-footer\">\n <span>{vendor.activeSurveyors} Surveyors</span>\n <span>{vendor.supervisors} Supervisors</span>\n <span>{vendor.jurisdictions.join(\", \")}</span>\n </div>\n <div className=\"vendor-card-action\">\n <span>Explore analytics</span>\n <FaArrowRight />\n </div>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"analytics-grid\">\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Daily eKYC Trend</h2>\n <span className=\"badge success\">Live index</span>\n </div>\n <ExecutiveLineChart data={dailyTrend} dataKey=\"completed\" name=\"Completed\" />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Self vs Agency eKYC</h2>\n <span className=\"badge info\">Adoption</span>\n </div>\n <ExecutiveBarChart\n data={selfVsAgency}\n categories={[\n { key: \"agency\", name: \"Agency\" },\n { key: \"citizen\", name: \"Citizen\" },\n ]}\n />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Pending vs Completed</h2>\n <span className=\"badge warning\">Operational pulse</span>\n </div>\n <ExecutivePieChart data={pendingVsCompleted} dataKey=\"completed\" labelKey=\"label\" />\n </div>\n </section>\n\n <section className=\"zone-section\">\n <div className=\"section-header\">\n <div>\n <h2>\n <FaMapMarkedAlt /> Jurisdiction Performance\n </h2>\n <p>Top zones evaluated from the full agency dataset.</p>\n </div>\n <button className=\"secondary-button\">Export Zone Data</button>\n </div>\n\n <div className=\"table-wrapper glass-card\">\n <table>\n <thead>\n <tr>\n <th>Agency</th>\n <th>Location</th>\n <th>District</th>\n <th>Assigned</th>\n <th>Agency eKYC</th>\n <th>Pending</th>\n <th>Progress</th>\n </tr>\n </thead>\n <tbody>\n {zoneRows.slice(0, 10).map((zone, index) => (\n <tr key={`${zone.agency}-${zone.location}-${index}`}>\n <td>{zone.agency}</td>\n <td>{zone.location}</td>\n <td>{zone.district || zone.cluster}</td>\n <td>{zone.activeDemand?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.pppZones?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.inactiveDemand?.toLocaleString() ?? \"—\"}</td>\n <td>\n <span className=\"status-badge success\">\n {Math.min(100, Math.round(((zone.pppZones || 0) / Math.max(zone.activeDemand || 1, 1)) * 100))}%\n </span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <section className=\"bottom-grid\">\n <div className=\"alerts-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaExclamationTriangle /> Critical Alerts\n </h2>\n </div>\n <div className=\"alerts-list\">\n {alerts.map((alert) => (\n <div key={alert} className=\"alert-card\">\n <FaExclamationTriangle />\n <p>{alert}</p>\n </div>\n ))}\n </div>\n </div>\n\n <div className=\"efficiency-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaUserTie /> Workforce & Efficiency\n </h2>\n </div>\n <div className=\"efficiency-grid\">\n <div className=\"efficiency-box\">\n <h3>48</h3>\n <p>Supervisors Online</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>168</h3>\n <p>Surveyors Active</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.todayEkyc?.toLocaleString()}</h3>\n <p>eKYC Completed Today</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.successRate}%</h3>\n <p>Operational Efficiency</p>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n );\n};\n\nexport default CeoDashboard;\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","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 assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n // 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 }\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 // 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\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\", \"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 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 </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 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>{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\";\n return <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</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 ekycStatus = (row.original?.ekycStatus || row.original?.ekycstatus || \"NA\").toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</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 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\";\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: 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 const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return listData?.consumerList || [];\n }, [isSearchActive, searchData, listData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (\n item.connectionDetails?.ekycStatus ||\n item.connectionDetails?.ekycstatus ||\n item.ekycStatus ||\n item.ekycstatus ||\n \"NA\"\n ).toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.kno || \"\",\n owner: fullName || item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName || item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const 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 isInboxLoading = isListLoading || 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 countData: listData,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useMemo } from \"react\";\nimport {\n Header,\n Card,\n CardHeader,\n CardText,\n CardLabel,\n Dropdown,\n SubmitBar,\n ActionBar,\n Table,\n Toast,\n LabelFieldPair,\n Modal,\n DeleteIcon,\n EditIcon,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\n// ─── Static Mock Data ─────────────────────────────────────────────────────────\n\nconst MOCK_SURVEYORS = [\n { name: \"Amit Kumar\", id: \"SVR001\", role: \"Surveyor\" },\n { name: \"Sanjay Singh\", id: \"SVR002\", role: \"Surveyor\" },\n { name: \"Rahul Sharma\", id: \"SVR003\", role: \"Surveyor\" },\n { name: \"Priya Verma\", id: \"SVR004\", role: \"Surveyor\" },\n];\n\nconst MOCK_MRDS = [\n { name: \"MRD - 01 (Central Zone)\", code: \"MRD01\", zone: \"Central\" },\n { name: \"MRD - 02 (North Zone)\", code: \"MRD02\", zone: \"North\" },\n { name: \"MRD - 03 (South Zone)\", code: \"MRD03\", zone: \"South\" },\n { name: \"MRD - 04 (West Zone)\", code: \"MRD04\", zone: \"West\" },\n { name: \"MRD - 05 (East Zone)\", code: \"MRD05\", zone: \"East\" },\n { name: \"MRD - 06 (Rohini)\", code: \"MRD06\", zone: \"Rohini\" },\n { name: \"MRD - 07 (Dwarka)\", code: \"MRD07\", zone: \"Dwarka\" },\n];\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst Mapping = () => {\n const { t } = useTranslation();\n\n // Form state\n const [selectedSurveyor, setSelectedSurveyor] = useState(null);\n const [selectedMRD, setSelectedMRD] = useState(null);\n\n // Mappings list\n const [mappings, setMappings] = useState([]);\n\n // Edit state: stores the id of the row being edited + its draft values\n const [editingId, setEditingId] = useState(null);\n const [editSurveyor, setEditSurveyor] = useState(null);\n const [editMRD, setEditMRD] = useState(null);\n\n // Delete confirm modal\n const [deleteTarget, setDeleteTarget] = useState(null);\n\n const [toast, setToast] = useState(null);\n\n // ── Handlers ──────────────────────────────────────────────────────────────\n\n const handleAddMapping = () => {\n if (!selectedSurveyor || !selectedMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD\" });\n return;\n }\n const exists = mappings.some(\n m => m.surveyorId === selectedSurveyor.id && m.mrdCode === selectedMRD.code\n );\n if (exists) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => [...prev, {\n id: Date.now(),\n surveyorName: selectedSurveyor.name,\n surveyorId: selectedSurveyor.id,\n mrdName: selectedMRD.name,\n mrdCode: selectedMRD.code,\n zone: selectedMRD.zone,\n }]);\n setSelectedMRD(null);\n setSelectedSurveyor(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_ADDED\") || \"Mapping added successfully\" });\n };\n\n const handleEditStart = (row) => {\n setEditingId(row.id);\n setEditSurveyor(MOCK_SURVEYORS.find(s => s.id === row.surveyorId) || null);\n setEditMRD(MOCK_MRDS.find(m => m.code === row.mrdCode) || null);\n };\n\n const handleEditSave = (id) => {\n if (!editSurveyor || !editMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD to save\" });\n return;\n }\n // Check duplicate (excluding self)\n const duplicate = mappings.some(\n m => m.id !== id && m.surveyorId === editSurveyor.id && m.mrdCode === editMRD.code\n );\n if (duplicate) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => prev.map(m => m.id !== id ? m : {\n ...m,\n surveyorName: editSurveyor.name,\n surveyorId: editSurveyor.id,\n mrdName: editMRD.name,\n mrdCode: editMRD.code,\n zone: editMRD.zone,\n }));\n setEditingId(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_UPDATED\") || \"Mapping updated successfully\" });\n };\n\n const handleEditCancel = () => {\n setEditingId(null);\n setEditSurveyor(null);\n setEditMRD(null);\n };\n\n const handleDeleteConfirm = () => {\n setMappings(prev => prev.filter(m => m.id !== deleteTarget.id));\n setDeleteTarget(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_REMOVED\") || \"Mapping removed\" });\n };\n\n const handleSaveMappings = () => {\n if (mappings.length === 0) {\n setToast({ type: \"error\", message: t(\"EKYC_NO_MAPPINGS_TO_SAVE\") || \"No mappings to save\" });\n return;\n }\n // TODO: replace with real API call\n setToast({ type: \"success\", message: t(\"EKYC_MAPPINGS_SAVED_SUCCESS\") || \"Surveyor mappings saved successfully!\" });\n };\n\n // ── Table columns ─────────────────────────────────────────────────────────\n\n const columns = useMemo(() => [\n {\n Header: t(\"EKYC_SURVEYOR_NAME\") || \"Surveyor\",\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editSurveyor}\n select={setEditSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose surveyor...\"}\n />\n );\n }\n return (\n <div>\n <span className=\"link\">{row.original.surveyorName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.surveyorId}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"EKYC_MRD_ASSIGNED\") || \"MRD Assigned\",\n accessor: \"mrdName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editMRD}\n select={setEditMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose MRD...\"}\n />\n );\n }\n return (\n <div>\n <span>{row.original.mrdName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.zone}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"ES_COMMON_ACTION\") || \"Actions\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <div style={{ display: \"flex\", gap: \"10px\" }}>\n <span\n style={{ cursor: \"pointer\", color: \"#f47738\", fontWeight: \"bold\" }}\n onClick={() => handleEditSave(row.original.id)}\n >\n {t(\"ES_COMMON_SAVE\")}\n </span>\n <span\n style={{ cursor: \"pointer\", color: \"#505A5F\", fontWeight: \"bold\" }}\n onClick={handleEditCancel}\n >\n {t(\"ES_COMMON_CANCEL\")}\n </span>\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", gap: \"16px\" }}>\n <span onClick={() => handleEditStart(row.original)} style={{ cursor: \"pointer\" }}>\n <EditIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n <span onClick={() => setDeleteTarget(row.original)} style={{ cursor: \"pointer\" }}>\n <DeleteIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n </div>\n );\n },\n },\n ], [editingId, editSurveyor, editMRD, mappings, t]);\n\n // ── Render ────────────────────────────────────────────────────────────────\n\n return (\n <React.Fragment>\n <div className=\"side-panel-item\">\n <Card className=\"employeeCard filter inboxLinks\" style={{ marginTop: \"16px\" }}>\n <div className=\"complaint-links-container\">\n <div className=\"header\" style={{ marginBottom: \"0px\" }}>\n <span className=\"logo\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M6.5 2H20V22H6.5A2.5 2.5 0 0 1 4 19.5V4.5A2.5 2.5 0 0 1 6.5 2Z\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n <span className=\"text\">{t(\"EKYC_SURVEYOR_MAPPING\") || \"Surveyor Mapping\"}</span>\n </div>\n </div>\n </Card>\n </div>\n\n <Card>\n <CardHeader>{t(\"EKYC_NEW_MAPPING\") || \"New Mapping\"}</CardHeader>\n <CardText>\n {t(\"EKYC_MAPPING_SUBHEADER\") || \"Assign Meter Reading Dairies to surveyors to manage their data access.\"}\n </CardText>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_SURVEYOR\") || \"Select Surveyor\"} *</CardLabel>\n <div className=\"\">\n <Dropdown\n selected={selectedSurveyor}\n select={setSelectedSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose a surveyor...\"}\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_MRD\") || \"Select MRD\"} *</CardLabel>\n <div className=\"field\">\n <Dropdown\n selected={selectedMRD}\n select={setSelectedMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose an MRD...\"}\n />\n </div>\n </LabelFieldPair>\n\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"EKYC_ADD_TO_LIST\") || \"Add to Mapping List\"}\n onSubmit={handleAddMapping}\n disabled={!selectedSurveyor || !selectedMRD}\n />\n </div>\n </Card>\n\n {mappings.length > 0 && (\n <Card>\n <CardHeader>\n {t(\"EKYC_MAPPING_SUMMARY\") || \"Mapping Summary\"} ({mappings.length})\n </CardHeader>\n <Table\n t={t}\n data={mappings}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n padding: \"10px\",\n fontSize: \"16px\",\n }\n };\n }}\n tableClassName=\"table digit-table\"\n />\n </Card>\n )}\n\n {mappings.length > 0 && (\n <ActionBar>\n <SubmitBar\n label={t(\"EKYC_SAVE_MAPPINGS\") || \"Save Mappings\"}\n onSubmit={handleSaveMappings}\n />\n </ActionBar>\n )}\n\n {deleteTarget && (\n <Modal\n headerBarMain={t(\"EKYC_REMOVE_MAPPING\") || \"Remove Mapping\"}\n headerBarEnd={\n <span onClick={() => setDeleteTarget(null)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_REMOVE\")}\n actionSaveOnSubmit={handleDeleteConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setDeleteTarget(null)}\n style={{ borderRadius: \"12px\" }}\n >\n <CardText style={{ marginTop: \"16px\", marginBottom: \"16px\" }}>\n {t(\"EKYC_REMOVE_MAPPING_CONFIRM_MSG\") || \"Are you sure you want to remove the mapping between \"}\n <strong>{deleteTarget?.surveyorName}</strong> and <strong>{deleteTarget?.mrdName}</strong>?\n </CardText>\n </Modal>\n )}\n\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n warning={toast.type === \"warning\"}\n info={toast.type === \"info\"}\n isDsc={true}\n onClose={() => setToast(null)}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport default Mapping;","import React, { useState } from \"react\";\nimport { Loader, Modal, RadioButtons } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\n\nconst ConnectionDetailsView = ({ kNumber, kName, connectionDetails, isLoading }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { path } = useRouteMatch();\n\n const [showModal, setShowModal] = useState(false);\n const [selectedOption, setSelectedOption] = useState({ code: \"SELF\", name: \"EKYC_SELF\" });\n\n const options = [\n { code: \"SELF\", name: \"EKYC_SELF\" },\n { code: \"OTHER\", name: \"EKYC_OTHER\" },\n ];\n\n const handleStartVerification = () => setShowModal(true);\n\n const onModalConfirm = () => {\n const parentPath = path.includes(\"/create-kyc\")\n ? path.replace(\"/create-kyc\", \"\")\n : path.replace(\"/k-details\", \"\");\n history.push(`${parentPath}/consumer-details`, { kNumber, selectedOption, connectionDetails });\n setShowModal(false);\n };\n\n if (isLoading) return <Loader />;\n if (!connectionDetails) return null;\n\n const details = connectionDetails?.connectionDetails || {};\n const statusFlag = details.statusflag || \"\";\n const isActive = statusFlag?.toLowerCase() === \"active\" || statusFlag === \"A\";\n\n return (\n <React.Fragment>\n <div className=\"ekyc-employee-container\">\n {/* Main Card */}\n <div className=\"connection-details-card\">\n {/* Card Header */}\n <div className=\"details-card-header\">\n <div className=\"header-title-wrapper\">\n <div className=\"header-icon-bg\">\n <svg width=\"16\" height=\"16\" 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 </div>\n <span className=\"header-title-text\">\n {t(\"EKYC_K_NUMBER_DETAILS\") || \"Consumer Identity Details\"}\n </span>\n </div>\n\n {/* Status Badge */}\n <span className={`status-badge ${isActive ? \"active\" : \"inactive\"}`}>\n {isActive ? (t(\"EKYC_ACTIVE_CONNECTION\") || \"Active Connection\") : (statusFlag || t(\"CS_NA\"))}\n </span>\n </div>\n\n {/* Card Body */}\n <div className=\"details-card-body\">\n <div className=\"body-content-row\">\n {/* Left: Verification Parameters */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_VERIFICATION_PARAMETERS\") || \"Verification Parameters\"}\n </div>\n\n <div className=\"data-grid\">\n {/* Consumer Name */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONSUMER_NAME\") || \"Consumer Name\"}\n </div>\n <div className=\"data-value\">\n {details.consumerName || kName || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* K Number */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n </div>\n <div className=\"data-value blue\">\n {kNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Meter Serial No */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_METER_NO\") || \"Meter Serial No.\"}\n </div>\n <div className=\"data-value\">\n {details.meterNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Connection Type */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONNECTION_TYPE\") || \"Connection Type\"}\n </div>\n <div className=\"data-value\">\n {details.connectionType || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n\n {/* Divider */}\n <div className=\"vertical-divider\" />\n\n {/* Right: Address & Contact */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_ADDRESS_AND_CONTACT\") || \"Address & Contact\"}\n </div>\n\n {/* Service Address */}\n <div className=\"address-block\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0z\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_ADDRESS\") || \"Service Address\"}\n </div>\n <div className=\"address-text\">\n {details.address || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Contact + Email row */}\n <div className=\"contact-row\">\n {/* Contact */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\" />\n <line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_PHONE_NO\") || \"Contact\"}\n </div>\n <div className=\"address-text\">\n {details.phoneNumber || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Email */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_EMAIL\") || \"Email Address\"}\n </div>\n <div className=\"address-text\">\n {details.email || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Card Footer */}\n <div className=\"details-card-footer\">\n {/* Last Verified */}\n <div className=\"footer-meta-text\">\n {connectionDetails?.lastVerified\n ? `${t(\"EKYC_LAST_VERIFIED\") || \"Last verified:\"} ${connectionDetails.lastVerified}`\n : \"\"}\n </div>\n\n {/* Action Buttons */}\n <div className=\"action-btns-container\" style={{ fontSize: \"12px\" }}>\n <button\n onClick={handleStartVerification}\n className=\"primary-action-btn\"\n style={{ fontSize: \"12px\" }}\n >\n {t(\"EKYC_START_REVIEW\") || \"Start Review\"}\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n <polyline points=\"12 5 19 12 12 19\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n {/* Modal */}\n {showModal && (\n <Modal\n headerBarMain={t(\"EKYC_SELECT_VERIFICATION_TYPE\")}\n headerBarEnd={\n <span onClick={() => setShowModal(false)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_CONFIRM\")}\n actionSaveOnSubmit={onModalConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setShowModal(false)}\n style={{ borderRadius: \"12px\" }}\n >\n <div style={{ padding: \"24px\" }}>\n <RadioButtons\n name=\"verificationType\"\n options={options}\n optionsKey=\"name\"\n selectedOption={selectedOption}\n onSelect={setSelectedOption}\n style={{ display: \"flex\", flexDirection: \"column\", gap: \"12px\", buttonStyle: { borderRadius: \"5px\" } }}\n t={t}\n />\n </div>\n </Modal>\n )}\n </React.Fragment>\n );\n};\n\nexport default ConnectionDetailsView;","import React, { useState, useEffect } from \"react\";\nimport { Card, HomeIcon, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport SearchConsumer from \"../../components/SearchConsumer\";\nimport ConnectionDetailsView from \"../../components/ConnectionDetailsView\";\n\nconst Create = () => {\n const { t } = useTranslation();\n const [searchParams, setSearchParams] = useState(() => {\n const saved = sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n return saved ? JSON.parse(saved) : { kNumber: \"\", kName: \"\" };\n });\n const [searchPerformed, setSearchPerformed] = useState(() => {\n return sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PERFORMED\") === \"true\";\n });\n const [showToast, setShowToast] = useState(null);\n const [formParams, setFormParams, clearParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const { isLoading: isSearching, data: connectionDetails, error, revalidate } = Digit.Hooks.ekyc.useSearchConnection({\n tenantId,\n details: { kno: searchParams.kNumber, name: searchParams.kName }\n }, {\n enabled: searchPerformed && !!searchParams.kNumber && !!searchParams.kName,\n onError: (error) => {\n setShowToast({ error: true, label: error?.response?.data?.Errors?.[0]?.message || t(\"EKYC_SEARCH_ERROR_PLEASE_ENTER_THE_CORRECT_CREDENTIALS\") });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n }\n });\n\n const handleSearch = (params) => {\n if (!params.kNumber && !params.kName) {\n // This is the \"Clear\" case\n setSearchParams({ kNumber: \"\", kName: \"\" });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n clearParams(); // Clear consolidated EKYC data\n return;\n }\n\n if (!params.kNumber || !params.kName) {\n setShowToast({ error: true, label: t(\"EKYC_FILL_ALL_FIELDS\") });\n return;\n }\n setSearchParams(params);\n setSearchPerformed(true);\n\n // Clear previous EKYC session data if K-number changes\n const currentKno = sessionStorage.getItem(\"EKYC_K_NUMBER\");\n if (currentKno !== params.kNumber) {\n clearParams();\n // Clear any other EKYC keys if they exist\n Object.keys(sessionStorage).forEach(key => {\n if (key.startsWith(\"EKYC_\") && key !== \"EKYC_CREATE\") sessionStorage.removeItem(key);\n });\n }\n\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PARAMS\", JSON.stringify(params));\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PERFORMED\", \"true\");\n sessionStorage.setItem(\"EKYC_K_NUMBER\", params.kNumber);\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n return (\n <SearchConsumer\n onSearch={handleSearch}\n searchParams={searchParams}\n >\n {searchPerformed && (\n <ConnectionDetailsView\n kNumber={searchParams.kNumber}\n kName={searchParams.kName}\n connectionDetails={connectionDetails}\n isLoading={isSearching}\n />\n )}\n\n {!searchPerformed && !isSearching && (\n <Card style={{ textAlign: \"center\", padding: \"40px\" }}>\n <div style={{ color: \"#667085\" }}>{t(\"EKYC_SEARCH_TO_VIEW_DETAILS\")}</div>\n </Card>\n )}\n {showToast && <Toast error={showToast.error} label={showToast.label} onClose={closeToast} isDsc={true} />}\n </SearchConsumer>\n );\n};\n\nexport default Create;\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 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\";\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 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 }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\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\";\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 // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const vendorsList = useMemo(() => {\n if (vendorSearchResponse && vendorSearchResponse.length > 0) {\n return vendorSearchResponse.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 const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n\n // Fetch all eKYC applications for the table\n const { data: applicationData, isFetching: isApplicationLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {},\n {\n tenantId,\n offset: currentPage * pageSize,\n limit: pageSize,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const fullName = loggedInUser?.name || \"Admin\";\n const mobileNumber = loggedInUser?.mobileNumber || \"N/A\";\n const email = loggedInUser?.emailId || \"N/A\";\n const roleText = loggedInUser?.roles?.map((r) => r.name).join(\", \") || \"EKYC Admin\";\n\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 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 name = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (name) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = 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 cleanObj[friendlyHeader] = val;\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_All_Data_Admin_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n return (\n <Card className=\"surveyor-dashboard\">\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n <div className=\"designation\">{t(\"EKYC_ADMIN\") || \"eKYC Admin / Manager\"}</div>\n <div className=\"mobile-number\">{mobileNumber}</div>\n\n </div>\n </div>\n <button\n className=\"download-excel-btn\"\n disabled={ekycDownloadLoading}\n onClick={handleDownloadEkycData}\n style={{ margin: 0, padding: \"8px 16px\", height: \"auto\", minHeight: \"36px\", width: \"auto\" }}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" style={{ marginRight: \"8px\" }}>\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\n {/* Vendor Cards Section */}\n <div style={{ marginTop: \"32px\" }}>\n <h3 style={{ fontSize: \"20px\", fontWeight: \"700\", color: \"#101828\", marginBottom: \"20px\" }}>\n {t(\"EKYC_VENDORS_PERFORMANCE\") || \"eKYC Vendors Performance\"}\n </h3>\n\n {isVendorSearchLoading || isProgressLoading ? (\n <Loader />\n ) : (\n <div style={{\n display: \"grid\",\n gridTemplateColumns: \"repeat(3, 1fr)\",\n gap: \"24px\",\n width: \"100%\"\n }}>\n {vendorsList.length === 0 ? (\n <div style={{ gridColumn: \"span 3\", textAlign: \"center\", padding: \"40px\", color: \"#64748B\", fontSize: \"16px\" }}>\n {t(\"NO_VENDORS_FOUND\") || \"No vendors found.\"}\n </div>\n ) : (\n vendorsList.map((vendor) => (\n <div\n key={vendor.id}\n onClick={() => history.push(`/digit-ui/employee/ekyc/vendors/${vendor.id}`)}\n style={{\n background: \"#ffffff\",\n border: \"1px solid #E2E8F0\",\n borderRadius: \"16px\",\n padding: \"24px\",\n boxShadow: \"0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03)\",\n cursor: \"pointer\",\n transition: \"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"space-between\",\n gap: \"16px\"\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.transform = \"translateY(-4px)\";\n e.currentTarget.style.boxShadow = \"0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04)\";\n e.currentTarget.style.borderColor = \"#CBD5E1\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.transform = \"translateY(0)\";\n e.currentTarget.style.boxShadow = \"0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03)\";\n e.currentTarget.style.borderColor = \"#E2E8F0\";\n }}\n >\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"flex-start\" }}>\n <div>\n <h4 style={{ fontSize: \"18px\", fontWeight: \"700\", color: \"#0B2559\", margin: 0 }}>\n {vendor.name}\n </h4>\n {/* <p style={{ fontSize: \"13px\", color: \"#64748B\", marginTop: \"4px\", marginBottom: 0 }}>\n {t(\"OWNER\") || \"Owner\"}: <span style={{ fontWeight: \"600\", color: \"#334155\" }}>{vendor.ownerName}</span>\n </p> */}\n <p style={{ fontSize: \"12px\", color: \"#64748B\", marginTop: \"2px\", marginBottom: 0 }}>\n {t(\"MOBILE\") || \"Mobile\"}: {vendor.mobileNumber}\n </p>\n </div>\n <span style={{\n background: \"#E0F2FE\",\n color: \"#0369A1\",\n padding: \"6px 12px\",\n borderRadius: \"999px\",\n fontSize: \"13px\",\n fontWeight: \"700\"\n }}>\n {vendor.progress}%\n </span>\n </div>\n\n <div style={{ width: \"100%\", height: \"8px\", background: \"#F1F5F9\", borderRadius: \"999px\", overflow: \"hidden\" }}>\n <div style={{ width: `${vendor.progress}%`, height: \"100%\", background: \"linear-gradient(90deg, #3B82F6 0%, #10B981 100%)\", borderRadius: \"999px\" }}></div>\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"repeat(3, 1fr)\", gap: \"12px\" }}>\n <div style={{ background: \"#F8FAFC\", padding: \"12px 8px\", borderRadius: \"10px\", textAlign: \"center\" }}>\n <div style={{ fontSize: \"16px\", fontWeight: \"700\", color: \"#1E293B\" }}>{vendor.supervisors}</div>\n <div style={{ fontSize: \"10px\", fontWeight: \"600\", color: \"#64748B\", textTransform: \"uppercase\", marginTop: \"4px\" }}>{t(\"SUPERVISORS\") || \"Supervisors\"}</div>\n </div>\n <div style={{ background: \"#F8FAFC\", padding: \"12px 8px\", borderRadius: \"10px\", textAlign: \"center\" }}>\n <div style={{ fontSize: \"16px\", fontWeight: \"700\", color: \"#1E293B\" }}>{vendor.surveyors}</div>\n <div style={{ fontSize: \"10px\", fontWeight: \"600\", color: \"#64748B\", textTransform: \"uppercase\", marginTop: \"4px\" }}>{t(\"SURVEYORS\") || \"Surveyors\"}</div>\n </div>\n <div style={{ background: \"#F8FAFC\", padding: \"12px 8px\", borderRadius: \"10px\", textAlign: \"center\" }}>\n <div style={{ fontSize: \"16px\", fontWeight: \"700\", color: \"#10B981\" }}>{vendor.completed}</div>\n <div style={{ fontSize: \"10px\", fontWeight: \"600\", color: \"#64748B\", textTransform: \"uppercase\", marginTop: \"4px\" }}>{t(\"COMPLETED\") || \"Completed\"}</div>\n </div>\n </div>\n\n <div style={{ display: \"flex\", justifyContent: \"space-between\", fontSize: \"12px\", color: \"#64748B\", borderTop: \"1px solid #F1F5F9\", paddingTop: \"12px\" }}>\n <span>{t(\"PENDING\") || \"Pending\"}: <span style={{ fontWeight: \"700\", color: \"#F59E0B\" }}>{vendor.pending}</span></span>\n <span>{t(\"REJECTED\") || \"Rejected\"}: <span style={{ fontWeight: \"700\", color: \"#EF4444\" }}>{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 assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\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 }\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 }\n );\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n const supervisor = useMemo(() => {\n // 1. Try to get supervisor from progressData if it succeeded\n if (progressData?.supervisorReport) {\n let found = null;\n const targetId = supervisorId || loggedInUser?.uuid;\n if (targetId) {\n found = progressData.supervisorReport.find((s) => \n s.supervisorId?.toLowerCase() === targetId?.toLowerCase() ||\n s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n if (found) return found;\n }\n\n // 2. Fallback to supervisorSearchResponse\n if (supervisorSearchResponse?.supervisors) {\n let matchedSup = null;\n const targetId = supervisorId || loggedInUser?.uuid;\n if (targetId) {\n matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n if (matchedSup) {\n // Find surveyors belonging to this supervisor from surveyorSearchResponse\n const matchedSurveyors = surveyorSearchResponse?.surveyors\n ? surveyorSearchResponse.surveyors\n .filter((surv) => surv.supervisorId === (matchedSup.id || matchedSup.owner?.uuid))\n .map((surv) => {\n // Find surveyor in progressData to get real statistics if available\n let realStats = null;\n if (progressData?.supervisorReport) {\n for (const report of progressData.supervisorReport) {\n const matchedSurv = report.surveyors?.find(\n (s) => \n (s.surveyorId && (s.surveyorId === surv.id || s.surveyorId === surv.owner?.uuid)) ||\n (s.id && (s.id === surv.id || s.id === surv.owner?.uuid))\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 = matchedSurveyors.reduce((acc, s) => acc + (s.totalKnos || 0), 0);\n const submittedKnos = matchedSurveyors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0);\n const pendingKnos = matchedSurveyors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0);\n const 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\n return null;\n }, [progressData, supervisorSearchResponse, surveyorSearchResponse, supervisorId, loggedInUser?.uuid]);\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 ], [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 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 // Fetch for each surveyor under this supervisor in parallel\n const fetchPromises = surveyors.map(s =>\n Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 5000,\n surveyorId: s.surveyorId || s.id,\n reportDownload: true\n }).catch(err => {\n console.error(`Error fetching applications for surveyor ${s.surveyorName}:`, err);\n return { consumerList: [] };\n })\n );\n\n const results = await Promise.all(fetchPromises);\n const consumerList = results.flatMap(res => res?.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 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_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\">{assignedZone}</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 }) => {\n const { t } = useTranslation();\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(\"dl.djb\");\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(\"dl.djb\", \"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 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 } = 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: \"dl.djb\",\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 await refetchDashboard();\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: \"dl.djb\",\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 }) => value || \"-\",\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={`Assign ${selectedKnos.length} 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 {fetchedPincodes.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.map((ward) => (\n <option key={ward.code} value={ward.name}>\n {ward.name}\n </option>\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 <input className=\"form-control\" placeholder=\"MR Key\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)} />\n\n {selectedKnos.length > 0 && (\n <button className=\"clear-selected-btn\" type=\"button\" onClick={() => setSelectedKnos([])}>\n {t(\"EKYC_CLEAR_SELECTION\") || `Clear Selected (${selectedKnos.length})`}\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 { data: surveyorSearchByOwner, isLoading: isLoadingOwner } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n surveyorId ? { ownerIds: surveyorId } : { ownerIds },\n { enabled: true, staleTime: Infinity }\n );\n\n const surveyorSearchResponse = useMemo(() => {\n if (surveyorId) {\n return surveyorSearchById?.surveyors?.length ? surveyorSearchById : surveyorSearchByOwner;\n }\n return surveyorSearchByOwner;\n }, [surveyorId, surveyorSearchById, surveyorSearchByOwner]);\n\n const isLoading = surveyorId ? (isLoadingId || isLoadingOwner) : 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(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\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 knoColumns = useMemo(\n () => [\n {\n Header: t(\"KNO\") || \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: t(\"CONSUMER_NAME\") || \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: t(\"ZONE\") || \"Zone\",\n accessor: \"zoneName\",\n },\n // {\n // Header: \"Pincode\",\n // accessor: \"pincode\",\n // },\n // {\n // Header: t(\"STATUS\") || \"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: t(\"EKYC_STATUS\") || \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => value || \"-\",\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 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_${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 from \"react\";\nimport { FaUsers, FaUserTie, FaMapMarkedAlt, FaCheckCircle, FaClock, FaExclamationTriangle, FaChartLine } from \"react-icons/fa\";\n\nconst vendors = [\n {\n id: 1,\n name: \"Vendor Alpha\",\n progress: 78,\n supervisors: 12,\n surveyors: 148,\n completed: 154200,\n pending: 43200,\n rejected: 3200,\n },\n {\n id: 2,\n name: \"Vendor Beta\",\n progress: 64,\n supervisors: 10,\n surveyors: 122,\n completed: 121000,\n pending: 68500,\n rejected: 2800,\n },\n {\n id: 3,\n name: \"Vendor Gamma\",\n progress: 91,\n supervisors: 15,\n surveyors: 182,\n completed: 201500,\n pending: 19800,\n rejected: 1800,\n },\n];\n\nconst zones = [\n {\n zone: \"North Delhi\",\n totalConnections: 220000,\n ekycDone: 172000,\n liveSurveyors: 58,\n todayCompleted: 2800,\n },\n {\n zone: \"South Delhi\",\n totalConnections: 198000,\n ekycDone: 154500,\n liveSurveyors: 42,\n todayCompleted: 2100,\n },\n {\n zone: \"East Delhi\",\n totalConnections: 175000,\n ekycDone: 132800,\n liveSurveyors: 37,\n todayCompleted: 1740,\n },\n {\n zone: \"West Delhi\",\n totalConnections: 212000,\n ekycDone: 188300,\n liveSurveyors: 48,\n todayCompleted: 2560,\n },\n];\n\nconst alerts = [\n \"15 Surveyors inactive for more than 2 hours\",\n \"Vendor Beta completion dropped by 12% this week\",\n \"North Delhi has highest pending backlog\",\n \"2,843 eKYC applications rejected today\",\n];\n\nconst CeoDashboard = () => {\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"ceo-dashboard\">\n <main className=\"main-content\">\n <div className=\"kpi-grid\">\n <div className=\"kpi-card primary\">\n <div className=\"icon-box\">\n <FaUsers />\n </div>\n <div>\n <h3>7,85,000</h3>\n <p>Total Water Connections</p>\n </div>\n </div>\n\n <div className=\"kpi-card success\">\n <div className=\"icon-box\">\n <FaCheckCircle />\n </div>\n <div>\n <h3>6,47,300</h3>\n <p>eKYC Completed</p>\n </div>\n </div>\n\n <div className=\"kpi-card warning\">\n <div className=\"icon-box\">\n <FaClock />\n </div>\n <div>\n <h3>1,31,500</h3>\n <p>Pending eKYC</p>\n </div>\n </div>\n\n <div className=\"kpi-card danger\">\n <div className=\"icon-box\">\n <FaExclamationTriangle />\n </div>\n <div>\n <h3>7,200</h3>\n <p>Rejected Applications</p>\n </div>\n </div>\n </div>\n <section className=\"dashboard-section\">\n <div className=\"section-header\">\n <h2>\n <FaChartLine /> Vendor Performance Overview\n </h2>\n <button>View All</button>\n </div>\n\n <div className=\"vendor-grid\">\n {vendors.map((vendor) => (\n <div className=\"vendor-card\" key={vendor.id}>\n <div className=\"vendor-top\">\n <div>\n <h3>{vendor.name}</h3>\n <p>Jurisdiction Assigned Vendor</p>\n </div>\n\n <span>{vendor.progress}%</span>\n </div>\n\n <div className=\"progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${vendor.progress}%` }}></div>\n </div>\n\n <div className=\"vendor-stats\">\n <div>\n <h4>{vendor.supervisors}</h4>\n <p>Supervisors</p>\n </div>\n\n <div>\n <h4>{vendor.surveyors}</h4>\n <p>Surveyors</p>\n </div>\n\n <div>\n <h4>{vendor.completed}</h4>\n <p>Completed</p>\n </div>\n </div>\n\n <div className=\"vendor-footer\">\n <span>Pending: {vendor.pending}</span>\n <span>Rejected: {vendor.rejected}</span>\n </div>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"dashboard-section\">\n <div className=\"section-header\">\n <h2>\n <FaMapMarkedAlt /> Jurisdiction Monitoring\n </h2>\n <button>Export Data</button>\n </div>\n\n <div className=\"table-wrapper\">\n <table>\n <thead>\n <tr>\n <th>Zone</th>\n <th>Total Connections</th>\n <th>eKYC Done</th>\n <th>Live Surveyors</th>\n <th>Today's Completion</th>\n <th>Status</th>\n </tr>\n </thead>\n\n <tbody>\n {zones.map((item, index) => (\n <tr key={index}>\n <td>{item.zone}</td>\n <td>{item.totalConnections}</td>\n <td>{item.ekycDone}</td>\n <td>{item.liveSurveyors}</td>\n <td>{item.todayCompleted}</td>\n <td>\n <span className=\"status-badge success\">Active</span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <div className=\"bottom-grid\">\n <section className=\"dashboard-section alerts-section\">\n <div className=\"section-header\">\n <h2>\n <FaExclamationTriangle /> Critical Alerts\n </h2>\n </div>\n\n <div className=\"alerts-list\">\n {alerts.map((alert, index) => (\n <div className=\"alert-card\" key={index}>\n <FaExclamationTriangle />\n <p>{alert}</p>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"dashboard-section team-section\">\n <div className=\"section-header\">\n <h2>\n <FaUserTie /> Workforce Monitoring\n </h2>\n </div>\n\n <div className=\"team-stats-grid\">\n <div className=\"team-box\">\n <h3>37</h3>\n <p>Total Supervisors Online</p>\n </div>\n\n <div className=\"team-box\">\n <h3>154</h3>\n <p>Surveyors Active</p>\n </div>\n\n <div className=\"team-box\">\n <h3>12,430</h3>\n <p>Today's eKYC Completed</p>\n </div>\n\n <div className=\"team-box\">\n <h3>92%</h3>\n <p>Operational Efficiency</p>\n </div>\n </div>\n </section>\n </div>\n </main>\n </div>\n </div>\n );\n};\n\nexport default CeoDashboard;\n","import Dashboard from \"../components/Dashboard\";\nimport Inbox from \"../pages/employee/Inbox\";\nimport Create from \"../pages/employee/Create\";\nimport 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\";\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: \"/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\";\nimport CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard.js\";\nimport Inbox from \"./Inbox\";\nimport Mapping from \"./Mapping\";\nimport Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\nimport AssignEkyc from \"../../components/AssignEkyc.js\";\nimport AdminDashboard from \"../../components/AdminDashboard.js\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard.js\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\"\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}/`}\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 from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CitizenHomeCard, DocumentIcon } from \"@djb25/digit-ui-react-components\";\n\nconst Home = () => {\n const { t } = useTranslation();\n const propsForModuleCard = {\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: [\n {\n count: \"-\",\n label: t(\"TOTAL_EKYC\"),\n link: `/digit-ui/citizen/ekyc/dashboard`,\n },\n ],\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 // {\n // label: t(\"EKYC_DASHBOARD\"),\n // link: `/digit-ui/citizen/ekyc/dashboard`,\n // },\n {\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/citizen/ekyc/inbox`,\n },\n\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 // label: t(\"EKYC_DASHBOARD\"),\n // link: `/digit-ui/citizen/ekyc/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 // {\n // label: t(\"EKYC_CREATE_KYC\"),\n // link: `/digit-ui/citizen/ekyc/create-kyc`,\n // },\n // {\n // label: t(\"EKYC_UPDATE_KYC\"),\n // link: `/digit-ui/citizen/ekyc/update-kyc`,\n // },\n {\n label: t(\"EKYC_STATUS\"),\n link: `/digit-ui/citizen/ekyc/:id`,\n }\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\nexport default Home;\n","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\";\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 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 }}\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 }}\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 { PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper, BackButton } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch } 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 const isEkycHome = location.pathname === \"/digit-ui/citizen/ekyc\" || location.pathname === \"/digit-ui/citizen/ekyc/\";\n\n if (isEkycHome) {\n const isMobile = window.Digit.Utils.browser.isMobile();\n return (\n // <div className=\"moduleLinkHomePage\">\n // <img src={stateInfo?.bannerUrl} alt=\"noimagefound\" />\n // <BackButton className=\"moduleLinkHomePageBackButton\" />\n // {isMobile ? (\n // <h4\n // style={{\n // top: \"calc(16vw + 40px)\",\n // left: \"1.5rem\",\n // position: \"absolute\",\n // color: \"white\",\n // width: \"50px\",\n // fontSize: \"15px\",\n // marginTop: \"6px\",\n // }}\n // >\n // {t(\"MODULE_EKYC\")}\n // </h4>\n // ) : (\n // <h1 style={{ width: \"230px\", marginTop: \"15px\" }}>{t(\"MODULE_EKYC\")}</h1>\n // )}\n // <div className=\"moduleLinkHomePageModuleLinks\">\n // <Home />\n // </div>\n // </div>\n <div className=\"moduleLinkHomePage\">\n <div style={{ position: \"relative\" }}>\n <img src={stateInfo?.bannerUrl} alt=\"noimagefound\" />\n <BackButton className=\"moduleLinkHomePageBackButton\" />\n <div className=\"moduleTitle\">\n {isMobile ? <h4>{t(\"MODULE_EKYC\")}</h4> : <h1>{t(\"MODULE_EKYC\")}</h1>}\n </div>\n </div>\n\n <div className=\"moduleLinkHomePageModuleLinks\">\n <Home />\n </div>\n </div>\n );\n }\n\n return (\n <React.Fragment>\n <div className=\"ground-container form-container\">\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 <PrivateRoute\n exact\n path={`${path}`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Home />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={[`${path}/vendor-dashboard/:vendorId`, `${path}/vendor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/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 </React.Fragment>\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 links = [\n {\n link: `${matchPath}/create-kyc`,\n i18nKey: t(\"EKYC_CREATE_KYC\"),\n },\n {\n link: `${matchPath}/update-kyc`,\n i18nKey: t(\"EKYC_UPDATE_KYC\"),\n },\n ];\n\n return <CitizenHomeCard header={t(\"EKYC_MODULE_NAME\")} links={links} Icon={() => <DocumentIcon className=\"fill-path-primary-main\" />} />;\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","_Digit$SessionStorage3","_useTranslation","useTranslation","t","tenantId","Digit","ULBService","getCurrentTenantId","roles","SessionStorage","get","info","map","r","code","_Digit$Hooks$ekyc$use","Hooks","ekyc","useEkycApplicationList","offset","limit","enabled","listData","data","isLoading","totalCount","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","count","label","link","links","includes","EmployeeModuleCard","getChartConstructor","C","Chartjs","StatusCards","_ref","countData","chartRef1","useRef","chartInstance1","total","pending","active","completed","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","item","key","style","background","ref","width","height","Dashboard","useEkycSurveyorDashboard","dashboardData","useMemo","dashboardInfo","rejected","Loader","Card","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","_useState","useState","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kno","push","kNumber","aadhaarData","columns","Header","accessor","Cell","_ref2","_row$original","_row$original2","row","original","applicationNumber","onClick","_ref3","_row$original3","citizenName","_ref4","_row$original4","status","_ref5","_row$original5","_row$original6","ekycStatus","ekycstatus","toUpperCase","_ref6","_row$original7","_row$original8","tableData","items","Array","isArray","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","e","preventDefault","onClear","cleared","kName","HomeIcon","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","x1","y1","x2","y2","TextInput","target","placeholder","d","todaysAudits","auditChange","pendingCount","i","String","fromCharCode","MobileInbox","_data$items","mobileData","mobileNumber","Link","to","SubmitBar","length","DetailsCard","serviceRequestIdKey","linkPrefix","split","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","name","assignedConnections","completedEkyc","selfEkyc","inactiveDemand","progress","supervisors","activeSurveyors","jurisdictions","dailyPerformance","day","zones","cluster","location","zroOffice","assemblyConstituency","gpsLocation","distanceFromFarthestPoint","activeDemand","pppZones","districtwiseInactiveTotal","ExecutiveLineChart","_ref$data","formattedData","agencyKyc","selfKyc","totalKyc","ResponsiveContainer","LineChart","margin","top","right","left","bottom","CartesianGrid","strokeDasharray","vertical","XAxis","dataKey","axisLine","tickLine","tick","fontSize","YAxis","Tooltip","cursor","contentStyle","border","borderRadius","boxShadow","labelStyle","marginBottom","Legend","verticalAlign","align","iconType","wrapperStyle","paddingBottom","Line","dot","activeDot","ExecutiveBarChart","_ref$categories","categories","_ref$xKey","xKey","minHeight","BarChart","itemStyle","series","Bar","radius","barSize","colors","ExecutivePieChart","_ref$dataKey","_ref$labelKey","labelKey","PieChart","Pie","nameKey","outerRadius","innerRadius","paddingAngle","entry","marginTop","CeoDashboard","_topKpis$todayEkyc","useLocation","query","setQuery","_useState2","statusFilter","setStatusFilter","basePath","pathname","replace","filters","filteredVendors","filter","vendor","keyword","toLowerCase","some","zone","_zone$location","zoneRows","flatMap","sort","a","b","routeToVendor","vendorId","icon","FaUsers","variant","FaCheckCircle","FaClock","FaExclamationTriangle","FaUserTie","FaChartLine","card","_card$value$toLocaleS","_card$value","_card$value$toLocaleS2","toLocaleString","call","FaSearch","join","FaArrowRight","FaMapMarkedAlt","slice","_zone$activeDemand$to","_zone$activeDemand","_zone$pppZones$toLoca","_zone$pppZones","_zone$inactiveDemand$","_zone$inactiveDemand","min","max","alert","todayEkyc","_iteratorSymbol","Symbol","iterator","_asyncIteratorSymbol","asyncIterator","_catch","body","recover","result","then","_finallyRethrows","finalizer","bind","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","val","undefined","details","asSectionHeader","values","submittedCount","window","Utils","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","console","error","Promise","resolve","reject","downloadVendorPDF","emailContact","mappedRows","firstName","mobileNo","lastName","zoneName","submittedAt","originalToLocaleDateString","prototype","progressIndex","_len2","arguments","args","_key2","apply","customT","VendorDetailsCard","_vendor$owner","_vendor$owner2","_vendorName$charAt","_useParams","useParams","useEkycAssignmentProgress","keepPreviousData","isProgressLoading","progressData","_Digit$Hooks$fsm$useD","fsm","useDsoSearch","vendorSearchResponse","isVendorSearchLoading","_Digit$Hooks$fsm$useS","useSupervisorSearch","supervisorSearchResponse","isSupervisorSearchLoading","loggedInUser","userUuid","uuid","userMobile","matchesUser","v","_v$owner","_v$owner2","_v$owner3","ownerUuid","owner","ownerMobile","matched","_v$dsoDetails","_v$dsoDetails2","dsoDetails","Number","matchedMock","_v$name","_loggedInUser$name","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","emailId","cards","hasRealData","reduce","acc","completedKnos","setCurrentPage","pageSize","setPageSize","_useState3","ekycDownloadLoading","setEkycDownloadLoading","handleDownloadEkycData","EkycService","application_list","reportDownload","response","consumerList","excludedKeys","headerMapping","middleName","gender","fatherOrHusbandName","relationship","dob","assembly","ward","pincode","mrkey","createdTime","lastModifiedTime","excelData","cleanObj","fullName","Boolean","Object","keys","forEach","friendlyHeader","cleanFileName","Download","Excel","_wasThrown","_result","paginatedSupervisors","start","end","supervisorColumns","_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","disabled","p","idx","points","tableTitle","tableClass","isPaginationRequired","ceil","onFirstPage","onLastPage","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","Inbox","_formState$searchForm3","_formState$searchForm4","formInitValue","filterForm","sortBy","sortOrder","_useReducer","useReducer","formReducer","queryParams","isListLoading","_Digit$Hooks$ekyc$use2","searchDetails","_formState$searchForm2","isSearchActive","_Digit$Hooks$ekyc$use3","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","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","state","payload","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","isInboxLoading","InboxComposer","MOCK_SURVEYORS","role","MOCK_MRDS","Mapping","selectedSurveyor","setSelectedSurveyor","selectedMRD","setSelectedMRD","mappings","setMappings","editingId","setEditingId","editSurveyor","setEditSurveyor","editMRD","setEditMRD","deleteTarget","setDeleteTarget","_useState8","toast","setToast","handleAddMapping","exists","m","surveyorId","mrdCode","now","mrdName","handleEditStart","handleEditSave","duplicate","handleEditCancel","handleDeleteConfirm","handleSaveMappings","isEditing","gap","EditIcon","DeleteIcon","xmlns","CardHeader","CardText","LabelFieldPair","CardLabel","justifyContent","tableClassName","ActionBar","Modal","headerBarMain","headerBarEnd","actionSaveLabel","actionSaveOnSubmit","actionCancelLabel","actionCancelOnSubmit","Toast","warning","isDsc","ConnectionDetailsView","_useRouteMatch","useRouteMatch","path","showModal","setShowModal","selectedOption","setSelectedOption","handleStartVerification","onModalConfirm","parentPath","statusFlag","isActive","meterNumber","connectionType","address","x","y","rx","ry","lastVerified","RadioButtons","optionsKey","onSelect","flexDirection","buttonStyle","Create","saved","sessionStorage","getItem","JSON","parse","searchPerformed","setSearchPerformed","showToast","setShowToast","_Digit$Hooks$useSessi","useSessionStorage","formParams","clearParams","onError","_error$response","_error$response$data","_error$response$data$","_error$response$data$2","Errors","removeItem","isSearching","handleSearch","params","currentKno","startsWith","setItem","stringify","closeToast","ActionButton","jumpTo","routeTo","LinkButton","checkForNA","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","overflow","borderBottom","alignItems","CardSubHeader","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","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","ele","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","_extractReviewData","apiNewData","apiOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","addressRaw","connectionCategory","meterNo","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","_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","paddingTop","CheckBox","checked","Menu","position","zIndex","maxHeight","src","alt","nextSibling","open","AadhaarVerificationConfig","formData","uploadFile","setDocumentId","documentId","_formData","_formData$consumerTyp","_formData2","_formData3","_formData3$occupantTy","_formData4","_formData$informantIs","_formData5","consumerType","occupantType","informantIsConsumer","isMandatory","populators","component","validation","required","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","AadhaarVerification","config","URLSearchParams","search","urlKno","searchKno","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","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","trim","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","match","setParams","_location$state","rest","goNext","skipStep","isAddMultiple","currentPath","pop","routeObj","nextStep","currentIndex","findIndex","c","redirectWithHistory","base","handleSelect","silent","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","storageKey","_row$original5$owner","serviceType","SupervisorInboxTableConfig","AssignEkyc","_dashboardData$dashbo","paginationParms","useSurveyorSearch","isDataSearchLoading","surveyors","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","additionalDetails","auditDetails","isCardLoading","AdminDashboard","_loggedInUser$roles","_fullName$charAt","vendorsList","_dso$owner","_dso$owner2","dso","supervisorsList","surveyorsList","supervisorIds","_s$owner","matchedReports","displayName","ownerName","roleText","marginRight","gridTemplateColumns","gridColumn","transition","onMouseEnter","currentTarget","transform","onMouseLeave","SupervisorDetailsCard","_Digit$Hooks$fsm$useS2","surveyorSearchResponse","isSurveyorSearchLoading","supervisor","found","targetId","_s$supervisorId","_s$id","matchedSup","_s$id2","_s$owner$uuid","_matchedSup$owner2","_matchedSup$owner3","_matchedSup$owner4","matchedSurveyors","surv","_matchedSup$owner","_surv$owner3","_surv$owner4","_surv$owner5","_realStats","_realStats2","_realStats3","_realStats4","realStats","_report$surveyors","matchedSurv","_surv$owner","_surv$owner2","assignedZoneId","assignedZone","_matchedVendor$dsoDet","targetVendorId","matchedVendor","paginatedSurveyors","surveyorColumns","fetchPromises","catch","all","results","AssignEkycModal","surveyor","closeModal","refetchDashboard","selectedKnos","setSelectedKnos","isBulkSelection","setIsBulkSelection","zoneCode","setFilters","debouncedFilters","setDebouncedFilters","_Digit$Hooks$ws$useWS","ws","useWSConfigMDMS","ZROLocation","zroLocationsData","isZroLoading","mappedZROLocation","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","_useMemo","assemblies","Map","wards","boundaries","traverse","node","localname","assemblyOptions","localeCompare","wardOptions","structuredLocalityData","localities","extractLocalities","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","sanitizedPin","toString","add","timer","clearTimeout","unassignedOnly","isFetching","handleAssignmentError","errMsg","variables","isAlreadyAssigned","isMrKeyType","assignmentType","assignmentMutation","useEkycAssignmentCreate","onSuccess","_response$data","skipped","_response$skipped$","reason","_error$data","getAssignmentPayload","filterMappings","appliedFilter","assignmentValue","handleAssign","_surveyor$owner","_getAssignmentPayload","mutate","handleSelectAll","pageKnos","allSelected","every","handleFilterChange","Close","pin","totalPages","SurveyorDetailsDashboard","_surveyor$owner2","_surveyor$owner3","_surveyor$owner4","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner8","_surveyor$owner9","_surveyor$owner0","_surveyor$additionalD","_dashboardData$dashbo5","_dashboardData$dashbo6","ownerIds","ids","staleTime","Infinity","surveyorSearchById","isLoadingId","surveyorSearchByOwner","isLoadingOwner","_surveyorSearchById$s","_surveyorSearchRespon","vendorData","isVendorLoading","_Digit$Hooks$fsm$useS3","_mappedVendor$dsoDeta","mappedVendor","_mappedSupervisor$own","mappedSupervisor","isDashboardLoading","refetch","knoColumns","_useState9","getDateRange","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","totalConnections","ekycDone","liveSurveyors","todayCompleted","breadcrumb","listLabel","listPath","detailLabel","getEkycRoutes","layout","SurveyorDetailsCard","ekycRoutes","EmployeeApp","getDynamicBreadcrumbs","crumbs","pathSegments","ekycIndex","indexOf","relativeSegments","matchedPath","paths","singlePath","routeSegments","seg","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","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","Home","citizenInfo","formattedLinks","l","i18nKey","CitizenHomeCard","DocumentIcon","EkycStatus","setFormState","searchQuery","setSearchQuery","errorMsg","setErrorMsg","currentKNumber","targetKNumber","retry","isReviewLoading","connectionSearchData","isConnectionLoading","_data$kNumber","propsForInboxMobileCards","getStatusDetails","naText","connRaw","addrRaw","propRaw","meterRaw","rawStatus","reviewName","connName","reviewPhone","connPhone","reviewType","connType","knoCategory","timelineConfig","activeStepIndex","getStatusText","currentActiveIndex","CitizenApp","_Digit$Hooks$useStore","useStore","getInitData","_Digit$Hooks$useStore2","_Digit$Hooks$useStore3","stateInfo","statusLabel","isEkycHome","bannerUrl","BackButton","EkycModule","stateCode","url","language","StoreData","getCurrentLanguage","_Digit$Services$useSt","Services","LocalizationService","getLocale","modules","locale","page","EkycLinks","matchPath","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/EKYCCard.js","../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/components/analytics/charts/ExecutiveLineChart.jsx","../src/components/analytics/charts/ExecutiveBarChart.jsx","../src/components/analytics/charts/ExecutivePieChart.jsx","../src/components/CeoDashboard.jsx","../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../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/pages/employee/Mapping.js","../src/components/ConnectionDetailsView.js","../src/pages/employee/Create.js","../src/components/Review.js","../src/config/AadhaarVerificationConfig.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../../vendor/src/config/tableConfig.js","../src/hook/SupervisorInboxTableConfig.js","../src/hook/useSupervisorInboxMobileCardsData.js","../src/components/AssignEkyc.js","../src/components/AdminDashboard.js","../src/components/SupervisorDetailsCard.js","../src/components/AssignEkycModal.js","../src/components/SurveyorDetailsCard.js","../src/components/CeoDashboard.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/Home.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 roles = Digit.SessionStorage.get(\"User\")?.info?.roles?.map((r) => r.code) || [];\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 propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: [\n {\n count: totalCount,\n label: t(\"TOTAL_EKYC\"),\n link: `/digit-ui/employee/ekyc/dashboard`,\n },\n ],\n links: [\n {\n label: t(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n link: `/digit-ui/employee/ekyc/ceo-dashboard`,\n },\n {\n label: t(\"EKYC_ADMIN_DASHBOARD\") || \"Admin Dashboard\",\n link: `/digit-ui/employee/ekyc/admin-dashboard`,\n },\n // {\n // label: t(\"EKYC_DASHBOARD\"),\n // link: `/digit-ui/employee/ekyc/dashboard`,\n // },\n {\n count: totalCount,\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/employee/ekyc/inbox`,\n },\n // {\n // label: t(\"EKYC_CREATE_KYC\"),\n // link: `/digit-ui/employee/ekyc/create-kyc`\n // },\n // {\n // label: t(\"EKYC_UPDATE_KYC\"),\n // link: `/digit-ui/employee/ekyc/update-kyc`\n // },\n // {\n // label: t(\"EKYC_MAPPING\"),\n // link: `/digit-ui/employee/ekyc/mapping`,\n // },\n ...(!roles.includes(\"EMPLOYEE\")\n ? [\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/employee/ekyc/assign`,\n },\n ]\n : []),\n ],\n };\n\n return <EmployeeModuleCard {...propsForModuleCard} />;\n};\n\nexport default EKYCCard;\n","import React, { useEffect, useRef } 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};\n\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n\n const total = countData?.total || 0;\n const pending = countData?.pending || 0;\n const active = countData?.completed || 0;\n const completed = 0;\n\n const actualCompleted = countData?.completed || 0;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round((actualCompleted / total) * 100) : 0;\n const healthPct = total > 0 ? Math.round((approved / total) * 100) : 0;\n\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n\n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_ACTIVE\"), t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\")],\n datasets: [\n {\n data: [active, pending, completed],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\"],\n borderColor: [\"#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: \"#0c2a52\", label: t(\"EKYC_ACTIVE\"), value: active },\n { color: \"#77B6EA\", label: t(\"EKYC_PENDING\"), value: pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_COMPLETED\"), value: completed },\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>\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\">1.2s</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.04%</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 };\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 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>{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}`}>{t(`${status}`)}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const ekycStatus = (row.original?.ekycStatus || row.original?.ekycstatus || \"NA\").toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</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","// import React from \"react\";\n// import { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\n// const ExecutiveLineChart = ({ data = [], dataKey = \"completed\", name = \"Value\" }) => {\n// return (\n// <div className=\"chart-card\" style={{ minHeight: 320 }}>\n// <ResponsiveContainer width=\"100%\" height={320}>\n// <LineChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n// <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n// <XAxis dataKey=\"label\" axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} itemStyle={{ color: \"#f8fafc\" }} />\n// <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n// <Line\n// type=\"monotone\"\n// dataKey={dataKey}\n// name={name}\n// stroke=\"#38bdf8\"\n// strokeWidth={3}\n// dot={{ r: 4 }}\n// activeDot={{ r: 6, strokeWidth: 2, fill: \"#60a5fa\" }}\n// />\n// </LineChart>\n// </ResponsiveContainer>\n// </div>\n// );\n// };\n\n// export default ExecutiveLineChart;\n\nimport React from \"react\";\nimport { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveLineChart = ({ data = [] }) => {\n const formattedData = data.map((item) => ({\n ...item,\n\n agencyKyc: item.completed || 0,\n\n selfKyc: Math.round((item.completed || 0) * 0.42),\n\n totalKyc: (item.completed || 0) + Math.round((item.completed || 0) * 0.42),\n }));\n\n return (\n <div className=\"chart-card executive-line-chart\">\n <ResponsiveContainer width=\"100%\" height={340}>\n <LineChart\n data={formattedData}\n margin={{\n top: 20,\n right: 12,\n left: 0,\n bottom: 0,\n }}\n >\n <CartesianGrid stroke=\"#e2e8f0\" strokeDasharray=\"3 3\" vertical={false} />\n\n <XAxis\n dataKey=\"label\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n fontWeight: 600,\n }}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n }}\n />\n\n <Tooltip\n cursor={{\n stroke: \"#cbd5e1\",\n strokeWidth: 1,\n }}\n contentStyle={{\n background: \"#ffffff\",\n border: \"1px solid #e2e8f0\",\n borderRadius: 18,\n boxShadow: \"0 10px 30px rgba(15,23,42,0.08)\",\n }}\n labelStyle={{\n color: \"#0f172a\",\n fontWeight: 700,\n marginBottom: 10,\n }}\n />\n\n <Legend\n verticalAlign=\"top\"\n align=\"right\"\n iconType=\"circle\"\n wrapperStyle={{\n paddingBottom: 18,\n color: \"#475569\",\n fontWeight: 600,\n }}\n />\n\n {/* TOTAL */}\n\n <Line\n type=\"monotone\"\n dataKey=\"totalKyc\"\n name=\"Total eKYC\"\n stroke=\"#0f172a\"\n strokeWidth={4}\n dot={false}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* AGENCY */}\n\n <Line\n type=\"monotone\"\n dataKey=\"agencyKyc\"\n name=\"Agency eKYC\"\n stroke=\"#3b82f6\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* SELF */}\n\n <Line\n type=\"monotone\"\n dataKey=\"selfKyc\"\n name=\"Self eKYC\"\n stroke=\"#10b981\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n </LineChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveLineChart;\n","import React from \"react\";\nimport { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveBarChart = ({ data = [], categories = [], xKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <BarChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n <XAxis dataKey={xKey} axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14 }} itemStyle={{ color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n {categories.map((series, index) => (\n <Bar\n key={series.key}\n dataKey={series.key}\n name={series.name}\n fill={index === 0 ? \"#34d399\" : \"#60a5fa\"}\n radius={[12, 12, 0, 0]}\n barSize={24}\n />\n ))}\n </BarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveBarChart;\n","import React from \"react\";\nimport { ResponsiveContainer, PieChart, Pie, Cell, Tooltip, Legend } from \"recharts\";\n\nconst colors = [\"#22c55e\", \"#38bdf8\", \"#f97316\", \"#facc15\", \"#f43f5e\"];\n\nconst ExecutivePieChart = ({ data = [], dataKey = \"value\", labelKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <PieChart>\n <Pie data={data} dataKey={dataKey} nameKey={labelKey} cx=\"50%\" cy=\"50%\" outerRadius={110} innerRadius={60} paddingAngle={3} label={{ fill: \"#f8fafc\", fontSize: 12 }}>\n {data.map((entry, index) => (\n <Cell key={`cell-${index}`} fill={colors[index % colors.length]} />\n ))}\n </Pie>\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"bottom\" align=\"center\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\", marginTop: 10 }} />\n </PieChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutivePieChart;\n","import React, { useMemo, useState } from \"react\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport {\n FaChartLine,\n FaUsers,\n FaCheckCircle,\n FaClock,\n FaExclamationTriangle,\n FaUserTie,\n FaMapMarkedAlt,\n FaSearch,\n FaArrowRight,\n} from \"react-icons/fa\";\nimport { ekycMockData } from \"./mockData\";\nimport ExecutiveLineChart from \"./analytics/charts/ExecutiveLineChart\";\nimport ExecutiveBarChart from \"./analytics/charts/ExecutiveBarChart\";\nimport ExecutivePieChart from \"./analytics/charts/ExecutivePieChart\";\n\nconst CeoDashboard = () => {\n const history = useHistory();\n const location = useLocation();\n const [query, setQuery] = useState(\"\");\n const [statusFilter, setStatusFilter] = useState(\"All\");\n\n const basePath = location.pathname.replace(/\\/ceo-dashboard$/, \"\");\n const filters = [\"All\", \"High Priority\", \"Stable\", \"Watchlist\"];\n\n const vendors = useMemo(() => ekycMockData.vendors || [], []);\n const topKpis = useMemo(() => ekycMockData.topKpis || {}, []);\n const dailyTrend = useMemo(() => ekycMockData.dailyTrend || [], []);\n const selfVsAgency = useMemo(() => ekycMockData.selfVsAgency || [], []);\n const pendingVsCompleted = useMemo(() => ekycMockData.pendingVsCompleted || [], []);\n // const rejectionAnalysis = ekycMockData.rejectionAnalysis || [];\n\n const filteredVendors = useMemo(() => {\n return vendors\n .filter((vendor) => {\n if (statusFilter === \"High Priority\") return vendor.successRate < 70;\n if (statusFilter === \"Watchlist\") return vendor.pending > 35000;\n if (statusFilter === \"Stable\") return vendor.successRate >= 70;\n return true;\n })\n .filter((vendor) => {\n if (!query) return true;\n const keyword = query.toLowerCase();\n return (\n vendor.name.toLowerCase().includes(keyword) ||\n vendor.jurisdictions.some((zone) => zone.toLowerCase().includes(keyword)) ||\n vendor.zones.some((zone) => zone.location?.toLowerCase().includes(keyword))\n );\n });\n }, [vendors, query, statusFilter]);\n\n const zoneRows = useMemo(() => {\n return vendors\n .flatMap((vendor) => vendor.zones.map((zone) => ({ ...zone, agency: vendor.name })))\n .filter((row) => row.location)\n .sort((a, b) => (b.activeDemand || 0) - (a.activeDemand || 0));\n }, [vendors]);\n\n const alerts = [\n \"North East District has 22% more pending accounts than last week\",\n \"Agency 2 has a 12% improvement opportunity in Self eKYC adoption\",\n \"Urgent: 18 supervisor escalations raised for NWS Bhera Enclave\",\n \"Risk alert: Rejection trends are rising in Outer North clusters\",\n ];\n\n const routeToVendor = (vendorId) => {\n history.push(`${basePath}/vendors/${vendorId}`);\n };\n\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell\">\n <section className=\"kpi-grid\">\n {[\n {\n title: \"Total Water Connections\",\n value: topKpis.totalWaterConnections,\n icon: <FaUsers />,\n variant: \"primary\",\n },\n {\n title: \"Total eKYC Completed\",\n value: topKpis.totalEkycCompleted,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Total Pending\",\n value: topKpis.totalPending,\n icon: <FaClock />,\n variant: \"warning\",\n },\n {\n title: \"Total Rejected\",\n value: topKpis.totalRejected,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n {\n title: \"Agency eKYC Completed\",\n value: topKpis.agencyEkycCompleted,\n icon: <FaUserTie />,\n variant: \"info\",\n },\n {\n title: \"Citizen Self eKYC Completed\",\n value: topKpis.citizenSelfEkycCompleted,\n icon: <FaUsers />,\n variant: \"secondary\",\n },\n {\n title: \"Today's eKYC\",\n value: topKpis.todaysEkyc,\n icon: <FaChartLine />,\n variant: \"muted\",\n },\n {\n title: \"Success Rate\",\n value: `${topKpis.successRate}%`,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Rejection Percentage\",\n value: `${topKpis.rejectionPercentage}%`,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n ].map((card) => (\n <article key={card.title} className={`kpi-card card-${card.variant}`}>\n <div className=\"kpi-icon\">{card.icon}</div>\n <div>\n <p className=\"kpi-title\">{card.title}</p>\n <h2>{card.value?.toLocaleString?.() ?? card.value}</h2>\n </div>\n </article>\n ))}\n </section>\n\n <section className=\"vendor-section\">\n <div className=\"section-top\">\n <div>\n <h2>Agency Performance Snapshot</h2>\n <p>Search, filter, and navigate into detailed analytics for every assigned vendor.</p>\n </div>\n <div className=\"vendor-filters\">\n <div className=\"search-box\">\n <FaSearch />\n <input type=\"text\" placeholder=\"Search agency, jurisdiction, location\" value={query} onChange={(e) => setQuery(e.target.value)} />\n </div>\n <div className=\"status-pill-group\">\n {filters.map((status) => (\n <button key={status} className={`status-pill ${statusFilter === status ? \"active\" : \"\"}`} onClick={() => setStatusFilter(status)}>\n {status}\n </button>\n ))}\n </div>\n </div>\n </div>\n\n <div className=\"vendor-grid\">\n {filteredVendors.map((vendor) => (\n <div key={vendor.id} className=\"vendor-card glass-card\" onClick={() => routeToVendor(vendor.id)}>\n <div className=\"vendor-card-top\">\n <div>\n <p className=\"vendor-chip\">{vendor.name}</p>\n <h3>{vendor.assignedConnections.toLocaleString()}</h3>\n <p className=\"vendor-subtitle\">Assigned connections across {vendor.jurisdictions.length} jurisdiction(s)</p>\n </div>\n <div className=\"vendor-progress-value\">{vendor.progress}%</div>\n </div>\n <div className=\"progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${vendor.progress}%` }} />\n </div>\n <div className=\"vendor-stats-grid\">\n <div>\n <strong>{vendor.completedEkyc.toLocaleString()}</strong>\n <span>Agency eKYC</span>\n </div>\n <div>\n <strong>{vendor.selfEkyc.toLocaleString()}</strong>\n <span>Self eKYC</span>\n </div>\n <div>\n <strong>{vendor.pending.toLocaleString()}</strong>\n <span>Pending</span>\n </div>\n <div>\n <strong>{vendor.rejected.toLocaleString()}</strong>\n <span>Rejected</span>\n </div>\n </div>\n <div className=\"vendor-card-footer\">\n <span>{vendor.activeSurveyors} Surveyors</span>\n <span>{vendor.supervisors} Supervisors</span>\n <span>{vendor.jurisdictions.join(\", \")}</span>\n </div>\n <div className=\"vendor-card-action\">\n <span>Explore analytics</span>\n <FaArrowRight />\n </div>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"analytics-grid\">\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Daily eKYC Trend</h2>\n <span className=\"badge success\">Live index</span>\n </div>\n <ExecutiveLineChart data={dailyTrend} dataKey=\"completed\" name=\"Completed\" />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Self vs Agency eKYC</h2>\n <span className=\"badge info\">Adoption</span>\n </div>\n <ExecutiveBarChart\n data={selfVsAgency}\n categories={[\n { key: \"agency\", name: \"Agency\" },\n { key: \"citizen\", name: \"Citizen\" },\n ]}\n />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Pending vs Completed</h2>\n <span className=\"badge warning\">Operational pulse</span>\n </div>\n <ExecutivePieChart data={pendingVsCompleted} dataKey=\"completed\" labelKey=\"label\" />\n </div>\n </section>\n\n <section className=\"zone-section\">\n <div className=\"section-header\">\n <div>\n <h2>\n <FaMapMarkedAlt /> Jurisdiction Performance\n </h2>\n <p>Top zones evaluated from the full agency dataset.</p>\n </div>\n <button className=\"secondary-button\">Export Zone Data</button>\n </div>\n\n <div className=\"table-wrapper glass-card\">\n <table>\n <thead>\n <tr>\n <th>Agency</th>\n <th>Location</th>\n <th>District</th>\n <th>Assigned</th>\n <th>Agency eKYC</th>\n <th>Pending</th>\n <th>Progress</th>\n </tr>\n </thead>\n <tbody>\n {zoneRows.slice(0, 10).map((zone, index) => (\n <tr key={`${zone.agency}-${zone.location}-${index}`}>\n <td>{zone.agency}</td>\n <td>{zone.location}</td>\n <td>{zone.district || zone.cluster}</td>\n <td>{zone.activeDemand?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.pppZones?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.inactiveDemand?.toLocaleString() ?? \"—\"}</td>\n <td>\n <span className=\"status-badge success\">\n {Math.min(100, Math.round(((zone.pppZones || 0) / Math.max(zone.activeDemand || 1, 1)) * 100))}%\n </span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <section className=\"bottom-grid\">\n <div className=\"alerts-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaExclamationTriangle /> Critical Alerts\n </h2>\n </div>\n <div className=\"alerts-list\">\n {alerts.map((alert) => (\n <div key={alert} className=\"alert-card\">\n <FaExclamationTriangle />\n <p>{alert}</p>\n </div>\n ))}\n </div>\n </div>\n\n <div className=\"efficiency-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaUserTie /> Workforce & Efficiency\n </h2>\n </div>\n <div className=\"efficiency-grid\">\n <div className=\"efficiency-box\">\n <h3>48</h3>\n <p>Supervisors Online</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>168</h3>\n <p>Surveyors Active</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.todayEkyc?.toLocaleString()}</h3>\n <p>eKYC Completed Today</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.successRate}%</h3>\n <p>Operational Efficiency</p>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n );\n};\n\nexport default CeoDashboard;\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","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 assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n // 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 }\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 // 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\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\", \"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 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 </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 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>{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}`}>{t(`${status}`)}</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 ekycStatus = (row.original?.ekycStatus || row.original?.ekycstatus || \"NA\").toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</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 }) => {\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 (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 handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const dataForMobileInboxCards = table?.map((item) => {\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 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: \"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 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: 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 const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return listData?.consumerList || [];\n }, [isSearchActive, searchData, listData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (\n item.connectionDetails?.ekycStatus ||\n item.connectionDetails?.ekycstatus ||\n item.ekycStatus ||\n item.ekycstatus ||\n \"NA\"\n ).toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.kno || \"\",\n owner: fullName || item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName || item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const 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 <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n ...propsForMobileSortForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n countData: listData,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useMemo } from \"react\";\nimport {\n Header,\n Card,\n CardHeader,\n CardText,\n CardLabel,\n Dropdown,\n SubmitBar,\n ActionBar,\n Table,\n Toast,\n LabelFieldPair,\n Modal,\n DeleteIcon,\n EditIcon,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\n// ─── Static Mock Data ─────────────────────────────────────────────────────────\n\nconst MOCK_SURVEYORS = [\n { name: \"Amit Kumar\", id: \"SVR001\", role: \"Surveyor\" },\n { name: \"Sanjay Singh\", id: \"SVR002\", role: \"Surveyor\" },\n { name: \"Rahul Sharma\", id: \"SVR003\", role: \"Surveyor\" },\n { name: \"Priya Verma\", id: \"SVR004\", role: \"Surveyor\" },\n];\n\nconst MOCK_MRDS = [\n { name: \"MRD - 01 (Central Zone)\", code: \"MRD01\", zone: \"Central\" },\n { name: \"MRD - 02 (North Zone)\", code: \"MRD02\", zone: \"North\" },\n { name: \"MRD - 03 (South Zone)\", code: \"MRD03\", zone: \"South\" },\n { name: \"MRD - 04 (West Zone)\", code: \"MRD04\", zone: \"West\" },\n { name: \"MRD - 05 (East Zone)\", code: \"MRD05\", zone: \"East\" },\n { name: \"MRD - 06 (Rohini)\", code: \"MRD06\", zone: \"Rohini\" },\n { name: \"MRD - 07 (Dwarka)\", code: \"MRD07\", zone: \"Dwarka\" },\n];\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst Mapping = () => {\n const { t } = useTranslation();\n\n // Form state\n const [selectedSurveyor, setSelectedSurveyor] = useState(null);\n const [selectedMRD, setSelectedMRD] = useState(null);\n\n // Mappings list\n const [mappings, setMappings] = useState([]);\n\n // Edit state: stores the id of the row being edited + its draft values\n const [editingId, setEditingId] = useState(null);\n const [editSurveyor, setEditSurveyor] = useState(null);\n const [editMRD, setEditMRD] = useState(null);\n\n // Delete confirm modal\n const [deleteTarget, setDeleteTarget] = useState(null);\n\n const [toast, setToast] = useState(null);\n\n // ── Handlers ──────────────────────────────────────────────────────────────\n\n const handleAddMapping = () => {\n if (!selectedSurveyor || !selectedMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD\" });\n return;\n }\n const exists = mappings.some(\n m => m.surveyorId === selectedSurveyor.id && m.mrdCode === selectedMRD.code\n );\n if (exists) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => [...prev, {\n id: Date.now(),\n surveyorName: selectedSurveyor.name,\n surveyorId: selectedSurveyor.id,\n mrdName: selectedMRD.name,\n mrdCode: selectedMRD.code,\n zone: selectedMRD.zone,\n }]);\n setSelectedMRD(null);\n setSelectedSurveyor(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_ADDED\") || \"Mapping added successfully\" });\n };\n\n const handleEditStart = (row) => {\n setEditingId(row.id);\n setEditSurveyor(MOCK_SURVEYORS.find(s => s.id === row.surveyorId) || null);\n setEditMRD(MOCK_MRDS.find(m => m.code === row.mrdCode) || null);\n };\n\n const handleEditSave = (id) => {\n if (!editSurveyor || !editMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD to save\" });\n return;\n }\n // Check duplicate (excluding self)\n const duplicate = mappings.some(\n m => m.id !== id && m.surveyorId === editSurveyor.id && m.mrdCode === editMRD.code\n );\n if (duplicate) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => prev.map(m => m.id !== id ? m : {\n ...m,\n surveyorName: editSurveyor.name,\n surveyorId: editSurveyor.id,\n mrdName: editMRD.name,\n mrdCode: editMRD.code,\n zone: editMRD.zone,\n }));\n setEditingId(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_UPDATED\") || \"Mapping updated successfully\" });\n };\n\n const handleEditCancel = () => {\n setEditingId(null);\n setEditSurveyor(null);\n setEditMRD(null);\n };\n\n const handleDeleteConfirm = () => {\n setMappings(prev => prev.filter(m => m.id !== deleteTarget.id));\n setDeleteTarget(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_REMOVED\") || \"Mapping removed\" });\n };\n\n const handleSaveMappings = () => {\n if (mappings.length === 0) {\n setToast({ type: \"error\", message: t(\"EKYC_NO_MAPPINGS_TO_SAVE\") || \"No mappings to save\" });\n return;\n }\n // TODO: replace with real API call\n setToast({ type: \"success\", message: t(\"EKYC_MAPPINGS_SAVED_SUCCESS\") || \"Surveyor mappings saved successfully!\" });\n };\n\n // ── Table columns ─────────────────────────────────────────────────────────\n\n const columns = useMemo(() => [\n {\n Header: t(\"EKYC_SURVEYOR_NAME\") || \"Surveyor\",\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editSurveyor}\n select={setEditSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose surveyor...\"}\n />\n );\n }\n return (\n <div>\n <span className=\"link\">{row.original.surveyorName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.surveyorId}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"EKYC_MRD_ASSIGNED\") || \"MRD Assigned\",\n accessor: \"mrdName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editMRD}\n select={setEditMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose MRD...\"}\n />\n );\n }\n return (\n <div>\n <span>{row.original.mrdName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.zone}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"ES_COMMON_ACTION\") || \"Actions\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <div style={{ display: \"flex\", gap: \"10px\" }}>\n <span\n style={{ cursor: \"pointer\", color: \"#f47738\", fontWeight: \"bold\" }}\n onClick={() => handleEditSave(row.original.id)}\n >\n {t(\"ES_COMMON_SAVE\")}\n </span>\n <span\n style={{ cursor: \"pointer\", color: \"#505A5F\", fontWeight: \"bold\" }}\n onClick={handleEditCancel}\n >\n {t(\"ES_COMMON_CANCEL\")}\n </span>\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", gap: \"16px\" }}>\n <span onClick={() => handleEditStart(row.original)} style={{ cursor: \"pointer\" }}>\n <EditIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n <span onClick={() => setDeleteTarget(row.original)} style={{ cursor: \"pointer\" }}>\n <DeleteIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n </div>\n );\n },\n },\n ], [editingId, editSurveyor, editMRD, mappings, t]);\n\n // ── Render ────────────────────────────────────────────────────────────────\n\n return (\n <React.Fragment>\n <div className=\"side-panel-item\">\n <Card className=\"employeeCard filter inboxLinks\" style={{ marginTop: \"16px\" }}>\n <div className=\"complaint-links-container\">\n <div className=\"header\" style={{ marginBottom: \"0px\" }}>\n <span className=\"logo\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M6.5 2H20V22H6.5A2.5 2.5 0 0 1 4 19.5V4.5A2.5 2.5 0 0 1 6.5 2Z\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n <span className=\"text\">{t(\"EKYC_SURVEYOR_MAPPING\") || \"Surveyor Mapping\"}</span>\n </div>\n </div>\n </Card>\n </div>\n\n <Card>\n <CardHeader>{t(\"EKYC_NEW_MAPPING\") || \"New Mapping\"}</CardHeader>\n <CardText>\n {t(\"EKYC_MAPPING_SUBHEADER\") || \"Assign Meter Reading Dairies to surveyors to manage their data access.\"}\n </CardText>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_SURVEYOR\") || \"Select Surveyor\"} *</CardLabel>\n <div className=\"\">\n <Dropdown\n selected={selectedSurveyor}\n select={setSelectedSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose a surveyor...\"}\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_MRD\") || \"Select MRD\"} *</CardLabel>\n <div className=\"field\">\n <Dropdown\n selected={selectedMRD}\n select={setSelectedMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose an MRD...\"}\n />\n </div>\n </LabelFieldPair>\n\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"EKYC_ADD_TO_LIST\") || \"Add to Mapping List\"}\n onSubmit={handleAddMapping}\n disabled={!selectedSurveyor || !selectedMRD}\n />\n </div>\n </Card>\n\n {mappings.length > 0 && (\n <Card>\n <CardHeader>\n {t(\"EKYC_MAPPING_SUMMARY\") || \"Mapping Summary\"} ({mappings.length})\n </CardHeader>\n <Table\n t={t}\n data={mappings}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n padding: \"10px\",\n fontSize: \"16px\",\n }\n };\n }}\n tableClassName=\"table digit-table\"\n />\n </Card>\n )}\n\n {mappings.length > 0 && (\n <ActionBar>\n <SubmitBar\n label={t(\"EKYC_SAVE_MAPPINGS\") || \"Save Mappings\"}\n onSubmit={handleSaveMappings}\n />\n </ActionBar>\n )}\n\n {deleteTarget && (\n <Modal\n headerBarMain={t(\"EKYC_REMOVE_MAPPING\") || \"Remove Mapping\"}\n headerBarEnd={\n <span onClick={() => setDeleteTarget(null)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_REMOVE\")}\n actionSaveOnSubmit={handleDeleteConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setDeleteTarget(null)}\n style={{ borderRadius: \"12px\" }}\n >\n <CardText style={{ marginTop: \"16px\", marginBottom: \"16px\" }}>\n {t(\"EKYC_REMOVE_MAPPING_CONFIRM_MSG\") || \"Are you sure you want to remove the mapping between \"}\n <strong>{deleteTarget?.surveyorName}</strong> and <strong>{deleteTarget?.mrdName}</strong>?\n </CardText>\n </Modal>\n )}\n\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n warning={toast.type === \"warning\"}\n info={toast.type === \"info\"}\n isDsc={true}\n onClose={() => setToast(null)}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport default Mapping;","import React, { useState } from \"react\";\nimport { Loader, Modal, RadioButtons } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\n\nconst ConnectionDetailsView = ({ kNumber, kName, connectionDetails, isLoading }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { path } = useRouteMatch();\n\n const [showModal, setShowModal] = useState(false);\n const [selectedOption, setSelectedOption] = useState({ code: \"SELF\", name: \"EKYC_SELF\" });\n\n const options = [\n { code: \"SELF\", name: \"EKYC_SELF\" },\n { code: \"OTHER\", name: \"EKYC_OTHER\" },\n ];\n\n const handleStartVerification = () => setShowModal(true);\n\n const onModalConfirm = () => {\n const parentPath = path.includes(\"/create-kyc\")\n ? path.replace(\"/create-kyc\", \"\")\n : path.replace(\"/k-details\", \"\");\n history.push(`${parentPath}/consumer-details`, { kNumber, selectedOption, connectionDetails });\n setShowModal(false);\n };\n\n if (isLoading) return <Loader />;\n if (!connectionDetails) return null;\n\n const details = connectionDetails?.connectionDetails || {};\n const statusFlag = details.statusflag || \"\";\n const isActive = statusFlag?.toLowerCase() === \"active\" || statusFlag === \"A\";\n\n return (\n <React.Fragment>\n <div className=\"ekyc-employee-container\">\n {/* Main Card */}\n <div className=\"connection-details-card\">\n {/* Card Header */}\n <div className=\"details-card-header\">\n <div className=\"header-title-wrapper\">\n <div className=\"header-icon-bg\">\n <svg width=\"16\" height=\"16\" 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 </div>\n <span className=\"header-title-text\">\n {t(\"EKYC_K_NUMBER_DETAILS\") || \"Consumer Identity Details\"}\n </span>\n </div>\n\n {/* Status Badge */}\n <span className={`status-badge ${isActive ? \"active\" : \"inactive\"}`}>\n {isActive ? (t(\"EKYC_ACTIVE_CONNECTION\") || \"Active Connection\") : (statusFlag || t(\"CS_NA\"))}\n </span>\n </div>\n\n {/* Card Body */}\n <div className=\"details-card-body\">\n <div className=\"body-content-row\">\n {/* Left: Verification Parameters */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_VERIFICATION_PARAMETERS\") || \"Verification Parameters\"}\n </div>\n\n <div className=\"data-grid\">\n {/* Consumer Name */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONSUMER_NAME\") || \"Consumer Name\"}\n </div>\n <div className=\"data-value\">\n {details.consumerName || kName || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* K Number */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n </div>\n <div className=\"data-value blue\">\n {kNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Meter Serial No */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_METER_NO\") || \"Meter Serial No.\"}\n </div>\n <div className=\"data-value\">\n {details.meterNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Connection Type */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONNECTION_TYPE\") || \"Connection Type\"}\n </div>\n <div className=\"data-value\">\n {details.connectionType || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n\n {/* Divider */}\n <div className=\"vertical-divider\" />\n\n {/* Right: Address & Contact */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_ADDRESS_AND_CONTACT\") || \"Address & Contact\"}\n </div>\n\n {/* Service Address */}\n <div className=\"address-block\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0z\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_ADDRESS\") || \"Service Address\"}\n </div>\n <div className=\"address-text\">\n {details.address || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Contact + Email row */}\n <div className=\"contact-row\">\n {/* Contact */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\" />\n <line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_PHONE_NO\") || \"Contact\"}\n </div>\n <div className=\"address-text\">\n {details.phoneNumber || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Email */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_EMAIL\") || \"Email Address\"}\n </div>\n <div className=\"address-text\">\n {details.email || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Card Footer */}\n <div className=\"details-card-footer\">\n {/* Last Verified */}\n <div className=\"footer-meta-text\">\n {connectionDetails?.lastVerified\n ? `${t(\"EKYC_LAST_VERIFIED\") || \"Last verified:\"} ${connectionDetails.lastVerified}`\n : \"\"}\n </div>\n\n {/* Action Buttons */}\n <div className=\"action-btns-container\" style={{ fontSize: \"12px\" }}>\n <button\n onClick={handleStartVerification}\n className=\"primary-action-btn\"\n style={{ fontSize: \"12px\" }}\n >\n {t(\"EKYC_START_REVIEW\") || \"Start Review\"}\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n <polyline points=\"12 5 19 12 12 19\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n {/* Modal */}\n {showModal && (\n <Modal\n headerBarMain={t(\"EKYC_SELECT_VERIFICATION_TYPE\")}\n headerBarEnd={\n <span onClick={() => setShowModal(false)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_CONFIRM\")}\n actionSaveOnSubmit={onModalConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setShowModal(false)}\n style={{ borderRadius: \"12px\" }}\n >\n <div style={{ padding: \"24px\" }}>\n <RadioButtons\n name=\"verificationType\"\n options={options}\n optionsKey=\"name\"\n selectedOption={selectedOption}\n onSelect={setSelectedOption}\n style={{ display: \"flex\", flexDirection: \"column\", gap: \"12px\", buttonStyle: { borderRadius: \"5px\" } }}\n t={t}\n />\n </div>\n </Modal>\n )}\n </React.Fragment>\n );\n};\n\nexport default ConnectionDetailsView;","import React, { useState, useEffect } from \"react\";\nimport { Card, HomeIcon, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport SearchConsumer from \"../../components/SearchConsumer\";\nimport ConnectionDetailsView from \"../../components/ConnectionDetailsView\";\n\nconst Create = () => {\n const { t } = useTranslation();\n const [searchParams, setSearchParams] = useState(() => {\n const saved = sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n return saved ? JSON.parse(saved) : { kNumber: \"\", kName: \"\" };\n });\n const [searchPerformed, setSearchPerformed] = useState(() => {\n return sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PERFORMED\") === \"true\";\n });\n const [showToast, setShowToast] = useState(null);\n const [formParams, setFormParams, clearParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const { isLoading: isSearching, data: connectionDetails, error, revalidate } = Digit.Hooks.ekyc.useSearchConnection({\n tenantId,\n details: { kno: searchParams.kNumber, name: searchParams.kName }\n }, {\n enabled: searchPerformed && !!searchParams.kNumber && !!searchParams.kName,\n onError: (error) => {\n setShowToast({ error: true, label: error?.response?.data?.Errors?.[0]?.message || t(\"EKYC_SEARCH_ERROR_PLEASE_ENTER_THE_CORRECT_CREDENTIALS\") });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n }\n });\n\n const handleSearch = (params) => {\n if (!params.kNumber && !params.kName) {\n // This is the \"Clear\" case\n setSearchParams({ kNumber: \"\", kName: \"\" });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n clearParams(); // Clear consolidated EKYC data\n return;\n }\n\n if (!params.kNumber || !params.kName) {\n setShowToast({ error: true, label: t(\"EKYC_FILL_ALL_FIELDS\") });\n return;\n }\n setSearchParams(params);\n setSearchPerformed(true);\n\n // Clear previous EKYC session data if K-number changes\n const currentKno = sessionStorage.getItem(\"EKYC_K_NUMBER\");\n if (currentKno !== params.kNumber) {\n clearParams();\n // Clear any other EKYC keys if they exist\n Object.keys(sessionStorage).forEach(key => {\n if (key.startsWith(\"EKYC_\") && key !== \"EKYC_CREATE\") sessionStorage.removeItem(key);\n });\n }\n\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PARAMS\", JSON.stringify(params));\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PERFORMED\", \"true\");\n sessionStorage.setItem(\"EKYC_K_NUMBER\", params.kNumber);\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n return (\n <SearchConsumer\n onSearch={handleSearch}\n searchParams={searchParams}\n >\n {searchPerformed && (\n <ConnectionDetailsView\n kNumber={searchParams.kNumber}\n kName={searchParams.kName}\n connectionDetails={connectionDetails}\n isLoading={isSearching}\n />\n )}\n\n {!searchPerformed && !isSearching && (\n <Card style={{ textAlign: \"center\", padding: \"40px\" }}>\n <div style={{ color: \"#667085\" }}>{t(\"EKYC_SEARCH_TO_VIEW_DETAILS\")}</div>\n </Card>\n )}\n {showToast && <Toast error={showToast.error} label={showToast.label} onClose={closeToast} isDsc={true} />}\n </SearchConsumer>\n );\n};\n\nexport default Create;\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 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 { RadioButtons, SearchField } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nconst useSupervisorInboxMobileCardsData = ({ table }) => {\n const { t } = useTranslation();\n const history = useHistory();\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 dataForMobileInboxCards = table?.map((item) => {\n const id = item.id;\n const status = item.status || \"DEFAULT\";\n\n return {\n [t(\"SURVEYOR_NAME\")]: (\n <span className=\"link\" onClick={() => handleReview(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 });\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: \"id\",\n MobileSortFormValues,\n };\n};\n\nexport default useSupervisorInboxMobileCardsData;\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 useSupervisorInboxMobileCardsData from \"../hook/useSupervisorInboxMobileCardsData\";\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 = useSupervisorInboxMobileCardsData({ table: filteredData });\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 }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\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\";\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 // Fetch assignment progress with hierarchy (supervisor and surveyor details)\n const { data: progressData, isLoading: isProgressLoading } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const vendorsList = useMemo(() => {\n if (vendorSearchResponse && vendorSearchResponse.length > 0) {\n return vendorSearchResponse.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 const [ekycDownloadLoading, setEkycDownloadLoading] = useState(false);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n\n // Fetch all eKYC applications for the table\n const { data: applicationData, isFetching: isApplicationLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {},\n {\n tenantId,\n offset: currentPage * pageSize,\n limit: pageSize,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const fullName = loggedInUser?.name || \"Admin\";\n const mobileNumber = loggedInUser?.mobileNumber || \"N/A\";\n const email = loggedInUser?.emailId || \"N/A\";\n const roleText = loggedInUser?.roles?.map((r) => r.name).join(\", \") || \"EKYC Admin\";\n\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 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 name = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n if (name) {\n cleanObj[t(\"CONSUMER_NAME\") || \"Consumer Name\"] = 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 cleanObj[friendlyHeader] = val;\n });\n\n return cleanObj;\n });\n\n const cleanFileName = `eKYC_All_Data_Admin_${fullName.replace(/[^a-zA-Z0-9]/g, \"_\")}`;\n Digit.Download.Excel(excelData, cleanFileName);\n } catch (error) {\n console.error(\"Error downloading eKYC Excel:\", error);\n } finally {\n setEkycDownloadLoading(false);\n }\n };\n\n return (\n <Card className=\"surveyor-dashboard\">\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n <div className=\"designation\">{t(\"EKYC_ADMIN\") || \"eKYC Admin / Manager\"}</div>\n <div className=\"mobile-number\">{mobileNumber}</div>\n\n </div>\n </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\n {/* Vendor Cards Section */}\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 assignment progress with hierarchy (supervisor and surveyor details)\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\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 }\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 }\n );\n\n // Fetch all vendors from DSO search\n const { data: vendorSearchResponse, isLoading: isVendorSearchLoading } = Digit.Hooks.fsm.useDsoSearch(\n tenantId,\n { status: \"ACTIVE\" },\n { enabled: !!tenantId }\n );\n\n const supervisor = useMemo(() => {\n // 1. Try to get supervisor from progressData if it succeeded\n if (progressData?.supervisorReport) {\n let found = null;\n const targetId = supervisorId || loggedInUser?.uuid;\n if (targetId) {\n found = progressData.supervisorReport.find((s) => \n s.supervisorId?.toLowerCase() === targetId?.toLowerCase() ||\n s.id?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n if (found) return found;\n }\n\n // 2. Fallback to supervisorSearchResponse\n if (supervisorSearchResponse?.supervisors) {\n let matchedSup = null;\n const targetId = supervisorId || loggedInUser?.uuid;\n if (targetId) {\n matchedSup = supervisorSearchResponse.supervisors.find(\n (s) => s.id?.toLowerCase() === targetId?.toLowerCase() || s.owner?.uuid?.toLowerCase() === targetId?.toLowerCase()\n );\n }\n\n if (matchedSup) {\n // Find surveyors belonging to this supervisor from surveyorSearchResponse\n const matchedSurveyors = surveyorSearchResponse?.surveyors\n ? surveyorSearchResponse.surveyors\n .filter((surv) => surv.supervisorId === (matchedSup.id || matchedSup.owner?.uuid))\n .map((surv) => {\n // Find surveyor in progressData to get real statistics if available\n let realStats = null;\n if (progressData?.supervisorReport) {\n for (const report of progressData.supervisorReport) {\n const matchedSurv = report.surveyors?.find(\n (s) => \n (s.surveyorId && (s.surveyorId === surv.id || s.surveyorId === surv.owner?.uuid)) ||\n (s.id && (s.id === surv.id || s.id === surv.owner?.uuid))\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 = matchedSurveyors.reduce((acc, s) => acc + (s.totalKnos || 0), 0);\n const submittedKnos = matchedSurveyors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0);\n const pendingKnos = matchedSurveyors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0);\n const 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\n return null;\n }, [progressData, supervisorSearchResponse, surveyorSearchResponse, supervisorId, loggedInUser?.uuid]);\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 ], [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 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 // Fetch for each surveyor under this supervisor in parallel\n const fetchPromises = surveyors.map(s =>\n Digit.EkycService.application_list({\n tenantId: tenantId || \"dl.djb\",\n offset: 0,\n limit: 5000,\n surveyorId: s.surveyorId || s.id,\n reportDownload: true\n }).catch(err => {\n console.error(`Error fetching applications for surveyor ${s.surveyorName}:`, err);\n return { consumerList: [] };\n })\n );\n\n const results = await Promise.all(fetchPromises);\n const consumerList = results.flatMap(res => res?.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 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_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\">{assignedZone}</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 }) => {\n const { t } = useTranslation();\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(\"dl.djb\");\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(\"dl.djb\", \"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 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 } = 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: \"dl.djb\",\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 await refetchDashboard();\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: \"dl.djb\",\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={`Assign ${selectedKnos.length} 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 {fetchedPincodes.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.map((ward) => (\n <option key={ward.code} value={ward.name}>\n {ward.name}\n </option>\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 <input className=\"form-control\" placeholder=\"MR Key\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)} />\n\n {selectedKnos.length > 0 && (\n <button className=\"clear-selected-btn\" type=\"button\" onClick={() => setSelectedKnos([])}>\n {t(\"EKYC_CLEAR_SELECTION\") || `Clear Selected (${selectedKnos.length})`}\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 { data: surveyorSearchByOwner, isLoading: isLoadingOwner } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n surveyorId ? { ownerIds: surveyorId } : { ownerIds },\n { enabled: true, staleTime: Infinity }\n );\n\n const surveyorSearchResponse = useMemo(() => {\n if (surveyorId) {\n return surveyorSearchById?.surveyors?.length ? surveyorSearchById : surveyorSearchByOwner;\n }\n return surveyorSearchByOwner;\n }, [surveyorId, surveyorSearchById, surveyorSearchByOwner]);\n\n const isLoading = surveyorId ? (isLoadingId || isLoadingOwner) : 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(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\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 knoColumns = useMemo(\n () => [\n {\n Header: t(\"KNO\") || \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: t(\"CONSUMER_NAME\") || \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: t(\"ZONE\") || \"Zone\",\n accessor: \"zoneName\",\n },\n // {\n // Header: \"Pincode\",\n // accessor: \"pincode\",\n // },\n // {\n // Header: t(\"STATUS\") || \"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: 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}`}>{t(status)}</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 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_${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 from \"react\";\nimport { FaUsers, FaUserTie, FaMapMarkedAlt, FaCheckCircle, FaClock, FaExclamationTriangle, FaChartLine } from \"react-icons/fa\";\n\nconst vendors = [\n {\n id: 1,\n name: \"Vendor Alpha\",\n progress: 78,\n supervisors: 12,\n surveyors: 148,\n completed: 154200,\n pending: 43200,\n rejected: 3200,\n },\n {\n id: 2,\n name: \"Vendor Beta\",\n progress: 64,\n supervisors: 10,\n surveyors: 122,\n completed: 121000,\n pending: 68500,\n rejected: 2800,\n },\n {\n id: 3,\n name: \"Vendor Gamma\",\n progress: 91,\n supervisors: 15,\n surveyors: 182,\n completed: 201500,\n pending: 19800,\n rejected: 1800,\n },\n];\n\nconst zones = [\n {\n zone: \"North Delhi\",\n totalConnections: 220000,\n ekycDone: 172000,\n liveSurveyors: 58,\n todayCompleted: 2800,\n },\n {\n zone: \"South Delhi\",\n totalConnections: 198000,\n ekycDone: 154500,\n liveSurveyors: 42,\n todayCompleted: 2100,\n },\n {\n zone: \"East Delhi\",\n totalConnections: 175000,\n ekycDone: 132800,\n liveSurveyors: 37,\n todayCompleted: 1740,\n },\n {\n zone: \"West Delhi\",\n totalConnections: 212000,\n ekycDone: 188300,\n liveSurveyors: 48,\n todayCompleted: 2560,\n },\n];\n\nconst alerts = [\n \"15 Surveyors inactive for more than 2 hours\",\n \"Vendor Beta completion dropped by 12% this week\",\n \"North Delhi has highest pending backlog\",\n \"2,843 eKYC applications rejected today\",\n];\n\nconst CeoDashboard = () => {\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"ceo-dashboard\">\n <main className=\"main-content\">\n <div className=\"kpi-grid\">\n <div className=\"kpi-card primary\">\n <div className=\"icon-box\">\n <FaUsers />\n </div>\n <div>\n <h3>7,85,000</h3>\n <p>Total Water Connections</p>\n </div>\n </div>\n\n <div className=\"kpi-card success\">\n <div className=\"icon-box\">\n <FaCheckCircle />\n </div>\n <div>\n <h3>6,47,300</h3>\n <p>eKYC Completed</p>\n </div>\n </div>\n\n <div className=\"kpi-card warning\">\n <div className=\"icon-box\">\n <FaClock />\n </div>\n <div>\n <h3>1,31,500</h3>\n <p>Pending eKYC</p>\n </div>\n </div>\n\n <div className=\"kpi-card danger\">\n <div className=\"icon-box\">\n <FaExclamationTriangle />\n </div>\n <div>\n <h3>7,200</h3>\n <p>Rejected Applications</p>\n </div>\n </div>\n </div>\n <section className=\"dashboard-section\">\n <div className=\"section-header\">\n <h2>\n <FaChartLine /> Vendor Performance Overview\n </h2>\n <button>View All</button>\n </div>\n\n <div className=\"vendor-grid\">\n {vendors.map((vendor) => (\n <div className=\"vendor-card\" key={vendor.id}>\n <div className=\"vendor-top\">\n <div>\n <h3>{vendor.name}</h3>\n <p>Jurisdiction Assigned Vendor</p>\n </div>\n\n <span>{vendor.progress}%</span>\n </div>\n\n <div className=\"progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${vendor.progress}%` }}></div>\n </div>\n\n <div className=\"vendor-stats\">\n <div>\n <h4>{vendor.supervisors}</h4>\n <p>Supervisors</p>\n </div>\n\n <div>\n <h4>{vendor.surveyors}</h4>\n <p>Surveyors</p>\n </div>\n\n <div>\n <h4>{vendor.completed}</h4>\n <p>Completed</p>\n </div>\n </div>\n\n <div className=\"vendor-footer\">\n <span>Pending: {vendor.pending}</span>\n <span>Rejected: {vendor.rejected}</span>\n </div>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"dashboard-section\">\n <div className=\"section-header\">\n <h2>\n <FaMapMarkedAlt /> Jurisdiction Monitoring\n </h2>\n <button>Export Data</button>\n </div>\n\n <div className=\"table-wrapper\">\n <table>\n <thead>\n <tr>\n <th>Zone</th>\n <th>Total Connections</th>\n <th>eKYC Done</th>\n <th>Live Surveyors</th>\n <th>Today's Completion</th>\n <th>Status</th>\n </tr>\n </thead>\n\n <tbody>\n {zones.map((item, index) => (\n <tr key={index}>\n <td>{item.zone}</td>\n <td>{item.totalConnections}</td>\n <td>{item.ekycDone}</td>\n <td>{item.liveSurveyors}</td>\n <td>{item.todayCompleted}</td>\n <td>\n <span className=\"status-badge success\">Active</span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <div className=\"bottom-grid\">\n <section className=\"dashboard-section alerts-section\">\n <div className=\"section-header\">\n <h2>\n <FaExclamationTriangle /> Critical Alerts\n </h2>\n </div>\n\n <div className=\"alerts-list\">\n {alerts.map((alert, index) => (\n <div className=\"alert-card\" key={index}>\n <FaExclamationTriangle />\n <p>{alert}</p>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"dashboard-section team-section\">\n <div className=\"section-header\">\n <h2>\n <FaUserTie /> Workforce Monitoring\n </h2>\n </div>\n\n <div className=\"team-stats-grid\">\n <div className=\"team-box\">\n <h3>37</h3>\n <p>Total Supervisors Online</p>\n </div>\n\n <div className=\"team-box\">\n <h3>154</h3>\n <p>Surveyors Active</p>\n </div>\n\n <div className=\"team-box\">\n <h3>12,430</h3>\n <p>Today's eKYC Completed</p>\n </div>\n\n <div className=\"team-box\">\n <h3>92%</h3>\n <p>Operational Efficiency</p>\n </div>\n </div>\n </section>\n </div>\n </main>\n </div>\n </div>\n );\n};\n\nexport default CeoDashboard;\n","import Dashboard from \"../components/Dashboard\";\nimport Inbox from \"../pages/employee/Inbox\";\nimport Create from \"../pages/employee/Create\";\nimport 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\";\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: \"/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\";\nimport CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetailsCard from \"../../components/VendorDetailsCard.js\";\nimport Inbox from \"./Inbox\";\nimport Mapping from \"./Mapping\";\nimport Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\nimport AssignEkyc from \"../../components/AssignEkyc.js\";\nimport AdminDashboard from \"../../components/AdminDashboard.js\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard.js\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\"\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}/`}\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 from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CitizenHomeCard, DocumentIcon } from \"@djb25/digit-ui-react-components\";\n\nconst Home = () => {\n const { t } = useTranslation();\n const propsForModuleCard = {\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: [\n {\n count: \"-\",\n label: t(\"TOTAL_EKYC\"),\n link: `/digit-ui/citizen/ekyc/dashboard`,\n },\n ],\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 // {\n // label: t(\"EKYC_DASHBOARD\"),\n // link: `/digit-ui/citizen/ekyc/dashboard`,\n // },\n {\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/citizen/ekyc/inbox`,\n },\n\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 // label: t(\"EKYC_DASHBOARD\"),\n // link: `/digit-ui/citizen/ekyc/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 // {\n // label: t(\"EKYC_CREATE_KYC\"),\n // link: `/digit-ui/citizen/ekyc/create-kyc`,\n // },\n // {\n // label: t(\"EKYC_UPDATE_KYC\"),\n // link: `/digit-ui/citizen/ekyc/update-kyc`,\n // },\n {\n label: t(\"EKYC_STATUS\"),\n link: `/digit-ui/citizen/ekyc/:id`,\n }\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\nexport default Home;\n","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 }}\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 }}\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 { PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper, BackButton } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch } 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 const isEkycHome = location.pathname === \"/digit-ui/citizen/ekyc\" || location.pathname === \"/digit-ui/citizen/ekyc/\";\n\n if (isEkycHome) {\n const isMobile = window.Digit.Utils.browser.isMobile();\n return (\n // <div className=\"moduleLinkHomePage\">\n // <img src={stateInfo?.bannerUrl} alt=\"noimagefound\" />\n // <BackButton className=\"moduleLinkHomePageBackButton\" />\n // {isMobile ? (\n // <h4\n // style={{\n // top: \"calc(16vw + 40px)\",\n // left: \"1.5rem\",\n // position: \"absolute\",\n // color: \"white\",\n // width: \"50px\",\n // fontSize: \"15px\",\n // marginTop: \"6px\",\n // }}\n // >\n // {t(\"MODULE_EKYC\")}\n // </h4>\n // ) : (\n // <h1 style={{ width: \"230px\", marginTop: \"15px\" }}>{t(\"MODULE_EKYC\")}</h1>\n // )}\n // <div className=\"moduleLinkHomePageModuleLinks\">\n // <Home />\n // </div>\n // </div>\n <div className=\"moduleLinkHomePage\">\n <div style={{ position: \"relative\" }}>\n <img src={stateInfo?.bannerUrl} alt=\"noimagefound\" />\n <BackButton className=\"moduleLinkHomePageBackButton\" />\n <div className=\"moduleTitle\">\n {isMobile ? <h4>{t(\"MODULE_EKYC\")}</h4> : <h1>{t(\"MODULE_EKYC\")}</h1>}\n </div>\n </div>\n\n <div className=\"moduleLinkHomePageModuleLinks\">\n <Home />\n </div>\n </div>\n );\n }\n\n return (\n <React.Fragment>\n <div className=\"ground-container form-container\">\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 <PrivateRoute\n exact\n path={`${path}`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Home />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={[`${path}/vendor-dashboard/:vendorId`, `${path}/vendor-dashboard`]}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/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 </React.Fragment>\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 links = [\n {\n link: `${matchPath}/create-kyc`,\n i18nKey: t(\"EKYC_CREATE_KYC\"),\n },\n {\n link: `${matchPath}/update-kyc`,\n i18nKey: t(\"EKYC_UPDATE_KYC\"),\n },\n ];\n\n return <CitizenHomeCard header={t(\"EKYC_MODULE_NAME\")} links={links} Icon={() => <DocumentIcon className=\"fill-path-primary-main\" />} />;\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","_Digit$SessionStorage3","_useTranslation","useTranslation","t","tenantId","Digit","ULBService","getCurrentTenantId","roles","SessionStorage","get","info","map","r","code","_Digit$Hooks$ekyc$use","Hooks","ekyc","useEkycApplicationList","offset","limit","enabled","listData","data","isLoading","totalCount","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","count","label","link","links","includes","EmployeeModuleCard","getChartConstructor","C","Chartjs","StatusCards","_ref","countData","chartRef1","useRef","chartInstance1","total","pending","active","completed","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","item","key","style","background","ref","width","height","Dashboard","useEkycSurveyorDashboard","dashboardData","useMemo","dashboardInfo","rejected","Loader","Card","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","_useState","useState","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kno","push","kNumber","aadhaarData","columns","Header","accessor","Cell","_ref2","_row$original","_row$original2","row","original","applicationNumber","onClick","_ref3","_row$original3","citizenName","_ref4","_row$original4","status","toUpperCase","_ref5","_row$original5","_row$original6","ekycStatus","ekycstatus","_ref6","_row$original7","_row$original8","tableData","items","Array","isArray","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","e","preventDefault","onClear","cleared","kName","HomeIcon","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","x1","y1","x2","y2","TextInput","target","placeholder","d","todaysAudits","auditChange","pendingCount","i","String","fromCharCode","MobileInbox","_data$items","mobileData","mobileNumber","Link","to","SubmitBar","length","DetailsCard","serviceRequestIdKey","linkPrefix","split","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","name","assignedConnections","completedEkyc","selfEkyc","inactiveDemand","progress","supervisors","activeSurveyors","jurisdictions","dailyPerformance","day","zones","cluster","location","zroOffice","assemblyConstituency","gpsLocation","distanceFromFarthestPoint","activeDemand","pppZones","districtwiseInactiveTotal","ExecutiveLineChart","_ref$data","formattedData","agencyKyc","selfKyc","totalKyc","ResponsiveContainer","LineChart","margin","top","right","left","bottom","CartesianGrid","strokeDasharray","vertical","XAxis","dataKey","axisLine","tickLine","tick","fontSize","YAxis","Tooltip","cursor","contentStyle","border","borderRadius","boxShadow","labelStyle","marginBottom","Legend","verticalAlign","align","iconType","wrapperStyle","paddingBottom","Line","dot","activeDot","ExecutiveBarChart","_ref$categories","categories","_ref$xKey","xKey","minHeight","BarChart","itemStyle","series","Bar","radius","barSize","colors","ExecutivePieChart","_ref$dataKey","_ref$labelKey","labelKey","PieChart","Pie","nameKey","outerRadius","innerRadius","paddingAngle","entry","marginTop","CeoDashboard","_topKpis$todayEkyc","useLocation","query","setQuery","_useState2","statusFilter","setStatusFilter","basePath","pathname","replace","filters","filteredVendors","filter","vendor","keyword","toLowerCase","some","zone","_zone$location","zoneRows","flatMap","sort","a","b","routeToVendor","vendorId","icon","FaUsers","variant","FaCheckCircle","FaClock","FaExclamationTriangle","FaUserTie","FaChartLine","card","_card$value$toLocaleS","_card$value","_card$value$toLocaleS2","toLocaleString","call","FaSearch","join","FaArrowRight","FaMapMarkedAlt","slice","_zone$activeDemand$to","_zone$activeDemand","_zone$pppZones$toLoca","_zone$pppZones","_zone$inactiveDemand$","_zone$inactiveDemand","min","max","alert","todayEkyc","_iteratorSymbol","Symbol","iterator","_asyncIteratorSymbol","asyncIterator","_catch","body","recover","result","then","_finallyRethrows","finalizer","bind","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","val","undefined","details","asSectionHeader","values","submittedCount","window","Utils","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","console","error","Promise","resolve","reject","downloadVendorPDF","emailContact","mappedRows","firstName","mobileNo","lastName","zoneName","submittedAt","originalToLocaleDateString","prototype","progressIndex","_len2","arguments","args","_key2","apply","customT","VendorDetailsCard","_vendor$owner","_vendor$owner2","_vendorName$charAt","_useParams","useParams","useEkycAssignmentProgress","keepPreviousData","isProgressLoading","progressData","_Digit$Hooks$fsm$useD","fsm","useDsoSearch","vendorSearchResponse","isVendorSearchLoading","_Digit$Hooks$fsm$useS","useSupervisorSearch","supervisorSearchResponse","isSupervisorSearchLoading","loggedInUser","userUuid","uuid","userMobile","matchesUser","v","_v$owner","_v$owner2","_v$owner3","ownerUuid","owner","ownerMobile","matched","_v$dsoDetails","_v$dsoDetails2","dsoDetails","Number","matchedMock","_v$name","_loggedInUser$name","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","emailId","cards","hasRealData","reduce","acc","completedKnos","setCurrentPage","pageSize","setPageSize","_useState3","ekycDownloadLoading","setEkycDownloadLoading","handleDownloadEkycData","EkycService","application_list","reportDownload","response","consumerList","excludedKeys","headerMapping","middleName","gender","fatherOrHusbandName","relationship","dob","assembly","ward","pincode","mrkey","createdTime","lastModifiedTime","excelData","cleanObj","fullName","Boolean","Object","keys","forEach","friendlyHeader","cleanFileName","Download","Excel","_wasThrown","_result","paginatedSupervisors","start","end","supervisorColumns","_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","disabled","p","idx","points","tableTitle","tableClass","isPaginationRequired","ceil","onFirstPage","onLastPage","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","dataForMobileInboxCards","assignedAt","MobileSortFormValues","sortOrderOptions","i18nKey","_useFormContext","useFormContext","controlSortForm","SearchField","RadioButtons","onSelect","selectedOption","optionsKey","isTwoDynamicPrefix","getRedirectionLink","handleClickEnabled","Inbox","_formState$searchForm3","_formState$searchForm4","formInitValue","filterForm","sortBy","sortOrder","_useReducer","useReducer","formReducer","queryParams","isListLoading","_Digit$Hooks$ekyc$use2","searchDetails","_formState$searchForm2","isSearchActive","_Digit$Hooks$ekyc$use3","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","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","InboxComposer","MOCK_SURVEYORS","role","MOCK_MRDS","Mapping","selectedSurveyor","setSelectedSurveyor","selectedMRD","setSelectedMRD","mappings","setMappings","editingId","setEditingId","editSurveyor","setEditSurveyor","editMRD","setEditMRD","deleteTarget","setDeleteTarget","_useState8","toast","setToast","handleAddMapping","exists","m","surveyorId","mrdCode","now","mrdName","handleEditStart","handleEditSave","duplicate","handleEditCancel","handleDeleteConfirm","handleSaveMappings","isEditing","gap","EditIcon","DeleteIcon","xmlns","CardHeader","CardText","LabelFieldPair","CardLabel","justifyContent","tableClassName","ActionBar","Modal","headerBarMain","headerBarEnd","actionSaveLabel","actionSaveOnSubmit","actionCancelLabel","actionCancelOnSubmit","Toast","warning","isDsc","ConnectionDetailsView","_useRouteMatch","useRouteMatch","path","showModal","setShowModal","setSelectedOption","handleStartVerification","onModalConfirm","parentPath","statusFlag","isActive","meterNumber","connectionType","address","x","y","rx","ry","lastVerified","flexDirection","buttonStyle","Create","saved","sessionStorage","getItem","JSON","parse","searchPerformed","setSearchPerformed","showToast","setShowToast","_Digit$Hooks$useSessi","useSessionStorage","formParams","clearParams","onError","_error$response","_error$response$data","_error$response$data$","_error$response$data$2","Errors","removeItem","isSearching","handleSearch","params","currentKno","startsWith","setItem","stringify","closeToast","ActionButton","jumpTo","routeTo","LinkButton","checkForNA","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","overflow","borderBottom","alignItems","CardSubHeader","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","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","ele","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","_extractReviewData","apiNewData","apiOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","addressRaw","connectionCategory","meterNo","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","_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","paddingTop","CheckBox","checked","Menu","position","zIndex","maxHeight","src","alt","nextSibling","open","AadhaarVerificationConfig","formData","uploadFile","setDocumentId","documentId","_formData","_formData$consumerTyp","_formData2","_formData3","_formData3$occupantTy","_formData4","_formData$informantIs","_formData5","consumerType","occupantType","informantIsConsumer","isMandatory","populators","component","validation","required","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","AadhaarVerification","config","URLSearchParams","search","urlKno","searchKno","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","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","trim","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","match","setParams","_location$state","rest","goNext","skipStep","isAddMultiple","currentPath","pop","routeObj","nextStep","currentIndex","findIndex","c","redirectWithHistory","base","handleSelect","silent","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","storageKey","_row$original5$owner","serviceType","SupervisorInboxTableConfig","useSupervisorInboxMobileCardsData","_item$owner","AssignEkyc","_dashboardData$dashbo","paginationParms","useSurveyorSearch","isDataSearchLoading","surveyors","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","additionalDetails","auditDetails","isCardLoading","AdminDashboard","_loggedInUser$roles","_fullName$charAt","vendorsList","_dso$owner","_dso$owner2","dso","supervisorsList","surveyorsList","supervisorIds","_s$owner","matchedReports","displayName","ownerName","roleText","SupervisorDetailsCard","_Digit$Hooks$fsm$useS2","surveyorSearchResponse","isSurveyorSearchLoading","supervisor","found","targetId","_s$supervisorId","_s$id","matchedSup","_s$id2","_s$owner$uuid","_matchedSup$owner2","_matchedSup$owner3","_matchedSup$owner4","matchedSurveyors","surv","_matchedSup$owner","_surv$owner3","_surv$owner4","_surv$owner5","_realStats","_realStats2","_realStats3","_realStats4","realStats","_report$surveyors","matchedSurv","_surv$owner","_surv$owner2","assignedZoneId","assignedZone","_matchedVendor$dsoDet","targetVendorId","matchedVendor","paginatedSurveyors","surveyorColumns","fetchPromises","catch","all","results","AssignEkycModal","surveyor","closeModal","refetchDashboard","selectedKnos","setSelectedKnos","isBulkSelection","setIsBulkSelection","zoneCode","setFilters","debouncedFilters","setDebouncedFilters","_Digit$Hooks$ws$useWS","ws","useWSConfigMDMS","ZROLocation","zroLocationsData","isZroLoading","mappedZROLocation","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","_useMemo","assemblies","Map","wards","boundaries","traverse","node","localname","assemblyOptions","localeCompare","wardOptions","structuredLocalityData","localities","extractLocalities","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","sanitizedPin","toString","add","timer","clearTimeout","unassignedOnly","isFetching","handleAssignmentError","errMsg","variables","isAlreadyAssigned","isMrKeyType","assignmentType","assignmentMutation","useEkycAssignmentCreate","onSuccess","_response$data","skipped","_response$skipped$","reason","_error$data","getAssignmentPayload","filterMappings","appliedFilter","assignmentValue","handleAssign","_surveyor$owner","_getAssignmentPayload","mutate","handleSelectAll","pageKnos","allSelected","every","handleFilterChange","Close","pin","totalPages","SurveyorDetailsDashboard","_surveyor$owner2","_surveyor$owner3","_surveyor$owner4","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner8","_surveyor$owner9","_surveyor$owner0","_surveyor$additionalD","_dashboardData$dashbo5","_dashboardData$dashbo6","ownerIds","ids","staleTime","Infinity","surveyorSearchById","isLoadingId","surveyorSearchByOwner","isLoadingOwner","_surveyorSearchById$s","_surveyorSearchRespon","vendorData","isVendorLoading","_Digit$Hooks$fsm$useS3","_mappedVendor$dsoDeta","mappedVendor","_mappedSupervisor$own","mappedSupervisor","isDashboardLoading","refetch","knoColumns","_useState9","getDateRange","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","totalConnections","ekycDone","liveSurveyors","todayCompleted","breadcrumb","listLabel","listPath","detailLabel","getEkycRoutes","layout","SurveyorDetailsCard","ekycRoutes","EmployeeApp","getDynamicBreadcrumbs","crumbs","pathSegments","ekycIndex","indexOf","relativeSegments","matchedPath","paths","singlePath","routeSegments","seg","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","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","Home","citizenInfo","formattedLinks","l","CitizenHomeCard","DocumentIcon","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","CitizenApp","_Digit$Hooks$useStore","useStore","getInitData","_Digit$Hooks$useStore2","_Digit$Hooks$useStore3","stateInfo","statusLabel","isEkycHome","bannerUrl","BackButton","EkycModule","stateCode","url","language","StoreData","getCurrentLanguage","_Digit$Services$useSt","Services","LocalizationService","getLocale","modules","locale","page","EkycLinks","matchPath","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}