@djb25/digit-ui-module-ekyc 1.0.12 → 1.0.13
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.css +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +1468 -13
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
- package/src/Module.js +3 -0
- package/src/components/CeoDashboard.js +1 -5
- package/src/pages/employee/index.js +11 -0
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/hook/useInboxTableConfig.js","../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../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","../../../../node_modules/react-query/es/react/QueryClientProvider.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../src/pages/employee/index.js","../src/components/PropertyInfo.js","../src/components/MeterDetails.js","../src/pages/citizen/Home.js","../src/pages/citizen/Inbox.js","../src/components/AddressDetails.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\n const propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: [\n {\n count: \"-\",\n label: t(\"TOTAL_EKYC\"),\n link: `/digit-ui/employee/ekyc/dashboard`,\n },\n ],\n links: [\n {\n label: t(\"EKYC_DASHBOARD\"),\n link: `/digit-ui/employee/ekyc/dashboard`,\n },\n {\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(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n link: `/digit-ui/employee/ekyc/ceo-dashboard`\n },\n {\n label: t(\"EKYC_MAPPING\"),\n link: `/digit-ui/employee/ekyc/mapping`,\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 const rejected = countData?.rejected || 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\") ||\n \"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\">\n {t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Processed\"}\n </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\">\n {t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle distribution\"}\n </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\n className=\"indicator-dot\"\n style={{ background: item.color }}\n />\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\">\n {t(\"EKYC_PLATFORM_EFFICIENCY\") || \"Platform operational efficiency\"}\n </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;","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\n className=\"ekyc-application-link\"\n style={{ color: \"#add8f7\", cursor: \"pointer\", fontWeight: \"bold\" }}\n onClick={() => handleReview(kno)}\n >\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_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span\n className=\"ekyc-application-link\"\n style={{ color: \"#add8f7\", cursor: \"pointer\", fontWeight: \"bold\" }}\n onClick={() => handleReview(kno)}\n >\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\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\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 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\n className=\"ekyc-application-link\"\n style={{ color: \"#add8f7\", cursor: \"pointer\", fontWeight: \"bold\" }}\n onClick={() => handleReview(kno)}\n >\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(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span\n className=\"ekyc-application-link\"\n style={{ color: \"#add8f7\", cursor: \"pointer\", fontWeight: \"bold\" }}\n onClick={() => handleReview(kno)}\n >\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ];\n\n return {\n getCellProps: (cellInfo) => {\n return {\n style: {\n padding: \"8px\",\n fontSize: \"12px\",\n },\n };\n },\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n initSortId: \"applicationDate\",\n onPageSizeChange: onPageSizeChange,\n currentPage: Math.floor(offset / limit),\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) + parseInt(formState.tableForm?.limit) },\n checkPathName,\n }),\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) - parseInt(formState.tableForm?.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.ceil(totalCount / 10) * 10 - parseInt(formState.tableForm?.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","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React 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 }) => {\n const { t } = useTranslation();\n const { errors } = searchFormState;\n\n return (\n <React.Fragment>\n {/* K NUMBER */}\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: /^[a-zA-Z0-9-_/]*$/,\n message: t(\"ERR_INVALID_APPLICATION_NO\"),\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\n {/* K NAME */}\n {/* <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <CustomTooltip message={t(\"EKYC_K_NAME_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"kName\"\n control={controlSearchForm}\n defaultValue=\"\"\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.kName && <CardLabelError>{errors.kName.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, businessService = \"EKYC\", initialStates = {}, filterComponent, isInbox }) => {\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 queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycSurveyorDashboard({}, 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?.dashboardInfo?.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 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 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 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: checkPathName ? \"EKYC_MODULE\" : \"MODULE_SW\",\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} 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 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 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 countData: dashboardData?.dashboardInfo,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useMemo } from \"react\";\nimport { Card, Dropdown, Toast, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\n// ─── Icons ────────────────────────────────────────────────────────────────────\n\nconst UserIcon = ({ size = 18, color = \"currentColor\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} 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);\n\nconst DiaryIcon = ({ size = 18, color = \"currentColor\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\" />\n <path d=\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z\" />\n </svg>\n);\n\nconst TrashIcon = ({ size = 14 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"3 6 5 6 21 6\" />\n <path d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\" />\n </svg>\n);\n\nconst EditIcon = ({ size = 14 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\" />\n <path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\" />\n </svg>\n);\n\nconst MapPinIcon = ({ size = 12 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n </svg>\n);\n\nconst PlusIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\" />\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n </svg>\n);\n\nconst SaveIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\" />\n <polyline points=\"17 21 17 13 7 13 7 21\" />\n <polyline points=\"7 3 7 8 15 8\" />\n </svg>\n);\n\nconst CheckIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n);\n\nconst XIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n);\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// ─── Confirm Delete Modal ─────────────────────────────────────────────────────\n\nconst ConfirmDeleteModal = ({ mapping, onConfirm, onCancel }) => (\n <div style={{\n position: \"fixed\", inset: 0, background: \"rgba(0,0,0,0.35)\",\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\", zIndex: 1000,\n }}>\n <div style={{\n background: \"#fff\", borderRadius: \"12px\", padding: \"28px 28px 24px\",\n width: \"400px\", boxShadow: \"0 20px 60px rgba(0,0,0,0.15)\",\n }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"12px\", marginBottom: \"16px\" }}>\n <div style={{\n width: \"40px\", height: \"40px\", borderRadius: \"50%\",\n background: \"#FEF3F2\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n }}>\n <TrashIcon size={18} />\n </div>\n <div>\n <div style={{ fontWeight: \"700\", fontSize: \"16px\", color: \"#0D1B2A\" }}>Remove Mapping</div>\n <div style={{ fontSize: \"12px\", color: \"#6B7B8E\" }}>This action cannot be undone</div>\n </div>\n </div>\n <p style={{ fontSize: \"13px\", color: \"#344054\", marginBottom: \"24px\", lineHeight: \"1.6\" }}>\n Are you sure you want to remove the mapping between{\" \"}\n <strong>{mapping?.surveyorName}</strong> and <strong>{mapping?.mrdName}</strong>?\n </p>\n <div style={{ display: \"flex\", gap: \"10px\", justifyContent: \"flex-end\" }}>\n <button onClick={onCancel} style={{\n background: \"none\", border: \"1px solid #D0D5DD\", borderRadius: \"8px\",\n padding: \"8px 20px\", fontWeight: \"600\", fontSize: \"13px\",\n color: \"#344054\", cursor: \"pointer\",\n }}>Cancel</button>\n <button onClick={onConfirm} style={{\n background: \"#B42318\", border: \"none\", borderRadius: \"8px\",\n padding: \"8px 20px\", fontWeight: \"600\", fontSize: \"13px\",\n color: \"#fff\", cursor: \"pointer\",\n display: \"flex\", alignItems: \"center\", gap: \"6px\",\n }}>\n <TrashIcon size={13} /> Remove\n </button>\n </div>\n </div>\n </div>\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 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: \"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: \"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: \"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: \"info\", 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 <div style={{ minWidth: \"180px\" }}>\n <Dropdown\n selected={editSurveyor}\n select={setEditSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder=\"Choose surveyor...\"\n />\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"10px\" }}>\n <div style={{\n width: \"32px\", height: \"32px\", borderRadius: \"50%\",\n background: \"#EEF4FB\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", flexShrink: 0,\n }}>\n <UserIcon size={15} color=\"#3A7BD5\" />\n </div>\n <div>\n <div style={{ fontWeight: \"600\", fontSize: \"13px\", color: \"#0D1B2A\" }}>{row.original.surveyorName}</div>\n <div style={{ fontSize: \"11px\", color: \"#6B7B8E\" }}>ID: {row.original.surveyorId}</div>\n </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 <div style={{ minWidth: \"200px\" }}>\n <Dropdown\n selected={editMRD}\n select={setEditMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder=\"Choose MRD...\"\n />\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"10px\" }}>\n <div style={{\n width: \"32px\", height: \"32px\", borderRadius: \"50%\",\n background: \"#EEF4FB\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", flexShrink: 0,\n }}>\n <DiaryIcon size={15} color=\"#3A7BD5\" />\n </div>\n <div>\n <div style={{ fontWeight: \"600\", fontSize: \"13px\", color: \"#0D1B2A\" }}>{row.original.mrdName}</div>\n <div style={{ fontSize: \"11px\", color: \"#3A7BD5\", display: \"flex\", alignItems: \"center\", gap: \"3px\" }}>\n <MapPinIcon size={10} /> {row.original.zone}\n </div>\n </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: \"8px\" }}>\n <button\n onClick={() => handleEditSave(row.original.id)}\n style={{\n display: \"flex\", alignItems: \"center\", gap: \"5px\",\n background: \"#3A7BD5\", color: \"#fff\",\n border: \"none\", borderRadius: \"6px\",\n padding: \"6px 12px\", fontWeight: \"600\",\n fontSize: \"12px\", cursor: \"pointer\",\n }}\n >\n <CheckIcon size={13} /> Save\n </button>\n <button\n onClick={handleEditCancel}\n style={{\n display: \"flex\", alignItems: \"center\", gap: \"5px\",\n background: \"none\", border: \"1px solid #D0D5DD\",\n borderRadius: \"6px\", padding: \"6px 12px\",\n fontWeight: \"600\", fontSize: \"12px\",\n color: \"#344054\", cursor: \"pointer\",\n }}\n >\n <XIcon size={13} /> Cancel\n </button>\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", gap: \"8px\" }}>\n <button\n onClick={() => handleEditStart(row.original)}\n style={{\n display: \"flex\", alignItems: \"center\", gap: \"5px\",\n background: \"none\", border: \"1px solid #D0D5DD\",\n borderRadius: \"6px\", padding: \"6px 12px\",\n color: \"#344054\", fontSize: \"12px\",\n fontWeight: \"600\", cursor: \"pointer\",\n }}\n >\n <EditIcon size={13} /> Edit\n </button>\n <button\n onClick={() => setDeleteTarget(row.original)}\n style={{\n display: \"flex\", alignItems: \"center\", gap: \"5px\",\n background: \"none\", border: \"1px solid #FECDCA\",\n borderRadius: \"6px\", padding: \"6px 12px\",\n color: \"#B42318\", fontSize: \"12px\",\n fontWeight: \"600\", cursor: \"pointer\",\n }}\n >\n <TrashIcon size={13} /> Remove\n </button>\n </div>\n );\n },\n },\n ], [editingId, editSurveyor, editMRD, mappings, t]);\n\n // ── Render ────────────────────────────────────────────────────────────────\n\n return (\n <div style={{ background: \"#F5F7FA\", minHeight: \"100vh\", padding: \"0\" }}>\n\n {/* Page Header Bar */}\n <Card style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\",\n padding: \"16px 24px\", marginBottom: \"0\", borderRadius: \"4px\",\n }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"12px\" }}>\n <div style={{ color: \"#3A8DCC\" }}>\n <DiaryIcon size={24} />\n </div>\n <div style={{ fontWeight: \"700\", fontSize: \"18px\", color: \"#0B0C0C\" }}>\n {t(\"EKYC_SURVEYOR_MAPPING\") || \"Surveyor Mapping\"}\n </div>\n </div>\n <button\n onClick={handleSaveMappings}\n disabled={mappings.length === 0}\n style={{\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n background: mappings.length === 0 ? \"#D0D5DD\" : \"#0F3460\",\n color: \"#fff\", border: \"none\", borderRadius: \"8px\",\n padding: \"10px 20px\", fontWeight: \"600\", fontSize: \"14px\",\n cursor: mappings.length === 0 ? \"not-allowed\" : \"pointer\",\n transition: \"background 0.2s\",\n }}\n >\n <SaveIcon size={15} />\n {t(\"EKYC_SAVE_MAPPINGS\") || \"Save Mappings\"}\n </button>\n </Card>\n\n {/* Content */}\n <div style={{ padding: \"24px 32px\" }}>\n <p style={{ fontSize: \"13px\", color: \"#6B7B8E\", marginBottom: \"24px\", marginTop: \"0\" }}>\n {t(\"EKYC_MAPPING_SUBHEADER\") || \"Assign Meter Reading Dairies to surveyors to manage their data access.\"}\n </p>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"360px 1fr\", gap: \"20px\", alignItems: \"start\" }}>\n\n {/* ── Left: New Mapping Panel ── */}\n <div style={{\n background: \"#fff\", borderRadius: \"12px\",\n border: \"1px solid #E5E9EF\", overflow: \"hidden\",\n }}>\n {/* Header */}\n <div style={{\n display: \"flex\", alignItems: \"center\", gap: \"10px\",\n padding: \"16px 20px\", borderBottom: \"1px solid #F0F2F5\", background: \"#FAFBFC\",\n }}>\n <div style={{\n width: \"32px\", height: \"32px\", borderRadius: \"8px\",\n background: \"#EEF4FB\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n }}>\n <DiaryIcon size={16} color=\"#3A7BD5\" />\n </div>\n <span style={{ fontWeight: \"700\", fontSize: \"15px\", color: \"#0D1B2A\" }}>\n {t(\"EKYC_NEW_MAPPING\") || \"New Mapping\"}\n </span>\n </div>\n\n {/* Body */}\n <div style={{ padding: \"20px\" }}>\n {/* Surveyor */}\n <div style={{ marginBottom: \"16px\" }}>\n <label style={{\n display: \"flex\", alignItems: \"center\", gap: \"6px\",\n fontSize: \"11px\", fontWeight: \"700\", letterSpacing: \"0.06em\",\n color: \"#3A7BD5\", textTransform: \"uppercase\", marginBottom: \"8px\",\n }}>\n <UserIcon size={12} color=\"#3A7BD5\" />\n {t(\"EKYC_SELECT_SURVEYOR\") || \"Select Surveyor\"}\n </label>\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\n {/* MRD */}\n <div style={{ marginBottom: \"16px\" }}>\n <label style={{\n display: \"flex\", alignItems: \"center\", gap: \"6px\",\n fontSize: \"11px\", fontWeight: \"700\", letterSpacing: \"0.06em\",\n color: \"#3A7BD5\", textTransform: \"uppercase\", marginBottom: \"8px\",\n }}>\n <DiaryIcon size={12} color=\"#3A7BD5\" />\n {t(\"EKYC_SELECT_MRD\") || \"Select MRD\"}\n </label>\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\n {/* MRD Info Preview */}\n {selectedMRD && (\n <div style={{\n background: \"#EEF4FB\", borderLeft: \"3px solid #3A7BD5\",\n borderRadius: \"6px\", padding: \"10px 14px\",\n fontSize: \"12px\", color: \"#0D1B2A\", marginBottom: \"16px\",\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n }}>\n <MapPinIcon size={13} />\n <span><strong>{selectedMRD.name}</strong> — {selectedMRD.zone} Zone</span>\n </div>\n )}\n\n {/* Surveyor Preview */}\n {selectedSurveyor && (\n <div style={{\n background: \"#F5F7FA\", borderLeft: \"3px solid #6B7B8E\",\n borderRadius: \"6px\", padding: \"10px 14px\",\n fontSize: \"12px\", color: \"#0D1B2A\", marginBottom: \"16px\",\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n }}>\n <UserIcon size={13} color=\"#6B7B8E\" />\n <span><strong>{selectedSurveyor.name}</strong> — {selectedSurveyor.id}</span>\n </div>\n )}\n\n {/* Add Button */}\n <button\n onClick={handleAddMapping}\n disabled={!selectedSurveyor || !selectedMRD}\n style={{\n width: \"100%\",\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\", gap: \"8px\",\n background: (!selectedSurveyor || !selectedMRD) ? \"#D0D5DD\" : \"#3A7BD5\",\n color: \"#fff\", border: \"none\", borderRadius: \"8px\",\n padding: \"12px\", fontWeight: \"600\", fontSize: \"14px\",\n cursor: (!selectedSurveyor || !selectedMRD) ? \"not-allowed\" : \"pointer\",\n marginTop: \"4px\", transition: \"background 0.2s\",\n }}\n >\n <PlusIcon size={16} />\n {t(\"EKYC_ADD_TO_LIST\") || \"Add to Mapping List\"}\n </button>\n </div>\n\n {/* Stats Footer */}\n {mappings.length > 0 && (\n <div style={{\n padding: \"12px 20px\", borderTop: \"1px solid #F0F2F5\",\n background: \"#FAFBFC\", display: \"flex\", gap: \"16px\",\n }}>\n <div style={{ textAlign: \"center\", flex: 1 }}>\n <div style={{ fontSize: \"20px\", fontWeight: \"700\", color: \"#0F3460\" }}>\n {mappings.length}\n </div>\n <div style={{ fontSize: \"11px\", color: \"#6B7B8E\" }}>Total Mappings</div>\n </div>\n <div style={{ width: \"1px\", background: \"#E5E9EF\" }} />\n <div style={{ textAlign: \"center\", flex: 1 }}>\n <div style={{ fontSize: \"20px\", fontWeight: \"700\", color: \"#0F3460\" }}>\n {[...new Set(mappings.map(m => m.surveyorId))].length}\n </div>\n <div style={{ fontSize: \"11px\", color: \"#6B7B8E\" }}>Surveyors</div>\n </div>\n <div style={{ width: \"1px\", background: \"#E5E9EF\" }} />\n <div style={{ textAlign: \"center\", flex: 1 }}>\n <div style={{ fontSize: \"20px\", fontWeight: \"700\", color: \"#0F3460\" }}>\n {[...new Set(mappings.map(m => m.mrdCode))].length}\n </div>\n <div style={{ fontSize: \"11px\", color: \"#6B7B8E\" }}>MRDs</div>\n </div>\n </div>\n )}\n </div>\n\n {/* ── Right: Summary Table Panel ── */}\n <div style={{\n background: \"#fff\", borderRadius: \"12px\",\n border: \"1px solid #E5E9EF\", overflow: \"hidden\", minHeight: \"420px\",\n }}>\n {/* Header */}\n <div style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\",\n padding: \"16px 20px\", borderBottom: \"1px solid #F0F2F5\", background: \"#FAFBFC\",\n }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"10px\" }}>\n <div style={{\n width: \"32px\", height: \"32px\", borderRadius: \"8px\",\n background: \"#EEF4FB\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n }}>\n <UserIcon size={16} color=\"#3A7BD5\" />\n </div>\n <span style={{ fontWeight: \"700\", fontSize: \"15px\", color: \"#0D1B2A\" }}>\n {t(\"EKYC_MAPPING_SUMMARY\") || \"Mapping Summary\"}\n </span>\n </div>\n <span style={{\n background: mappings.length > 0 ? \"#0F3460\" : \"#E5E9EF\",\n color: mappings.length > 0 ? \"#fff\" : \"#6B7B8E\",\n fontSize: \"12px\", fontWeight: \"700\",\n padding: \"3px 10px\", borderRadius: \"20px\",\n }}>\n {mappings.length} {t(\"EKYC_ITEMS\") || \"items\"}\n </span>\n </div>\n\n {/* Body */}\n <div style={{ padding: \"20px\" }}>\n {mappings.length > 0 ? (\n <div style={{ border: \"1px solid #E5E9EF\", borderRadius: \"8px\", overflow: \"hidden\" }}>\n <Table\n t={t}\n data={mappings}\n columns={columns}\n getCellProps={() => ({})}\n tableClassName=\"digit-table\"\n />\n </div>\n ) : (\n <div style={{\n display: \"flex\", flexDirection: \"column\",\n alignItems: \"center\", justifyContent: \"center\",\n minHeight: \"320px\", textAlign: \"center\",\n }}>\n <div style={{ marginBottom: \"16px\", opacity: 0.2 }}>\n <DiaryIcon size={56} color=\"#0F3460\" />\n </div>\n <div style={{ fontSize: \"15px\", fontWeight: \"700\", color: \"#0D1B2A\", marginBottom: \"6px\" }}>\n {t(\"EKYC_NO_MAPPINGS\") || \"No Mappings Created Yet\"}\n </div>\n <div style={{ fontSize: \"13px\", color: \"#6B7B8E\" }}>\n {t(\"EKYC_NO_MAPPINGS_HINT\") || \"Select a surveyor and MRD on the left to get started.\"}\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n\n {/* Delete Confirm Modal */}\n {deleteTarget && (\n <ConfirmDeleteModal\n mapping={deleteTarget}\n onConfirm={handleDeleteConfirm}\n onCancel={() => setDeleteTarget(null)}\n />\n )}\n\n {/* Toast */}\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n warning={toast.type === \"warning\"}\n isDsc={true}\n onClose={() => setToast(null)}\n />\n )}\n </div>\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, { useState } from \"react\";\nimport {\n Card,\n CardHeader,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n\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\n label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />}\n style={{ margin: 0, padding: 0 }}\n onClick={routeTo}\n />\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 return \"N/A\";\n};\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 }) => {\n return (\n <div className=\"review-section-wrapper\" style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}>\n <div style={{ padding: \"20px 24px\", background: \"#F9FAFB\", borderBottom: \"1px solid #EAECF0\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && <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 style={{ padding: \"16px 0\", textAlign: \"left\", color: \"#667085\", fontSize: \"12px\", fontWeight: \"600\", textTransform: \"uppercase\", width: \"30%\" }}>{t(\"EKYC_FIELD_NAME\")}</th>\n <th style={{ padding: \"16px 0\", textAlign: \"left\", color: \"#667085\", fontSize: \"12px\", fontWeight: \"600\", textTransform: \"uppercase\", width: \"35%\" }}>{t(\"EKYC_EXISTING_INFORMATION\")}</th>\n <th style={{ padding: \"16px 0\", textAlign: \"left\", color: \"#667085\", fontSize: \"12px\", fontWeight: \"600\", textTransform: \"uppercase\", width: \"35%\" }}>{t(\"EKYC_PROPOSED_UPDATES\")}</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\" }}>\n {t(field.label)}\n </td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#667085\" }}>\n {field.isBool ? boolToYesNo(valOld, t) : checkForNA(valOld)}\n </td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: isChanged ? \"#1B8B32\" : \"#101828\", fontWeight: isChanged ? \"700\" : \"400\" }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {field.isBool ? boolToYesNo(valNew, t) : checkForNA(valNew)}\n {isChanged && (\n <span style={{ background: \"#ECFDF3\", color: \"#067647\", padding: \"2px 8px\", borderRadius: \"12px\", fontSize: \"10px\", fontWeight: \"600\" }}>\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\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\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\n const flowState = location.state || {};\n const { kNumber, kno, edits = {} } = flowState;\n const activeKno = kNumber || kno;\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 // ── 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: 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 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 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 history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Approve Error:\", err);\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-djb.nitcon.in/filestore/v1/files/id?tenantId=dl.djb&fileStoreId=${fileStoreId}`;\n setPreviewUrl(documentUrl);\n setShowPreview(true);\n };\n\n if (isSearchLoading || isSubmitting) return <Loader />;\n\n const baseUrl = \"/digit-ui/employee/ekyc\";\n\n return (\n <div className=\"employeeCard overflow-y-scroll\">\n <Card style={{ padding: \"32px\" }}>\n {/* ── Header ───────────────────────────────────────────────────── */}\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", marginBottom: \"40px\", borderBottom: \"1px solid #EAECF0\", paddingBottom: \"20px\" }}>\n <CardHeader style={{ margin: 0, fontSize: \"28px\" }}>{t(\"EKYC_REVIEW_APPLICATION\")}</CardHeader>\n <div style={{\n background: \"#F9FAFB\", border: \"1px solid #EAECF0\",\n borderRadius: \"24px\", padding: \"8px 20px\",\n fontSize: \"14px\", color: \"#475467\", fontWeight: \"500\"\n }}>\n {t(\"EKYC_K_NUMBER\")}: <span style={{ color: \"#101828\", fontWeight: \"700\" }}>{activeKno}</span>\n </div>\n </div>\n\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`}\n state={{ ...flowState, reviewData: searchData, edits }}\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`}\n state={{ ...flowState, reviewData: searchData, edits }}\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`}\n state={{ ...flowState, reviewData: searchData, edits }}\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`}\n state={{ ...flowState, reviewData: searchData, edits }}\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={addressData.doorPhotoFilestoreId && (\n <div onClick={() => handleViewDocument(addressData.doorPhotoFilestoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )}\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={meterData.meterPhotoFileStoreId && (\n <div onClick={() => handleViewDocument(meterData.meterPhotoFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )}\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={propertyData.buildingImageFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.buildingImageFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )}\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={propertyData.propertyDocumentFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.propertyDocumentFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )}\n />\n </StatusTable>\n </div>\n\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 </Card>\n\n <ActionBar style={{ position: \"static\", marginTop: \"32px\", display: \"flex\", justifyContent: \"flex-end\" }}>\n <SubmitBar\n label={t(\"EKYC_REJECT\")}\n onSubmit={handleReject}\n disabled={!agree}\n />\n <SubmitBar\n label={t(\"EKYC_APPROVE\")}\n onSubmit={handleApprove}\n disabled={!agree}\n />\n <SubmitBar label={t(\"EKYC_SUBMIT_APPLICATION\")} onSubmit={handleFinalSubmit} disabled={!agree} />\n </ActionBar>\n\n {/* ── Document Preview Modal ────────────────────────────────────── */}\n {showPreview && (\n <div style={{\n position: \"fixed\", top: 0, left: 0, width: \"100%\", height: \"100%\",\n backgroundColor: \"rgba(0,0,0,0.7)\", display: \"flex\", justifyContent: \"center\",\n alignItems: \"center\", zIndex: 10000\n }}>\n <div style={{\n position: \"relative\", backgroundColor: \"#fff\", padding: \"30px\",\n borderRadius: \"12px\", maxWidth: \"600px\", width: \"100%\", maxHeight: \"70vh\", 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 <div\n onClick={() => setShowPreview(false)}\n style={{\n position: \"absolute\", top: \"10px\", right: \"10px\", cursor: \"pointer\",\n fontWeight: \"bold\", fontSize: \"20px\", color: \"#333\", background: \"#eee\",\n width: \"30px\", height: \"30px\", display: \"flex\", justifyContent: \"center\",\n alignItems: \"center\", 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 </div>\n );\n};\n\nexport default Review;\n","import React from 'react';\n\nvar QueryClientContext = function () {\n var context = /*#__PURE__*/React.createContext(undefined);\n\n if (typeof window !== 'undefined') {\n // @ts-ignore\n window.ReactQueryClientContext = context;\n }\n\n return context;\n}();\n\nfunction getQueryClientContext() {\n var _ref;\n\n return typeof window !== 'undefined' ? // @ts-ignore\n (_ref = window.ReactQueryClientContext) != null ? _ref : QueryClientContext : QueryClientContext;\n}\n\nexport var useQueryClient = function useQueryClient() {\n var queryClient = React.useContext(getQueryClientContext());\n\n if (!queryClient) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one');\n }\n\n return queryClient;\n};\nexport var QueryClientProvider = function QueryClientProvider(_ref2) {\n var client = _ref2.client,\n children = _ref2.children;\n React.useEffect(function () {\n client.mount();\n return function () {\n client.unmount();\n };\n }, [client]);\n var Context = getQueryClientContext();\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: client\n }, children);\n};","\nimport React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport {\n CardLabel,\n TextInput,\n Dropdown,\n UploadFile,\n RadioButtons,\n Toast,\n FormStep,\n Loader,\n CheckBox\n} from \"@djb25/digit-ui-react-components\";\nconst AadhaarVerification = ({ config, onSelect, formData }) => {\n const location = useLocation();\n const flowState = location.state || {};\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const searchKno = flowState?.kNumber || flowState?.kno || formData?.kNumber || formData?.kno || sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno } },\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 [kno, setKno] = useState(savedData.kno || searchKno || \"\");\n const [consumerType, setConsumerType] = useState(savedData.consumerType ? { name: savedData.consumerType } : null);\n const [occupantType, setOccupantType] = useState(savedData.occupantType ? { name: savedData.occupantType } : null);\n const [categoryType, setCategoryType] = useState(savedData.categoryType ? { name: savedData.categoryType } : null);\n\n const [consumerName, setConsumerName] = useState(savedData.consumerName || \"\");\n const [firstName, setFirstName] = useState(savedData.firstName || \"\");\n const [middleName, setMiddleName] = useState(savedData.middleName || \"\");\n const [lastName, setLastName] = useState(savedData.lastName || \"\");\n\n const [gender, setGender] = useState(savedData.gender ? { name: savedData.gender } : null);\n const [parentSpouseName, setParentSpouseName] = useState(savedData.parentSpouseName || \"\");\n const [relation, setRelation] = useState(savedData.relation || \"\");\n\n const [mobile, setMobile] = useState(savedData.mobile || \"\");\n const [whatsapp, setWhatsapp] = useState(savedData.whatsapp || \"\");\n const [email, setEmail] = useState(savedData.email || \"\");\n const [residents, setResidents] = useState(savedData.residents || \"\");\n\n // Tenant\n const [documentProof, setDocumentProof] = useState(savedData.documentProof || null);\n const [documentId, setDocumentId] = useState(savedData.documentId || null);\n const [ownerMobile, setOwnerMobile] = useState(savedData.ownerMobile || \"\");\n const [tenantVerification, setTenantVerification] = useState(savedData.tenantVerification || \"\");\n\n // Govt\n const [designation, setDesignation] = useState(savedData.designation || \"\");\n const [department, setDepartment] = useState(savedData.department || \"\");\n const [employeeId, setEmployeeId] = useState(savedData.employeeId || \"\");\n const [landline, setLandline] = useState(savedData.landline || \"\");\n\n // Other Entity\n const [entityRelation, setEntityRelation] = useState(savedData.entityRelation || \"\");\n const [contactPerson, setContactPerson] = useState(savedData.contactPerson || \"\");\n const [entityName, setEntityName] = useState(savedData.entityName || \"\");\n\n // Identity\n const [idProof, setIdProof] = useState(savedData.idProof ? { name: savedData.idProof } : null);\n const [idNumber, setIdNumber] = useState(savedData.idNumber || \"\");\n const [documentNumber, setDocumentNumber] = useState(savedData.documentNumber || \"\");\n const [identityType, setIdentityType] = useState(savedData.identityType ? { name: savedData.identityType } : null);\n const [idFile, setIdFile] = useState(savedData.idFile || null);\n\n // Consent\n const [consent, setConsent] = useState(savedData.consent || false);\n const [informantIsConsumer, setInformantIsConsumer] = useState(savedData.informantIsConsumer ?? true);\n const [informantName, setInformantName] = useState(savedData.informantName || \"\");\n const [informantRelation, setInformantRelation] = useState(savedData.informantRelation || \"\");\n\n const [toast, setToast] = useState(null);\n\n useEffect(() => {\n const rawData = searchData || formData?.connectionDetails;\n const details = rawData?.connectionDetails || rawData || {};\n const addrDetails = rawData?.addressDetails || {};\n\n if (details && Object.keys(details).length > 0 && !savedData.firstName) {\n if (!kno && searchKno) setKno(searchKno);\n\n if (details.firstName) {\n setFirstName(details.firstName);\n if (details.middleName) setMiddleName(details.middleName);\n if (details.lastName) setLastName(details.lastName);\n } else if (details.consumerName) {\n setConsumerName(details.consumerName);\n const parts = details.consumerName.trim().split(/\\s+/);\n setFirstName(parts[0] || \"\");\n if (parts.length === 2) setLastName(parts[1]);\n if (parts.length > 2) {\n setMiddleName(parts.slice(1, -1).join(\" \"));\n setLastName(parts[parts.length - 1]);\n }\n }\n\n if (details.phoneNumber || addrDetails.mobileNo) setMobile(details.phoneNumber || addrDetails.mobileNo);\n if (details.email || addrDetails.email) setEmail(details.email || addrDetails.email);\n if (addrDetails.whatsappNo) setWhatsapp(addrDetails.whatsappNo);\n if (addrDetails.noOfPerson) setResidents(String(addrDetails.noOfPerson));\n\n if (details.consumerType) setConsumerType({ name: details.consumerType });\n if (details.occupantType) setOccupantType({ name: details.occupantType });\n if (details.gender) setGender({ name: details.gender });\n if (details.parentSpouse) setParentSpouseName(details.parentSpouse);\n if (details.documentNumber) {\n setDocumentId(details.documentNumber);\n setIdNumber(details.documentNumber);\n }\n if (details.informantName) setInformantName(details.informantName);\n if (details.informantRelation) setInformantRelation(details.informantRelation);\n }\n }, [searchData, formData?.connectionDetails, searchKno]);\n\n // 🔹 OPTIONS\n const consumerTypeOptions = [\n { name: \"Individual\" },\n { name: \"Govt\" },\n { name: \"Company_Society_Org\" },\n ];\n\n const occupantOptions = [\n { name: \"Self\" },\n { name: \"Tenanted\" },\n ];\n\n const genderOptions = [\n { name: \"Male\" },\n { name: \"Female\" },\n { name: \"Others\" },\n { name: \"Not prefer to say\" },\n ];\n\n const identityTypeOptions = [\n { name: \"Aadhaar Card\" },\n { name: \"Driving License\" },\n { name: \"Passport\" },\n { name: \"Voter ID\" },\n ];\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n // 🔹 FILE UPLOAD\n const uploadFile = async (e, setter, idSetter) => {\n const file = e.target.files[0];\n if (!file) return;\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file);\n const id = res?.data?.files?.[0]?.fileStoreId;\n if (id) {\n setter(file.name);\n idSetter(id);\n }\n } catch {\n setToast({ type: \"error\", message: \"Upload failed\" });\n }\n };\n\n // 🔹 VALIDATION\n const isValid = () => {\n if (!kno) return false;\n if (!consumerType) return false;\n if (!occupantType) return false;\n if (!categoryType) return false;\n if (!firstName) return false;\n if (!mobile) return false;\n if (!residents || Number(residents) <= 0) return false;\n\n if (occupantType?.name === \"Tenanted\" && !documentId && !ownerMobile)\n return false;\n\n return consent; // consent must be true\n };\n\n // 🔹 SUBMIT\n const onStepSelect = async () => {\n // If not valid, just show a warning (or uncomment below to enforce)\n /*\n if (!isValid()) {\n setToast({ type: \"error\", message: \"Fill required fields\" });\n return;\n }\n */\n\n const data = {\n kno,\n consumerType: consumerType?.name,\n occupantType: occupantType?.name,\n categoryType: categoryType?.name,\n consumerName,\n firstName,\n middleName,\n lastName,\n gender: gender?.name,\n parentSpouseName,\n relation,\n mobile,\n whatsapp,\n email,\n residents,\n documentId,\n ownerMobile,\n tenantVerification,\n designation,\n department,\n employeeId,\n landline,\n entityRelation,\n contactPerson,\n entityName,\n idProof: idProof?.name,\n idNumber,\n consent,\n informantIsConsumer,\n informantName,\n informantRelation,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"CONSUMER\",\n ...data\n });\n setToast({ type: \"success\", message: \"Data updated successfully!\" });\n onSelect(config.key, data);\n } catch (error) {\n setToast({ type: \"error\", message: \"Failed to update consumer details\" });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n return (\n <Fragment>\n <FormStep onSelect={onStepSelect} config={config} isDisabled={!isValid()}>\n\n <div>\n <CardLabel>Consumer Type *</CardLabel>\n <Dropdown option={consumerTypeOptions} selected={consumerType} select={setConsumerType} />\n </div>\n\n <div>\n <CardLabel>Occupant Type *</CardLabel>\n <Dropdown option={occupantOptions} selected={occupantType} select={setOccupantType} />\n </div>\n\n <div>\n <CardLabel>Category Type *</CardLabel>\n <Dropdown option={[]} selected={categoryType} select={setCategoryType} />\n </div>\n\n <div>\n <CardLabel>First Name *</CardLabel>\n <TextInput value={firstName} onChange={(e) => setFirstName(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Middle Name</CardLabel>\n <TextInput value={middleName} onChange={(e) => setMiddleName(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Last Name</CardLabel>\n <TextInput value={lastName} onChange={(e) => setLastName(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Gender</CardLabel>\n <Dropdown option={genderOptions} selected={gender} select={setGender} />\n </div>\n\n <div>\n <CardLabel>Parent/Spouse Name </CardLabel>\n <TextInput value={parentSpouseName} onChange={(e) => setParentSpouseName(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Mobile *</CardLabel>\n <TextInput value={mobile} onChange={(e) => setMobile(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>WhatsApp</CardLabel>\n <TextInput value={whatsapp} onChange={(e) => setWhatsapp(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Email</CardLabel>\n <TextInput value={email} onChange={(e) => setEmail(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>No. of Residents *</CardLabel>\n <TextInput value={residents} onChange={(e) => setResidents(e.target.value)} />\n </div>\n<div>\n {console.log(\"identityType\",identityType)}\n <CardLabel>Type of Identity *</CardLabel>\n <Dropdown option={identityTypeOptions} selected={identityType} select={setIdentityType} />\n </div>\n <div>\n <CardLabel>Proof of Identity</CardLabel>\n <UploadFile onUpload={(e) => uploadFile(e, setDocumentProof, setDocumentId)} />\n </div>\n <div>\n <CardLabel>Document Number</CardLabel>\n <TextInput value={documentNumber} onChange={(e) => setDocumentNumber(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Informant Is Consumer</CardLabel>\n <CheckBox \n label=\"Yes, the informant is the consumer\" \n checked={informantIsConsumer} \n onChange={(e) => setInformantIsConsumer(e.target.checked)} \n />\n </div>\n\n {!informantIsConsumer && (\n <Fragment>\n <div>\n <CardLabel>Informant Name</CardLabel>\n <TextInput value={informantName} onChange={(e) => setInformantName(e.target.value)} />\n </div>\n <div>\n <CardLabel>Informant Relation</CardLabel>\n <TextInput value={informantRelation} onChange={(e) => setInformantRelation(e.target.value)} />\n </div>\n </Fragment>\n )}\n\n {/* TENANT LOGIC */}\n {occupantType?.name === \"Tenanted\" && (\n <Fragment>\n <div>\n <CardLabel>Document Proof</CardLabel>\n <UploadFile onUpload={(e) => uploadFile(e, setDocumentProof, setDocumentId)} />\n </div>\n\n {!documentId && (\n <Fragment>\n <div>\n <CardLabel>Owner Mobile *</CardLabel>\n <TextInput value={ownerMobile} onChange={(e) => setOwnerMobile(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Tenant Verification</CardLabel>\n <TextInput value={tenantVerification} onChange={(e) => setTenantVerification(e.target.value)} />\n </div>\n </Fragment>\n )}\n </Fragment>\n )}\n\n {/* GOVT */}\n {consumerType?.name === \"Govt\" && (\n <Fragment>\n <div>\n <CardLabel>Designation</CardLabel>\n <TextInput value={designation} onChange={(e) => setDesignation(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Department</CardLabel>\n <TextInput value={department} onChange={(e) => setDepartment(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Employee ID</CardLabel>\n <TextInput value={employeeId} onChange={(e) => setEmployeeId(e.target.value)} />\n </div>\n </Fragment>\n )}\n\n {/* OTHER ENTITY */}\n {consumerType?.name === \"Company_Society_Org\" && (\n <Fragment>\n <div>\n <CardLabel>Entity Name</CardLabel>\n <TextInput value={entityName} onChange={(e) => setEntityName(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Contact Person</CardLabel>\n <TextInput value={contactPerson} onChange={(e) => setContactPerson(e.target.value)} />\n </div>\n </Fragment>\n )}\n </FormStep>\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;","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 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, { useState, useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useQueryClient } from \"react-query\";\nimport { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from \"react-router-dom\";\nimport { Header, 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, clearParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n const userInfo = Digit.UserService.getUser();\n const tenantId = Digit.ULBService.getCurrentTenantId();\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) {\n setParams({ ...params, ...{ [key]: { ...params[key], ...data } } });\n goNext(skipStep, index, isAddMultiple, key);\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, key } = 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 />\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 { 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 Inbox from \"./Inbox\";\nimport Mapping from \"./Mapping\";\nimport Create from \"./Create\";\n\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getBreadcrumbLabel = () => {\n const pathname = location.pathname;\n if (pathname.includes(\"/dashboard\")) return \"ES_COMMON_INBOX\";\n if (pathname.includes(\"/create-kyc\")) return \"EKYC_CREATE_KYC\";\n if (pathname.includes(\"/k-details\")) return \"EKYC_K_DETAILS\";\n if (pathname.includes(\"/consumer-details\")) return \"EKYC_CONSUMER_DETAILS\";\n if (pathname.includes(\"/address-details\")) return \"EKYC_ADDRESS_DETAILS\";\n if (pathname.includes(\"/property-info\")) return \"EKYC_PROPERTY_INFO\";\n if (pathname.includes(\"/meter-details\")) return \"EKYC_METER_DETAILS\";\n if (pathname.includes(\"/review\")) return \"EKYC_REVIEW\";\n return \"ES_COMMON_INBOX\";\n };\n\n const breadcrumbs = [{ icon: HomeIcon, path: \"/digit-ui/employee\" }, { label: t(getBreadcrumbLabel()) }];\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={breadcrumbs}\n />\n\n <div className=\"employee-form\">\n <div className=\"employee-form-content\">\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\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`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\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 </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport {\n CardLabel,\n TextInput,\n Dropdown,\n UploadFile,\n Toast,\n FormStep,\n Loader\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\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 searchKno = flowState?.kNumber || flowState?.kno || formData?.kNumber || formData?.kno || sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno } },\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 [pidNumber, setPidNumber] = useState(savedData.pidNumber || \"\");\n const [propertyType, setPropertyType] = useState(savedData.propertyType ? { name: savedData.propertyType } : null);\n const [subPropertyCategory, setSubPropertyCategory] = useState(savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null);\n\n const [noOfFloors, setNoOfFloors] = useState(savedData.noOfFloors || \"\");\n const [floorNo, setFloorNo] = useState(savedData.floorNo || \"\");\n\n const [noOfRooms, setNoOfRooms] = useState(savedData.noOfRooms || \"\");\n const [noOfBeds, setNoOfBeds] = useState(savedData.noOfBeds || \"\");\n const [dwellingUnits, setDwellingUnits] = useState(savedData.dwellingUnits || \"\");\n\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n\n const [toast, setToast] = useState(null);\n\n // 🔹 PROPERTY TYPE OPTIONS\n const propertyTypeOptions = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ];\n\n useEffect(() => {\n const rawData = searchData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !savedData.pidNumber) {\n if (propertyInfo.pidNumber) setPidNumber(propertyInfo.pidNumber);\n if (propertyInfo.numberOfFloors || propertyInfo.noOfFloor) setNoOfFloors(String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor));\n if (propertyInfo.buildingImageFileStoreId) setBuildingImageId(propertyInfo.buildingImageFileStoreId);\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = propertyTypeOptions.find(type => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) setPropertyType(matchingType);\n else setPropertyType({ name: propertyInfo.subPropertyCategory });\n setSubPropertyCategory({ name: propertyInfo.subPropertyCategory });\n }\n\n if (propertyInfo.propertyType) {\n setSubPropertyCategory({ name: propertyInfo.propertyType }); // Just in case, depending on how UI renders it\n if (!propertyInfo.subPropertyCategory) setPropertyType({ name: propertyInfo.propertyType });\n }\n\n if (propertyInfo.floorNo) setFloorNo(propertyInfo.floorNo);\n if (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined) setNoOfRooms(String(propertyInfo.numberOfRooms));\n if (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined) setNoOfBeds(String(propertyInfo.numberOfBeds));\n if (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined) setDwellingUnits(String(propertyInfo.numberOfDwellingUnits));\n }\n }, [searchData, formData?.connectionDetails]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: \"Max size 2MB exceeded\" });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\n \"EKYC\",\n file,\n tenantId\n );\n\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\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: \"Upload successful\" });\n }\n } catch {\n setToast({ type: \"error\", message: \"Upload failed\" });\n }\n };\n\n // 🔹 VALIDATION\n const isValid = () => {\n if (!propertyType) return false;\n if (!subPropertyCategory) return false;\n if (!noOfFloors || Number(noOfFloors) < 1) return false;\n if (!buildingImageId) return false;\n\n if (propertyType?.name === \"Hotel\" && !noOfRooms) return false;\n if (\n (propertyType?.name === \"Hospital\" ||\n propertyType?.name === \"Nursing Home\") &&\n !noOfBeds\n )\n return false;\n\n return true;\n };\n\n // 🔹 SUBMIT\n const onStepSelect = async () => {\n /* Optional validation enforce\n if (!isValid()) {\n setToast({ type: \"error\", message: \"Fill all required fields\" });\n return;\n }\n */\n\n const data = {\n pidNumber,\n propertyType: propertyType?.name,\n subPropertyCategory: subPropertyCategory?.name,\n noOfFloors,\n floorNo,\n noOfRooms,\n noOfBeds,\n dwellingUnits,\n buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...data,\n });\n setToast({ type: \"success\", message: \"Property details updated successfully!\" });\n onSelect(config.key, data);\n } catch (error) {\n setToast({ type: \"error\", message: \"Failed to update property details\" });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n return (\n <Fragment>\n <FormStep\n t={t}\n onSelect={onStepSelect}\n config={config}\n label={t(\"ES_COMMON_CONTINUE\")}\n isDisabled={!isValid()}\n >\n <div>\n <CardLabel>PID Number</CardLabel>\n <TextInput value={pidNumber} onChange={(e) => setPidNumber(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Property Type</CardLabel>\n <Dropdown\n option={propertyTypeOptions}\n selected={propertyType}\n select={setPropertyType}\n />\n </div>\n\n <div>\n <CardLabel>Sub Property Category</CardLabel>\n <Dropdown option={[]} selected={subPropertyCategory} select={setSubPropertyCategory} />\n </div>\n\n <div>\n <CardLabel>No. of Floors *</CardLabel>\n <TextInput\n type=\"number\"\n value={noOfFloors}\n onChange={(e) => setNoOfFloors(e.target.value)}\n />\n </div>\n\n <div>\n <CardLabel>Floor No. of this KNO</CardLabel>\n <TextInput value={floorNo} onChange={(e) => setFloorNo(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>No of Beds</CardLabel>\n <TextInput\n type=\"number\"\n value={noOfBeds}\n onChange={(e) => setNoOfBeds(e.target.value)}\n />\n </div>\n\n <div>\n <CardLabel>No. of Rooms</CardLabel>\n <TextInput\n type=\"number\"\n value={noOfRooms}\n onChange={(e) => setNoOfRooms(e.target.value)}\n />\n </div>\n\n {/* HOTEL CONDITION */}\n {propertyType?.name === \"Hotel\" && (\n <div>\n <CardLabel>No. of Rooms *</CardLabel>\n <TextInput\n type=\"number\"\n value={noOfRooms}\n onChange={(e) => setNoOfRooms(e.target.value)}\n />\n </div>\n )}\n\n {/* HOSPITAL CONDITION */}\n {(propertyType?.name === \"Hospital\" ||\n propertyType?.name === \"Nursing Home\") && (\n <div>\n <CardLabel>No. of Beds *</CardLabel>\n <TextInput\n type=\"number\"\n value={noOfBeds}\n onChange={(e) => setNoOfBeds(e.target.value)}\n />\n </div>\n )}\n\n <div>\n <CardLabel>Number of Dwelling Units</CardLabel>\n <TextInput\n type=\"number\"\n value={dwellingUnits}\n onChange={(e) => setDwellingUnits(e.target.value)}\n />\n </div>\n\n <div>\n <CardLabel>Building Image *</CardLabel>\n <UploadFile\n onUpload={handleUpload}\n onDelete={() => {\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? \"Uploaded\" : \"No file selected\"}\n />\n </div>\n\n {buildingImage && (\n <div style={{ gridColumn: \"span 2\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ width: \"100%\", marginTop: \"10px\" }}\n />\n </div>\n )}\n\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n onClose={() => setToast(null)}\n />\n )}\n </FormStep>\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport {\n CardLabel,\n TextInput,\n Dropdown,\n UploadFile,\n Toast,\n FormStep,\n Loader\n} from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const searchKno = flowState?.kNumber || flowState?.kno || formData?.kNumber || formData?.kno || sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno } },\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 [connectionCategory, setConnectionCategory] = useState(savedData.connectionCategory || \"\");\n const [saType, setSaType] = useState(savedData.saType || \"\");\n const [status, setStatus] = useState(savedData.status || \"\");\n\n const [mrCode, setMrCode] = useState(savedData.mrCode || \"\");\n const [areaCode, setAreaCode] = useState(savedData.areaCode || \"\");\n const [mrKey, setMrKey] = useState(savedData.mrKey || \"\");\n\n const [meterNumber, setMeterNumber] = useState(savedData.meterNumber || \"\");\n const [meterMaker, setMeterMaker] = useState(savedData.meterMaker || \"\");\n\n const [meterStatus, setMeterStatus] = useState(savedData.meterStatus ? { name: savedData.meterStatus } : null);\n const [meterCondition, setMeterCondition] = useState(savedData.meterCondition ? { name: savedData.meterCondition } : null);\n const [meterLocation, setMeterLocation] = useState(savedData.meterLocation ? { name: savedData.meterLocation } : null);\n\n const [lastBillReceived, setLastBillReceived] = useState(savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null);\n const [billMonthYear, setBillMonthYear] = useState(savedData.billMonthYear ? { name: savedData.billMonthYear } : null);\n const [reason, setReason] = useState(savedData.reason || \"\");\n\n const [accessToMeter, setAccessToMeter] = useState(savedData.accessToMeter ? { name: savedData.accessToMeter } : null);\n const [sewerConnection, setSewerConnection] = useState(savedData.sewerConnection ? { name: savedData.sewerConnection } : null);\n const [septicTank, setSepticTank] = useState(savedData.septicTank ? { name: savedData.septicTank } : null);\n\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n\n const [toast, setToast] = useState(null);\n\n // 🔹 OPTIONS\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const meterStatusOptions = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ];\n\n const meterConditionOptions = [\n { name: \"Damaged\" },\n { name: \"Not-Damaged\" },\n ];\n\n const meterLocationOptions = [\n { name: \"Inside\" },\n { name: \"Outside\" },\n ];\n\n // 🔹 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 useEffect(() => {\n const rawData = searchData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !savedData.connectionCategory) {\n if (apiMeter.connectionCategory) setConnectionCategory(apiMeter.connectionCategory);\n if (apiMeter.saType) setSaType(apiMeter.saType);\n if (apiMeter.statusFlag) setStatus(apiMeter.statusFlag);\n\n if (apiMeter.mrcode) setMrCode(String(apiMeter.mrcode));\n if (apiMeter.areacode) setAreaCode(String(apiMeter.areacode));\n if (apiMeter.mrkey) setMrKey(String(apiMeter.mrkey));\n\n if (apiMeter.meterNumber) setMeterNumber(apiMeter.meterNumber);\n if (apiMeter.meterMake) setMeterMaker(apiMeter.meterMake);\n\n if (apiMeter.meterStatus) {\n const matchingStatus = meterStatusOptions.find(o => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) setMeterStatus(matchingStatus);\n else setMeterStatus({ name: apiMeter.meterStatus });\n } else if (apiMeter.metered !== undefined) {\n setMeterStatus({ name: apiMeter.metered ? \"Metered\" : \"Unmetered\" });\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = meterConditionOptions.find(o => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase());\n if (matchingCond) setMeterCondition(matchingCond);\n else setMeterCondition({ name: apiMeter.meterCondition });\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = meterLocationOptions.find(o => o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() || apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase()));\n if (matchingLoc) setMeterLocation(matchingLoc);\n else setMeterLocation({ 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\") setLastBillReceived({ name: \"Yes\" });\n else setLastBillReceived({ 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 setBillMonthYear({ name: `${mon}/${yr}` });\n } else {\n setBillMonthYear({ name: apiMeter.lastBillReceivedDate });\n }\n }\n\n if (apiMeter.lastBillNotRaisedReason) setReason(apiMeter.lastBillNotRaisedReason);\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") setAccessToMeter({ name: \"Yes\" });\n else setAccessToMeter({ 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\") setSewerConnection({ name: \"Yes\" });\n else setSewerConnection({ 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\") setSepticTank({ name: \"Yes\" });\n else setSepticTank({ name: \"No\" });\n }\n\n if (apiMeter.meterPhotoFileStoreId) setMeterPhotoId(apiMeter.meterPhotoFileStoreId);\n }\n }, [searchData, formData?.connectionDetails]);\n\n // 🔹 FREEZE LOGIC\n const isFrozen = meterStatus?.name === \"Can not be identified\";\n\n // 🔹 FILE UPLOAD\n const uploadPhoto = async (e) => {\n const file = e.target.files[0];\n if (!file) return;\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const id = res?.data?.files?.[0]?.fileStoreId;\n\n if (id) {\n setMeterPhotoId(id);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n }\n } catch {\n setToast({ type: \"error\", message: \"Upload failed\" });\n }\n };\n\n // 🔹 VALIDATION\n const isValid = () => {\n if (!connectionCategory) return false;\n if (!meterStatus) return false;\n if (!meterLocation) return false;\n if (!lastBillReceived) return false;\n if (!sewerConnection) return false;\n\n if (meterStatus?.name === \"Metered\" && !meterPhotoId) return false;\n\n if (lastBillReceived?.name === \"No\" && !reason) return false;\n if (lastBillReceived?.name === \"Yes\" && !billMonthYear) return false;\n\n if (sewerConnection?.name === \"No\" && !septicTank) return false;\n\n return true;\n };\n\n // 🔹 SUBMIT\n const onStepSelect = async () => {\n /*\n if (!isValid()) {\n setToast({ type: \"error\", message: \"Fill all mandatory fields\" });\n return;\n }\n */\n\n const data = {\n connectionCategory,\n saType,\n status,\n mrCode,\n areaCode,\n mrKey,\n meterNumber,\n meterMaker,\n meterStatus: meterStatus?.name,\n meterCondition: meterCondition?.name,\n meterLocation: meterLocation?.name,\n lastBillReceived: lastBillReceived?.name,\n billMonthYear: billMonthYear?.name,\n reason,\n accessToMeter: accessToMeter?.name,\n sewerConnection: sewerConnection?.name,\n septicTank: septicTank?.name,\n meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...data,\n });\n setToast({ type: \"success\", message: \"Meter details updated successfully!\" });\n onSelect(config.key, data);\n } catch (error) {\n setToast({ type: \"error\", message: \"Failed to update meter details\" });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n return (\n <Fragment>\n <FormStep onSelect={onStepSelect} config={config} isDisabled={!isValid()}>\n <div>\n <CardLabel>Connection Category *</CardLabel>\n <TextInput value={connectionCategory} onChange={(e) => setConnectionCategory(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>SA Type</CardLabel>\n <TextInput value={saType} onChange={(e) => setSaType(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Status</CardLabel>\n <TextInput value={status} onChange={(e) => setStatus(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>MR Code</CardLabel>\n <TextInput value={mrCode} onChange={(e) => setMrCode(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Area Code</CardLabel>\n <TextInput value={areaCode} onChange={(e) => setAreaCode(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>MR Key</CardLabel>\n <TextInput value={mrKey} onChange={(e) => setMrKey(e.target.value)} />\n </div>\n\n {!isFrozen && (\n <Fragment>\n <div>\n <CardLabel>Meter Number</CardLabel>\n <TextInput value={meterNumber} onChange={(e) => setMeterNumber(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Meter Maker</CardLabel>\n <TextInput value={meterMaker} onChange={(e) => setMeterMaker(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Meter Condition</CardLabel>\n <Dropdown option={meterConditionOptions} selected={meterCondition} select={setMeterCondition} />\n </div>\n\n {meterStatus?.name === \"Metered\" && (\n <Fragment>\n <div>\n <CardLabel>Meter Photo *</CardLabel>\n <UploadFile onUpload={uploadPhoto} message={meterPhotoId ? \"Uploaded\" : \"No file\"} />\n </div>\n {meterPhoto && (\n <div style={{ gridColumn: \"span 2\" }}>\n <img src={meterPhoto} style={{ width: \"100%\" }} />\n </div>\n )}\n </Fragment>\n )}\n </Fragment>\n )}\n\n <div>\n <CardLabel>Meter Status *</CardLabel>\n <Dropdown option={meterStatusOptions} selected={meterStatus} select={setMeterStatus} />\n </div>\n\n <div>\n <CardLabel>Meter Location *</CardLabel>\n <Dropdown option={meterLocationOptions} selected={meterLocation} select={setMeterLocation} />\n </div>\n\n <div>\n <CardLabel>Last Bill Received *</CardLabel>\n <Dropdown option={yesNo} selected={lastBillReceived} select={setLastBillReceived} />\n </div>\n\n {lastBillReceived?.name === \"Yes\" && (\n <div>\n <CardLabel>When was the last bill received *</CardLabel>\n <Dropdown option={monthYearOptions} selected={billMonthYear} select={setBillMonthYear} />\n </div>\n )}\n\n {lastBillReceived?.name === \"No\" && (\n <div>\n <CardLabel>Reason *</CardLabel>\n <TextInput value={reason} onChange={(e) => setReason(e.target.value)} />\n </div>\n )}\n\n <div>\n <CardLabel>Access to Meter</CardLabel>\n <Dropdown option={yesNo} selected={accessToMeter} select={setAccessToMeter} />\n </div>\n\n <div>\n <CardLabel>Sewer Connection *</CardLabel>\n <Dropdown option={yesNo} selected={sewerConnection} select={setSewerConnection} />\n </div>\n\n {sewerConnection?.name === \"No\" && (\n <div>\n <CardLabel>Septic Tank *</CardLabel>\n <Dropdown option={yesNo} selected={septicTank} select={setSepticTank} />\n </div>\n )}\n\n {toast && <Toast label={toast.message} error={toast.type === \"error\"} onClose={() => setToast(null)} />}\n\n </FormStep>\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { ModuleLinksView } from \"@djb25/digit-ui-react-components\";\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 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 // 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_MAPPING\"),\n link: `/digit-ui/citizen/ekyc/mapping`,\n },\n ],\n };\n return <ModuleLinksView links={propsForModuleCard.links} />;\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: 10,\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 || 10,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycSurveyorDashboard({}, 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?.dashboardInfo?.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 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 sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\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: checkPathName ? \"MODULE_WATER\" : \"MODULE_SW\",\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} 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 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 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, Fragment } from \"react\";\nimport { CardLabel, TextInput, Dropdown, UploadFile, Toast, FormStep, Loader } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AddressDetails = ({ config, onSelect }) => {\n const { t } = useTranslation();\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 🔹 STATES\n const [houseNo, setHouseNo] = useState(\"\");\n const [street, setStreet] = useState(\"\");\n const [locality, setLocality] = useState(\"\");\n const [landmark, setLandmark] = useState(\"\");\n const [subLocality, setSubLocality] = useState(null);\n\n const [pinCode, setPinCode] = useState(\"\");\n const [assembly, setAssembly] = useState(null);\n const [ward, setWard] = useState(null);\n const [zone, setZone] = useState(null);\n\n const [latitude, setLatitude] = useState(\"\");\n const [longitude, setLongitude] = useState(\"\");\n\n const [addressType, setAddressType] = useState(null);\n\n const [doorPhoto, setDoorPhoto] = useState(null);\n const [doorPhotoFileStoreId, setDoorPhotoFileStoreId] = useState(null);\n\n const [toast, setToast] = useState(null);\n\n // 🔹 MDMS DATA\n const { data: mdmsData, isLoading } = Digit.Hooks.useCommonMDMS(tenantId, \"egov-location\", [\"TenantBoundary\"]);\n\n const assemblies = mdmsData?.MdmsRes?.[\"egov-location\"]?.TenantBoundary?.[0]?.boundary?.children || [];\n\n // 🔹 AUTO GPS\n useEffect(() => {\n let isMounted = true;\n\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(\n (pos) => {\n if (!isMounted) return;\n setLatitude(pos.coords.latitude);\n setLongitude(pos.coords.longitude);\n },\n () => {\n if (!isMounted) return;\n setToast({ type: \"error\", message: \"GPS access denied\" });\n }\n );\n }\n\n return () => {\n isMounted = false;\n };\n }, []);\n\n // 🔹 PIN CODE HANDLER\n const handlePincodeChange = (e) => {\n const value = e.target.value;\n if (/^\\d{0,6}$/.test(value)) {\n setPinCode(value);\n\n if (value.length === 6) {\n fetchLocationByPincode(value);\n }\n }\n };\n\n // 🔹 MOCK PIN API (Replace with real API)\n const fetchLocationByPincode = (pin) => {\n // 🔥 Replace this with backend API\n console.log(\"Fetching location for PIN:\", pin);\n };\n\n // 🔹 FILE UPLOAD\n const selectphoto = async (e) => {\n let isMounted = true;\n\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size >= 2000000) {\n setToast({ type: \"error\", message: \"Max size 2MB exceeded\" });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n\n if (!isMounted) return;\n\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n setDoorPhotoFileStoreId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => {\n if (!isMounted) return;\n setDoorPhoto(reader.result);\n };\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: \"Upload successful\" });\n }\n } catch {\n if (!isMounted) return;\n setToast({ type: \"error\", message: \"Upload failed\" });\n }\n\n return () => {\n isMounted = false;\n };\n };\n\n const removePhoto = () => {\n setDoorPhoto(null);\n setDoorPhotoFileStoreId(null);\n };\n\n // 🔹 VALIDATION\n const isValid = () => {\n return houseNo && street && pinCode.length === 6 && assembly && ward && zone && latitude && longitude && doorPhotoFileStoreId;\n };\n\n // 🔹 SUBMIT\n const onStepSelect = () => {\n if (!isValid()) {\n setToast({ type: \"error\", message: \"Please fill all mandatory fields\" });\n return;\n }\n\n const data = {\n houseNo,\n street,\n locality,\n landmark,\n subLocality,\n pinCode,\n assembly: assembly?.name,\n ward: ward?.name,\n zone: zone?.name,\n latitude,\n longitude,\n addressType: addressType?.name,\n doorPhotoFilestoreId: doorPhotoFileStoreId,\n };\n\n onSelect(config.key, data);\n };\n\n if (isLoading) return <Loader />;\n\n return (\n <Fragment>\n <FormStep t={t} onSelect={onStepSelect} config={config} label={t(\"ES_COMMON_CONTINUE\")}>\n <CardLabel>House No / Flat No *</CardLabel>\n <TextInput value={houseNo} onChange={(e) => setHouseNo(e.target.value)} />\n\n <CardLabel>Street / Address Line *</CardLabel>\n <TextInput value={street} onChange={(e) => setStreet(e.target.value)} />\n\n <CardLabel>Locality</CardLabel>\n <TextInput value={locality} onChange={(e) => setLocality(e.target.value)} />\n\n <CardLabel>Landmark</CardLabel>\n <TextInput value={landmark} onChange={(e) => setLandmark(e.target.value)} />\n\n <CardLabel>Sub Locality</CardLabel>\n <Dropdown option={[]} selected={subLocality} select={setSubLocality} />\n\n <CardLabel>PIN Code *</CardLabel>\n <TextInput value={pinCode} onChange={handlePincodeChange} maxLength={6} />\n\n <CardLabel>Assembly *</CardLabel>\n <Dropdown option={assemblies} selected={assembly} select={setAssembly} />\n\n <CardLabel>Ward *</CardLabel>\n <Dropdown option={assembly?.children || []} selected={ward} select={setWard} />\n\n <CardLabel>Zone *</CardLabel>\n <Dropdown option={ward?.children || []} selected={zone} select={setZone} />\n\n <CardLabel>Latitude</CardLabel>\n <TextInput value={latitude} disabled />\n\n <CardLabel>Longitude</CardLabel>\n <TextInput value={longitude} disabled />\n\n <CardLabel>Address Type</CardLabel>\n <Dropdown option={[{ name: \"Permanent\" }, { name: \"Correspondence\" }, { name: \"Other\" }]} selected={addressType} select={setAddressType} />\n\n <CardLabel>Door Image *</CardLabel>\n <UploadFile onUpload={selectphoto} onDelete={removePhoto} message={doorPhotoFileStoreId ? \"Uploaded\" : \"No file selected\"} />\n\n {doorPhoto && <img src={doorPhoto} alt=\"preview\" style={{ width: \"100%\", marginTop: \"10px\" }} />}\n\n {toast && <Toast label={toast.message} error={toast.type === \"error\"} onClose={() => setToast(null)} />}\n </FormStep>\n </Fragment>\n );\n};\n\nexport default AddressDetails;\n","import React from \"react\";\nimport { PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } 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 Dashboard from \"../../components/Dashboard\";\nimport Inbox from \"./Inbox\";\nimport AddressDetails from \"../../components/AddressDetails\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getBreadcrumbLabel = () => {\n const pathname = location.pathname;\n if (pathname.includes(\"/create-kyc\")) return \"EKYC_CREATE_KYC\";\n if (pathname.includes(\"/aadhaar-verification\")) return \"EKYC_AADHAAR_VERIFICATION\";\n if (pathname.includes(\"/address-details\")) return \"EKYC_ADDRESS_DETAILS\";\n if (pathname.includes(\"/property-info\")) return \"EKYC_PROPERTY_INFO\";\n if (pathname.includes(\"/meter-details\")) return \"EKYC_METER_DETAILS\";\n if (pathname.includes(\"/review\")) return \"EKYC_REVIEW\";\n return \"EKYC_HOME\";\n };\n\n const breadcrumbs = [{ icon: HomeIcon, path: \"/digit-ui/citizen\" }, { label: t(getBreadcrumbLabel()) }];\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={breadcrumbs}\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}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard />\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 </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\";\nimport AddressDetails from \"./components/AddressDetails\";\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading, data: store } = 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 AddressDetails,\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","t","useTranslation","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","count","label","link","links","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","data","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","className","map","item","key","style","background","ref","width","height","Dashboard","tenantId","Digit","ULBService","getCurrentTenantId","isLoading","dashboardData","Hooks","ekyc","useEkycSurveyorDashboard","offset","limit","enabled","useMemo","info","dashboardInfo","rejected","Loader","Card","DesktopInbox","_Digit$ComponentRegis","tableConfig","filterComponent","props","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","selectedKno","setSelectedKno","useState","reviewData","getReview","useEkycAPI","handleReview","kno","push","kNumber","aadhaarData","columns","Header","accessor","Cell","_ref2","_row$original","_row$original2","row","original","applicationNumber","cursor","fontWeight","onClick","_ref3","_row$original3","citizenName","_ref4","_row$original4","status","_ref5","_row$original5","_row$original6","tableData","items","Array","isArray","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_searchParams","setSearchParams","onChange","prev","onSubmit","e","preventDefault","onClear","cleared","kName","HomeIcon","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","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","Dropdown","option","optionKey","select","selected","useInboxTableConfig","_formState$tableForm","_formState$tableForm2","_formState$searchForm","formState","totalCount","table","dispatch","checkPathName","onSortingByData","inboxStyles","tableStyle","tableForm","tableColumnConfig","disableSortBy","fontSize","disableSort","autoSort","manualPagination","initSortId","floor","_formState$tableForm3","_formState$tableForm4","action","parseInt","_formState$tableForm5","_formState$tableForm6","searchForm","message","onLastPage","_formState$tableForm7","ceil","onFirstPage","_iteratorSymbol","Symbol","iterator","_asyncIteratorSymbol","asyncIterator","_catch","body","recover","result","then","_finallyRethrows","finalizer","bind","SearchFormFieldsComponents","searchFormState","controlSearchForm","errors","Fragment","Label","CustomTooltip","Controller","name","control","defaultValue","rules","pattern","render","CardLabelError","Inbox","_formState$searchForm3","_formState$searchForm4","_dashboardData$dashbo2","businessService","initialStates","isInbox","location","useLocation","formInitValue","filterForm","sortBy","sortOrder","useReducer","formReducer","queryParams","search","keepPreviousData","searchDetails","_formState$searchForm2","isSearchActive","isSearchLoading","searchData","useSearchConnection","details","sourceData","_dashboardData$dashbo","consumerList","filteredData","isSearchItem","connectionDetails","_item$propertyInfo","_item$propertyInfo2","_item$connectionDetai","_item$propertyInfo3","_item$connectionDetai2","_item$connectionDetai3","applicationNo","propertyInfo","connectionNo","owner","consumerName","statusflag","sla","fullName","firstName","middleName","lastName","filter","Boolean","join","pathname","includes","PropsForInboxLinks","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","window","Utils","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","FilterFormFields","propsForFilterForm","onFilterFormSubmit","filterFormDefaultValues","resetFilterFormDefaultValues","onFilterFormReset","state","payload","storageKey","SessionStorage","set","newLimit","Number","desc","propsForInboxTable","overflowX","overflowY","isInboxLoading","InboxComposer","_extends","UserIcon","size","DiaryIcon","TrashIcon","points","EditIcon","MapPinIcon","PlusIcon","_ref6","SaveIcon","_ref7","CheckIcon","_ref8","XIcon","_ref9","MOCK_SURVEYORS","role","MOCK_MRDS","code","zone","ConfirmDeleteModal","_ref0","mapping","onConfirm","onCancel","position","inset","alignItems","justifyContent","zIndex","borderRadius","boxShadow","gap","marginBottom","lineHeight","surveyorName","mrdName","border","Mapping","selectedSurveyor","setSelectedSurveyor","selectedMRD","setSelectedMRD","mappings","setMappings","editingId","setEditingId","editSurveyor","setEditSurveyor","editMRD","setEditMRD","deleteTarget","setDeleteTarget","toast","setToast","handleAddMapping","exists","some","m","surveyorId","mrdCode","Date","now","handleEditStart","find","s","handleEditSave","duplicate","handleEditCancel","handleDeleteConfirm","handleSaveMappings","_ref1","isEditing","minWidth","flexShrink","_ref10","_ref11","minHeight","disabled","transition","marginTop","gridTemplateColumns","overflow","borderBottom","letterSpacing","textTransform","borderLeft","borderTop","Set","tableClassName","flexDirection","opacity","Toast","error","warning","isDsc","ConnectionDetailsView","path","useRouteMatch","showModal","setShowModal","selectedOption","setSelectedOption","handleStartVerification","onModalConfirm","parentPath","replace","statusFlag","isActive","toLowerCase","meterNumber","connectionType","address","x","y","rx","ry","phoneNumber","email","lastVerified","Modal","headerBarMain","headerBarEnd","actionSaveLabel","actionSaveOnSubmit","actionCancelLabel","actionCancelOnSubmit","RadioButtons","optionsKey","onSelect","buttonStyle","Create","saved","sessionStorage","getItem","JSON","parse","searchPerformed","setSearchPerformed","showToast","setShowToast","formParams","setFormParams","clearParams","useSessionStorage","isSearching","revalidate","onError","_error$response","_error$response$data","_error$response$data$","_error$response$data$2","response","Errors","removeItem","handleSearch","params","currentKno","Object","keys","forEach","startsWith","setItem","stringify","closeToast","ActionButton","jumpTo","routeTo","LinkButton","margin","checkForNA","undefined","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","title","fields","CardSubHeader","borderCollapse","tableLayout","field","idx","valNew","valOld","isChanged","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","agree","setAgree","isSubmitting","setIsSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","edits","activeKno","addressDetails","editedAddress","propertyDetails","editedProperty","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","apiNewData","apiOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","addressRaw","connectionCategory","meterNo","mobileNo","ekycStatus","knumber","fullAddress","flatHouseNumber","flatNo","buildingTower","building","landmark","pinCode","pincode","ward","locality","assembly","gpsValid","latitude","longitude","whatsappNo","noOfPerson","noOfPersons","doorPhotoFilestoreId","property","pidNumber","typeOfConnection","userType","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","Promise","resolve","mutateAsync","success","err","console","reject","handleApprove","_Digit$UserService$ge4","_Digit$UserService$ge5","_Digit$UserService$ge6","_temp2","handleFinalSubmit","_temp3","_wasThrown","_result","handleViewDocument","fileStoreId","documentUrl","baseUrl","paddingBottom","CardHeader","StatusTable","maxWidth","Row","actionButton","GenericFileIcon","paddingTop","CheckBox","checked","ActionBar","top","left","maxHeight","right","src","alt","nextSibling","open","QueryClientContext","context","createContext","ReactQueryClientContext","getQueryClientContext","useQueryClient","queryClient","useContext","Error","AadhaarVerification","config","formData","searchKno","cacheTime","savedData","aadhaarVerification","setKno","consumerType","setConsumerType","occupantType","setOccupantType","categoryType","setCategoryType","setConsumerName","setFirstName","setMiddleName","setLastName","gender","setGender","parentSpouseName","setParentSpouseName","relation","setRelation","mobile","setMobile","whatsapp","setWhatsapp","setEmail","residents","setResidents","documentProof","setDocumentProof","documentId","setDocumentId","ownerMobile","setOwnerMobile","tenantVerification","setTenantVerification","designation","setDesignation","department","setDepartment","employeeId","setEmployeeId","landline","setLandline","entityRelation","setEntityRelation","contactPerson","setContactPerson","entityName","setEntityName","idProof","setIdProof","idNumber","setIdNumber","documentNumber","setDocumentNumber","identityType","setIdentityType","idFile","setIdFile","consent","setConsent","informantIsConsumer","setInformantIsConsumer","informantName","setInformantName","informantRelation","setInformantRelation","addrDetails","parts","trim","slice","parentSpouse","consumerTypeOptions","occupantOptions","genderOptions","identityTypeOptions","uploadFile","setter","idSetter","file","files","UploadServices","Filestorage","res","_res$data","_res$data$files","_res$data$files$","isValid","onStepSelect","updateType","FormStep","isDisabled","CardLabel","log","UploadFile","onUpload","ekycConfig","route","component","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","EKYCForm","passedPath","match","setParams","userInfo","rest","goNext","skipStep","isAddMultiple","currentPath","pop","routeObj","nextStep","currentIndex","findIndex","c","redirectWithHistory","base","handleSelect","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","isCollapsible","defaultOpen","Redirect","EmployeeApp","getBreadcrumbLabel","breadcrumbs","icon","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","PrivateRoute","LayoutWrapper","layoutClass","PropertyInfo","setPidNumber","propertyType","setPropertyType","subPropertyCategory","setSubPropertyCategory","noOfFloors","setNoOfFloors","floorNo","setFloorNo","noOfRooms","setNoOfRooms","noOfBeds","setNoOfBeds","dwellingUnits","setDwellingUnits","buildingImage","setBuildingImage","buildingImageId","setBuildingImageId","propertyTypeOptions","matchingType","numberOfRooms","numberOfBeds","numberOfDwellingUnits","handleUpload","reader","FileReader","onloadend","readAsDataURL","onDelete","gridColumn","MeterDetails","setConnectionCategory","saType","setSaType","setStatus","mrCode","setMrCode","areaCode","setAreaCode","mrKey","setMrKey","setMeterNumber","meterMaker","setMeterMaker","setMeterStatus","meterCondition","setMeterCondition","setMeterLocation","lastBillReceived","setLastBillReceived","billMonthYear","setBillMonthYear","reason","setReason","accessToMeter","setAccessToMeter","sewerConnection","setSewerConnection","septicTank","setSepticTank","meterPhoto","setMeterPhoto","meterPhotoId","setMeterPhotoId","yesNo","meterStatusOptions","meterConditionOptions","meterLocationOptions","monthYearOptions","mrcode","areacode","mrkey","matchingStatus","o","matchingCond","matchingLoc","strVal","lastBillReceivedDate","formatted","parsedParts","mon","yr","lastBillNotRaisedReason","isFrozen","uploadPhoto","Home","ModuleLinksView","AddressDetails","_mdmsData$MdmsRes","_mdmsData$MdmsRes$ego","_mdmsData$MdmsRes$ego2","_mdmsData$MdmsRes$ego3","_mdmsData$MdmsRes$ego4","houseNo","setHouseNo","street","setStreet","setLocality","setLandmark","subLocality","setSubLocality","setPinCode","setAssembly","setWard","setZone","setLatitude","setLongitude","addressType","setAddressType","doorPhoto","setDoorPhoto","setDoorPhotoFileStoreId","mdmsData","useCommonMDMS","assemblies","MdmsRes","TenantBoundary","boundary","isMounted","navigator","geolocation","getCurrentPosition","pos","coords","handlePincodeChange","test","fetchLocationByPincode","pin","selectphoto","_exit","removePhoto","maxLength","CitizenApp","exact","EkycModule","stateCode","tenants","url","language","StoreData","getCurrentLanguage","store","Services","useStore","LocalizationService","getLocale","modules","locale","page","EkycLinks","matchPath","i18nKey","CitizenHomeCard","DocumentIcon","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/components/EKYCCard.js","../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/hook/useInboxTableConfig.js","../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../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","../../../../node_modules/react-query/es/react/QueryClientProvider.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../src/pages/employee/index.js","../src/components/PropertyInfo.js","../src/components/MeterDetails.js","../src/pages/citizen/Home.js","../src/pages/citizen/Inbox.js","../src/components/AddressDetails.js","../src/pages/citizen/index.js","../src/components/analytics/components/DashboardLayout.js","../src/components/analytics/components/FilterBar.js","../src/components/analytics/components/SummaryCard.js","../src/components/analytics/charts/TaskStatusChart.js","../src/components/analytics/charts/ClusterHeatmap.js","../src/components/analytics/utils/exportUtils.js","../src/components/analytics/components/AnalyticsTable.js","../src/components/analytics/components/SLAWidget.js","../src/components/analytics/components/WorkflowTimeline.js","../src/components/analytics/components/NotificationPanel.js","../src/components/analytics/components/SkeletonLoader.js","../src/components/analytics/components/ErrorBoundary.js","../src/components/analytics/components/EmptyState.js","../src/components/CeoDashboard.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\n const propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: [\n {\n count: \"-\",\n label: t(\"TOTAL_EKYC\"),\n link: `/digit-ui/employee/ekyc/dashboard`,\n },\n ],\n links: [\n {\n label: t(\"EKYC_DASHBOARD\"),\n link: `/digit-ui/employee/ekyc/dashboard`,\n },\n {\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(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n link: `/digit-ui/employee/ekyc/ceo-dashboard`\n },\n {\n label: t(\"EKYC_MAPPING\"),\n link: `/digit-ui/employee/ekyc/mapping`,\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 const rejected = countData?.rejected || 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\") ||\n \"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\">\n {t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Processed\"}\n </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\">\n {t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle distribution\"}\n </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\n className=\"indicator-dot\"\n style={{ background: item.color }}\n />\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\">\n {t(\"EKYC_PLATFORM_EFFICIENCY\") || \"Platform operational efficiency\"}\n </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;","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\n className=\"ekyc-application-link\"\n style={{ color: \"#add8f7\", cursor: \"pointer\", fontWeight: \"bold\" }}\n onClick={() => handleReview(kno)}\n >\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_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span\n className=\"ekyc-application-link\"\n style={{ color: \"#add8f7\", cursor: \"pointer\", fontWeight: \"bold\" }}\n onClick={() => handleReview(kno)}\n >\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\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\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 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\n className=\"ekyc-application-link\"\n style={{ color: \"#add8f7\", cursor: \"pointer\", fontWeight: \"bold\" }}\n onClick={() => handleReview(kno)}\n >\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(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span\n className=\"ekyc-application-link\"\n style={{ color: \"#add8f7\", cursor: \"pointer\", fontWeight: \"bold\" }}\n onClick={() => handleReview(kno)}\n >\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ];\n\n return {\n getCellProps: (cellInfo) => {\n return {\n style: {\n padding: \"8px\",\n fontSize: \"12px\",\n },\n };\n },\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n initSortId: \"applicationDate\",\n onPageSizeChange: onPageSizeChange,\n currentPage: Math.floor(offset / limit),\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) + parseInt(formState.tableForm?.limit) },\n checkPathName,\n }),\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) - parseInt(formState.tableForm?.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.ceil(totalCount / 10) * 10 - parseInt(formState.tableForm?.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","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React 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 }) => {\n const { t } = useTranslation();\n const { errors } = searchFormState;\n\n return (\n <React.Fragment>\n {/* K NUMBER */}\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: /^[a-zA-Z0-9-_/]*$/,\n message: t(\"ERR_INVALID_APPLICATION_NO\"),\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\n {/* K NAME */}\n {/* <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <CustomTooltip message={t(\"EKYC_K_NAME_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"kName\"\n control={controlSearchForm}\n defaultValue=\"\"\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.kName && <CardLabelError>{errors.kName.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, businessService = \"EKYC\", initialStates = {}, filterComponent, isInbox }) => {\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 queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycSurveyorDashboard({}, 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?.dashboardInfo?.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 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 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 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: checkPathName ? \"EKYC_MODULE\" : \"MODULE_SW\",\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} 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 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 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 countData: dashboardData?.dashboardInfo,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useMemo } from \"react\";\nimport { Card, Dropdown, Toast, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\n// ─── Icons ────────────────────────────────────────────────────────────────────\n\nconst UserIcon = ({ size = 18, color = \"currentColor\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} 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);\n\nconst DiaryIcon = ({ size = 18, color = \"currentColor\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\" />\n <path d=\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z\" />\n </svg>\n);\n\nconst TrashIcon = ({ size = 14 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"3 6 5 6 21 6\" />\n <path d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\" />\n </svg>\n);\n\nconst EditIcon = ({ size = 14 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\" />\n <path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\" />\n </svg>\n);\n\nconst MapPinIcon = ({ size = 12 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n </svg>\n);\n\nconst PlusIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\" />\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n </svg>\n);\n\nconst SaveIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\" />\n <polyline points=\"17 21 17 13 7 13 7 21\" />\n <polyline points=\"7 3 7 8 15 8\" />\n </svg>\n);\n\nconst CheckIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n);\n\nconst XIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n);\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// ─── Confirm Delete Modal ─────────────────────────────────────────────────────\n\nconst ConfirmDeleteModal = ({ mapping, onConfirm, onCancel }) => (\n <div style={{\n position: \"fixed\", inset: 0, background: \"rgba(0,0,0,0.35)\",\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\", zIndex: 1000,\n }}>\n <div style={{\n background: \"#fff\", borderRadius: \"12px\", padding: \"28px 28px 24px\",\n width: \"400px\", boxShadow: \"0 20px 60px rgba(0,0,0,0.15)\",\n }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"12px\", marginBottom: \"16px\" }}>\n <div style={{\n width: \"40px\", height: \"40px\", borderRadius: \"50%\",\n background: \"#FEF3F2\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n }}>\n <TrashIcon size={18} />\n </div>\n <div>\n <div style={{ fontWeight: \"700\", fontSize: \"16px\", color: \"#0D1B2A\" }}>Remove Mapping</div>\n <div style={{ fontSize: \"12px\", color: \"#6B7B8E\" }}>This action cannot be undone</div>\n </div>\n </div>\n <p style={{ fontSize: \"13px\", color: \"#344054\", marginBottom: \"24px\", lineHeight: \"1.6\" }}>\n Are you sure you want to remove the mapping between{\" \"}\n <strong>{mapping?.surveyorName}</strong> and <strong>{mapping?.mrdName}</strong>?\n </p>\n <div style={{ display: \"flex\", gap: \"10px\", justifyContent: \"flex-end\" }}>\n <button onClick={onCancel} style={{\n background: \"none\", border: \"1px solid #D0D5DD\", borderRadius: \"8px\",\n padding: \"8px 20px\", fontWeight: \"600\", fontSize: \"13px\",\n color: \"#344054\", cursor: \"pointer\",\n }}>Cancel</button>\n <button onClick={onConfirm} style={{\n background: \"#B42318\", border: \"none\", borderRadius: \"8px\",\n padding: \"8px 20px\", fontWeight: \"600\", fontSize: \"13px\",\n color: \"#fff\", cursor: \"pointer\",\n display: \"flex\", alignItems: \"center\", gap: \"6px\",\n }}>\n <TrashIcon size={13} /> Remove\n </button>\n </div>\n </div>\n </div>\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 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: \"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: \"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: \"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: \"info\", 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 <div style={{ minWidth: \"180px\" }}>\n <Dropdown\n selected={editSurveyor}\n select={setEditSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder=\"Choose surveyor...\"\n />\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"10px\" }}>\n <div style={{\n width: \"32px\", height: \"32px\", borderRadius: \"50%\",\n background: \"#EEF4FB\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", flexShrink: 0,\n }}>\n <UserIcon size={15} color=\"#3A7BD5\" />\n </div>\n <div>\n <div style={{ fontWeight: \"600\", fontSize: \"13px\", color: \"#0D1B2A\" }}>{row.original.surveyorName}</div>\n <div style={{ fontSize: \"11px\", color: \"#6B7B8E\" }}>ID: {row.original.surveyorId}</div>\n </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 <div style={{ minWidth: \"200px\" }}>\n <Dropdown\n selected={editMRD}\n select={setEditMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder=\"Choose MRD...\"\n />\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"10px\" }}>\n <div style={{\n width: \"32px\", height: \"32px\", borderRadius: \"50%\",\n background: \"#EEF4FB\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", flexShrink: 0,\n }}>\n <DiaryIcon size={15} color=\"#3A7BD5\" />\n </div>\n <div>\n <div style={{ fontWeight: \"600\", fontSize: \"13px\", color: \"#0D1B2A\" }}>{row.original.mrdName}</div>\n <div style={{ fontSize: \"11px\", color: \"#3A7BD5\", display: \"flex\", alignItems: \"center\", gap: \"3px\" }}>\n <MapPinIcon size={10} /> {row.original.zone}\n </div>\n </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: \"8px\" }}>\n <button\n onClick={() => handleEditSave(row.original.id)}\n style={{\n display: \"flex\", alignItems: \"center\", gap: \"5px\",\n background: \"#3A7BD5\", color: \"#fff\",\n border: \"none\", borderRadius: \"6px\",\n padding: \"6px 12px\", fontWeight: \"600\",\n fontSize: \"12px\", cursor: \"pointer\",\n }}\n >\n <CheckIcon size={13} /> Save\n </button>\n <button\n onClick={handleEditCancel}\n style={{\n display: \"flex\", alignItems: \"center\", gap: \"5px\",\n background: \"none\", border: \"1px solid #D0D5DD\",\n borderRadius: \"6px\", padding: \"6px 12px\",\n fontWeight: \"600\", fontSize: \"12px\",\n color: \"#344054\", cursor: \"pointer\",\n }}\n >\n <XIcon size={13} /> Cancel\n </button>\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", gap: \"8px\" }}>\n <button\n onClick={() => handleEditStart(row.original)}\n style={{\n display: \"flex\", alignItems: \"center\", gap: \"5px\",\n background: \"none\", border: \"1px solid #D0D5DD\",\n borderRadius: \"6px\", padding: \"6px 12px\",\n color: \"#344054\", fontSize: \"12px\",\n fontWeight: \"600\", cursor: \"pointer\",\n }}\n >\n <EditIcon size={13} /> Edit\n </button>\n <button\n onClick={() => setDeleteTarget(row.original)}\n style={{\n display: \"flex\", alignItems: \"center\", gap: \"5px\",\n background: \"none\", border: \"1px solid #FECDCA\",\n borderRadius: \"6px\", padding: \"6px 12px\",\n color: \"#B42318\", fontSize: \"12px\",\n fontWeight: \"600\", cursor: \"pointer\",\n }}\n >\n <TrashIcon size={13} /> Remove\n </button>\n </div>\n );\n },\n },\n ], [editingId, editSurveyor, editMRD, mappings, t]);\n\n // ── Render ────────────────────────────────────────────────────────────────\n\n return (\n <div style={{ background: \"#F5F7FA\", minHeight: \"100vh\", padding: \"0\" }}>\n\n {/* Page Header Bar */}\n <Card style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\",\n padding: \"16px 24px\", marginBottom: \"0\", borderRadius: \"4px\",\n }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"12px\" }}>\n <div style={{ color: \"#3A8DCC\" }}>\n <DiaryIcon size={24} />\n </div>\n <div style={{ fontWeight: \"700\", fontSize: \"18px\", color: \"#0B0C0C\" }}>\n {t(\"EKYC_SURVEYOR_MAPPING\") || \"Surveyor Mapping\"}\n </div>\n </div>\n <button\n onClick={handleSaveMappings}\n disabled={mappings.length === 0}\n style={{\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n background: mappings.length === 0 ? \"#D0D5DD\" : \"#0F3460\",\n color: \"#fff\", border: \"none\", borderRadius: \"8px\",\n padding: \"10px 20px\", fontWeight: \"600\", fontSize: \"14px\",\n cursor: mappings.length === 0 ? \"not-allowed\" : \"pointer\",\n transition: \"background 0.2s\",\n }}\n >\n <SaveIcon size={15} />\n {t(\"EKYC_SAVE_MAPPINGS\") || \"Save Mappings\"}\n </button>\n </Card>\n\n {/* Content */}\n <div style={{ padding: \"24px 32px\" }}>\n <p style={{ fontSize: \"13px\", color: \"#6B7B8E\", marginBottom: \"24px\", marginTop: \"0\" }}>\n {t(\"EKYC_MAPPING_SUBHEADER\") || \"Assign Meter Reading Dairies to surveyors to manage their data access.\"}\n </p>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"360px 1fr\", gap: \"20px\", alignItems: \"start\" }}>\n\n {/* ── Left: New Mapping Panel ── */}\n <div style={{\n background: \"#fff\", borderRadius: \"12px\",\n border: \"1px solid #E5E9EF\", overflow: \"hidden\",\n }}>\n {/* Header */}\n <div style={{\n display: \"flex\", alignItems: \"center\", gap: \"10px\",\n padding: \"16px 20px\", borderBottom: \"1px solid #F0F2F5\", background: \"#FAFBFC\",\n }}>\n <div style={{\n width: \"32px\", height: \"32px\", borderRadius: \"8px\",\n background: \"#EEF4FB\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n }}>\n <DiaryIcon size={16} color=\"#3A7BD5\" />\n </div>\n <span style={{ fontWeight: \"700\", fontSize: \"15px\", color: \"#0D1B2A\" }}>\n {t(\"EKYC_NEW_MAPPING\") || \"New Mapping\"}\n </span>\n </div>\n\n {/* Body */}\n <div style={{ padding: \"20px\" }}>\n {/* Surveyor */}\n <div style={{ marginBottom: \"16px\" }}>\n <label style={{\n display: \"flex\", alignItems: \"center\", gap: \"6px\",\n fontSize: \"11px\", fontWeight: \"700\", letterSpacing: \"0.06em\",\n color: \"#3A7BD5\", textTransform: \"uppercase\", marginBottom: \"8px\",\n }}>\n <UserIcon size={12} color=\"#3A7BD5\" />\n {t(\"EKYC_SELECT_SURVEYOR\") || \"Select Surveyor\"}\n </label>\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\n {/* MRD */}\n <div style={{ marginBottom: \"16px\" }}>\n <label style={{\n display: \"flex\", alignItems: \"center\", gap: \"6px\",\n fontSize: \"11px\", fontWeight: \"700\", letterSpacing: \"0.06em\",\n color: \"#3A7BD5\", textTransform: \"uppercase\", marginBottom: \"8px\",\n }}>\n <DiaryIcon size={12} color=\"#3A7BD5\" />\n {t(\"EKYC_SELECT_MRD\") || \"Select MRD\"}\n </label>\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\n {/* MRD Info Preview */}\n {selectedMRD && (\n <div style={{\n background: \"#EEF4FB\", borderLeft: \"3px solid #3A7BD5\",\n borderRadius: \"6px\", padding: \"10px 14px\",\n fontSize: \"12px\", color: \"#0D1B2A\", marginBottom: \"16px\",\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n }}>\n <MapPinIcon size={13} />\n <span><strong>{selectedMRD.name}</strong> — {selectedMRD.zone} Zone</span>\n </div>\n )}\n\n {/* Surveyor Preview */}\n {selectedSurveyor && (\n <div style={{\n background: \"#F5F7FA\", borderLeft: \"3px solid #6B7B8E\",\n borderRadius: \"6px\", padding: \"10px 14px\",\n fontSize: \"12px\", color: \"#0D1B2A\", marginBottom: \"16px\",\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n }}>\n <UserIcon size={13} color=\"#6B7B8E\" />\n <span><strong>{selectedSurveyor.name}</strong> — {selectedSurveyor.id}</span>\n </div>\n )}\n\n {/* Add Button */}\n <button\n onClick={handleAddMapping}\n disabled={!selectedSurveyor || !selectedMRD}\n style={{\n width: \"100%\",\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\", gap: \"8px\",\n background: (!selectedSurveyor || !selectedMRD) ? \"#D0D5DD\" : \"#3A7BD5\",\n color: \"#fff\", border: \"none\", borderRadius: \"8px\",\n padding: \"12px\", fontWeight: \"600\", fontSize: \"14px\",\n cursor: (!selectedSurveyor || !selectedMRD) ? \"not-allowed\" : \"pointer\",\n marginTop: \"4px\", transition: \"background 0.2s\",\n }}\n >\n <PlusIcon size={16} />\n {t(\"EKYC_ADD_TO_LIST\") || \"Add to Mapping List\"}\n </button>\n </div>\n\n {/* Stats Footer */}\n {mappings.length > 0 && (\n <div style={{\n padding: \"12px 20px\", borderTop: \"1px solid #F0F2F5\",\n background: \"#FAFBFC\", display: \"flex\", gap: \"16px\",\n }}>\n <div style={{ textAlign: \"center\", flex: 1 }}>\n <div style={{ fontSize: \"20px\", fontWeight: \"700\", color: \"#0F3460\" }}>\n {mappings.length}\n </div>\n <div style={{ fontSize: \"11px\", color: \"#6B7B8E\" }}>Total Mappings</div>\n </div>\n <div style={{ width: \"1px\", background: \"#E5E9EF\" }} />\n <div style={{ textAlign: \"center\", flex: 1 }}>\n <div style={{ fontSize: \"20px\", fontWeight: \"700\", color: \"#0F3460\" }}>\n {[...new Set(mappings.map(m => m.surveyorId))].length}\n </div>\n <div style={{ fontSize: \"11px\", color: \"#6B7B8E\" }}>Surveyors</div>\n </div>\n <div style={{ width: \"1px\", background: \"#E5E9EF\" }} />\n <div style={{ textAlign: \"center\", flex: 1 }}>\n <div style={{ fontSize: \"20px\", fontWeight: \"700\", color: \"#0F3460\" }}>\n {[...new Set(mappings.map(m => m.mrdCode))].length}\n </div>\n <div style={{ fontSize: \"11px\", color: \"#6B7B8E\" }}>MRDs</div>\n </div>\n </div>\n )}\n </div>\n\n {/* ── Right: Summary Table Panel ── */}\n <div style={{\n background: \"#fff\", borderRadius: \"12px\",\n border: \"1px solid #E5E9EF\", overflow: \"hidden\", minHeight: \"420px\",\n }}>\n {/* Header */}\n <div style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\",\n padding: \"16px 20px\", borderBottom: \"1px solid #F0F2F5\", background: \"#FAFBFC\",\n }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"10px\" }}>\n <div style={{\n width: \"32px\", height: \"32px\", borderRadius: \"8px\",\n background: \"#EEF4FB\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n }}>\n <UserIcon size={16} color=\"#3A7BD5\" />\n </div>\n <span style={{ fontWeight: \"700\", fontSize: \"15px\", color: \"#0D1B2A\" }}>\n {t(\"EKYC_MAPPING_SUMMARY\") || \"Mapping Summary\"}\n </span>\n </div>\n <span style={{\n background: mappings.length > 0 ? \"#0F3460\" : \"#E5E9EF\",\n color: mappings.length > 0 ? \"#fff\" : \"#6B7B8E\",\n fontSize: \"12px\", fontWeight: \"700\",\n padding: \"3px 10px\", borderRadius: \"20px\",\n }}>\n {mappings.length} {t(\"EKYC_ITEMS\") || \"items\"}\n </span>\n </div>\n\n {/* Body */}\n <div style={{ padding: \"20px\" }}>\n {mappings.length > 0 ? (\n <div style={{ border: \"1px solid #E5E9EF\", borderRadius: \"8px\", overflow: \"hidden\" }}>\n <Table\n t={t}\n data={mappings}\n columns={columns}\n getCellProps={() => ({})}\n tableClassName=\"digit-table\"\n />\n </div>\n ) : (\n <div style={{\n display: \"flex\", flexDirection: \"column\",\n alignItems: \"center\", justifyContent: \"center\",\n minHeight: \"320px\", textAlign: \"center\",\n }}>\n <div style={{ marginBottom: \"16px\", opacity: 0.2 }}>\n <DiaryIcon size={56} color=\"#0F3460\" />\n </div>\n <div style={{ fontSize: \"15px\", fontWeight: \"700\", color: \"#0D1B2A\", marginBottom: \"6px\" }}>\n {t(\"EKYC_NO_MAPPINGS\") || \"No Mappings Created Yet\"}\n </div>\n <div style={{ fontSize: \"13px\", color: \"#6B7B8E\" }}>\n {t(\"EKYC_NO_MAPPINGS_HINT\") || \"Select a surveyor and MRD on the left to get started.\"}\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n\n {/* Delete Confirm Modal */}\n {deleteTarget && (\n <ConfirmDeleteModal\n mapping={deleteTarget}\n onConfirm={handleDeleteConfirm}\n onCancel={() => setDeleteTarget(null)}\n />\n )}\n\n {/* Toast */}\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n warning={toast.type === \"warning\"}\n isDsc={true}\n onClose={() => setToast(null)}\n />\n )}\n </div>\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, { useState } from \"react\";\nimport {\n Card,\n CardHeader,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n\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\n label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />}\n style={{ margin: 0, padding: 0 }}\n onClick={routeTo}\n />\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 return \"N/A\";\n};\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 }) => {\n return (\n <div className=\"review-section-wrapper\" style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}>\n <div style={{ padding: \"20px 24px\", background: \"#F9FAFB\", borderBottom: \"1px solid #EAECF0\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && <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 style={{ padding: \"16px 0\", textAlign: \"left\", color: \"#667085\", fontSize: \"12px\", fontWeight: \"600\", textTransform: \"uppercase\", width: \"30%\" }}>{t(\"EKYC_FIELD_NAME\")}</th>\n <th style={{ padding: \"16px 0\", textAlign: \"left\", color: \"#667085\", fontSize: \"12px\", fontWeight: \"600\", textTransform: \"uppercase\", width: \"35%\" }}>{t(\"EKYC_EXISTING_INFORMATION\")}</th>\n <th style={{ padding: \"16px 0\", textAlign: \"left\", color: \"#667085\", fontSize: \"12px\", fontWeight: \"600\", textTransform: \"uppercase\", width: \"35%\" }}>{t(\"EKYC_PROPOSED_UPDATES\")}</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\" }}>\n {t(field.label)}\n </td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#667085\" }}>\n {field.isBool ? boolToYesNo(valOld, t) : checkForNA(valOld)}\n </td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: isChanged ? \"#1B8B32\" : \"#101828\", fontWeight: isChanged ? \"700\" : \"400\" }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {field.isBool ? boolToYesNo(valNew, t) : checkForNA(valNew)}\n {isChanged && (\n <span style={{ background: \"#ECFDF3\", color: \"#067647\", padding: \"2px 8px\", borderRadius: \"12px\", fontSize: \"10px\", fontWeight: \"600\" }}>\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\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\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\n const flowState = location.state || {};\n const { kNumber, kno, edits = {} } = flowState;\n const activeKno = kNumber || kno;\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 // ── 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: 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 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 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 history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Approve Error:\", err);\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-djb.nitcon.in/filestore/v1/files/id?tenantId=dl.djb&fileStoreId=${fileStoreId}`;\n setPreviewUrl(documentUrl);\n setShowPreview(true);\n };\n\n if (isSearchLoading || isSubmitting) return <Loader />;\n\n const baseUrl = \"/digit-ui/employee/ekyc\";\n\n return (\n <div className=\"employeeCard overflow-y-scroll\">\n <Card style={{ padding: \"32px\" }}>\n {/* ── Header ───────────────────────────────────────────────────── */}\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", marginBottom: \"40px\", borderBottom: \"1px solid #EAECF0\", paddingBottom: \"20px\" }}>\n <CardHeader style={{ margin: 0, fontSize: \"28px\" }}>{t(\"EKYC_REVIEW_APPLICATION\")}</CardHeader>\n <div style={{\n background: \"#F9FAFB\", border: \"1px solid #EAECF0\",\n borderRadius: \"24px\", padding: \"8px 20px\",\n fontSize: \"14px\", color: \"#475467\", fontWeight: \"500\"\n }}>\n {t(\"EKYC_K_NUMBER\")}: <span style={{ color: \"#101828\", fontWeight: \"700\" }}>{activeKno}</span>\n </div>\n </div>\n\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`}\n state={{ ...flowState, reviewData: searchData, edits }}\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`}\n state={{ ...flowState, reviewData: searchData, edits }}\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`}\n state={{ ...flowState, reviewData: searchData, edits }}\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`}\n state={{ ...flowState, reviewData: searchData, edits }}\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={addressData.doorPhotoFilestoreId && (\n <div onClick={() => handleViewDocument(addressData.doorPhotoFilestoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )}\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={meterData.meterPhotoFileStoreId && (\n <div onClick={() => handleViewDocument(meterData.meterPhotoFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )}\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={propertyData.buildingImageFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.buildingImageFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )}\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={propertyData.propertyDocumentFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.propertyDocumentFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )}\n />\n </StatusTable>\n </div>\n\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 </Card>\n\n <ActionBar style={{ position: \"static\", marginTop: \"32px\", display: \"flex\", justifyContent: \"flex-end\" }}>\n <SubmitBar\n label={t(\"EKYC_REJECT\")}\n onSubmit={handleReject}\n disabled={!agree}\n />\n <SubmitBar\n label={t(\"EKYC_APPROVE\")}\n onSubmit={handleApprove}\n disabled={!agree}\n />\n <SubmitBar label={t(\"EKYC_SUBMIT_APPLICATION\")} onSubmit={handleFinalSubmit} disabled={!agree} />\n </ActionBar>\n\n {/* ── Document Preview Modal ────────────────────────────────────── */}\n {showPreview && (\n <div style={{\n position: \"fixed\", top: 0, left: 0, width: \"100%\", height: \"100%\",\n backgroundColor: \"rgba(0,0,0,0.7)\", display: \"flex\", justifyContent: \"center\",\n alignItems: \"center\", zIndex: 10000\n }}>\n <div style={{\n position: \"relative\", backgroundColor: \"#fff\", padding: \"30px\",\n borderRadius: \"12px\", maxWidth: \"600px\", width: \"100%\", maxHeight: \"70vh\", 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 <div\n onClick={() => setShowPreview(false)}\n style={{\n position: \"absolute\", top: \"10px\", right: \"10px\", cursor: \"pointer\",\n fontWeight: \"bold\", fontSize: \"20px\", color: \"#333\", background: \"#eee\",\n width: \"30px\", height: \"30px\", display: \"flex\", justifyContent: \"center\",\n alignItems: \"center\", 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 </div>\n );\n};\n\nexport default Review;\n","import React from 'react';\n\nvar QueryClientContext = function () {\n var context = /*#__PURE__*/React.createContext(undefined);\n\n if (typeof window !== 'undefined') {\n // @ts-ignore\n window.ReactQueryClientContext = context;\n }\n\n return context;\n}();\n\nfunction getQueryClientContext() {\n var _ref;\n\n return typeof window !== 'undefined' ? // @ts-ignore\n (_ref = window.ReactQueryClientContext) != null ? _ref : QueryClientContext : QueryClientContext;\n}\n\nexport var useQueryClient = function useQueryClient() {\n var queryClient = React.useContext(getQueryClientContext());\n\n if (!queryClient) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one');\n }\n\n return queryClient;\n};\nexport var QueryClientProvider = function QueryClientProvider(_ref2) {\n var client = _ref2.client,\n children = _ref2.children;\n React.useEffect(function () {\n client.mount();\n return function () {\n client.unmount();\n };\n }, [client]);\n var Context = getQueryClientContext();\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: client\n }, children);\n};","\nimport React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport {\n CardLabel,\n TextInput,\n Dropdown,\n UploadFile,\n RadioButtons,\n Toast,\n FormStep,\n Loader,\n CheckBox\n} from \"@djb25/digit-ui-react-components\";\nconst AadhaarVerification = ({ config, onSelect, formData }) => {\n const location = useLocation();\n const flowState = location.state || {};\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const searchKno = flowState?.kNumber || flowState?.kno || formData?.kNumber || formData?.kno || sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno } },\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 [kno, setKno] = useState(savedData.kno || searchKno || \"\");\n const [consumerType, setConsumerType] = useState(savedData.consumerType ? { name: savedData.consumerType } : null);\n const [occupantType, setOccupantType] = useState(savedData.occupantType ? { name: savedData.occupantType } : null);\n const [categoryType, setCategoryType] = useState(savedData.categoryType ? { name: savedData.categoryType } : null);\n\n const [consumerName, setConsumerName] = useState(savedData.consumerName || \"\");\n const [firstName, setFirstName] = useState(savedData.firstName || \"\");\n const [middleName, setMiddleName] = useState(savedData.middleName || \"\");\n const [lastName, setLastName] = useState(savedData.lastName || \"\");\n\n const [gender, setGender] = useState(savedData.gender ? { name: savedData.gender } : null);\n const [parentSpouseName, setParentSpouseName] = useState(savedData.parentSpouseName || \"\");\n const [relation, setRelation] = useState(savedData.relation || \"\");\n\n const [mobile, setMobile] = useState(savedData.mobile || \"\");\n const [whatsapp, setWhatsapp] = useState(savedData.whatsapp || \"\");\n const [email, setEmail] = useState(savedData.email || \"\");\n const [residents, setResidents] = useState(savedData.residents || \"\");\n\n // Tenant\n const [documentProof, setDocumentProof] = useState(savedData.documentProof || null);\n const [documentId, setDocumentId] = useState(savedData.documentId || null);\n const [ownerMobile, setOwnerMobile] = useState(savedData.ownerMobile || \"\");\n const [tenantVerification, setTenantVerification] = useState(savedData.tenantVerification || \"\");\n\n // Govt\n const [designation, setDesignation] = useState(savedData.designation || \"\");\n const [department, setDepartment] = useState(savedData.department || \"\");\n const [employeeId, setEmployeeId] = useState(savedData.employeeId || \"\");\n const [landline, setLandline] = useState(savedData.landline || \"\");\n\n // Other Entity\n const [entityRelation, setEntityRelation] = useState(savedData.entityRelation || \"\");\n const [contactPerson, setContactPerson] = useState(savedData.contactPerson || \"\");\n const [entityName, setEntityName] = useState(savedData.entityName || \"\");\n\n // Identity\n const [idProof, setIdProof] = useState(savedData.idProof ? { name: savedData.idProof } : null);\n const [idNumber, setIdNumber] = useState(savedData.idNumber || \"\");\n const [documentNumber, setDocumentNumber] = useState(savedData.documentNumber || \"\");\n const [identityType, setIdentityType] = useState(savedData.identityType ? { name: savedData.identityType } : null);\n const [idFile, setIdFile] = useState(savedData.idFile || null);\n\n // Consent\n const [consent, setConsent] = useState(savedData.consent || false);\n const [informantIsConsumer, setInformantIsConsumer] = useState(savedData.informantIsConsumer ?? true);\n const [informantName, setInformantName] = useState(savedData.informantName || \"\");\n const [informantRelation, setInformantRelation] = useState(savedData.informantRelation || \"\");\n\n const [toast, setToast] = useState(null);\n\n useEffect(() => {\n const rawData = searchData || formData?.connectionDetails;\n const details = rawData?.connectionDetails || rawData || {};\n const addrDetails = rawData?.addressDetails || {};\n\n if (details && Object.keys(details).length > 0 && !savedData.firstName) {\n if (!kno && searchKno) setKno(searchKno);\n\n if (details.firstName) {\n setFirstName(details.firstName);\n if (details.middleName) setMiddleName(details.middleName);\n if (details.lastName) setLastName(details.lastName);\n } else if (details.consumerName) {\n setConsumerName(details.consumerName);\n const parts = details.consumerName.trim().split(/\\s+/);\n setFirstName(parts[0] || \"\");\n if (parts.length === 2) setLastName(parts[1]);\n if (parts.length > 2) {\n setMiddleName(parts.slice(1, -1).join(\" \"));\n setLastName(parts[parts.length - 1]);\n }\n }\n\n if (details.phoneNumber || addrDetails.mobileNo) setMobile(details.phoneNumber || addrDetails.mobileNo);\n if (details.email || addrDetails.email) setEmail(details.email || addrDetails.email);\n if (addrDetails.whatsappNo) setWhatsapp(addrDetails.whatsappNo);\n if (addrDetails.noOfPerson) setResidents(String(addrDetails.noOfPerson));\n\n if (details.consumerType) setConsumerType({ name: details.consumerType });\n if (details.occupantType) setOccupantType({ name: details.occupantType });\n if (details.gender) setGender({ name: details.gender });\n if (details.parentSpouse) setParentSpouseName(details.parentSpouse);\n if (details.documentNumber) {\n setDocumentId(details.documentNumber);\n setIdNumber(details.documentNumber);\n }\n if (details.informantName) setInformantName(details.informantName);\n if (details.informantRelation) setInformantRelation(details.informantRelation);\n }\n }, [searchData, formData?.connectionDetails, searchKno]);\n\n // 🔹 OPTIONS\n const consumerTypeOptions = [\n { name: \"Individual\" },\n { name: \"Govt\" },\n { name: \"Company_Society_Org\" },\n ];\n\n const occupantOptions = [\n { name: \"Self\" },\n { name: \"Tenanted\" },\n ];\n\n const genderOptions = [\n { name: \"Male\" },\n { name: \"Female\" },\n { name: \"Others\" },\n { name: \"Not prefer to say\" },\n ];\n\n const identityTypeOptions = [\n { name: \"Aadhaar Card\" },\n { name: \"Driving License\" },\n { name: \"Passport\" },\n { name: \"Voter ID\" },\n ];\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n // 🔹 FILE UPLOAD\n const uploadFile = async (e, setter, idSetter) => {\n const file = e.target.files[0];\n if (!file) return;\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file);\n const id = res?.data?.files?.[0]?.fileStoreId;\n if (id) {\n setter(file.name);\n idSetter(id);\n }\n } catch {\n setToast({ type: \"error\", message: \"Upload failed\" });\n }\n };\n\n // 🔹 VALIDATION\n const isValid = () => {\n if (!kno) return false;\n if (!consumerType) return false;\n if (!occupantType) return false;\n if (!categoryType) return false;\n if (!firstName) return false;\n if (!mobile) return false;\n if (!residents || Number(residents) <= 0) return false;\n\n if (occupantType?.name === \"Tenanted\" && !documentId && !ownerMobile)\n return false;\n\n return consent; // consent must be true\n };\n\n // 🔹 SUBMIT\n const onStepSelect = async () => {\n // If not valid, just show a warning (or uncomment below to enforce)\n /*\n if (!isValid()) {\n setToast({ type: \"error\", message: \"Fill required fields\" });\n return;\n }\n */\n\n const data = {\n kno,\n consumerType: consumerType?.name,\n occupantType: occupantType?.name,\n categoryType: categoryType?.name,\n consumerName,\n firstName,\n middleName,\n lastName,\n gender: gender?.name,\n parentSpouseName,\n relation,\n mobile,\n whatsapp,\n email,\n residents,\n documentId,\n ownerMobile,\n tenantVerification,\n designation,\n department,\n employeeId,\n landline,\n entityRelation,\n contactPerson,\n entityName,\n idProof: idProof?.name,\n idNumber,\n consent,\n informantIsConsumer,\n informantName,\n informantRelation,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"CONSUMER\",\n ...data\n });\n setToast({ type: \"success\", message: \"Data updated successfully!\" });\n onSelect(config.key, data);\n } catch (error) {\n setToast({ type: \"error\", message: \"Failed to update consumer details\" });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n return (\n <Fragment>\n <FormStep onSelect={onStepSelect} config={config} isDisabled={!isValid()}>\n\n <div>\n <CardLabel>Consumer Type *</CardLabel>\n <Dropdown option={consumerTypeOptions} selected={consumerType} select={setConsumerType} />\n </div>\n\n <div>\n <CardLabel>Occupant Type *</CardLabel>\n <Dropdown option={occupantOptions} selected={occupantType} select={setOccupantType} />\n </div>\n\n <div>\n <CardLabel>Category Type *</CardLabel>\n <Dropdown option={[]} selected={categoryType} select={setCategoryType} />\n </div>\n\n <div>\n <CardLabel>First Name *</CardLabel>\n <TextInput value={firstName} onChange={(e) => setFirstName(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Middle Name</CardLabel>\n <TextInput value={middleName} onChange={(e) => setMiddleName(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Last Name</CardLabel>\n <TextInput value={lastName} onChange={(e) => setLastName(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Gender</CardLabel>\n <Dropdown option={genderOptions} selected={gender} select={setGender} />\n </div>\n\n <div>\n <CardLabel>Parent/Spouse Name </CardLabel>\n <TextInput value={parentSpouseName} onChange={(e) => setParentSpouseName(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Mobile *</CardLabel>\n <TextInput value={mobile} onChange={(e) => setMobile(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>WhatsApp</CardLabel>\n <TextInput value={whatsapp} onChange={(e) => setWhatsapp(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Email</CardLabel>\n <TextInput value={email} onChange={(e) => setEmail(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>No. of Residents *</CardLabel>\n <TextInput value={residents} onChange={(e) => setResidents(e.target.value)} />\n </div>\n<div>\n {console.log(\"identityType\",identityType)}\n <CardLabel>Type of Identity *</CardLabel>\n <Dropdown option={identityTypeOptions} selected={identityType} select={setIdentityType} />\n </div>\n <div>\n <CardLabel>Proof of Identity</CardLabel>\n <UploadFile onUpload={(e) => uploadFile(e, setDocumentProof, setDocumentId)} />\n </div>\n <div>\n <CardLabel>Document Number</CardLabel>\n <TextInput value={documentNumber} onChange={(e) => setDocumentNumber(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Informant Is Consumer</CardLabel>\n <CheckBox \n label=\"Yes, the informant is the consumer\" \n checked={informantIsConsumer} \n onChange={(e) => setInformantIsConsumer(e.target.checked)} \n />\n </div>\n\n {!informantIsConsumer && (\n <Fragment>\n <div>\n <CardLabel>Informant Name</CardLabel>\n <TextInput value={informantName} onChange={(e) => setInformantName(e.target.value)} />\n </div>\n <div>\n <CardLabel>Informant Relation</CardLabel>\n <TextInput value={informantRelation} onChange={(e) => setInformantRelation(e.target.value)} />\n </div>\n </Fragment>\n )}\n\n {/* TENANT LOGIC */}\n {occupantType?.name === \"Tenanted\" && (\n <Fragment>\n <div>\n <CardLabel>Document Proof</CardLabel>\n <UploadFile onUpload={(e) => uploadFile(e, setDocumentProof, setDocumentId)} />\n </div>\n\n {!documentId && (\n <Fragment>\n <div>\n <CardLabel>Owner Mobile *</CardLabel>\n <TextInput value={ownerMobile} onChange={(e) => setOwnerMobile(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Tenant Verification</CardLabel>\n <TextInput value={tenantVerification} onChange={(e) => setTenantVerification(e.target.value)} />\n </div>\n </Fragment>\n )}\n </Fragment>\n )}\n\n {/* GOVT */}\n {consumerType?.name === \"Govt\" && (\n <Fragment>\n <div>\n <CardLabel>Designation</CardLabel>\n <TextInput value={designation} onChange={(e) => setDesignation(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Department</CardLabel>\n <TextInput value={department} onChange={(e) => setDepartment(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Employee ID</CardLabel>\n <TextInput value={employeeId} onChange={(e) => setEmployeeId(e.target.value)} />\n </div>\n </Fragment>\n )}\n\n {/* OTHER ENTITY */}\n {consumerType?.name === \"Company_Society_Org\" && (\n <Fragment>\n <div>\n <CardLabel>Entity Name</CardLabel>\n <TextInput value={entityName} onChange={(e) => setEntityName(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Contact Person</CardLabel>\n <TextInput value={contactPerson} onChange={(e) => setContactPerson(e.target.value)} />\n </div>\n </Fragment>\n )}\n </FormStep>\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;","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 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, { useState, useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useQueryClient } from \"react-query\";\nimport { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from \"react-router-dom\";\nimport { Header, 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, clearParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n const userInfo = Digit.UserService.getUser();\n const tenantId = Digit.ULBService.getCurrentTenantId();\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) {\n setParams({ ...params, ...{ [key]: { ...params[key], ...data } } });\n goNext(skipStep, index, isAddMultiple, key);\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, key } = 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 />\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 { 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 Inbox from \"./Inbox\";\nimport Mapping from \"./Mapping\";\nimport Create from \"./Create\";\n\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const CeoDashboard = Digit.ComponentRegistryService.getComponent(\"CeoDashboard\");\n\n const getBreadcrumbLabel = () => {\n const pathname = location.pathname;\n if (pathname.includes(\"/dashboard\")) return \"ES_COMMON_INBOX\";\n if (pathname.includes(\"/create-kyc\")) return \"EKYC_CREATE_KYC\";\n if (pathname.includes(\"/k-details\")) return \"EKYC_K_DETAILS\";\n if (pathname.includes(\"/consumer-details\")) return \"EKYC_CONSUMER_DETAILS\";\n if (pathname.includes(\"/address-details\")) return \"EKYC_ADDRESS_DETAILS\";\n if (pathname.includes(\"/property-info\")) return \"EKYC_PROPERTY_INFO\";\n if (pathname.includes(\"/meter-details\")) return \"EKYC_METER_DETAILS\";\n if (pathname.includes(\"/review\")) return \"EKYC_REVIEW\";\n return \"ES_COMMON_INBOX\";\n };\n\n const breadcrumbs = [{ icon: HomeIcon, path: \"/digit-ui/employee\" }, { label: t(getBreadcrumbLabel()) }];\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={breadcrumbs}\n />\n\n <div className=\"employee-form\">\n <div className=\"employee-form-content\">\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\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`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\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}/`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n /> */}\n </Switch>\n </div>\n </div>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport {\n CardLabel,\n TextInput,\n Dropdown,\n UploadFile,\n Toast,\n FormStep,\n Loader\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\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 searchKno = flowState?.kNumber || flowState?.kno || formData?.kNumber || formData?.kno || sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno } },\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 [pidNumber, setPidNumber] = useState(savedData.pidNumber || \"\");\n const [propertyType, setPropertyType] = useState(savedData.propertyType ? { name: savedData.propertyType } : null);\n const [subPropertyCategory, setSubPropertyCategory] = useState(savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null);\n\n const [noOfFloors, setNoOfFloors] = useState(savedData.noOfFloors || \"\");\n const [floorNo, setFloorNo] = useState(savedData.floorNo || \"\");\n\n const [noOfRooms, setNoOfRooms] = useState(savedData.noOfRooms || \"\");\n const [noOfBeds, setNoOfBeds] = useState(savedData.noOfBeds || \"\");\n const [dwellingUnits, setDwellingUnits] = useState(savedData.dwellingUnits || \"\");\n\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n\n const [toast, setToast] = useState(null);\n\n // 🔹 PROPERTY TYPE OPTIONS\n const propertyTypeOptions = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ];\n\n useEffect(() => {\n const rawData = searchData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !savedData.pidNumber) {\n if (propertyInfo.pidNumber) setPidNumber(propertyInfo.pidNumber);\n if (propertyInfo.numberOfFloors || propertyInfo.noOfFloor) setNoOfFloors(String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor));\n if (propertyInfo.buildingImageFileStoreId) setBuildingImageId(propertyInfo.buildingImageFileStoreId);\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = propertyTypeOptions.find(type => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) setPropertyType(matchingType);\n else setPropertyType({ name: propertyInfo.subPropertyCategory });\n setSubPropertyCategory({ name: propertyInfo.subPropertyCategory });\n }\n\n if (propertyInfo.propertyType) {\n setSubPropertyCategory({ name: propertyInfo.propertyType }); // Just in case, depending on how UI renders it\n if (!propertyInfo.subPropertyCategory) setPropertyType({ name: propertyInfo.propertyType });\n }\n\n if (propertyInfo.floorNo) setFloorNo(propertyInfo.floorNo);\n if (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined) setNoOfRooms(String(propertyInfo.numberOfRooms));\n if (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined) setNoOfBeds(String(propertyInfo.numberOfBeds));\n if (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined) setDwellingUnits(String(propertyInfo.numberOfDwellingUnits));\n }\n }, [searchData, formData?.connectionDetails]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: \"Max size 2MB exceeded\" });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\n \"EKYC\",\n file,\n tenantId\n );\n\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\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: \"Upload successful\" });\n }\n } catch {\n setToast({ type: \"error\", message: \"Upload failed\" });\n }\n };\n\n // 🔹 VALIDATION\n const isValid = () => {\n if (!propertyType) return false;\n if (!subPropertyCategory) return false;\n if (!noOfFloors || Number(noOfFloors) < 1) return false;\n if (!buildingImageId) return false;\n\n if (propertyType?.name === \"Hotel\" && !noOfRooms) return false;\n if (\n (propertyType?.name === \"Hospital\" ||\n propertyType?.name === \"Nursing Home\") &&\n !noOfBeds\n )\n return false;\n\n return true;\n };\n\n // 🔹 SUBMIT\n const onStepSelect = async () => {\n /* Optional validation enforce\n if (!isValid()) {\n setToast({ type: \"error\", message: \"Fill all required fields\" });\n return;\n }\n */\n\n const data = {\n pidNumber,\n propertyType: propertyType?.name,\n subPropertyCategory: subPropertyCategory?.name,\n noOfFloors,\n floorNo,\n noOfRooms,\n noOfBeds,\n dwellingUnits,\n buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...data,\n });\n setToast({ type: \"success\", message: \"Property details updated successfully!\" });\n onSelect(config.key, data);\n } catch (error) {\n setToast({ type: \"error\", message: \"Failed to update property details\" });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n return (\n <Fragment>\n <FormStep\n t={t}\n onSelect={onStepSelect}\n config={config}\n label={t(\"ES_COMMON_CONTINUE\")}\n isDisabled={!isValid()}\n >\n <div>\n <CardLabel>PID Number</CardLabel>\n <TextInput value={pidNumber} onChange={(e) => setPidNumber(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Property Type</CardLabel>\n <Dropdown\n option={propertyTypeOptions}\n selected={propertyType}\n select={setPropertyType}\n />\n </div>\n\n <div>\n <CardLabel>Sub Property Category</CardLabel>\n <Dropdown option={[]} selected={subPropertyCategory} select={setSubPropertyCategory} />\n </div>\n\n <div>\n <CardLabel>No. of Floors *</CardLabel>\n <TextInput\n type=\"number\"\n value={noOfFloors}\n onChange={(e) => setNoOfFloors(e.target.value)}\n />\n </div>\n\n <div>\n <CardLabel>Floor No. of this KNO</CardLabel>\n <TextInput value={floorNo} onChange={(e) => setFloorNo(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>No of Beds</CardLabel>\n <TextInput\n type=\"number\"\n value={noOfBeds}\n onChange={(e) => setNoOfBeds(e.target.value)}\n />\n </div>\n\n <div>\n <CardLabel>No. of Rooms</CardLabel>\n <TextInput\n type=\"number\"\n value={noOfRooms}\n onChange={(e) => setNoOfRooms(e.target.value)}\n />\n </div>\n\n {/* HOTEL CONDITION */}\n {propertyType?.name === \"Hotel\" && (\n <div>\n <CardLabel>No. of Rooms *</CardLabel>\n <TextInput\n type=\"number\"\n value={noOfRooms}\n onChange={(e) => setNoOfRooms(e.target.value)}\n />\n </div>\n )}\n\n {/* HOSPITAL CONDITION */}\n {(propertyType?.name === \"Hospital\" ||\n propertyType?.name === \"Nursing Home\") && (\n <div>\n <CardLabel>No. of Beds *</CardLabel>\n <TextInput\n type=\"number\"\n value={noOfBeds}\n onChange={(e) => setNoOfBeds(e.target.value)}\n />\n </div>\n )}\n\n <div>\n <CardLabel>Number of Dwelling Units</CardLabel>\n <TextInput\n type=\"number\"\n value={dwellingUnits}\n onChange={(e) => setDwellingUnits(e.target.value)}\n />\n </div>\n\n <div>\n <CardLabel>Building Image *</CardLabel>\n <UploadFile\n onUpload={handleUpload}\n onDelete={() => {\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? \"Uploaded\" : \"No file selected\"}\n />\n </div>\n\n {buildingImage && (\n <div style={{ gridColumn: \"span 2\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ width: \"100%\", marginTop: \"10px\" }}\n />\n </div>\n )}\n\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n onClose={() => setToast(null)}\n />\n )}\n </FormStep>\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport {\n CardLabel,\n TextInput,\n Dropdown,\n UploadFile,\n Toast,\n FormStep,\n Loader\n} from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const searchKno = flowState?.kNumber || flowState?.kno || formData?.kNumber || formData?.kno || sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno } },\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 [connectionCategory, setConnectionCategory] = useState(savedData.connectionCategory || \"\");\n const [saType, setSaType] = useState(savedData.saType || \"\");\n const [status, setStatus] = useState(savedData.status || \"\");\n\n const [mrCode, setMrCode] = useState(savedData.mrCode || \"\");\n const [areaCode, setAreaCode] = useState(savedData.areaCode || \"\");\n const [mrKey, setMrKey] = useState(savedData.mrKey || \"\");\n\n const [meterNumber, setMeterNumber] = useState(savedData.meterNumber || \"\");\n const [meterMaker, setMeterMaker] = useState(savedData.meterMaker || \"\");\n\n const [meterStatus, setMeterStatus] = useState(savedData.meterStatus ? { name: savedData.meterStatus } : null);\n const [meterCondition, setMeterCondition] = useState(savedData.meterCondition ? { name: savedData.meterCondition } : null);\n const [meterLocation, setMeterLocation] = useState(savedData.meterLocation ? { name: savedData.meterLocation } : null);\n\n const [lastBillReceived, setLastBillReceived] = useState(savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null);\n const [billMonthYear, setBillMonthYear] = useState(savedData.billMonthYear ? { name: savedData.billMonthYear } : null);\n const [reason, setReason] = useState(savedData.reason || \"\");\n\n const [accessToMeter, setAccessToMeter] = useState(savedData.accessToMeter ? { name: savedData.accessToMeter } : null);\n const [sewerConnection, setSewerConnection] = useState(savedData.sewerConnection ? { name: savedData.sewerConnection } : null);\n const [septicTank, setSepticTank] = useState(savedData.septicTank ? { name: savedData.septicTank } : null);\n\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n\n const [toast, setToast] = useState(null);\n\n // 🔹 OPTIONS\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const meterStatusOptions = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ];\n\n const meterConditionOptions = [\n { name: \"Damaged\" },\n { name: \"Not-Damaged\" },\n ];\n\n const meterLocationOptions = [\n { name: \"Inside\" },\n { name: \"Outside\" },\n ];\n\n // 🔹 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 useEffect(() => {\n const rawData = searchData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !savedData.connectionCategory) {\n if (apiMeter.connectionCategory) setConnectionCategory(apiMeter.connectionCategory);\n if (apiMeter.saType) setSaType(apiMeter.saType);\n if (apiMeter.statusFlag) setStatus(apiMeter.statusFlag);\n\n if (apiMeter.mrcode) setMrCode(String(apiMeter.mrcode));\n if (apiMeter.areacode) setAreaCode(String(apiMeter.areacode));\n if (apiMeter.mrkey) setMrKey(String(apiMeter.mrkey));\n\n if (apiMeter.meterNumber) setMeterNumber(apiMeter.meterNumber);\n if (apiMeter.meterMake) setMeterMaker(apiMeter.meterMake);\n\n if (apiMeter.meterStatus) {\n const matchingStatus = meterStatusOptions.find(o => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) setMeterStatus(matchingStatus);\n else setMeterStatus({ name: apiMeter.meterStatus });\n } else if (apiMeter.metered !== undefined) {\n setMeterStatus({ name: apiMeter.metered ? \"Metered\" : \"Unmetered\" });\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = meterConditionOptions.find(o => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase());\n if (matchingCond) setMeterCondition(matchingCond);\n else setMeterCondition({ name: apiMeter.meterCondition });\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = meterLocationOptions.find(o => o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() || apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase()));\n if (matchingLoc) setMeterLocation(matchingLoc);\n else setMeterLocation({ 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\") setLastBillReceived({ name: \"Yes\" });\n else setLastBillReceived({ 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 setBillMonthYear({ name: `${mon}/${yr}` });\n } else {\n setBillMonthYear({ name: apiMeter.lastBillReceivedDate });\n }\n }\n\n if (apiMeter.lastBillNotRaisedReason) setReason(apiMeter.lastBillNotRaisedReason);\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") setAccessToMeter({ name: \"Yes\" });\n else setAccessToMeter({ 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\") setSewerConnection({ name: \"Yes\" });\n else setSewerConnection({ 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\") setSepticTank({ name: \"Yes\" });\n else setSepticTank({ name: \"No\" });\n }\n\n if (apiMeter.meterPhotoFileStoreId) setMeterPhotoId(apiMeter.meterPhotoFileStoreId);\n }\n }, [searchData, formData?.connectionDetails]);\n\n // 🔹 FREEZE LOGIC\n const isFrozen = meterStatus?.name === \"Can not be identified\";\n\n // 🔹 FILE UPLOAD\n const uploadPhoto = async (e) => {\n const file = e.target.files[0];\n if (!file) return;\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const id = res?.data?.files?.[0]?.fileStoreId;\n\n if (id) {\n setMeterPhotoId(id);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n }\n } catch {\n setToast({ type: \"error\", message: \"Upload failed\" });\n }\n };\n\n // 🔹 VALIDATION\n const isValid = () => {\n if (!connectionCategory) return false;\n if (!meterStatus) return false;\n if (!meterLocation) return false;\n if (!lastBillReceived) return false;\n if (!sewerConnection) return false;\n\n if (meterStatus?.name === \"Metered\" && !meterPhotoId) return false;\n\n if (lastBillReceived?.name === \"No\" && !reason) return false;\n if (lastBillReceived?.name === \"Yes\" && !billMonthYear) return false;\n\n if (sewerConnection?.name === \"No\" && !septicTank) return false;\n\n return true;\n };\n\n // 🔹 SUBMIT\n const onStepSelect = async () => {\n /*\n if (!isValid()) {\n setToast({ type: \"error\", message: \"Fill all mandatory fields\" });\n return;\n }\n */\n\n const data = {\n connectionCategory,\n saType,\n status,\n mrCode,\n areaCode,\n mrKey,\n meterNumber,\n meterMaker,\n meterStatus: meterStatus?.name,\n meterCondition: meterCondition?.name,\n meterLocation: meterLocation?.name,\n lastBillReceived: lastBillReceived?.name,\n billMonthYear: billMonthYear?.name,\n reason,\n accessToMeter: accessToMeter?.name,\n sewerConnection: sewerConnection?.name,\n septicTank: septicTank?.name,\n meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...data,\n });\n setToast({ type: \"success\", message: \"Meter details updated successfully!\" });\n onSelect(config.key, data);\n } catch (error) {\n setToast({ type: \"error\", message: \"Failed to update meter details\" });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n return (\n <Fragment>\n <FormStep onSelect={onStepSelect} config={config} isDisabled={!isValid()}>\n <div>\n <CardLabel>Connection Category *</CardLabel>\n <TextInput value={connectionCategory} onChange={(e) => setConnectionCategory(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>SA Type</CardLabel>\n <TextInput value={saType} onChange={(e) => setSaType(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Status</CardLabel>\n <TextInput value={status} onChange={(e) => setStatus(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>MR Code</CardLabel>\n <TextInput value={mrCode} onChange={(e) => setMrCode(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Area Code</CardLabel>\n <TextInput value={areaCode} onChange={(e) => setAreaCode(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>MR Key</CardLabel>\n <TextInput value={mrKey} onChange={(e) => setMrKey(e.target.value)} />\n </div>\n\n {!isFrozen && (\n <Fragment>\n <div>\n <CardLabel>Meter Number</CardLabel>\n <TextInput value={meterNumber} onChange={(e) => setMeterNumber(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Meter Maker</CardLabel>\n <TextInput value={meterMaker} onChange={(e) => setMeterMaker(e.target.value)} />\n </div>\n\n <div>\n <CardLabel>Meter Condition</CardLabel>\n <Dropdown option={meterConditionOptions} selected={meterCondition} select={setMeterCondition} />\n </div>\n\n {meterStatus?.name === \"Metered\" && (\n <Fragment>\n <div>\n <CardLabel>Meter Photo *</CardLabel>\n <UploadFile onUpload={uploadPhoto} message={meterPhotoId ? \"Uploaded\" : \"No file\"} />\n </div>\n {meterPhoto && (\n <div style={{ gridColumn: \"span 2\" }}>\n <img src={meterPhoto} style={{ width: \"100%\" }} />\n </div>\n )}\n </Fragment>\n )}\n </Fragment>\n )}\n\n <div>\n <CardLabel>Meter Status *</CardLabel>\n <Dropdown option={meterStatusOptions} selected={meterStatus} select={setMeterStatus} />\n </div>\n\n <div>\n <CardLabel>Meter Location *</CardLabel>\n <Dropdown option={meterLocationOptions} selected={meterLocation} select={setMeterLocation} />\n </div>\n\n <div>\n <CardLabel>Last Bill Received *</CardLabel>\n <Dropdown option={yesNo} selected={lastBillReceived} select={setLastBillReceived} />\n </div>\n\n {lastBillReceived?.name === \"Yes\" && (\n <div>\n <CardLabel>When was the last bill received *</CardLabel>\n <Dropdown option={monthYearOptions} selected={billMonthYear} select={setBillMonthYear} />\n </div>\n )}\n\n {lastBillReceived?.name === \"No\" && (\n <div>\n <CardLabel>Reason *</CardLabel>\n <TextInput value={reason} onChange={(e) => setReason(e.target.value)} />\n </div>\n )}\n\n <div>\n <CardLabel>Access to Meter</CardLabel>\n <Dropdown option={yesNo} selected={accessToMeter} select={setAccessToMeter} />\n </div>\n\n <div>\n <CardLabel>Sewer Connection *</CardLabel>\n <Dropdown option={yesNo} selected={sewerConnection} select={setSewerConnection} />\n </div>\n\n {sewerConnection?.name === \"No\" && (\n <div>\n <CardLabel>Septic Tank *</CardLabel>\n <Dropdown option={yesNo} selected={septicTank} select={setSepticTank} />\n </div>\n )}\n\n {toast && <Toast label={toast.message} error={toast.type === \"error\"} onClose={() => setToast(null)} />}\n\n </FormStep>\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { ModuleLinksView } from \"@djb25/digit-ui-react-components\";\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 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 // 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_MAPPING\"),\n link: `/digit-ui/citizen/ekyc/mapping`,\n },\n ],\n };\n return <ModuleLinksView links={propsForModuleCard.links} />;\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: 10,\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 || 10,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycSurveyorDashboard({}, 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?.dashboardInfo?.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 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 sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\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: checkPathName ? \"MODULE_WATER\" : \"MODULE_SW\",\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} 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 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 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, Fragment } from \"react\";\nimport { CardLabel, TextInput, Dropdown, UploadFile, Toast, FormStep, Loader } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AddressDetails = ({ config, onSelect }) => {\n const { t } = useTranslation();\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 🔹 STATES\n const [houseNo, setHouseNo] = useState(\"\");\n const [street, setStreet] = useState(\"\");\n const [locality, setLocality] = useState(\"\");\n const [landmark, setLandmark] = useState(\"\");\n const [subLocality, setSubLocality] = useState(null);\n\n const [pinCode, setPinCode] = useState(\"\");\n const [assembly, setAssembly] = useState(null);\n const [ward, setWard] = useState(null);\n const [zone, setZone] = useState(null);\n\n const [latitude, setLatitude] = useState(\"\");\n const [longitude, setLongitude] = useState(\"\");\n\n const [addressType, setAddressType] = useState(null);\n\n const [doorPhoto, setDoorPhoto] = useState(null);\n const [doorPhotoFileStoreId, setDoorPhotoFileStoreId] = useState(null);\n\n const [toast, setToast] = useState(null);\n\n // 🔹 MDMS DATA\n const { data: mdmsData, isLoading } = Digit.Hooks.useCommonMDMS(tenantId, \"egov-location\", [\"TenantBoundary\"]);\n\n const assemblies = mdmsData?.MdmsRes?.[\"egov-location\"]?.TenantBoundary?.[0]?.boundary?.children || [];\n\n // 🔹 AUTO GPS\n useEffect(() => {\n let isMounted = true;\n\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(\n (pos) => {\n if (!isMounted) return;\n setLatitude(pos.coords.latitude);\n setLongitude(pos.coords.longitude);\n },\n () => {\n if (!isMounted) return;\n setToast({ type: \"error\", message: \"GPS access denied\" });\n }\n );\n }\n\n return () => {\n isMounted = false;\n };\n }, []);\n\n // 🔹 PIN CODE HANDLER\n const handlePincodeChange = (e) => {\n const value = e.target.value;\n if (/^\\d{0,6}$/.test(value)) {\n setPinCode(value);\n\n if (value.length === 6) {\n fetchLocationByPincode(value);\n }\n }\n };\n\n // 🔹 MOCK PIN API (Replace with real API)\n const fetchLocationByPincode = (pin) => {\n // 🔥 Replace this with backend API\n console.log(\"Fetching location for PIN:\", pin);\n };\n\n // 🔹 FILE UPLOAD\n const selectphoto = async (e) => {\n let isMounted = true;\n\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size >= 2000000) {\n setToast({ type: \"error\", message: \"Max size 2MB exceeded\" });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n\n if (!isMounted) return;\n\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n setDoorPhotoFileStoreId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => {\n if (!isMounted) return;\n setDoorPhoto(reader.result);\n };\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: \"Upload successful\" });\n }\n } catch {\n if (!isMounted) return;\n setToast({ type: \"error\", message: \"Upload failed\" });\n }\n\n return () => {\n isMounted = false;\n };\n };\n\n const removePhoto = () => {\n setDoorPhoto(null);\n setDoorPhotoFileStoreId(null);\n };\n\n // 🔹 VALIDATION\n const isValid = () => {\n return houseNo && street && pinCode.length === 6 && assembly && ward && zone && latitude && longitude && doorPhotoFileStoreId;\n };\n\n // 🔹 SUBMIT\n const onStepSelect = () => {\n if (!isValid()) {\n setToast({ type: \"error\", message: \"Please fill all mandatory fields\" });\n return;\n }\n\n const data = {\n houseNo,\n street,\n locality,\n landmark,\n subLocality,\n pinCode,\n assembly: assembly?.name,\n ward: ward?.name,\n zone: zone?.name,\n latitude,\n longitude,\n addressType: addressType?.name,\n doorPhotoFilestoreId: doorPhotoFileStoreId,\n };\n\n onSelect(config.key, data);\n };\n\n if (isLoading) return <Loader />;\n\n return (\n <Fragment>\n <FormStep t={t} onSelect={onStepSelect} config={config} label={t(\"ES_COMMON_CONTINUE\")}>\n <CardLabel>House No / Flat No *</CardLabel>\n <TextInput value={houseNo} onChange={(e) => setHouseNo(e.target.value)} />\n\n <CardLabel>Street / Address Line *</CardLabel>\n <TextInput value={street} onChange={(e) => setStreet(e.target.value)} />\n\n <CardLabel>Locality</CardLabel>\n <TextInput value={locality} onChange={(e) => setLocality(e.target.value)} />\n\n <CardLabel>Landmark</CardLabel>\n <TextInput value={landmark} onChange={(e) => setLandmark(e.target.value)} />\n\n <CardLabel>Sub Locality</CardLabel>\n <Dropdown option={[]} selected={subLocality} select={setSubLocality} />\n\n <CardLabel>PIN Code *</CardLabel>\n <TextInput value={pinCode} onChange={handlePincodeChange} maxLength={6} />\n\n <CardLabel>Assembly *</CardLabel>\n <Dropdown option={assemblies} selected={assembly} select={setAssembly} />\n\n <CardLabel>Ward *</CardLabel>\n <Dropdown option={assembly?.children || []} selected={ward} select={setWard} />\n\n <CardLabel>Zone *</CardLabel>\n <Dropdown option={ward?.children || []} selected={zone} select={setZone} />\n\n <CardLabel>Latitude</CardLabel>\n <TextInput value={latitude} disabled />\n\n <CardLabel>Longitude</CardLabel>\n <TextInput value={longitude} disabled />\n\n <CardLabel>Address Type</CardLabel>\n <Dropdown option={[{ name: \"Permanent\" }, { name: \"Correspondence\" }, { name: \"Other\" }]} selected={addressType} select={setAddressType} />\n\n <CardLabel>Door Image *</CardLabel>\n <UploadFile onUpload={selectphoto} onDelete={removePhoto} message={doorPhotoFileStoreId ? \"Uploaded\" : \"No file selected\"} />\n\n {doorPhoto && <img src={doorPhoto} alt=\"preview\" style={{ width: \"100%\", marginTop: \"10px\" }} />}\n\n {toast && <Toast label={toast.message} error={toast.type === \"error\"} onClose={() => setToast(null)} />}\n </FormStep>\n </Fragment>\n );\n};\n\nexport default AddressDetails;\n","import React from \"react\";\nimport { PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } 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 Dashboard from \"../../components/Dashboard\";\nimport Inbox from \"./Inbox\";\nimport AddressDetails from \"../../components/AddressDetails\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getBreadcrumbLabel = () => {\n const pathname = location.pathname;\n if (pathname.includes(\"/create-kyc\")) return \"EKYC_CREATE_KYC\";\n if (pathname.includes(\"/aadhaar-verification\")) return \"EKYC_AADHAAR_VERIFICATION\";\n if (pathname.includes(\"/address-details\")) return \"EKYC_ADDRESS_DETAILS\";\n if (pathname.includes(\"/property-info\")) return \"EKYC_PROPERTY_INFO\";\n if (pathname.includes(\"/meter-details\")) return \"EKYC_METER_DETAILS\";\n if (pathname.includes(\"/review\")) return \"EKYC_REVIEW\";\n return \"EKYC_HOME\";\n };\n\n const breadcrumbs = [{ icon: HomeIcon, path: \"/digit-ui/citizen\" }, { label: t(getBreadcrumbLabel()) }];\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={breadcrumbs}\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}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard />\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 </Switch>\n </div>\n </React.Fragment>\n );\n};\n\nexport default CitizenApp;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\n/**\n * Main structural shell for the Enterprise Dashboard.\n */\nconst DashboardLayout = ({ header, filters, children, onNotificationClick, activeRole, onRoleChange }) => {\n const { t } = useTranslation();\n\n const roles = [\"CEO\", \"CLUSTER_MANAGER\", \"AGENCY_SUPERVISOR\"];\n\n return (\n <div className=\"enterprise-dashboard-layout\" style={{ background: \"linear-gradient(135deg, #F8FAFC 0%, #F1F5F9 100%)\", minHeight: \"100vh\" }}>\n {/* Top Navigation / Header */}\n <div className=\"glass-card\" style={{ padding: \"24px 32px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", borderRadius: \"0\", borderTop: \"none\", borderLeft: \"none\", borderRight: \"none\" }}>\n <div>\n <h1 style={{ fontSize: \"28px\", fontWeight: \"900\", color: \"#1E293B\", letterSpacing: \"-0.05em\" }}>{t(header)}</h1>\n <p style={{ fontSize: \"14px\", color: \"#64748B\", marginTop: \"4px\", fontWeight: \"500\" }}>{t(\"EKYC_DASHBOARD_SUBTITLE_ALT\") || \"Operational analytics & performance monitoring.\"}</p>\n </div>\n \n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"20px\" }}>\n {/* Role Switcher for Simulation */}\n <div style={{ display: \"flex\", background: \"#F3F4F6\", padding: \"4px\", borderRadius: \"8px\", gap: \"4px\" }}>\n {roles.map(role => (\n <button \n key={role}\n onClick={() => onRoleChange(role)}\n style={{ \n padding: \"6px 12px\", \n borderRadius: \"6px\", \n fontSize: \"12px\", \n fontWeight: \"700\",\n border: \"none\",\n cursor: \"pointer\",\n background: activeRole === role ? \"var(--primary-gradient)\" : \"transparent\",\n color: activeRole === role ? \"#FFFFFF\" : \"#64748B\",\n boxShadow: activeRole === role ? \"0 4px 12px rgba(99, 102, 241, 0.3)\" : \"none\",\n transition: \"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)\"\n }}\n >\n {t(role)}\n </button>\n ))}\n </div>\n\n <button \n onClick={onNotificationClick}\n style={{ position: \"relative\", background: \"#F3F4F6\", border: \"none\", padding: \"10px\", borderRadius: \"50%\", cursor: \"pointer\" }}\n >\n <span style={{ fontSize: \"20px\" }}>🔔</span>\n <span style={{ position: \"absolute\", top: \"0\", right: \"0\", width: \"10px\", height: \"10px\", background: \"#EF4444\", borderRadius: \"50%\", border: \"2px solid #FFF\" }} />\n </button>\n </div>\n </div>\n\n {/* Filter Bar Position */}\n {filters}\n\n {/* Main Content Area */}\n <div style={{ padding: \"24px\", maxWidth: \"1600px\", margin: \"0 auto\" }}>\n {children}\n </div>\n\n {/* Footer Branding */}\n <div style={{ padding: \"40px 24px\", textAlign: \"center\", color: \"#9CA3AF\", fontSize: \"12px\" }}>\n {t(\"EKYC_POWERED_BY_UPYOG\")} | {new Date().getFullYear()} © {t(\"EKYC_GOVT_DJB\")}\n </div>\n </div>\n );\n};\n\nexport default DashboardLayout;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\n/**\n * Sticky global filter bar for dashboard parameters.\n */\nconst FilterBar = ({ filters, config, onFilterChange, onReset }) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"dashboard-filter-bar glass-card\" style={{ \n position: \"sticky\", \n top: \"0\", \n zIndex: \"100\", \n padding: \"20px 28px\", \n display: \"flex\",\n alignItems: \"center\",\n gap: \"24px\",\n flexWrap: \"wrap\",\n borderRadius: \"0 0 24px 24px\",\n marginTop: \"-1px\"\n }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\", borderRight: \"1px solid #E5E7EB\", paddingRight: \"16px\" }}>\n <span style={{ fontSize: \"14px\", fontWeight: \"700\", color: \"#374151\" }}>{t(\"EKYC_GLOBAL_FILTERS\")}</span>\n </div>\n\n <div style={{ display: \"flex\", gap: \"12px\", flex: 1, flexWrap: \"wrap\" }}>\n {config.map((filter) => (\n <div key={filter.id} style={{ display: \"flex\", flexDirection: \"column\", gap: \"4px\" }}>\n <label style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#6B7280\", textTransform: \"uppercase\" }}>{t(filter.label)}</label>\n <select \n value={filters[filter.id] || filter.default}\n onChange={(e) => onFilterChange(filter.id, e.target.value)}\n style={{ \n padding: \"6px 12px\", \n borderRadius: \"6px\", \n border: \"1px solid #D1D5DB\", \n background: \"#F9FAFB\",\n fontSize: \"13px\",\n outline: \"none\",\n minWidth: \"140px\"\n }}\n >\n {filter.options.map(opt => (\n <option key={opt} value={opt}>{opt}</option>\n ))}\n </select>\n </div>\n ))}\n </div>\n\n <div style={{ display: \"flex\", gap: \"12px\" }}>\n <button \n onClick={onReset}\n style={{ \n padding: \"8px 16px\", \n borderRadius: \"8px\", \n background: \"transparent\", \n color: \"#6B7280\", \n border: \"1px solid #D1D5DB\", \n cursor: \"pointer\", \n fontSize: \"14px\", \n fontWeight: \"600\" \n }}\n >\n {t(\"EKYC_RESET\")}\n </button>\n </div>\n </div>\n );\n};\n\nexport default FilterBar;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\n/**\n * Premium single-metric container for Top KPIs.\n */\nconst SummaryCard = ({ label, value, color, icon, trend, isCurrency, suffix = \"\", onClick }) => {\n const { t } = useTranslation();\n\n const formatValue = (val) => {\n if (isCurrency) {\n return `₹${new Intl.NumberFormat('en-IN').format(val)}`;\n }\n return new Intl.NumberFormat('en-IN').format(val);\n };\n\n return (\n <div \n className=\"summary-card glass-card\" \n onClick={onClick}\n style={{\n padding: \"28px 24px\",\n cursor: onClick ? \"pointer\" : \"default\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"space-between\",\n height: \"100%\",\n minHeight: \"160px\",\n position: \"relative\",\n overflow: \"hidden\"\n }}\n onMouseOver={(e) => {\n if (onClick) {\n e.currentTarget.style.transform = \"translateY(-8px) scale(1.02)\";\n }\n }}\n onMouseOut={(e) => {\n if (onClick) {\n e.currentTarget.style.transform = \"translateY(0) scale(1)\";\n }\n }}\n >\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"flex-start\" }}>\n <span style={{ fontSize: \"13px\", fontWeight: \"700\", color: \"#6B7280\", letterSpacing: \"0.05em\", textTransform: \"uppercase\" }}>{t(label)}</span>\n <div style={{ \n padding: \"10px\", \n borderRadius: \"12px\", \n background: `linear-gradient(135deg, ${color}20 0%, ${color}40 100%)`, \n color: color,\n boxShadow: `0 4px 12px ${color}20`\n }}>\n <span style={{ fontSize: \"20px\" }}>{icon === \"document\" ? \"📄\" : icon === \"check\" ? \"✅\" : icon === \"clock\" ? \"⏳\" : icon === \"rupee\" ? \"₹\" : \"📊\"}</span>\n </div>\n </div>\n\n <div style={{ marginTop: \"12px\" }}>\n <div style={{ fontSize: \"28px\", fontWeight: \"800\", color: \"#111827\" }}>\n {formatValue(value)}{suffix}\n </div>\n \n {trend && (\n <div style={{ display: \"flex\", alignItems: \"center\", marginTop: \"8px\", fontSize: \"12px\", fontWeight: \"600\" }}>\n <span style={{ color: trend > 0 ? \"#10B981\" : \"#EF4444\" }}>\n {trend > 0 ? \"↗\" : \"↘\"} {Math.abs(trend)}%\n </span>\n <span style={{ color: \"#9CA3AF\", marginLeft: \"4px\" }}>{t(\"EKYC_FROM_PREV_MONTH\")}</span>\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default SummaryCard;\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Chart, registerables } from \"chart.js\";\n\nChart.register(...registerables);\n\nconst TaskStatusChart = ({ data, title }) => {\n const { t } = useTranslation();\n const chartRef = useRef(null);\n const chartInstance = useRef(null);\n\n useEffect(() => {\n if (chartRef.current && data) {\n if (chartInstance.current) chartInstance.current.destroy();\n const ctx = chartRef.current.getContext(\"2d\");\n \n // Create vibrant gradients\n const gradientBlue = ctx.createLinearGradient(0, 0, 0, 400);\n gradientBlue.addColorStop(0, '#3B82F6');\n gradientBlue.addColorStop(1, '#2563EB');\n\n const gradientAmber = ctx.createLinearGradient(0, 0, 0, 400);\n gradientAmber.addColorStop(0, '#F59E0B');\n gradientAmber.addColorStop(1, '#D97706');\n\n const gradientIndigo = ctx.createLinearGradient(0, 0, 0, 400);\n gradientIndigo.addColorStop(0, '#6366F1');\n gradientIndigo.addColorStop(1, '#4F46E5');\n\n const gradientEmerald = ctx.createLinearGradient(0, 0, 0, 400);\n gradientEmerald.addColorStop(0, '#10B981');\n gradientEmerald.addColorStop(1, '#059669');\n\n const colors = [gradientBlue, gradientAmber, gradientIndigo, gradientEmerald, '#EC4899', '#EF4444'];\n\n const labels = data.map(item => t(item.stageName));\n const values = data.map(item => item.count);\n\n const ChartConstructor = Chart.Chart || Chart;\n chartInstance.current = new ChartConstructor(ctx, {\n type: \"doughnut\",\n data: {\n labels,\n datasets: [\n {\n data: values,\n backgroundColor: colors.slice(0, labels.length),\n borderWidth: 2,\n borderColor: \"#ffffff\",\n hoverOffset: 10\n }\n ]\n },\n options: {\n responsive: true,\n maintainAspectRatio: false,\n cutout: '70%',\n plugins: {\n legend: {\n position: 'right',\n labels: {\n usePointStyle: true,\n padding: 15,\n font: { size: 12 }\n }\n },\n tooltip: {\n backgroundColor: '#1F2937',\n padding: 10,\n bodyFont: { size: 13 }\n }\n }\n }\n });\n }\n\n return () => {\n if (chartInstance.current) chartInstance.current.destroy();\n };\n }, [data, t]);\n\n return (\n <div className=\"task-status-chart-container glass-card\" style={{ height: \"320px\", width: \"100%\", padding: \"24px\" }}>\n {title && <h3 className=\"chart-title\" style={{ marginBottom: \"24px\", fontSize: \"18px\", fontWeight: \"700\", color: \"#111827\" }}>{t(title)}</h3>}\n <div style={{ height: \"220px\" }}>\n <canvas ref={chartRef} />\n </div>\n </div>\n );\n};\n\nexport default TaskStatusChart;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\n/**\n * Custom SVG-based Heatmap component for Cluster Workload monitoring.\n */\nconst ClusterHeatmap = ({ data, title, onDrillDown }) => {\n const { t } = useTranslation();\n\n if (!data || data.length === 0) return null;\n\n const getIntensityColor = (score) => {\n if (score > 80) return \"#EF4444\"; // High - Red\n if (score > 50) return \"#F59E0B\"; // Medium - Amber\n return \"#10B981\"; // Low - Emerald\n };\n\n return (\n <div className=\"cluster-heatmap-container glass-card\" style={{ padding: \"28px\" }}>\n {title && <h3 className=\"chart-title\" style={{ marginBottom: \"28px\", fontSize: \"18px\", fontWeight: \"800\", color: \"#111827\", letterSpacing: \"-0.025em\" }}>{t(title)}</h3>}\n <div className=\"heatmap-grid\" style={{ display: \"grid\", gridTemplateColumns: \"repeat(auto-fill, minmax(240px, 1fr))\", gap: \"20px\" }}>\n {data.map((cluster) => (\n <div \n key={cluster.clusterId} \n className=\"heatmap-card glass-card\" \n onClick={() => onDrillDown?.(cluster)}\n style={{\n padding: \"20px\",\n background: \"#FFFFFF\",\n border: `1px solid ${getIntensityColor(cluster.intensityScore)}40`,\n cursor: \"pointer\",\n position: \"relative\",\n overflow: \"hidden\"\n }}\n >\n <div className=\"intensity-bar\" style={{ \n position: \"absolute\", \n top: 0, \n left: 0, \n height: \"4px\", \n width: \"100%\", \n background: getIntensityColor(cluster.intensityScore) \n }} />\n \n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"flex-start\", marginBottom: \"12px\" }}>\n <span style={{ fontWeight: \"600\", fontSize: \"14px\", color: \"#374151\" }}>{cluster.clusterName}</span>\n <span style={{ \n fontSize: \"12px\", \n fontWeight: \"700\", \n padding: \"2px 8px\", \n borderRadius: \"12px\", \n background: `${getIntensityColor(cluster.intensityScore)}20`, \n color: getIntensityColor(cluster.intensityScore) \n }}>\n {cluster.intensityScore}%\n </span>\n </div>\n\n <div className=\"cluster-stats\" style={{ display: \"flex\", flexDirection: \"column\", gap: \"8px\" }}>\n <div style={{ display: \"flex\", justifyContent: \"space-between\", fontSize: \"12px\" }}>\n <span style={{ color: \"#6B7280\" }}>{t(\"EKYC_PENDING_WORKLOAD\")}</span>\n <span style={{ fontWeight: \"600\", color: \"#1F2937\" }}>{cluster.pendingWorkload}</span>\n </div>\n <div style={{ display: \"flex\", justifyContent: \"space-between\", fontSize: \"12px\" }}>\n <span style={{ color: \"#6B7280\" }}>{t(\"EKYC_ACTIVE_AGENCIES\")}</span>\n <span style={{ fontWeight: \"600\", color: \"#1F2937\" }}>{cluster.activeAgencies}</span>\n </div>\n </div>\n\n <div className=\"mini-spark\" style={{ marginTop: \"12px\", display: \"flex\", gap: \"2px\", alignItems: \"flex-end\", height: \"20px\" }}>\n {cluster.wards.map((ward, idx) => (\n <div key={idx} style={{ \n flex: 1, \n height: `${Math.min(100, (ward.pendingCount / cluster.pendingWorkload) * 100)}%`, \n background: getIntensityColor(cluster.intensityScore),\n opacity: 0.6,\n borderRadius: \"1px\"\n }} />\n ))}\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default ClusterHeatmap;\n","/**\n * @file exportUtils.js\n * @description Provides utilities to export dashboard table analytics to CSV/Excel formats and invoke native printing layouts.\n */\n\nexport const ExportUtils = {\n /**\n * Generates and triggers download of a client-side CSV file from array records\n */\n exportToCsv: (data, filename = \"dashboard_export.csv\", columns = []) => {\n if (!data || !data.length) return;\n\n // Determine column keys if not provided explicitly\n const keys = columns.length ? columns.map(c => c.id) : Object.keys(data[0]);\n const headers = columns.length ? columns.map(c => c.label) : keys;\n\n const csvRows = [];\n // Header row\n csvRows.push(headers.map(h => `\"${String(h).replace(/\"/g, '\"\"')}\"`).join(\",\"));\n\n // Data rows\n data.forEach(row => {\n const values = keys.map(k => {\n const val = row[k] !== undefined && row[k] !== null ? row[k] : \"\";\n return `\"${String(val).replace(/\"/g, '\"\"')}\"`;\n });\n csvRows.push(values.join(\",\"));\n });\n\n const csvString = csvRows.join(\"\\n\");\n const blob = new Blob([csvString], { type: \"text/csv;charset=utf-8;\" });\n \n // Trigger download anchor\n const link = document.createElement(\"a\");\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute(\"href\", url);\n link.setAttribute(\"download\", filename);\n link.style.visibility = \"hidden\";\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n },\n\n /**\n * Triggers an Excel formatted download simulation\n */\n exportToExcel: (data, filename = \"dashboard_report.xlsx\", columns = []) => {\n // Uses standard CSV export format mapped to an excel extension compatible layer\n ExportUtils.exportToCsv(data, filename.replace(\".xlsx\", \".csv\"), columns);\n },\n\n /**\n * Optimizes current interface display rules and opens native browser print dialogue\n */\n printDashboard: () => {\n if (typeof window !== \"undefined\") {\n window.print();\n }\n }\n};\n\nexport default ExportUtils;\n","import React, { useState, useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ExportUtils from \"../utils/exportUtils\";\n\n/**\n * Enterprise data grid for detailed analytics.\n */\nconst AnalyticsTable = ({ data, columns, title, filename }) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [sortConfig, setSortConfig] = useState({ key: null, direction: 'asc' });\n\n const sortedData = useMemo(() => {\n let items = [...(data || [])];\n \n // Filter\n if (searchTerm) {\n items = items.filter(item => \n Object.values(item).some(val => \n String(val).toLowerCase().includes(searchTerm.toLowerCase())\n )\n );\n }\n\n // Sort\n if (sortConfig.key) {\n items.sort((a, b) => {\n if (a[sortConfig.key] < b[sortConfig.key]) {\n return sortConfig.direction === 'asc' ? -1 : 1;\n }\n if (a[sortConfig.key] > b[sortConfig.key]) {\n return sortConfig.direction === 'asc' ? 1 : -1;\n }\n return 0;\n });\n }\n return items;\n }, [data, searchTerm, sortConfig]);\n\n const requestSort = (key) => {\n let direction = 'asc';\n if (sortConfig.key === key && sortConfig.direction === 'asc') {\n direction = 'desc';\n }\n setSortConfig({ key, direction });\n };\n\n return (\n <div className=\"analytics-table-card glass-card\" style={{ padding: \"0\", overflow: \"hidden\" }}>\n <div className=\"table-header\" style={{ padding: \"28px\", borderBottom: \"1px solid rgba(229, 231, 235, 0.5)\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", flexWrap: \"wrap\", gap: \"16px\" }}>\n <h3 style={{ fontSize: \"18px\", fontWeight: \"800\", color: \"#111827\", letterSpacing: \"-0.025em\" }}>{t(title)}</h3>\n <div style={{ display: \"flex\", gap: \"12px\", alignItems: \"center\" }}>\n <input \n type=\"text\" \n placeholder={t(\"EKYC_SEARCH_RECORDS\")}\n value={searchTerm}\n onChange={(e) => setSearchTerm(e.target.value)}\n style={{ padding: \"8px 16px\", borderRadius: \"8px\", border: \"1px solid #D1D5DB\", outline: \"none\", fontSize: \"14px\" }}\n />\n <button \n onClick={() => ExportUtils.exportToCsv(sortedData, filename, columns)}\n style={{ padding: \"10px 20px\", borderRadius: \"12px\", background: \"var(--primary-gradient)\", color: \"#FFF\", border: \"none\", cursor: \"pointer\", fontWeight: \"700\", fontSize: \"14px\", boxShadow: \"0 4px 6px rgba(99, 102, 241, 0.2)\" }}\n >\n {t(\"EKYC_EXPORT_CSV\")}\n </button>\n </div>\n </div>\n\n <div className=\"table-body\" style={{ overflowX: \"auto\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", textAlign: \"left\" }}>\n <thead>\n <tr style={{ background: \"#F9FAFB\" }}>\n {columns.map(col => (\n <th \n key={col.id} \n onClick={() => requestSort(col.id)}\n style={{ padding: \"16px 28px\", fontSize: \"11px\", fontWeight: \"700\", color: \"#6B7280\", textTransform: \"uppercase\", cursor: \"pointer\", borderBottom: \"1px solid rgba(229, 231, 235, 0.5)\", letterSpacing: \"0.05em\" }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"4px\" }}>\n {t(col.label)}\n {sortConfig.key === col.id && (<span>{sortConfig.direction === 'asc' ? '↑' : '↓'}</span>)}\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {sortedData.map((row, idx) => (\n <tr key={idx} style={{ borderBottom: \"1px solid #F3F4F6\", transition: \"background 0.2s\" }} onMouseOver={(e) => e.currentTarget.style.background = \"#F9FAFB\"} onMouseOut={(e) => e.currentTarget.style.background = \"transparent\"}>\n {columns.map(col => (\n <td key={col.id} style={{ padding: \"16px 28px\", fontSize: \"14px\", color: \"#4B5563\", fontWeight: col.id === \"agencyName\" ? \"600\" : \"400\" }}>\n {col.isCurrency ? `₹${new Intl.NumberFormat('en-IN').format(row[col.id])}` : \n col.isPercentage ? `${row[col.id]}%` : \n row[col.id]}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nexport default AnalyticsTable;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\n/**\n * Visual widget for SLA and processing performance tracking.\n */\nconst SLAWidget = ({ slaPercentage, avgTime, breachedCount }) => {\n const { t } = useTranslation();\n\n const getStatusColor = (pct) => {\n if (pct > 90) return \"#10B981\";\n if (pct > 75) return \"#F59E0B\";\n return \"#EF4444\";\n };\n\n return (\n <div className=\"sla-widget-card glass-card\" style={{ padding: \"28px\" }}>\n <h3 style={{ fontSize: \"18px\", fontWeight: \"800\", color: \"#111827\", marginBottom: \"28px\", letterSpacing: \"-0.025em\" }}>{t(\"EKYC_SLA_PERFORMANCE\")}</h3>\n \n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"24px\", marginBottom: \"24px\" }}>\n <div style={{ position: \"relative\", width: \"100px\", height: \"100px\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\" }}>\n <svg width=\"100\" height=\"100\" viewBox=\"0 0 100 100\">\n <circle cx=\"50\" cy=\"50\" r=\"40\" stroke=\"#F3F4F6\" strokeWidth=\"8\" fill=\"none\" />\n <circle \n cx=\"50\" cy=\"50\" r=\"40\" \n stroke={getStatusColor(slaPercentage)} \n strokeWidth=\"8\" \n fill=\"none\" \n strokeDasharray={`${slaPercentage * 2.51} 251`}\n transform=\"rotate(-90 50 50)\"\n strokeLinecap=\"round\"\n />\n <text x=\"50\" y=\"55\" textAnchor=\"middle\" fontSize=\"18\" fontWeight=\"700\" fill=\"#111827\">{slaPercentage}%</text>\n </svg>\n </div>\n <div>\n <div style={{ fontSize: \"14px\", color: \"#6B7280\" }}>{t(\"EKYC_SLA_COMPLIANCE\")}</div>\n <div style={{ fontSize: \"20px\", fontWeight: \"700\", color: \"#111827\" }}>{t(\"EKYC_OPTIMAL_PERFORMANCE\")}</div>\n </div>\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"16px\", borderTop: \"1px solid #F3F4F6\", paddingTop: \"20px\" }}>\n <div>\n <div style={{ fontSize: \"12px\", color: \"#6B7280\", marginBottom: \"4px\" }}>{t(\"EKYC_AVG_LATENCY\")}</div>\n <div style={{ fontSize: \"18px\", fontWeight: \"700\", color: \"#111827\" }}>{avgTime}h</div>\n </div>\n <div>\n <div style={{ fontSize: \"12px\", color: \"#6B7280\", marginBottom: \"4px\" }}>{t(\"EKYC_BREACH_COUNT\")}</div>\n <div style={{ fontSize: \"18px\", fontWeight: \"700\", color: \"#EF4444\" }}>{breachedCount}</div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default SLAWidget;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\n/**\n * Timeline component for workflow stage monitoring.\n */\nconst WorkflowTimeline = ({ stages }) => {\n const { t } = useTranslation();\n\n if (!stages || stages.length === 0) return null;\n\n return (\n <div className=\"workflow-timeline-card glass-card\" style={{ padding: \"28px\" }}>\n <h3 style={{ fontSize: \"18px\", fontWeight: \"800\", color: \"#111827\", marginBottom: \"28px\", letterSpacing: \"-0.025em\" }}>{t(\"EKYC_WORKFLOW_BOTTLENECK_ANALYSIS\")}</h3>\n \n <div className=\"timeline-container\" style={{ display: \"flex\", flexDirection: \"column\", gap: \"16px\" }}>\n {stages.map((stage, idx) => (\n <div key={idx} style={{ display: \"flex\", gap: \"16px\", alignItems: \"flex-start\" }}>\n <div style={{ display: \"flex\", flexDirection: \"column\", alignItems: \"center\" }}>\n <div style={{ \n width: \"12px\", \n height: \"12px\", \n borderRadius: \"50%\", \n background: stage.avgDurationHours > 20 ? \"#EF4444\" : \"#10B981\",\n marginTop: \"4px\"\n }} />\n {idx !== stages.length - 1 && <div style={{ width: \"2px\", height: \"40px\", background: \"#E5E7EB\" }} />}\n </div>\n \n <div style={{ flex: 1 }}>\n <div style={{ display: \"flex\", justifyContent: \"space-between\", marginBottom: \"4px\" }}>\n <span style={{ fontSize: \"14px\", fontWeight: \"600\", color: \"#374151\" }}>{t(stage.stageName)}</span>\n <span style={{ fontSize: \"12px\", fontWeight: \"700\", color: stage.avgDurationHours > 20 ? \"#EF4444\" : \"#10B981\" }}>\n {stage.avgDurationHours}h {t(\"EKYC_AVG\")}\n </span>\n </div>\n <div style={{ width: \"100%\", height: \"6px\", background: \"#F3F4F6\", borderRadius: \"3px\", overflow: \"hidden\" }}>\n <div style={{ \n width: `${Math.min(100, (stage.count / 1000) * 100)}%`, \n height: \"100%\", \n background: stage.avgDurationHours > 20 ? \"#EF444480\" : \"#10B98180\" \n }} />\n </div>\n <div style={{ fontSize: \"12px\", color: \"#6B7280\", marginTop: \"4px\" }}>\n {stage.count} {t(\"EKYC_APPLICATIONS_IN_STAGE\")}\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default WorkflowTimeline;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\n/**\n * Drawer-style notification panel for SLA alerts and escalations.\n */\nconst NotificationPanel = ({ notifications, isOpen, onClose }) => {\n const { t } = useTranslation();\n\n if (!isOpen) return null;\n\n return (\n <>\n <div \n onClick={onClose}\n style={{ position: \"fixed\", top: 0, left: 0, width: \"100%\", height: \"100%\", background: \"rgba(0,0,0,0.3)\", zIndex: 999 }} \n />\n <div className=\"notification-panel\" style={{ \n position: \"fixed\", \n top: 0, \n right: 0, \n width: \"350px\", \n height: \"100%\", \n background: \"#FFFFFF\", \n zIndex: 1000, \n boxShadow: \"-4px 0 15px rgba(0,0,0,0.1)\",\n display: \"flex\",\n flexDirection: \"column\"\n }}>\n <div style={{ padding: \"20px\", borderBottom: \"1px solid #F3F4F6\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <h3 style={{ fontSize: \"18px\", fontWeight: \"700\", color: \"#111827\" }}>{t(\"EKYC_ALERTS_CENTER\")}</h3>\n <button onClick={onClose} style={{ background: \"none\", border: \"none\", fontSize: \"24px\", cursor: \"pointer\", color: \"#9CA3AF\" }}>×</button>\n </div>\n\n <div style={{ flex: 1, overflowY: \"auto\", padding: \"16px\" }}>\n {notifications.length === 0 ? (\n <div style={{ textAlign: \"center\", color: \"#9CA3AF\", marginTop: \"40px\" }}>{t(\"EKYC_NO_NEW_ALERTS\")}</div>\n ) : (\n notifications.map((alert, idx) => (\n <div key={idx} style={{ \n padding: \"16px\", \n borderRadius: \"12px\", \n background: alert.priority === \"HIGH\" ? \"#FEF2F2\" : \"#F9FAFB\", \n border: `1px solid ${alert.priority === \"HIGH\" ? \"#FECACA\" : \"#E5E7EB\"}`,\n marginBottom: \"12px\"\n }}>\n <div style={{ display: \"flex\", justifyContent: \"space-between\", marginBottom: \"4px\" }}>\n <span style={{ \n fontSize: \"10px\", \n fontWeight: \"800\", \n padding: \"2px 6px\", \n borderRadius: \"4px\", \n background: alert.priority === \"HIGH\" ? \"#EF4444\" : \"#3B82F6\",\n color: \"#FFFFFF\"\n }}>\n {alert.priority}\n </span>\n <span style={{ fontSize: \"11px\", color: \"#9CA3AF\" }}>{alert.time}</span>\n </div>\n <h4 style={{ fontSize: \"14px\", fontWeight: \"600\", color: \"#374151\", marginBottom: \"4px\" }}>{t(alert.title)}</h4>\n <p style={{ fontSize: \"13px\", color: \"#6B7280\" }}>{t(alert.message)}</p>\n </div>\n ))\n )}\n </div>\n \n <div style={{ padding: \"16px\", borderTop: \"1px solid #F3F4F6\" }}>\n <button style={{ width: \"100%\", padding: \"12px\", borderRadius: \"8px\", background: \"#F3F4F6\", color: \"#374151\", border: \"none\", fontWeight: \"600\", cursor: \"pointer\" }}>\n {t(\"EKYC_MARK_ALL_READ\")}\n </button>\n </div>\n </div>\n </>\n );\n};\n\nexport default NotificationPanel;\n","import React from \"react\";\nimport { Fragment } from \"react\";\n\nconst SkeletonLoader = ({ type = \"card\", count = 1 }) => {\n const renderSkeleton = () => {\n switch (type) {\n case \"card\":\n return (\n <div className=\"skeleton-card\" style={{ padding: \"24px\", background: \"#F3F4F6\", borderRadius: \"12px\", height: \"140px\", animation: \"pulse 1.5s infinite\" }}>\n <div style={{ height: \"16px\", width: \"40%\", background: \"#E5E7EB\", marginBottom: \"16px\", borderRadius: \"4px\" }} />\n <div style={{ height: \"32px\", width: \"70%\", background: \"#E5E7EB\", marginBottom: \"12px\", borderRadius: \"4px\" }} />\n <div style={{ height: \"12px\", width: \"30%\", background: \"#E5E7EB\", borderRadius: \"4px\" }} />\n </div>\n );\n case \"chart\":\n return (\n <div className=\"skeleton-chart\" style={{ padding: \"24px\", background: \"#F3F4F6\", borderRadius: \"12px\", height: \"300px\", animation: \"pulse 1.5s infinite\" }}>\n <div style={{ height: \"20px\", width: \"30%\", background: \"#E5E7EB\", marginBottom: \"24px\", borderRadius: \"4px\" }} />\n <div style={{ height: \"200px\", width: \"100%\", background: \"#E5E7EB\", borderRadius: \"8px\" }} />\n </div>\n );\n case \"table\":\n return (\n <div className=\"skeleton-table\" style={{ padding: \"16px\", background: \"#F3F4F6\", borderRadius: \"12px\", animation: \"pulse 1.5s infinite\" }}>\n {[1, 2, 3, 4, 5].map((i) => (\n <div key={i} style={{ height: \"40px\", width: \"100%\", background: \"#E5E7EB\", marginBottom: \"8px\", borderRadius: \"4px\" }} />\n ))}\n </div>\n );\n default:\n return null;\n }\n };\n\n return (\n <>\n <style>{`\n @keyframes pulse {\n 0% { opacity: 1; }\n 50% { opacity: 0.5; }\n 100% { opacity: 1; }\n }\n `}</style>\n <div style={{ display: \"grid\", gap: \"16px\", gridTemplateColumns: type === \"card\" ? \"repeat(auto-fill, minmax(240px, 1fr))\" : \"1fr\" }}>\n {Array(count).fill(0).map((_, i) => (\n <React.Fragment key={i}>{renderSkeleton()}</React.Fragment>\n ))}\n </div>\n </>\n );\n};\n\nexport default SkeletonLoader;\n","import React from \"react\";\n\n\nclass ErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error) {\n return { hasError: true };\n }\n\n render() {\n if (this.state.hasError) {\n return (\n <div style={{ padding: \"20px\", background: \"#FEF2F2\", border: \"1px solid #FECACA\", borderRadius: \"8px\", textAlign: \"center\" }}>\n <h4 style={{ color: \"#991B1B\", marginBottom: \"8px\" }}>Widget Error</h4>\n <p style={{ color: \"#B91C1C\", fontSize: \"12px\" }}>Failed to render this component.</p>\n </div>\n );\n }\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst EmptyState = ({ message = \"EKYC_NO_DATA_FOUND\" }) => {\n const { t } = useTranslation();\n \n return (\n <div className=\"empty-state-container\" style={{ \n display: \"flex\", \n flexDirection: \"column\", \n alignItems: \"center\", \n justifyContent: \"center\", \n padding: \"60px 20px\", \n background: \"#F9FAFB\", \n borderRadius: \"12px\",\n border: \"1px dashed #D1D5DB\"\n }}>\n <div style={{ fontSize: \"48px\", marginBottom: \"16px\" }}>🔍</div>\n <h3 style={{ fontSize: \"18px\", fontWeight: \"600\", color: \"#374151\", marginBottom: \"8px\" }}>{t(\"EKYC_EMPTY_STATE_TITLE\") || \"No Results Found\"}</h3>\n <p style={{ color: \"#6B7280\", textAlign: \"center\", maxWidth: \"300px\" }}>\n {t(message) || \"Try adjusting your filters or check back later for updated metrics.\"}\n </p>\n </div>\n );\n};\n\nexport default EmptyState;\n","import React, { useState, useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport \"./analytics/styles/Dashboard.css\";\n\n// Components\nimport DashboardLayout from \"./analytics/components/DashboardLayout\";\nimport FilterBar from \"./analytics/components/FilterBar\";\nimport SummaryCard from \"./analytics/components/SummaryCard\";\nimport TaskStatusChart from \"./analytics/charts/TaskStatusChart\";\nimport ClusterHeatmap from \"./analytics/charts/ClusterHeatmap\";\nimport AnalyticsTable from \"./analytics/components/AnalyticsTable\";\nimport SLAWidget from \"./analytics/components/SLAWidget\";\nimport WorkflowTimeline from \"./analytics/components/WorkflowTimeline\";\nimport NotificationPanel from \"./analytics/components/NotificationPanel\";\nimport SkeletonLoader from \"./analytics/components/SkeletonLoader\";\nimport ErrorBoundary from \"./analytics/components/ErrorBoundary\";\nimport EmptyState from \"./analytics/components/EmptyState\";\n\nconst CeoDashboard = () => {\n const { t } = useTranslation();\n const { routeToInbox } = Digit.Hooks.ekyc.useInboxRouting();\n\n // 1. Dashboard State\n const [activeRole, setActiveRole] = useState(\"CEO\");\n const [isNotificationOpen, setIsNotificationOpen] = useState(false);\n const [filters, setFilters] = useState({\n financialYear: \"2025-26\",\n clusterId: \"ALL\",\n agencyId: \"ALL\"\n });\n\n // 2. Fetch Config & Data\n const { config, tenantId } = Digit.Hooks.ekyc.useEkycDashboardConfigs(activeRole);\n const {\n summary: kpiData, agencies: agencyData, heatmap: clusterData, workflow: workflowData,\n isLoading, isError\n } = Digit.Hooks.ekyc.useEkycDashboardData(activeRole, filters);\n\n // 3. Handlers\n const handleFilterChange = (id, value) => {\n setFilters(prev => ({ ...prev, [id]: value }));\n };\n\n const handleReset = () => {\n setFilters({ financialYear: \"2025-26\", clusterId: \"ALL\", agencyId: \"ALL\" });\n };\n\n const handleKpiClick = (kpi) => {\n routeToInbox(kpi.targetRoute, { ...filters, status: kpi.status });\n };\n\n // Mock Notifications\n const notifications = [\n { title: \"EKYC_SLA_BREACH_ALERT\", message: \"EKYC_ALERT_DESC_1\", priority: \"HIGH\", time: \"10m ago\" },\n { title: \"EKYC_SYSTEM_UPDATE\", message: \"EKYC_ALERT_DESC_3\", priority: \"NORMAL\", time: \"5h ago\" }\n ];\n\n // 4. Render Logic\n if (isError) return <EmptyState message=\"EKYC_ERROR_FETCHING_DATA\" />;\n\n return (\n <DashboardLayout\n header={config.title}\n activeRole={activeRole}\n onRoleChange={(role) => {\n setActiveRole(role);\n handleReset();\n }}\n onNotificationClick={() => setIsNotificationOpen(true)}\n filters={\n <FilterBar\n filters={filters}\n config={config.globalFilters}\n onFilterChange={handleFilterChange}\n onReset={handleReset}\n />\n }\n >\n <NotificationPanel\n isOpen={isNotificationOpen}\n onClose={() => setIsNotificationOpen(false)}\n notifications={notifications}\n />\n\n {/* KPI Section */}\n <section style={{ marginBottom: \"32px\" }}>\n {isLoading ? (\n <SkeletonLoader type=\"card\" count={4} />\n ) : (\n <div style={{ display: \"grid\", gridTemplateColumns: \"repeat(auto-fill, minmax(280px, 1fr))\", gap: \"24px\" }}>\n {config?.widgets?.summary?.map((kpiKey, idx) => {\n const kpiMeta = config?.kpis?.[kpiKey];\n if (!kpiMeta) return null;\n\n const value = kpiData?.[kpiKey] || 0;\n return (\n <ErrorBoundary key={kpiKey}>\n <div className=\"animate-fade-in\" style={{ animationDelay: `${idx * 0.1}s` }}>\n <SummaryCard\n label={kpiMeta.label}\n value={value}\n color={kpiMeta.color}\n icon={kpiMeta.icon}\n trend={kpiData?.[`${kpiKey}Trend`]}\n onClick={() => handleKpiClick(kpiMeta)}\n />\n </div>\n </ErrorBoundary>\n );\n })}\n </div>\n )}\n </section>\n\n {/* Main Analytics Grid */}\n <div style={{ display: \"grid\", gridTemplateColumns: \"repeat(12, 1fr)\", gap: \"24px\" }}>\n\n\n\n {/* Workflow Distribution */}\n <div style={{ gridColumn: \"span 12\", background: \"#FFF\", padding: \"24px\", borderRadius: \"16px\", boxShadow: \"0 1px 3px rgba(0,0,0,0.1)\" }}>\n {isLoading ? (\n <SkeletonLoader type=\"chart\" />\n ) : (\n <ErrorBoundary>\n <TaskStatusChart\n title=\"EKYC_APPLICATION_STATUS\"\n data={workflowData?.stageBreakdown || []}\n />\n </ErrorBoundary>\n )}\n </div>\n\n {/* SLA & Timeline Bottlenecks */}\n <div style={{ gridColumn: \"span 4\" }}>\n {isLoading ? (\n <SkeletonLoader type=\"chart\" />\n ) : (\n <ErrorBoundary>\n <SLAWidget\n slaPercentage={workflowData?.slaCompliance || 0}\n avgTime={workflowData?.avgProcessingTimeHours || 0}\n breachedCount={workflowData?.breachCount || 0}\n />\n </ErrorBoundary>\n )}\n </div>\n\n <div style={{ gridColumn: \"span 8\" }}>\n {isLoading ? (\n <SkeletonLoader type=\"chart\" />\n ) : (\n <ErrorBoundary>\n <WorkflowTimeline stages={workflowData?.stageBreakdown || []} />\n </ErrorBoundary>\n )}\n </div>\n\n {/* Spatial Cluster Analysis */}\n <div style={{ gridColumn: \"span 12\", background: \"#FFF\", padding: \"24px\", borderRadius: \"16px\", boxShadow: \"0 1px 3px rgba(0,0,0,0.1)\" }}>\n {isLoading ? (\n <SkeletonLoader type=\"chart\" />\n ) : (\n <ErrorBoundary>\n <ClusterHeatmap\n title=\"EKYC_CLUSTER_WORKLOAD_HEATMAP\"\n data={clusterData || []}\n onDrillDown={(cluster) => handleFilterChange(\"clusterId\", cluster.clusterId)}\n />\n </ErrorBoundary>\n )}\n </div>\n\n {/* Agency Performance Table */}\n <div style={{ gridColumn: \"span 12\" }}>\n {isLoading ? (\n <SkeletonLoader type=\"table\" />\n ) : (\n <ErrorBoundary>\n <AnalyticsTable\n title=\"EKYC_AGENCY_PERFORMANCE_METRICS\"\n filename=\"agency_performance_report.csv\"\n data={agencyData || []}\n columns={[\n { id: \"agencyName\", label: \"EKYC_AGENCY_NAME\" },\n { id: \"totalAssigned\", label: \"EKYC_TOTAL_ASSIGNED\" },\n { id: \"totalCompleted\", label: \"EKYC_TOTAL_COMPLETED\" },\n { id: \"pendingCount\", label: \"EKYC_PENDING\" },\n { id: \"slaCompliance\", label: \"EKYC_SLA_COMPLIANCE\", isPercentage: true }\n ]}\n />\n </ErrorBoundary>\n )}\n </div>\n\n </div>\n </DashboardLayout>\n );\n};\n\nexport default CeoDashboard;","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\";\nimport AddressDetails from \"./components/AddressDetails\";\nimport CeoDashboard from \"./components/CeoDashboard\";\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading, data: store } = 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 AddressDetails,\n PropertyInfo,\n MeterDetails,\n CeoDashboard,\n \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","t","useTranslation","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","count","label","link","links","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","data","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","className","map","item","key","style","background","ref","width","height","Dashboard","tenantId","Digit","ULBService","getCurrentTenantId","isLoading","dashboardData","Hooks","ekyc","useEkycSurveyorDashboard","offset","limit","enabled","useMemo","info","dashboardInfo","rejected","Loader","Card","DesktopInbox","_Digit$ComponentRegis","tableConfig","filterComponent","props","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","selectedKno","setSelectedKno","useState","reviewData","getReview","useEkycAPI","handleReview","kno","push","kNumber","aadhaarData","columns","Header","accessor","Cell","_ref2","_row$original","_row$original2","row","original","applicationNumber","cursor","fontWeight","onClick","_ref3","_row$original3","citizenName","_ref4","_row$original4","status","_ref5","_row$original5","_row$original6","tableData","items","Array","isArray","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_searchParams","setSearchParams","onChange","prev","onSubmit","e","preventDefault","onClear","cleared","kName","HomeIcon","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","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","Dropdown","option","optionKey","select","selected","useInboxTableConfig","_formState$tableForm","_formState$tableForm2","_formState$searchForm","formState","totalCount","table","dispatch","checkPathName","onSortingByData","inboxStyles","tableStyle","tableForm","tableColumnConfig","disableSortBy","fontSize","disableSort","autoSort","manualPagination","initSortId","floor","_formState$tableForm3","_formState$tableForm4","action","parseInt","_formState$tableForm5","_formState$tableForm6","searchForm","message","onLastPage","_formState$tableForm7","ceil","onFirstPage","_iteratorSymbol","Symbol","iterator","_asyncIteratorSymbol","asyncIterator","_catch","body","recover","result","then","_finallyRethrows","finalizer","bind","SearchFormFieldsComponents","searchFormState","controlSearchForm","errors","Fragment","Label","CustomTooltip","Controller","name","control","defaultValue","rules","pattern","render","CardLabelError","Inbox","_formState$searchForm3","_formState$searchForm4","_dashboardData$dashbo2","businessService","initialStates","isInbox","location","useLocation","formInitValue","filterForm","sortBy","sortOrder","useReducer","formReducer","queryParams","search","keepPreviousData","searchDetails","_formState$searchForm2","isSearchActive","isSearchLoading","searchData","useSearchConnection","details","sourceData","_dashboardData$dashbo","consumerList","filteredData","isSearchItem","connectionDetails","_item$propertyInfo","_item$propertyInfo2","_item$connectionDetai","_item$propertyInfo3","_item$connectionDetai2","_item$connectionDetai3","applicationNo","propertyInfo","connectionNo","owner","consumerName","statusflag","sla","fullName","firstName","middleName","lastName","filter","Boolean","join","pathname","includes","PropsForInboxLinks","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","window","Utils","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","FilterFormFields","propsForFilterForm","onFilterFormSubmit","filterFormDefaultValues","resetFilterFormDefaultValues","onFilterFormReset","state","payload","storageKey","SessionStorage","set","newLimit","Number","desc","propsForInboxTable","overflowX","overflowY","isInboxLoading","InboxComposer","_extends","UserIcon","size","DiaryIcon","TrashIcon","points","EditIcon","MapPinIcon","PlusIcon","_ref6","SaveIcon","_ref7","CheckIcon","_ref8","XIcon","_ref9","MOCK_SURVEYORS","role","MOCK_MRDS","code","zone","ConfirmDeleteModal","_ref0","mapping","onConfirm","onCancel","position","inset","alignItems","justifyContent","zIndex","borderRadius","boxShadow","gap","marginBottom","lineHeight","surveyorName","mrdName","border","Mapping","selectedSurveyor","setSelectedSurveyor","selectedMRD","setSelectedMRD","mappings","setMappings","editingId","setEditingId","editSurveyor","setEditSurveyor","editMRD","setEditMRD","deleteTarget","setDeleteTarget","toast","setToast","handleAddMapping","exists","some","m","surveyorId","mrdCode","Date","now","handleEditStart","find","s","handleEditSave","duplicate","handleEditCancel","handleDeleteConfirm","handleSaveMappings","_ref1","isEditing","minWidth","flexShrink","_ref10","_ref11","minHeight","disabled","transition","marginTop","gridTemplateColumns","overflow","borderBottom","letterSpacing","textTransform","borderLeft","borderTop","Set","tableClassName","flexDirection","opacity","Toast","error","warning","isDsc","ConnectionDetailsView","path","useRouteMatch","showModal","setShowModal","selectedOption","setSelectedOption","handleStartVerification","onModalConfirm","parentPath","replace","statusFlag","isActive","toLowerCase","meterNumber","connectionType","address","x","y","rx","ry","phoneNumber","email","lastVerified","Modal","headerBarMain","headerBarEnd","actionSaveLabel","actionSaveOnSubmit","actionCancelLabel","actionCancelOnSubmit","RadioButtons","optionsKey","onSelect","buttonStyle","Create","saved","sessionStorage","getItem","JSON","parse","searchPerformed","setSearchPerformed","showToast","setShowToast","formParams","setFormParams","clearParams","useSessionStorage","isSearching","revalidate","onError","_error$response","_error$response$data","_error$response$data$","_error$response$data$2","response","Errors","removeItem","handleSearch","params","currentKno","Object","keys","forEach","startsWith","setItem","stringify","closeToast","ActionButton","jumpTo","routeTo","LinkButton","margin","checkForNA","undefined","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","title","fields","CardSubHeader","borderCollapse","tableLayout","field","idx","valNew","valOld","isChanged","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","agree","setAgree","isSubmitting","setIsSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","edits","activeKno","addressDetails","editedAddress","propertyDetails","editedProperty","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","apiNewData","apiOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","addressRaw","connectionCategory","meterNo","mobileNo","ekycStatus","knumber","fullAddress","flatHouseNumber","flatNo","buildingTower","building","landmark","pinCode","pincode","ward","locality","assembly","gpsValid","latitude","longitude","whatsappNo","noOfPerson","noOfPersons","doorPhotoFilestoreId","property","pidNumber","typeOfConnection","userType","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","Promise","resolve","mutateAsync","success","err","console","reject","handleApprove","_Digit$UserService$ge4","_Digit$UserService$ge5","_Digit$UserService$ge6","_temp2","handleFinalSubmit","_temp3","_wasThrown","_result","handleViewDocument","fileStoreId","documentUrl","baseUrl","paddingBottom","CardHeader","StatusTable","maxWidth","Row","actionButton","GenericFileIcon","paddingTop","CheckBox","checked","ActionBar","top","left","maxHeight","right","src","alt","nextSibling","open","QueryClientContext","context","createContext","ReactQueryClientContext","getQueryClientContext","useQueryClient","queryClient","useContext","Error","AadhaarVerification","config","formData","searchKno","cacheTime","savedData","aadhaarVerification","setKno","consumerType","setConsumerType","occupantType","setOccupantType","categoryType","setCategoryType","setConsumerName","setFirstName","setMiddleName","setLastName","gender","setGender","parentSpouseName","setParentSpouseName","relation","setRelation","mobile","setMobile","whatsapp","setWhatsapp","setEmail","residents","setResidents","documentProof","setDocumentProof","documentId","setDocumentId","ownerMobile","setOwnerMobile","tenantVerification","setTenantVerification","designation","setDesignation","department","setDepartment","employeeId","setEmployeeId","landline","setLandline","entityRelation","setEntityRelation","contactPerson","setContactPerson","entityName","setEntityName","idProof","setIdProof","idNumber","setIdNumber","documentNumber","setDocumentNumber","identityType","setIdentityType","idFile","setIdFile","consent","setConsent","informantIsConsumer","setInformantIsConsumer","informantName","setInformantName","informantRelation","setInformantRelation","addrDetails","parts","trim","slice","parentSpouse","consumerTypeOptions","occupantOptions","genderOptions","identityTypeOptions","uploadFile","setter","idSetter","file","files","UploadServices","Filestorage","res","_res$data","_res$data$files","_res$data$files$","isValid","onStepSelect","updateType","FormStep","isDisabled","CardLabel","log","UploadFile","onUpload","ekycConfig","route","component","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","EKYCForm","passedPath","match","setParams","userInfo","rest","goNext","skipStep","isAddMultiple","currentPath","pop","routeObj","nextStep","currentIndex","findIndex","c","redirectWithHistory","base","handleSelect","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","isCollapsible","defaultOpen","Redirect","EmployeeApp","CeoDashboard","getBreadcrumbLabel","breadcrumbs","icon","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","PrivateRoute","LayoutWrapper","layoutClass","PropertyInfo","setPidNumber","propertyType","setPropertyType","subPropertyCategory","setSubPropertyCategory","noOfFloors","setNoOfFloors","floorNo","setFloorNo","noOfRooms","setNoOfRooms","noOfBeds","setNoOfBeds","dwellingUnits","setDwellingUnits","buildingImage","setBuildingImage","buildingImageId","setBuildingImageId","propertyTypeOptions","matchingType","numberOfRooms","numberOfBeds","numberOfDwellingUnits","handleUpload","reader","FileReader","onloadend","readAsDataURL","onDelete","gridColumn","MeterDetails","setConnectionCategory","saType","setSaType","setStatus","mrCode","setMrCode","areaCode","setAreaCode","mrKey","setMrKey","setMeterNumber","meterMaker","setMeterMaker","setMeterStatus","meterCondition","setMeterCondition","setMeterLocation","lastBillReceived","setLastBillReceived","billMonthYear","setBillMonthYear","reason","setReason","accessToMeter","setAccessToMeter","sewerConnection","setSewerConnection","septicTank","setSepticTank","meterPhoto","setMeterPhoto","meterPhotoId","setMeterPhotoId","yesNo","meterStatusOptions","meterConditionOptions","meterLocationOptions","monthYearOptions","mrcode","areacode","mrkey","matchingStatus","o","matchingCond","matchingLoc","strVal","lastBillReceivedDate","formatted","parsedParts","mon","yr","lastBillNotRaisedReason","isFrozen","uploadPhoto","Home","ModuleLinksView","AddressDetails","_mdmsData$MdmsRes","_mdmsData$MdmsRes$ego","_mdmsData$MdmsRes$ego2","_mdmsData$MdmsRes$ego3","_mdmsData$MdmsRes$ego4","houseNo","setHouseNo","street","setStreet","setLocality","setLandmark","subLocality","setSubLocality","setPinCode","setAssembly","setWard","setZone","setLatitude","setLongitude","addressType","setAddressType","doorPhoto","setDoorPhoto","setDoorPhotoFileStoreId","mdmsData","useCommonMDMS","assemblies","MdmsRes","TenantBoundary","boundary","isMounted","navigator","geolocation","getCurrentPosition","pos","coords","handlePincodeChange","test","fetchLocationByPincode","pin","selectphoto","_exit","removePhoto","maxLength","CitizenApp","exact","DashboardLayout","filters","onNotificationClick","activeRole","onRoleChange","roles","borderRight","getFullYear","FilterBar","onReset","flexWrap","paddingRight","default","outline","opt","SummaryCard","trend","isCurrency","suffix","formatValue","val","onMouseOver","currentTarget","transform","onMouseOut","abs","marginLeft","Chart","register","registerables","TaskStatusChart","chartRef","chartInstance","ctx","gradientBlue","createLinearGradient","addColorStop","gradientAmber","gradientIndigo","gradientEmerald","colors","stageName","values","usePointStyle","font","tooltip","bodyFont","ClusterHeatmap","onDrillDown","getIntensityColor","score","cluster","clusterId","intensityScore","clusterName","pendingWorkload","activeAgencies","wards","min","ExportUtils","exportToCsv","filename","headers","csvRows","h","k","csvString","blob","Blob","document","download","url","URL","createObjectURL","setAttribute","visibility","appendChild","click","removeChild","exportToExcel","printDashboard","print","AnalyticsTable","searchTerm","setSearchTerm","sortConfig","setSortConfig","direction","sortedData","sort","a","b","requestSort","col","isPercentage","SLAWidget","slaPercentage","avgTime","breachedCount","getStatusColor","pct","strokeDasharray","textAnchor","WorkflowTimeline","stages","stage","avgDurationHours","NotificationPanel","notifications","isOpen","alert","priority","time","SkeletonLoader","renderSkeleton","animation","_","ErrorBoundary","constructor","hasError","getDerivedStateFromError","EmptyState","_config$widgets","_config$widgets$summa","routeToInbox","useInboxRouting","setActiveRole","isNotificationOpen","setIsNotificationOpen","setFilters","financialYear","agencyId","useEkycDashboardConfigs","summary","kpiData","agencies","agencyData","heatmap","clusterData","workflow","workflowData","isError","useEkycDashboardData","handleFilterChange","handleReset","handleKpiClick","kpi","targetRoute","globalFilters","widgets","kpiKey","_config$kpis","kpiMeta","animationDelay","stageBreakdown","slaCompliance","avgProcessingTimeHours","breachCount","EkycModule","stateCode","tenants","language","StoreData","getCurrentLanguage","store","Services","useStore","LocalizationService","getLocale","modules","locale","page","EkycLinks","matchPath","i18nKey","CitizenHomeCard","DocumentIcon","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}
|