@djb25/digit-ui-module-ekyc 1.0.9 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +298 -28
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
- package/src/Module.js +3 -8
- package/src/{pages/employee → components}/Dashboard.js +3 -3
- package/src/pages/citizen/Home.js +41 -0
- package/src/pages/citizen/Inbox.js +255 -0
- package/src/pages/citizen/index.js +44 -65
- package/src/pages/employee/index.js +1 -1
package/dist/index.modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.js","sources":["../src/components/EKYCCard.js","../src/components/StatusCards.js","../src/pages/employee/Dashboard.js","../src/components/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/hook/useInboxTableConfig.js","../src/components/SearchFormFieldsComponent.js","../src/pages/employee/Inbox.js","../src/pages/employee/Mapping.js","../src/components/ConnectionDetailsView.js","../src/pages/employee/Create.js","../src/pages/employee/Review.js","../../../../node_modules/react-query/es/react/QueryClientProvider.js","../src/pages/employee/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../src/pages/employee/index.js","../src/pages/employee/AddressDetails.js","../src/pages/employee/PropertyInfo.js","../src/pages/employee/MeterDetails.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(\"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 \"../../components/StatusCards\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\n\n// Mock data removed in favor of API integration\n\nconst Dashboard = ({ parentRoute, businessService = \"EKYC\", initialStates = {}, filterComponent, isInbox }) => {\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>\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 || [];\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","import React from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport { CardLabelError, TextInput, Tooltip, 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 <Tooltip 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 <Tooltip 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 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, 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, Fragment, useEffect } 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// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const { t } = useTranslation();\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton\n label={<EditIcon style={{ marginTop: \"-30px\", float: \"right\", position: \"relative\", bottom: \"32px\" }} />}\n className=\"check-page-link-button\"\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 return \"N/A\";\n};\n\n/**\n * Robust data extraction based on the screenshot provided.\n * The API returns { applicationReview: { newData: { ...flatFields } } }\n */\nconst extractActiveData = (searchData, flowState) => {\n const rawData = (searchData && Object.keys(searchData).length > 0) ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReview -> newData\n const reviewWrapper = rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n};\n\nconst Review = () => {\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\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\n const { data: searchData, isLoading: isSearchLoading } = Digit.Hooks.ekyc.useEkycSearchReview(\n { kno: activeKno, fetchType: \"REVIEW\" },\n tenantId,\n { enabled: !!activeKno }\n );\n\n // ── Data Consolidation ──────────────────────────────────────────────────\n const activeData = extractActiveData(searchData, flowState);\n\n // Support both structured (connectionDetails.x) and flat (x) formats\n const apiConn = activeData?.connectionDetails || activeData || {};\n const apiAddr = activeData?.addressDetails || activeData || {};\n const apiProp = activeData?.propertyInfo || activeData || {};\n const apiMeter = activeData?.meterDetails || activeData || {};\n\n const connectionData = {\n consumerName: aadhaarData?.name || apiConn?.consumerName,\n address: apiConn?.address || apiConn?.addressRaw,\n connectionType: apiConn?.connectionType || apiConn?.connectionCategory,\n meterNumber: apiConn?.meterNumber || apiConn?.meterNo,\n phoneNumber: aadhaarData?.mobileNumber || apiConn?.phoneNumber || apiConn?.mobileNo,\n email: apiConn?.email,\n statusflag: apiConn?.statusflag || apiConn?.statusFlag,\n ekycStatus: apiConn?.ekycStatus,\n knumber: apiConn?.knumber || apiConn?.kno || activeKno,\n };\n\n const addressData = {\n fullAddress: editedAddress?.fullAddress || apiAddr?.fullAddress || apiAddr?.addressRaw,\n flatHouseNumber: editedAddress?.flatHouseNumber || editedAddress?.flatNo || apiAddr?.flatHouseNumber,\n buildingTower: editedAddress?.buildingTower || editedAddress?.building || apiAddr?.buildingTower,\n landmark: editedAddress?.landmark || apiAddr?.landmark,\n pinCode: editedAddress?.pinCode || editedAddress?.pincode || apiAddr?.pinCode || apiAddr?.pincode,\n ward: editedAddress?.ward || apiAddr?.ward || apiAddr?.locality,\n assembly: editedAddress?.assembly || apiAddr?.assembly,\n gpsValid: editedAddress?.gpsValid !== undefined ? editedAddress.gpsValid : apiAddr?.gpsValid,\n latitude: editedAddress?.latitude || apiAddr?.latitude,\n longitude: editedAddress?.longitude || apiAddr?.longitude,\n mobileNo: editedAddress?.mobileNo || aadhaarData?.mobileNumber || apiAddr?.mobileNo,\n whatsappNo: editedAddress?.whatsappNo || aadhaarData?.whatsappNumber || apiAddr?.whatsappNo,\n email: editedAddress?.email || apiAddr?.email,\n noOfPerson: editedAddress?.noOfPerson || aadhaarData?.noOfPersons || apiAddr?.noOfPerson,\n knumber: editedAddress?.knumber || apiAddr?.knumber || apiAddr?.kno || activeKno,\n doorPhotoFilestoreId: editedAddress?.doorPhotoFileStoreId || apiAddr?.doorPhotoFilestoreId,\n };\n\n const propertyData = {\n kno: apiProp?.kno || activeKno,\n pidNumber: editedProperty?.pidNumber || apiProp?.pidNumber,\n typeOfConnection: editedProperty?.connectionTypeData?.label || apiProp?.typeOfConnection,\n connectionCategory: editedProperty?.connectionCategoryData?.label || apiProp?.connectionCategory,\n userType: editedProperty?.userTypeData?.label || apiProp?.userType,\n numberOfFloors: editedProperty?.noOfFloorsData?.label || apiProp?.numberOfFloors,\n tenantName: apiProp?.tenantName,\n tenantMobile: apiProp?.tenantMobile,\n ekycStatus: apiProp?.ekycStatus,\n propertyDocumentFileStoreId: editedProperty?.propertyDocumentFileStoreId || apiProp?.propertyDocumentFileStoreId,\n buildingImageFileStoreId: apiProp?.buildingImageFileStoreId,\n };\n\n const meterData = {\n kno: editedMeter?.kno || apiMeter?.kno || activeKno,\n metered: editedMeter?.meterStatusData?.value === \"Metered\" || apiMeter?.metered,\n meterNumber: apiMeter?.meterNumber || apiMeter?.meterNo,\n meterMake: editedMeter?.meterMake || apiMeter?.meterMake,\n meterLocationAddress: editedMeter?.meterLocation || apiMeter?.meterLocationAddress,\n meterLatitude: apiMeter?.meterLatitude,\n meterLongitude: apiMeter?.meterLongitude,\n workingStatus: editedMeter?.workingStatusData?.value === \"Working\" || apiMeter?.workingStatus,\n lastBillRaised: editedMeter?.lastBillRaisedData?.value === \"Yes\" || apiMeter?.lastBillRaised,\n systemMeterId: apiMeter?.systemMeterId,\n meterPhotoFileStoreId: editedMeter?.meterPhotoFileStoreId || apiMeter?.meterPhotoFileStoreId,\n };\n\n const handleDeclaration = () => setAgree(!agree);\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 Digit.EkycService.application_update(payload, tenantId);\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 if (isSearchLoading || isSubmitting) return <Loader />;\n\n const baseUrl = \"/digit-ui/employee/ekyc\";\n\n return (\n <div className=\"review-container\">\n <Card>\n {/* ── Header ───────────────────────────────────────────────────── */}\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", marginBottom: \"20px\" }}>\n <CardHeader style={{ margin: 0 }}>{t(\"EKYC_REVIEW_APPLICATION\")}</CardHeader>\n <div style={{\n background: \"#F9FAFB\", border: \"0.5px solid #EAECF0\",\n borderRadius: \"20px\", padding: \"4px 14px\",\n fontSize: \"12px\", color: \"#667085\",\n }}>\n {t(\"EKYC_K_NUMBER\")}: <span style={{ color: \"#0B0C0C\", fontWeight: \"600\" }}>{activeKno}</span>\n </div>\n </div>\n\n {/* ── 1. Connection Details ────────────────────────────────────── */}\n <CardSubHeader>{t(\"EKYC_CONNECTION_DETAILS\")}</CardSubHeader>\n <StatusTable style={{ marginTop: \"20px\", marginBottom: \"30px\" }}>\n <Row label={t(\"EKYC_K_NUMBER\")} text={checkForNA(connectionData.knumber)} />\n <Row label={t(\"EKYC_CONSUMER_NAME\")} text={checkForNA(connectionData.consumerName)} />\n <Row label={t(\"EKYC_ADDRESS\")} text={checkForNA(connectionData.address)} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\")} text={checkForNA(connectionData.connectionType)} />\n <Row label={t(\"EKYC_METER_NO\")} text={checkForNA(connectionData.meterNumber)} />\n <Row label={t(\"EKYC_MOBILE_NO\")} text={checkForNA(connectionData.phoneNumber)} />\n <Row label={t(\"EKYC_EMAIL\")} text={checkForNA(connectionData.email)} />\n <Row label={t(\"EKYC_STATUS_FLAG\")} text={checkForNA(connectionData.statusflag)} />\n <Row label={t(\"EKYC_STATUS\")} text={checkForNA(connectionData.ekycStatus)} />\n </StatusTable>\n\n {/* ── 2. Address Details ──────────────────────────────────────── */}\n <CardSubHeader>{t(\"EKYC_ADDRESS_DETAILS\")}</CardSubHeader>\n <StatusTable style={{ marginTop: \"20px\", marginBottom: \"30px\" }}>\n <Row\n label={t(\"EKYC_FULL_ADDRESS\")}\n text={checkForNA(addressData.fullAddress)}\n actionButton={<ActionButton jumpTo={`${baseUrl}/address-details`} state={{ ...flowState, reviewData: searchData, edits }} />}\n />\n <Row label={t(\"EKYC_FLAT_HOUSE_NO\")} text={checkForNA(addressData.flatHouseNumber)} />\n <Row label={t(\"EKYC_BUILDING_TOWER\")} text={checkForNA(addressData.buildingTower)} />\n <Row label={t(\"EKYC_LANDMARK\")} text={checkForNA(addressData.landmark)} />\n <Row label={t(\"EKYC_PINCODE\")} text={checkForNA(addressData.pinCode)} />\n <Row label={t(\"EKYC_LOCALITY\")} text={checkForNA(addressData.ward)} />\n <Row label={t(\"EKYC_ASSEMBLY\")} text={checkForNA(addressData.assembly)} />\n <Row label={t(\"EKYC_GPS_VALID\")} text={boolToYesNo(addressData.gpsValid, t)} />\n <Row label={t(\"EKYC_LATITUDE\")} text={checkForNA(addressData.latitude)} />\n <Row label={t(\"EKYC_LONGITUDE\")} text={checkForNA(addressData.longitude)} />\n <Row label={t(\"EKYC_MOBILE_NO\")} text={checkForNA(addressData.mobileNo)} />\n <Row label={t(\"EKYC_WHATSAPP_NO\")} text={checkForNA(addressData.whatsappNo)} />\n <Row label={t(\"EKYC_EMAIL\")} text={checkForNA(addressData.email)} />\n <Row label={t(\"EKYC_NO_OF_PERSONS\")} text={checkForNA(addressData.noOfPerson)} />\n <Row label={t(\"EKYC_K_NUMBER\")} text={checkForNA(addressData.knumber)} />\n </StatusTable>\n\n {/* ── 3. Property Info ────────────────────────────────────────── */}\n <CardSubHeader>{t(\"EKYC_PROPERTY_INFO\")}</CardSubHeader>\n <StatusTable style={{ marginTop: \"20px\", marginBottom: \"30px\" }}>\n <Row\n label={t(\"EKYC_CONNECTION_CATEGORY\")}\n text={checkForNA(propertyData.connectionCategory)}\n actionButton={<ActionButton jumpTo={`${baseUrl}/property-info`} state={{ ...flowState, reviewData: searchData, edits }} />}\n />\n {/* <Row label={t(\"EKYC_KNO\")} text={checkForNA(propertyData.kno)} /> */}\n <Row label={t(\"EKYC_PID_NUMBER\")} text={checkForNA(propertyData.pidNumber)} />\n <Row label={t(\"EKYC_TYPE_OF_CONNECTION\")} text={checkForNA(propertyData.typeOfConnection)} />\n <Row label={t(\"EKYC_USER_TYPE\")} text={checkForNA(propertyData.userType)} />\n <Row label={t(\"EKYC_FLOOR_COUNT\")} text={checkForNA(propertyData.numberOfFloors)} />\n <Row label={t(\"EKYC_TENANT_NAME\")} text={checkForNA(propertyData.tenantName)} />\n <Row label={t(\"EKYC_TENANT_MOBILE\")} text={checkForNA(propertyData.tenantMobile)} />\n <Row label={t(\"EKYC_STATUS\")} text={checkForNA(propertyData.ekycStatus)} />\n </StatusTable>\n\n {/* ── 4. Meter Details ────────────────────────────────────────── */}\n <CardSubHeader>{t(\"EKYC_METER_DETAILS\")}</CardSubHeader>\n <StatusTable style={{ marginTop: \"20px\", marginBottom: \"30px\" }}>\n <Row\n label={t(\"EKYC_METERED\")}\n text={boolToYesNo(meterData.metered, t)}\n actionButton={<ActionButton jumpTo={`${baseUrl}/meter-details`} state={{ ...flowState, reviewData: searchData, edits }} />}\n />\n {/* <Row label={t(\"EKYC_KNO\")} text={checkForNA(meterData.kno)} /> */}\n <Row label={t(\"EKYC_METER_NO\")} text={checkForNA(meterData.meterNumber)} />\n <Row label={t(\"EKYC_METER_MAKE\")} text={checkForNA(meterData.meterMake)} />\n <Row label={t(\"EKYC_METER_LOCATION_ADDRESS\")} text={checkForNA(meterData.meterLocationAddress)} />\n <Row label={t(\"EKYC_METER_LATITUDE\")} text={checkForNA(meterData.meterLatitude)} />\n <Row label={t(\"EKYC_METER_LONGITUDE\")} text={checkForNA(meterData.meterLongitude)} />\n <Row label={t(\"EKYC_WORKING_STATUS\")} text={boolToYesNo(meterData.workingStatus, t)} />\n <Row label={t(\"EKYC_LAST_BILL_RAISED\")} text={boolToYesNo(meterData.lastBillRaised, t)} />\n <Row label={t(\"EKYC_SYSTEM_METER_ID\")} text={checkForNA(meterData.systemMeterId)} />\n </StatusTable>\n\n {/* ── 5. Documents ────────────────────────────────────────────── */}\n <CardSubHeader>{t(\"EKYC_DOCUMENTS\")}</CardSubHeader>\n <StatusTable style={{ marginTop: \"20px\", marginBottom: \"30px\" }}>\n <Row\n label={t(\"EKYC_DOOR_PHOTO\")}\n text={addressData.doorPhotoFilestoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={addressData.doorPhotoFilestoreId && <GenericFileIcon style={{ cursor: \"pointer\" }} />}\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={meterData.meterPhotoFileStoreId && <GenericFileIcon style={{ cursor: \"pointer\" }} />}\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={propertyData.buildingImageFileStoreId && <GenericFileIcon style={{ cursor: \"pointer\" }} />}\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={propertyData.propertyDocumentFileStoreId && <GenericFileIcon style={{ cursor: \"pointer\" }} />}\n />\n </StatusTable>\n\n <CheckBox\n id=\"agreeDeclaration\"\n name=\"agreeDeclaration\"\n label={t(\"EKYC_FINAL_DECLARATION\")}\n onChange={handleDeclaration}\n checked={agree}\n style={{ marginTop: \"20px\" }}\n />\n </Card>\n\n <ActionBar style={{ position: \"static\", marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"EKYC_SUBMIT_APPLICATION\")}\n onSubmit={handleFinalSubmit}\n disabled={!agree}\n />\n </ActionBar>\n </div>\n );\n};\n\nexport default Review;","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};","// import React, { useState, Fragment, useEffect, useRef } from \"react\";\n// import {\n// Card,\n// CardLabel,\n// TextInput,\n// SubmitBar,\n// CardHeader,\n// RadioButtons,\n// ActionBar,\n// Loader,\n// FormStep,\n// } from \"@djb25/digit-ui-react-components\";\n// import { useTranslation } from \"react-i18next\";\n// import { useLocation, useHistory } from \"react-router-dom\";\n// import { getSavedData } from \"../../utils\";\n// import AddressDetails from \"./AddressDetails\";\n\n// const AadhaarVerification = ({ config, onSelect, formData, t: tProps }) => {\n// const { t } = useTranslation();\n// const location = useLocation();\n// const history = useHistory();\n// const addressSectionRef = useRef(null);\n\n// const flowState = location.state || {};\n// const { isEditing, kNumber } = flowState;\n\n// // Robust data extraction from formData\n// const activeEdits = formData || {};\n// const rawReviewData = formData?.reviewData || formData?.connectionDetails || {};\n// const reviewWrapper = rawReviewData?.applicationReview || rawReviewData;\n// const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n// const apiData = applicationData?.newData || applicationData;\n// const apiConn = apiData?.connectionDetails || apiData || {};\n\n// const initialData = {\n// userName: apiConn.consumerName || \"\",\n// mobileNumber: apiConn.phoneNumber || apiConn.mobileNo || \"\",\n// whatsappNumber: apiConn.phoneNumber || apiConn.mobileNo || \"\",\n// email: apiConn.email || \"\",\n// noOfPersons: apiConn.noOfPerson || apiConn.noOfPersons || \"\",\n// };\n\n// const aadhaarData = activeEdits?.aadhaarData || {};\n\n// const [aadhaarNumber, setAadhaarNumber] = useState(aadhaarData.aadhaarNumber || \"\");\n// const [isAadhaarVerified, setIsAadhaarVerified] = useState(aadhaarData.isAadhaarVerified === true || isEditing); // Auto-verify if editing\n// const [showOtpField, setShowOtpField] = useState(false);\n// const [otp, setOtp] = useState(\"\");\n// const [otpError, setOtpError] = useState(false);\n// const [nameCorrect, setNameCorrect] = useState(aadhaarData.nameCorrect || { code: \"YES\", name: \"CORE_COMMON_YES\" });\n// const [userName, setUserName] = useState(aadhaarData.name || initialData.userName);\n// const [mobileChange, setMobileChange] = useState(aadhaarData.mobileChange || { code: \"YES\", name: \"CORE_COMMON_YES\" });\n// const [mobileNumber, setMobileNumber] = useState(aadhaarData.mobileNumber || initialData.mobileNumber);\n// const [whatsappNumber, setWhatsappNumber] = useState(aadhaarData.whatsappNumber || initialData.whatsappNumber);\n// const [email, setEmail] = useState(aadhaarData.email || initialData.email);\n// const [noOfPersons, setNoOfPersons] = useState(aadhaarData.noOfPersons || initialData.noOfPersons);\n// const [showAddressSection, setShowAddressSection] = useState(false);\n\n// const getUpdatedData = () => ({\n// aadhaarNumber,\n// isAadhaarVerified,\n// name: userName,\n// nameCorrect,\n// mobileChange,\n// mobileNumber,\n// whatsappNumber,\n// email,\n// noOfPersons,\n// gender: \"Male\",\n// dob: \"01/01/1990\",\n// });\n\n// const handleVerifyAadhaar = () => {\n// if (aadhaarNumber.length === 12) setShowOtpField(true);\n// };\n\n// const handleVerifyOtp = () => {\n// if (otp === \"123456\") {\n// setIsAadhaarVerified(true);\n// setShowOtpField(false);\n// setShowAddressSection(true);\n// if (onSelect) {\n// onSelect(config.key, { ...getUpdatedData(), isAadhaarVerified: true });\n// }\n// } else {\n// setOtpError(true);\n// }\n// };\n\n// const onStepSelect = () => {\n// const updatedData = getUpdatedData();\n// if (onSelect) {\n// onSelect(config.key, updatedData);\n// } else {\n// if (isEditing) {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, aadhaarData: updatedData } });\n// } else {\n// history.push(\"/digit-ui/employee/ekyc/address-details\", {\n// ...location.state,\n// edits: { ...edits, aadhaarData: updatedData }\n// });\n// }\n// }\n// };\n\n// const handleUpdateAndReturn = () => {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, aadhaarData: getUpdatedData() } });\n// };\n\n// const yesNoOptions = [\n// { code: \"YES\", name: \"CORE_COMMON_YES\" },\n// { code: \"NO\", name: \"CORE_COMMON_NO\" },\n// ];\n\n// return (\n// <Fragment>\n// <FormStep\n// t={t}\n// config={config || {}}\n// onSelect={onStepSelect}\n// isDisabled={!isAadhaarVerified || !userName || !mobileNumber}\n// label={t(config?.texts?.submitBarLabel) || (isEditing ? t(\"EKYC_UPDATE_AND_RETURN\") : t(\"ES_COMMON_CONTINUE\"))}\n// >\n// <CardLabel>{t(\"EKYC_AADHAAR_NUMBER\")} <span className=\"astericColor\">*</span></CardLabel>\n// <TextInput\n// id=\"aadhaarNumber\"\n// name=\"aadhaarNumber\"\n// value={aadhaarNumber}\n// onChange={(e) => setAadhaarNumber(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_AADHAAR_NUMBER\")}\n// maxLength={12}\n// disabled={isAadhaarVerified}\n// />\n// {!isAadhaarVerified && !showOtpField && (\n// <SubmitBar label={t(\"EKYC_VERIFY\")} onSubmit={handleVerifyAadhaar} disabled={aadhaarNumber.length !== 12} />\n// )}\n\n// {showOtpField && (\n// <Fragment>\n// <CardLabel>{t(\"EKYC_ENTER_OTP\")} <span className=\"astericColor\">*</span></CardLabel>\n// <TextInput\n// id=\"otp\"\n// name=\"otp\"\n// value={otp}\n// onChange={(e) => setOtp(e.target.value)}\n// placeholder=\"123456\"\n// maxLength={6}\n// />\n// {otpError && <div style={{ color: \"red\", fontSize: \"12px\" }}>{t(\"EKYC_INVALID_OTP\")}</div>}\n// <SubmitBar label={t(\"EKYC_VERIFY_OTP\")} onSubmit={handleVerifyOtp} disabled={otp.length !== 6} />\n// </Fragment>\n// )}\n\n// {isAadhaarVerified && (\n// <Fragment>\n// <CardLabel>{t(\"EKYC_IS_NAME_CORRECT\")}</CardLabel>\n// <RadioButtons\n// options={yesNoOptions}\n// optionsKey=\"name\"\n// selectedOption={nameCorrect}\n// onSelect={setNameCorrect}\n// />\n// <CardLabel>{t(\"EKYC_USER_NAME\")} <span className=\"astericColor\">*</span></CardLabel>\n// <TextInput\n// id=\"userName\"\n// name=\"userName\"\n// value={userName}\n// onChange={(e) => setUserName(e.target.value)}\n// disabled={nameCorrect.code === \"NO\"}\n// />\n\n// <CardLabel>{t(\"EKYC_CHANGE_MOBILE\")}</CardLabel>\n// <RadioButtons\n// options={yesNoOptions}\n// optionsKey=\"name\"\n// selectedOption={mobileChange}\n// onSelect={setMobileChange}\n// />\n// <CardLabel>{t(\"EKYC_MOBILE_NUMBER\")} <span className=\"astericColor\">*</span></CardLabel>\n// <TextInput\n// id=\"mobileNumber\"\n// name=\"mobileNumber\"\n// value={mobileNumber}\n// onChange={(e) => setMobileNumber(e.target.value)}\n// disabled={mobileChange.code === \"NO\"}\n// />\n\n// <CardLabel>{t(\"EKYC_WHATSAPP_NUMBER\")}</CardLabel>\n// <TextInput\n// id=\"whatsappNumber\"\n// name=\"whatsappNumber\"\n// value={whatsappNumber}\n// onChange={(e) => setWhatsappNumber(e.target.value)}\n// />\n\n// <CardLabel>{t(\"EKYC_EMAIL_ID\")}</CardLabel>\n// <TextInput\n// id=\"email\"\n// name=\"email\"\n// value={email}\n// onChange={(e) => setEmail(e.target.value)}\n// />\n\n// <CardLabel>{t(\"EKYC_NO_OF_PERSONS\")}</CardLabel>\n// <TextInput\n// id=\"noOfPersons\"\n// name=\"noOfPersons\"\n// value={noOfPersons}\n// onChange={(e) => setNoOfPersons(e.target.value)}\n// />\n// </Fragment>\n// )}\n// </FormStep>\n// {isEditing && !onSelect && (\n// <ActionBar style={{ position: \"static\", marginTop: \"20px\" }}>\n// <SubmitBar label={t(\"EKYC_UPDATE_AND_RETURN\")} onSubmit={handleUpdateAndReturn} />\n// </ActionBar>\n// )}\n// </Fragment>\n// );\n// };\n\n// export default AadhaarVerification;\n\n\n\nimport React, { useState, Fragment } from \"react\";\nimport {\n CardLabel,\n TextInput,\n Dropdown,\n UploadFile,\n RadioButtons,\n Toast,\n FormStep,\n} from \"@djb25/digit-ui-react-components\";\n\nconst AadhaarVerification = ({ config, onSelect }) => {\n\n // 🔹 STATES\n const [kno, setKno] = useState(\"\");\n const [consumerType, setConsumerType] = useState(null);\n const [occupantType, setOccupantType] = useState(null);\n const [categoryType, setCategoryType] = useState(null);\n\n const [consumerName, setConsumerName] = useState(\"\");\n const [firstName, setFirstName] = useState(\"\");\n const [middleName, setMiddleName] = useState(\"\");\n const [lastName, setLastName] = useState(\"\");\n\n const [gender, setGender] = useState(null);\n const [relation, setRelation] = useState(\"\");\n\n const [mobile, setMobile] = useState(\"\");\n const [whatsapp, setWhatsapp] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [residents, setResidents] = useState(\"\");\n\n // Tenant\n const [documentProof, setDocumentProof] = useState(null);\n const [documentId, setDocumentId] = useState(null);\n const [ownerMobile, setOwnerMobile] = useState(\"\");\n const [tenantVerification, setTenantVerification] = useState(\"\");\n\n // Govt\n const [designation, setDesignation] = useState(\"\");\n const [department, setDepartment] = useState(\"\");\n const [employeeId, setEmployeeId] = useState(\"\");\n const [landline, setLandline] = useState(\"\");\n\n // Other Entity\n const [entityRelation, setEntityRelation] = useState(\"\");\n const [contactPerson, setContactPerson] = useState(\"\");\n const [entityName, setEntityName] = useState(\"\");\n\n // Identity\n const [idProof, setIdProof] = useState(null);\n const [idNumber, setIdNumber] = useState(\"\");\n const [idFile, setIdFile] = useState(null);\n\n // Consent\n const [consent, setConsent] = useState(false);\n const [informantIsConsumer, setInformantIsConsumer] = useState(true);\n const [informantName, setInformantName] = useState(\"\");\n const [informantRelation, setInformantRelation] = useState(\"\");\n\n const [toast, setToast] = useState(null);\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 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;\n };\n\n // 🔹 SUBMIT\n const onStepSelect = () => {\n if (!isValid()) {\n setToast({ type: \"error\", message: \"Fill required fields\" });\n return;\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 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 onSelect(config.key, data);\n };\n\n return (\n <Fragment>\n <FormStep onSelect={onStepSelect} config={config}>\n <div>\n <CardLabel>K Number *</CardLabel>\n <TextInput value={kno} onChange={(e) => setKno(e.target.value)} />\n </div>\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>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\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 </Fragment>\n );\n};\n\nexport default AadhaarVerification;","import AadhaarVerification from \"../pages/employee/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 } 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 \"./Dashboard\";\nimport Inbox from \"./Inbox\";\nimport Mapping from \"./Mapping\";\nimport Create from \"./Create\";\n\nimport Review from \"./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={() => <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n />\n\n <PrivateRoute path={`${path}/create-kyc`} component={() => <Create />} />\n\n <PrivateRoute path={`${path}/mapping`} component={() => <Mapping />} />\n\n <PrivateRoute path={formStepRoutes.map((route) => `${path}/${route}`)} component={(props) => <EKYCForm {...props} path={path} />} />\n\n <PrivateRoute path={`${path}/review`} component={() => <Review />} />\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, useRef, Fragment, useEffect } from \"react\";\n// import {\n// Card,\n// CardLabel,\n// TextInput,\n// SubmitBar,\n// CardHeader,\n// RadioButtons,\n// ActionBar,\n// Dropdown,\n// Loader,\n// UploadFile,\n// Toast,\n// FormStep,\n// } from \"@djb25/digit-ui-react-components\";\n// import { useTranslation } from \"react-i18next\";\n// import { useHistory, useLocation } from \"react-router-dom\";\n// import { getSavedData } from \"../../utils\";\n\n// const AddressDetails = ({ config, onSelect, formData, t: tProps }) => {\n// const { t } = useTranslation();\n// const history = useHistory();\n// const location = useLocation();\n\n// const flowState = location.state || {};\n// const { isEditing, kNumber } = flowState;\n\n// // Robust data extraction from formData (which includes reviewData and edits from EKYCForm)\n// const activeEdits = formData || {};\n// const rawReviewData = formData?.reviewData || formData?.connectionDetails || {};\n// const reviewWrapper = rawReviewData?.applicationReview || rawReviewData;\n// const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n// const apiData = applicationData?.newData || applicationData;\n// const apiAddr = apiData?.addressDetails || apiData || {};\n\n// const addrData = activeEdits?.addressDetails || {};\n\n// const [addressType, setAddressType] = useState(addrData.addressType || { code: \"AADHAAR\", name: \"EKYC_AADHAAR_ADDRESS\" });\n// const [correctAddress, setCorrectAddress] = useState(addrData.correctAddress || { code: \"NO\", name: \"CORE_COMMON_NO\" });\n// const [fullAddress, setFullAddress] = useState(addrData.fullAddress || apiAddr.addressRaw || apiAddr.fullAddress || \"\");\n// const [flatHouseNumber, setFlatHouseNumber] = useState(addrData.flatHouseNumber || addrData.flatNo || apiAddr.flatHouseNumber || apiAddr.flatNo || \"\");\n// const [buildingTower, setBuildingTower] = useState(addrData.buildingTower || addrData.building || apiAddr.buildingTower || apiAddr.building || \"\");\n// const [landmark, setLandmark] = useState(addrData.landmark || apiAddr.landmark || \"\");\n// const [pinCode, setPinCode] = useState(addrData.pinCode || addrData.pincode || apiAddr.pinCode || apiAddr.pincode || \"\");\n// const [doorPhoto, setDoorPhoto] = useState(addrData.doorPhoto || null);\n// const [doorPhotoFileStoreId, setDoorPhotoFileStoreId] = useState(addrData.doorPhotoFilestoreId || addrData.doorPhotoFileStoreId || apiAddr.doorPhotoFilestoreId || null);\n\n// const [gpsValid, setGpsValid] = useState(addrData.gpsValid !== undefined ? addrData.gpsValid : (apiAddr.gpsValid !== undefined ? apiAddr.gpsValid : true));\n// const [latitude, setLatitude] = useState(addrData.latitude || apiAddr.latitude || \"\");\n// const [longitude, setLongitude] = useState(addrData.longitude || apiAddr.longitude || \"\");\n// const [mobileNo, setMobileNo] = useState(addrData.mobileNo || apiAddr.mobileNo || \"\");\n// const [whatsappNo, setWhatsappNo] = useState(addrData.whatsappNo || apiAddr.whatsappNo || \"\");\n// const [email, setEmail] = useState(addrData.email || apiAddr.email || \"\");\n// const [noOfPerson, setNoOfPerson] = useState(addrData.noOfPerson || apiAddr.noOfPerson || apiAddr.noOfPersons || \"\");\n// const [knumber, setKnumber] = useState(addrData.knumber || apiAddr.knumber || apiAddr.kno || kNumber || \"\");\n\n// const [toast, setToast] = useState(null);\n\n// const tenantId = Digit.ULBService.getCurrentTenantId();\n// const { data: mdmsData, isLoading: isMdmsLoading } = Digit.Hooks.useCommonMDMS(tenantId, \"egov-location\", [\"TenantBoundary\"]);\n// const assemblies = mdmsData?.MdmsRes?.[\"egov-location\"]?.TenantBoundary?.[0]?.boundary?.children || [];\n// const [assembly, setAssembly] = useState(addrData.assemblyData || (apiAddr.assembly ? { name: apiAddr.assembly } : null));\n// const [ward, setWard] = useState(addrData.wardData || (apiAddr.ward ? { name: apiAddr.ward } : null));\n\n// const getUpdatedData = () => ({\n// addressType,\n// correctAddress,\n// fullAddress,\n// flatHouseNumber,\n// buildingTower,\n// landmark,\n// pinCode,\n// doorPhoto,\n// doorPhotoFilestoreId: doorPhotoFileStoreId,\n// assembly: assembly?.name,\n// ward: ward?.name,\n// assemblyData: assembly,\n// wardData: ward,\n// gpsValid,\n// latitude,\n// longitude,\n// mobileNo,\n// whatsappNo,\n// email,\n// noOfPerson,\n// knumber\n// });\n\n// const selectphoto = async (e) => {\n// const file = e.target.files[0];\n// if (file) {\n// if (file.size >= 2000000) {\n// setToast({ type: \"error\", message: t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") });\n// return;\n// }\n// try {\n// const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n// if (res?.data?.files?.[0]?.fileStoreId) {\n// const fileStoreId = res.data.files[0].fileStoreId;\n// setDoorPhotoFileStoreId(fileStoreId);\n// const reader = new FileReader();\n// reader.onloadend = () => {\n// setDoorPhoto(reader.result);\n// if (onSelect) {\n// onSelect(config.key, { ...getUpdatedData(), doorPhoto: reader.result, doorPhotoFilestoreId: fileStoreId });\n// }\n// };\n// reader.readAsDataURL(file);\n// setToast({ type: \"success\", message: t(\"EKYC_UPLOAD_SUCCESS\") });\n// }\n// } catch (err) {\n// setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n// }\n// }\n// };\n\n// const removePhoto = () => {\n// setDoorPhoto(null);\n// setDoorPhotoFileStoreId(null);\n// if (onSelect) {\n// onSelect(config.key, { ...getUpdatedData(), doorPhoto: null, doorPhotoFilestoreId: null });\n// }\n// };\n\n// const onStepSelect = () => {\n// const updatedData = getUpdatedData();\n// if (onSelect) {\n// onSelect(config.key, updatedData);\n// } else {\n// if (isEditing) {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, addressDetails: updatedData } });\n// } else {\n// history.push(\"/digit-ui/employee/ekyc/property-info\", {\n// ...location.state,\n// edits: { ...edits, addressDetails: updatedData }\n// });\n// }\n// }\n// };\n\n// const handleUpdateAndReturn = () => {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, addressDetails: getUpdatedData() } });\n// };\n\n// const addressOptions = [\n// { code: \"AADHAAR\", name: \"EKYC_AADHAAR_ADDRESS\" },\n// { code: \"CURRENT\", name: \"EKYC_CURRENT_ADDRESS\" },\n// ];\n\n// const yesNoOptions = [\n// { code: \"YES\", name: \"CORE_COMMON_YES\" },\n// { code: \"NO\", name: \"CORE_COMMON_NO\" },\n// ];\n\n// if (isMdmsLoading) return <Loader />;\n\n// return (\n// <Fragment>\n// <FormStep t={t} onSelect={onStepSelect} config={config || {}} label={t(config?.texts?.submitBarLabel) || (isEditing ? t(\"EKYC_UPDATE_AND_RETURN\") : t(\"ES_COMMON_CONTINUE\"))}>\n// <CardLabel>{t(\"EKYC_ADDRESS_TYPE\")}</CardLabel>\n// <RadioButtons\n// options={addressOptions}\n// optionsKey=\"name\"\n// selectedOption={addressType}\n// onSelect={setAddressType}\n// />\n\n// <CardLabel>{t(\"EKYC_IS_ADDRESS_CORRECT\")}</CardLabel>\n// <RadioButtons\n// options={yesNoOptions}\n// optionsKey=\"name\"\n// selectedOption={correctAddress}\n// onSelect={setCorrectAddress}\n// />\n\n// {correctAddress?.code === \"NO\" && (\n// <Fragment>\n// <CardLabel>{t(\"EKYC_FULL_ADDRESS\")}</CardLabel>\n// <TextInput\n// id=\"fullAddress\"\n// name=\"fullAddress\"\n// value={fullAddress}\n// onChange={(e) => setFullAddress(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_FULL_ADDRESS\")}\n// />\n\n// <CardLabel>{t(\"EKYC_FLAT_HOUSE_NO\")}</CardLabel>\n// <TextInput\n// id=\"flatHouseNumber\"\n// name=\"flatHouseNumber\"\n// value={flatHouseNumber}\n// onChange={(e) => setFlatHouseNumber(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_FLAT_HOUSE_NO\")}\n// />\n\n// <CardLabel>{t(\"EKYC_BUILDING_TOWER\")}</CardLabel>\n// <TextInput\n// id=\"buildingTower\"\n// name=\"buildingTower\"\n// value={buildingTower}\n// onChange={(e) => setBuildingTower(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_BUILDING_TOWER\")}\n// />\n\n// <CardLabel>{t(\"EKYC_LANDMARK\")}</CardLabel>\n// <TextInput\n// id=\"landmark\"\n// name=\"landmark\"\n// value={landmark}\n// onChange={(e) => setLandmark(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_LANDMARK\")}\n// />\n\n// <CardLabel>{t(\"EKYC_PINCODE\")}</CardLabel>\n// <TextInput\n// id=\"pinCode\"\n// name=\"pinCode\"\n// value={pinCode}\n// onChange={(e) => setPinCode(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_PINCODE\")}\n// />\n// </Fragment>\n// )}\n\n// <CardLabel>{t(\"EKYC_ASSEMBLY_WARD\")}</CardLabel>\n// <Dropdown\n// option={assemblies}\n// optionKey=\"name\"\n// selected={assembly}\n// select={setAssembly}\n// t={t}\n// />\n\n// {assembly && (\n// <Fragment>\n// <CardLabel>{t(\"EKYC_WARD\")}</CardLabel>\n// <Dropdown\n// option={assembly.children || []}\n// optionKey=\"name\"\n// selected={ward}\n// select={setWard}\n// t={t}\n// />\n// </Fragment>\n// )}\n\n// <CardLabel>{t(\"EKYC_GPS_VALID\")}</CardLabel>\n// <RadioButtons\n// options={[\n// { code: true, name: \"CORE_COMMON_YES\" },\n// { code: false, name: \"CORE_COMMON_NO\" },\n// ]}\n// optionsKey=\"name\"\n// selectedOption={gpsValid ? { code: true, name: \"CORE_COMMON_YES\" } : { code: false, name: \"CORE_COMMON_NO\" }}\n// onSelect={(val) => setGpsValid(val.code)}\n// />\n\n// <CardLabel>{t(\"EKYC_LATITUDE\")}</CardLabel>\n// <TextInput\n// id=\"latitude\"\n// name=\"latitude\"\n// value={latitude}\n// onChange={(e) => setLatitude(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_LATITUDE\")}\n// />\n\n// <CardLabel>{t(\"EKYC_LONGITUDE\")}</CardLabel>\n// <TextInput\n// id=\"longitude\"\n// name=\"longitude\"\n// value={longitude}\n// onChange={(e) => setLongitude(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_LONGITUDE\")}\n// />\n\n// <CardLabel>{t(\"EKYC_MOBILE_NO\")}</CardLabel>\n// <TextInput\n// id=\"mobileNo\"\n// name=\"mobileNo\"\n// value={mobileNo}\n// onChange={(e) => setMobileNo(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_MOBILE_NO\")}\n// />\n\n// <CardLabel>{t(\"EKYC_WHATSAPP_NO\")}</CardLabel>\n// <TextInput\n// id=\"whatsappNo\"\n// name=\"whatsappNo\"\n// value={whatsappNo}\n// onChange={(e) => setWhatsappNo(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_WHATSAPP_NO\")}\n// />\n\n// <CardLabel>{t(\"EKYC_EMAIL\")}</CardLabel>\n// <TextInput\n// id=\"email\"\n// name=\"email\"\n// value={email}\n// onChange={(e) => setEmail(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_EMAIL\")}\n// />\n\n// <CardLabel>{t(\"EKYC_NO_OF_PERSONS\")}</CardLabel>\n// <TextInput\n// id=\"noOfPerson\"\n// name=\"noOfPerson\"\n// value={noOfPerson}\n// onChange={(e) => setNoOfPerson(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_NO_OF_PERSONS\")}\n// />\n\n// <CardLabel>{t(\"EKYC_K_NUMBER\")}</CardLabel>\n// <TextInput\n// id=\"knumber\"\n// name=\"knumber\"\n// value={knumber}\n// onChange={(e) => setKnumber(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_K_NUMBER\")}\n// />\n\n// <CardLabel>{t(\"EKYC_DOOR_PHOTO\")}</CardLabel>\n// <UploadFile\n// onUpload={selectphoto}\n// onDelete={removePhoto}\n// message={doorPhotoFileStoreId ? t(\"EKYC_FILE_UPLOADED\") : t(\"EKYC_NO_FILE_SELECTED\")}\n// />\n// {doorPhoto && <img src={doorPhoto} style={{ width: \"100%\", marginTop: \"10px\", borderRadius: \"8px\" }} />}\n\n// {toast && <Toast label={toast.message} error={toast.type === \"error\"} onClose={() => setToast(null)} />}\n// </FormStep>\n// {isEditing && !onSelect && (\n// // <ActionBar style={{ position: \"static\", marginTop: \"20px\" }}>\n// <SubmitBar label={t(\"EKYC_UPDATE_AND_RETURN\")} onSubmit={handleUpdateAndReturn} />\n// // </ActionBar>\n// )}\n// </Fragment>\n// );\n// };\n\n// export default AddressDetails;\n\nimport 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, { useState, Fragment, useEffect } from \"react\";\n// import {\n// Card,\n// CardLabel,\n// TextInput,\n// SubmitBar,\n// CardHeader,\n// ActionBar,\n// Dropdown,\n// UploadFile,\n// Toast,\n// FormStep,\n// RadioButtons,\n// } from \"@djb25/digit-ui-react-components\";\n// import { useTranslation } from \"react-i18next\";\n// import { useHistory, useLocation } from \"react-router-dom\";\n// import { getSavedData } from \"../../utils\";\n\n// const PropertyInfo = ({ config, onSelect, formData, t: tProps }) => {\n// const { t } = useTranslation();\n// const history = useHistory();\n// const location = useLocation();\n\n// const flowState = location.state || {};\n// const { isEditing } = flowState;\n\n// // Robust data extraction from formData\n// const activeEdits = formData || {};\n// const rawReviewData = formData?.reviewData || formData?.connectionDetails || {};\n// const reviewWrapper = rawReviewData?.applicationReview || rawReviewData;\n// const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n// const apiData = applicationData?.newData || applicationData;\n// const apiProp = apiData?.propertyInfo || apiData || {};\n\n// const tenantId = Digit.ULBService.getCurrentTenantId();\n\n// const { data: dataV1 } = Digit.Hooks.ekyc.useGetUserType(tenantId);\n// const { data: dataV2 } = Digit.Hooks.ekyc.useGetFloorCount(tenantId);\n// const { data: dataV3 } = Digit.Hooks.ekyc.useGetPropertyType(tenantId);\n// const { data: dataConn } = Digit.Hooks.ekyc.useGetConnectionTypeV2(tenantId);\n\n// const userTypeOptions = dataV1?.[\"ws-services-calculation\"]?.userTypeV2?.map((item) => ({\n// label: t(item.code), value: item.code,\n// })) || [];\n\n// const floorOptions = dataV2?.[\"ws-services-calculation\"]?.floorCount?.map((item) => ({\n// label: t(item.code), value: item.code,\n// })) || [];\n\n// const connectionCategoryOptions = dataV3?.[\"ws-services-calculation\"]?.propertyTypeV2?.map((item) => ({\n// label: t(item.code), value: item.code,\n// })) || [];\n\n// const connectionTypeOptions = dataConn?.[\"ws-services-calculation\"]?.connectionTypeV2?.map((item) => ({\n// label: t(item.code), value: item.code,\n// })) || [];\n\n// const propData = activeEdits?.propertyDetails || {};\n\n// const [ownerType, setOwnerType] = useState(propData.ownerType || (apiProp.tenantName ? \"TENANT\" : \"OWNER\"));\n// const [pidNumber, setPidNumber] = useState(propData.pidNumber || apiProp.pidNumber || \"\");\n// const [userType, setUserType] = useState(propData.userTypeData || null);\n// const [noOfFloors, setNoOfFloors] = useState(propData.noOfFloorsData || null);\n// const [connectionCategory, setConnectionCategory] = useState(propData.connectionCategoryData || null);\n// const [typeOfConnection, setTypeOfConnection] = useState(propData.typeOfConnectionData || null);\n\n// const [propertyDocument, setPropertyDocument] = useState(propData.propertyDocument || null);\n// const [propertyDocumentFileStoreId, setPropertyDocumentFileStoreId] = useState(propData.propertyDocumentFileStoreId || apiProp.propertyDocumentFileStoreId || null);\n\n// const [toast, setToast] = useState(null);\n\n// // Pre-fill dropdowns from API\n// useEffect(() => {\n// if (!userType && userTypeOptions.length > 0) {\n// const val = apiProp.userType;\n// const found = userTypeOptions.find(o => o.value === val || o.label === val);\n// if (found) setUserType(found);\n// }\n// }, [userTypeOptions, apiProp.userType]);\n\n// useEffect(() => {\n// if (!noOfFloors && floorOptions.length > 0) {\n// const val = apiProp.numberOfFloors || apiProp.noOfFloor;\n// const found = floorOptions.find(o => o.value === String(val) || o.label === String(val));\n// if (found) setNoOfFloors(found);\n// }\n// }, [floorOptions, apiProp.numberOfFloors]);\n\n// useEffect(() => {\n// if (!connectionCategory && connectionCategoryOptions.length > 0) {\n// const val = apiProp.connectionCategory;\n// const found = connectionCategoryOptions.find(o => o.value === val || o.label === val);\n// if (found) setConnectionCategory(found);\n// }\n// }, [connectionCategoryOptions, apiProp.connectionCategory]);\n\n// useEffect(() => {\n// if (!typeOfConnection && connectionTypeOptions.length > 0) {\n// const val = apiProp.typeOfConnection;\n// const found = connectionTypeOptions.find(o => o.value === val || o.label === val);\n// if (found) setTypeOfConnection(found);\n// }\n// }, [connectionTypeOptions, apiProp.typeOfConnection]);\n\n// const getUpdatedData = () => ({\n// ownerType,\n// pidNumber,\n// userTypeData: userType,\n// noOfFloorsData: noOfFloors,\n// connectionCategoryData: connectionCategory,\n// typeOfConnectionData: typeOfConnection,\n// propertyDocument,\n// propertyDocumentFileStoreId,\n// kno: apiProp.kno || flowState.kno\n// });\n\n// const selectpdf = async (e) => {\n// const file = e.target.files[0];\n// if (file) {\n// if (file.size >= 5000000) {\n// setToast({ type: \"error\", message: t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") });\n// return;\n// }\n// try {\n// const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n// if (res?.data?.files?.[0]?.fileStoreId) {\n// const fileStoreId = res.data.files[0].fileStoreId;\n// setPropertyDocumentFileStoreId(fileStoreId);\n// setPropertyDocument(file.name);\n// if (onSelect) {\n// onSelect(config.key, { ...getUpdatedData(), propertyDocument: file.name, propertyDocumentFileStoreId: fileStoreId });\n// }\n// setToast({ type: \"success\", message: t(\"EKYC_UPLOAD_SUCCESS\") });\n// }\n// } catch (err) {\n// setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n// }\n// }\n// };\n\n// const onStepSelect = () => {\n// const updatedData = getUpdatedData();\n// if (onSelect) {\n// onSelect(config.key, updatedData);\n// } else {\n// if (isEditing) {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, propertyDetails: updatedData } });\n// } else {\n// history.push(\"/digit-ui/employee/ekyc/meter-details\", {\n// ...location.state,\n// edits: { ...edits, propertyDetails: updatedData }\n// });\n// }\n// }\n// };\n\n// const handleUpdateAndReturn = () => {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, propertyDetails: getUpdatedData() } });\n// };\n\n// const ownerOptions = [\n// { code: \"OWNER\", name: \"EKYC_OWNER\" },\n// { code: \"TENANT\", name: \"EKYC_TENANT\" },\n// ];\n\n// return (\n// <Fragment>\n// <FormStep t={t} onSelect={onStepSelect} config={config || {}} label={t(config?.texts?.submitBarLabel) || (isEditing ? t(\"EKYC_UPDATE_AND_RETURN\") : t(\"ES_COMMON_CONTINUE\"))}>\n// <CardLabel>{t(\"EKYC_OWNER_TENANT\")}</CardLabel>\n// <RadioButtons\n// options={ownerOptions}\n// optionsKey=\"name\"\n// selectedOption={ownerOptions.find(o => o.code === ownerType)}\n// onSelect={(val) => setOwnerType(val.code)}\n// />\n\n// <CardLabel>{t(\"EKYC_PID_NUMBER\")}</CardLabel>\n// <TextInput\n// id=\"pidNumber\"\n// name=\"pidNumber\"\n// value={pidNumber}\n// onChange={(e) => setPidNumber(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_PID_NUMBER\")}\n// />\n\n// <CardLabel>{t(\"EKYC_USER_TYPE\")}</CardLabel>\n// <Dropdown\n// option={userTypeOptions}\n// optionKey=\"label\"\n// selected={userType}\n// select={setUserType}\n// t={t}\n// />\n\n// <CardLabel>{t(\"EKYC_NO_OF_FLOORS\")}</CardLabel>\n// <Dropdown\n// option={floorOptions}\n// optionKey=\"label\"\n// selected={noOfFloors}\n// select={setNoOfFloors}\n// t={t}\n// />\n\n// <CardLabel>{t(\"EKYC_TYPE_OF_CONNECTION\")}</CardLabel>\n// <Dropdown\n// option={connectionTypeOptions}\n// optionKey=\"label\"\n// selected={typeOfConnection}\n// select={setTypeOfConnection}\n// t={t}\n// />\n\n// <CardLabel>{t(\"EKYC_CONNECTION_CATEGORY\")}</CardLabel>\n// <Dropdown\n// option={connectionCategoryOptions}\n// optionKey=\"label\"\n// selected={connectionCategory}\n// select={setConnectionCategory}\n// t={t}\n// />\n\n// <CardLabel>{t(\"EKYC_UPLOAD_PROPERTY_DOC\")}</CardLabel>\n// <UploadFile\n// onUpload={selectpdf}\n// onDelete={() => {\n// setPropertyDocument(null);\n// setPropertyDocumentFileStoreId(null);\n// if (onSelect) {\n// onSelect(config.key, { ...getUpdatedData(), propertyDocument: null, propertyDocumentFileStoreId: null });\n// }\n// }}\n// message={propertyDocumentFileStoreId ? t(\"EKYC_FILE_UPLOADED\") : t(\"EKYC_NO_FILE_SELECTED\")}\n// />\n\n// {toast && <Toast label={toast.message} error={toast.type === \"error\"} onClose={() => setToast(null)} />}\n// </FormStep>\n// {isEditing && !onSelect && (\n// <ActionBar style={{ position: \"static\", marginTop: \"20px\" }}>\n// <SubmitBar label={t(\"EKYC_UPDATE_AND_RETURN\")} onSubmit={handleUpdateAndReturn} />\n// </ActionBar>\n// )}\n// </Fragment>\n// );\n// };\n\n// export default PropertyInfo;\n\n\n\nimport React, { useState, Fragment } from \"react\";\nimport {\n CardLabel,\n TextInput,\n Dropdown,\n UploadFile,\n Toast,\n FormStep,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst PropertyInfo = ({ config, onSelect }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 🔹 STATES\n const [pidNumber, setPidNumber] = useState(\"\");\n const [propertyType, setPropertyType] = useState(null);\n const [subPropertyCategory, setSubPropertyCategory] = useState(null);\n\n const [noOfFloors, setNoOfFloors] = useState(\"\");\n const [floorNo, setFloorNo] = useState(\"\");\n\n const [noOfRooms, setNoOfRooms] = useState(\"\");\n const [noOfBeds, setNoOfBeds] = useState(\"\");\n const [dwellingUnits, setDwellingUnits] = useState(\"\");\n\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(null);\n\n const [toast, setToast] = useState(null);\n\n // 🔹 PROPERTY TYPE OPTIONS (you can replace with MDMS)\n const propertyTypeOptions = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ];\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 (!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 = () => {\n if (!isValid()) {\n setToast({ type: \"error\", message: \"Fill all required fields\" });\n return;\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 onSelect(config.key, data);\n };\n\n return (\n <Fragment>\n <FormStep\n t={t}\n onSelect={onStepSelect}\n config={config}\n label={t(\"ES_COMMON_CONTINUE\")}\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\";\n// import {\n// Card,\n// CardLabel,\n// TextInput,\n// SubmitBar,\n// CardHeader,\n// ActionBar,\n// Dropdown,\n// UploadFile,\n// Toast,\n// FormStep,\n// } from \"@djb25/digit-ui-react-components\";\n// import { useTranslation } from \"react-i18next\";\n// import { useHistory, useLocation } from \"react-router-dom\";\n// import { getSavedData } from \"../../utils\";\n\n// const MeterDetails = ({ config, onSelect, formData, t: tProps }) => {\n// const { t } = useTranslation();\n// const history = useHistory();\n// const location = useLocation();\n\n// const flowState = location.state || {};\n// const { isEditing, kNumber } = flowState;\n\n// // Robust data extraction from formData\n// const activeEdits = formData || {};\n// const rawReviewData = formData?.reviewData || formData?.connectionDetails || {};\n// const reviewWrapper = rawReviewData?.applicationReview || rawReviewData;\n// const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n// const apiData = applicationData?.newData || applicationData;\n// const apiMeter = apiData?.meterDetails || apiData || {};\n\n// const tenantId = Digit.ULBService.getCurrentTenantId();\n\n// const { data: dataV0 } = Digit.Hooks.ekyc.useGetPropertyType(tenantId);\n// const { data: dataConn } = Digit.Hooks.ekyc.useGetConnectionTypeV2(tenantId);\n\n// const mtrData = activeEdits?.meterDetails || {};\n\n// const [meterStatus, setMeterStatus] = useState(mtrData.meterStatusData || (apiMeter.metered !== undefined ? { label: apiMeter.metered ? t(\"EKYC_METER_METERED\") : t(\"EKYC_METER_UNMETERED\"), value: apiMeter.metered ? \"Metered\" : \"Unmetered\" } : (apiMeter.meterStatus ? { label: t(`EKYC_METER_${apiMeter.meterStatus}`), value: apiMeter.meterStatus } : null)));\n// const [meterPhoto, setMeterStatusPhoto] = useState(mtrData.meterPhoto || null);\n// const [meterPhotoFileStoreId, setMeterStatusPhotoFileStoreId] = useState(mtrData.meterPhotoFileStoreId || apiMeter.meterPhotoFileStoreId || null);\n// const [workingStatus, setWorkingStatus] = useState(mtrData.workingStatusData || (apiMeter.workingStatus !== undefined ? { label: apiMeter.workingStatus ? t(\"EKYC_METER_WORKING\") : t(\"EKYC_METER_NOT_WORKING\"), value: apiMeter.workingStatus ? \"Working\" : \"Not Working\" } : (apiMeter.workingStatus ? { label: t(`EKYC_METER_${apiMeter.workingStatus}`), value: apiMeter.workingStatus } : null)));\n// const [meterLocation, setMeterLocation] = useState(mtrData.meterLocation || apiMeter.meterLocationAddress || apiMeter.meterLocation || \"\");\n// const [lastBillRaised, setLastBillRaised] = useState(mtrData.lastBillRaisedData || (apiMeter.lastBillRaised !== undefined ? { label: apiMeter.lastBillRaised ? t(\"CORE_COMMON_YES\") : t(\"CORE_COMMON_NO\"), value: apiMeter.lastBillRaised ? \"Yes\" : \"No\" } : (apiMeter.lastBillRaised ? { label: t(`EKYC_${apiMeter.lastBillRaised}`), value: apiMeter.lastBillRaised } : null)));\n// const [sewerConnection, setSewerConnection] = useState(mtrData.sewerConnectionData || (apiMeter.sewerConnection ? { label: t(`EKYC_${apiMeter.sewerConnection}`), value: apiMeter.sewerConnection } : null));\n// const [connectionCategory, setConnectionCategory] = useState(mtrData.connectionCategoryData || (apiMeter.connectionCategory ? { label: t(apiMeter.connectionCategory), value: apiMeter.connectionCategory } : (apiMeter.typeOfConnection ? { label: t(apiMeter.typeOfConnection), value: apiMeter.typeOfConnection } : null)));\n// const [connectionType, setConnectionType] = useState(mtrData.connectionTypeData || (apiMeter.connectionType ? { label: t(apiMeter.connectionType), value: apiMeter.connectionType } : (apiMeter.connectionCategory ? { label: t(apiMeter.connectionCategory), value: apiMeter.connectionCategory } : null)));\n\n// const [toast, setToast] = useState(null);\n\n// const getUpdatedData = () => ({\n// meterStatusData: meterStatus,\n// meterPhoto,\n// meterPhotoFileStoreId,\n// workingStatusData: workingStatus,\n// meterLocation,\n// lastBillRaisedData: lastBillRaised,\n// sewerConnectionData: sewerConnection,\n// connectionCategoryData: connectionCategory,\n// connectionTypeData: connectionType,\n// });\n\n// const selectphoto = async (e) => {\n// const file = e.target.files[0];\n// if (file) {\n// if (file.size >= 2000000) {\n// setToast({ type: \"error\", message: t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") });\n// return;\n// }\n// try {\n// const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n// if (res?.data?.files?.[0]?.fileStoreId) {\n// const fileStoreId = res.data.files[0].fileStoreId;\n// setMeterStatusPhotoFileStoreId(fileStoreId);\n// const reader = new FileReader();\n// reader.onloadend = () => {\n// setMeterStatusPhoto(reader.result);\n// if (onSelect) {\n// onSelect(config.key, { ...getUpdatedData(), meterPhoto: reader.result, meterPhotoFileStoreId: fileStoreId });\n// }\n// };\n// reader.readAsDataURL(file);\n// setToast({ type: \"success\", message: t(\"EKYC_UPLOAD_SUCCESS\") });\n// }\n// } catch (err) {\n// setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n// }\n// }\n// };\n\n// const onStepSelect = () => {\n// const updatedData = getUpdatedData();\n// if (onSelect) {\n// onSelect(config.key, updatedData);\n// } else {\n// if (isEditing) {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, meterDetails: updatedData } });\n// } else {\n// history.push(\"/digit-ui/employee/ekyc/review\", {\n// ...location.state,\n// edits: { ...edits, meterDetails: updatedData }\n// });\n// }\n// }\n// };\n\n// const handleUpdateAndReturn = () => {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, meterDetails: getUpdatedData() } });\n// };\n\n// const meterStatusOptions = [\n// { label: t(\"EKYC_METER_METERED\"), value: \"Metered\" },\n// { label: t(\"EKYC_METER_UNMETERED\"), value: \"Unmetered\" },\n// ];\n\n// const workingStatusOptions = [\n// { label: t(\"EKYC_METER_WORKING\"), value: \"Working\" },\n// { label: t(\"EKYC_METER_NOT_WORKING\"), value: \"Not Working\" },\n// ];\n\n// const yesNoOptions = [\n// { label: t(\"CORE_COMMON_YES\"), value: \"Yes\" },\n// { label: t(\"CORE_COMMON_NO\"), value: \"No\" },\n// ];\n\n// const connectionCategoryOptions = dataV0?.[\"ws-services-calculation\"]?.propertyTypeV2?.map((item) => ({\n// label: t(item.code), value: item.code,\n// })) || [];\n\n// const connectionTypeOptions = dataConn?.[\"ws-services-calculation\"]?.connectionTypeV2?.map((item) => ({\n// label: t(item.code), value: item.code,\n// })) || [];\n\n// return (\n// <Fragment>\n// <FormStep t={t} onSelect={onStepSelect} config={config || {}} label={t(config?.texts?.submitBarLabel) || (isEditing ? t(\"EKYC_UPDATE_AND_RETURN\") : t(\"ES_COMMON_CONTINUE\"))}>\n// <CardLabel>{t(\"EKYC_METER_STATUS\")}</CardLabel>\n// <Dropdown\n// option={meterStatusOptions}\n// optionKey=\"label\"\n// selected={meterStatus}\n// select={setMeterStatus}\n// t={t}\n// />\n\n// {meterStatus?.value === \"Metered\" && (\n// <Fragment>\n// <CardLabel>{t(\"EKYC_METER_WORKING_STATUS\")}</CardLabel>\n// <Dropdown\n// option={workingStatusOptions}\n// optionKey=\"label\"\n// selected={workingStatus}\n// select={setWorkingStatus}\n// t={t}\n// />\n\n// <CardLabel>{t(\"EKYC_CAPTURE_METER_IMAGE\")}</CardLabel>\n// <UploadFile\n// onUpload={selectphoto}\n// onDelete={() => {\n// setMeterStatusPhoto(null);\n// setMeterStatusPhotoFileStoreId(null);\n// if (onSelect) {\n// onSelect(config.key, { ...getUpdatedData(), meterPhoto: null, meterPhotoFileStoreId: null });\n// }\n// }}\n// message={meterPhotoFileStoreId ? t(\"EKYC_FILE_UPLOADED\") : t(\"EKYC_NO_FILE_SELECTED\")}\n// />\n// {meterPhoto && <img src={meterPhoto} style={{ width: \"100%\", marginTop: \"10px\", borderRadius: \"8px\" }} />}\n\n// <CardLabel>{t(\"EKYC_METER_LOCATION\")}</CardLabel>\n// <TextInput\n// id=\"meterLocation\"\n// name=\"meterLocation\"\n// value={meterLocation}\n// onChange={(e) => setMeterLocation(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_METER_LOCATION\")}\n// />\n\n// <CardLabel>{t(\"EKYC_LAST_BILL_RAISED\")}</CardLabel>\n// <Dropdown\n// option={yesNoOptions}\n// optionKey=\"label\"\n// selected={lastBillRaised}\n// select={setLastBillRaised}\n// t={t}\n// />\n// </Fragment>\n// )}\n\n// <CardLabel>{t(\"EKYC_SEWER_CONNECTION\")}</CardLabel>\n// <Dropdown\n// option={yesNoOptions}\n// optionKey=\"label\"\n// selected={sewerConnection}\n// select={setSewerConnection}\n// t={t}\n// />\n\n// <CardLabel>{t(\"EKYC_TYPE_OF_CONNECTION\")}</CardLabel>\n// <Dropdown\n// option={connectionCategoryOptions}\n// optionKey=\"label\"\n// selected={connectionCategory}\n// select={setConnectionCategory}\n// t={t}\n// />\n\n// <CardLabel>{t(\"EKYC_CONNECTION_CATEGORY\")}</CardLabel>\n// <Dropdown\n// option={connectionTypeOptions}\n// optionKey=\"label\"\n// selected={connectionType}\n// select={setConnectionType}\n// t={t}\n// />\n\n// {toast && <Toast label={toast.message} error={toast.type === \"error\"} onClose={() => setToast(null)} />}\n// </FormStep>\n// {isEditing && !onSelect && (\n// <ActionBar style={{ position: \"static\", marginTop: \"20px\" }}>\n// <SubmitBar label={t(\"EKYC_UPDATE_AND_RETURN\")} onSubmit={handleUpdateAndReturn} />\n// </ActionBar>\n// )}\n// </Fragment>\n// );\n// };\n\n// export default MeterDetails;\n\n\n\n\nimport React, { useState, Fragment } from \"react\";\nimport {\n CardLabel,\n TextInput,\n Dropdown,\n UploadFile,\n Toast,\n FormStep,\n} from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetails = ({ config, onSelect }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 🔹 STATES\n const [connectionCategory, setConnectionCategory] = useState(\"\");\n const [saType, setSaType] = useState(\"\");\n const [status, setStatus] = useState(\"\");\n\n const [mrCode, setMrCode] = useState(\"\");\n const [areaCode, setAreaCode] = useState(\"\");\n const [mrKey, setMrKey] = useState(\"\");\n\n const [meterNumber, setMeterNumber] = useState(\"\");\n const [meterMaker, setMeterMaker] = useState(\"\");\n\n const [meterStatus, setMeterStatus] = useState(null);\n const [meterCondition, setMeterCondition] = useState(null);\n const [meterLocation, setMeterLocation] = useState(null);\n\n const [lastBillReceived, setLastBillReceived] = useState(null);\n const [billMonthYear, setBillMonthYear] = useState(null);\n const [reason, setReason] = useState(\"\");\n\n const [accessToMeter, setAccessToMeter] = useState(null);\n const [sewerConnection, setSewerConnection] = useState(null);\n const [septicTank, setSepticTank] = useState(null);\n\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(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 // 🔹 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\n if (sewerConnection?.name === \"No\" && !septicTank) return false;\n\n return true;\n };\n\n // 🔹 SUBMIT\n const onStepSelect = () => {\n if (!isValid()) {\n setToast({ type: \"error\", message: \"Fill all mandatory fields\" });\n return;\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 onSelect(config.key, data);\n };\n\n return (\n <Fragment>\n <FormStep onSelect={onStepSelect} config={config}>\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 { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch } from \"react-router-dom\";\nimport Create from \"../employee/Create\";\nimport AadhaarVerification from \"../employee/AadhaarVerification\";\nimport AddressDetails from \"../employee/AddressDetails\";\nimport PropertyInfo from \"../employee/PropertyInfo\";\nimport MeterDetails from \"../employee/MeterDetails\";\nimport Review from \"../employee/Review\";\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 = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(getBreadcrumbLabel()) }\n ];\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 {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={breadcrumbs}\n />\n\n <Switch>\n <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => <Create />}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => <AadhaarVerification />}\n />\n\n <PrivateRoute\n path={`${path}/address-details`}\n component={() => <AddressDetails />}\n />\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => <PropertyInfo />}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => <MeterDetails />}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => <Review />}\n />\n\n <PrivateRoute\n path={`${path}/`}\n component={() => <Create />}\n />\n </Switch>\n </div>\n </AppContainer>\n );\n};\n\nexport default CitizenApp;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CitizenHomeCard, DocumentIcon } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"./components/EKYCCard\";\nimport Inbox from \"./pages/employee/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 AadhaarVerification from \"./pages/employee/AadhaarVerification\";\nimport AddressDetails from \"./pages/employee/AddressDetails\";\nimport PropertyInfo from \"./pages/employee/PropertyInfo\";\nimport MeterDetails from \"./pages/employee/MeterDetails\";\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\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 Digit.SessionStorage.set(\"EKYC_TENANTS\", tenants);\n\n if (isLoading) {\n return null;\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","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","parentRoute","businessService","initialStates","filterComponent","isInbox","tenantId","Digit","ULBService","getCurrentTenantId","isLoading","dashboardData","Hooks","ekyc","useEkycSurveyorDashboard","offset","limit","enabled","useMemo","info","dashboardInfo","rejected","Loader","Card","DesktopInbox","tableConfig","props","_Digit$ComponentRegis","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","selectedKno","setSelectedKno","useState","reviewData","getReview","useEkycAPI","handleReview","kno","push","kNumber","aadhaarData","columns","Header","accessor","Cell","row","_row$original","_row$original2","original","applicationNumber","cursor","fontWeight","onClick","_row$original3","citizenName","_row$original4","status","_row$original5","_row$original6","tableData","items","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","padding","Table","getCellProps","cellInfo","SearchConsumer","children","_props$countData","_props$countData2","_props$countData3","_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","totalCount","table","dispatch","checkPathName","onSortingByData","inboxStyles","tableStyle","_formState$tableForm","_formState$tableForm2","_formState$searchForm","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","SearchFormFieldsComponents","searchFormState","controlSearchForm","errors","Fragment","Label","Tooltip","Controller","name","control","defaultValue","rules","pattern","render","CardLabelError","Inbox","_formState$searchForm3","_formState$searchForm4","_dashboardData$dashbo2","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","pathname","includes","PropsForInboxLinks","SearchFormFields","useCallback","registerRef","Object","assign","tableOrderFormDefaultValues","window","Utils","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","FilterFormFields","controlFilterForm","setFilterFormValue","getFilterFormValue","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","SaveIcon","CheckIcon","XIcon","MOCK_SURVEYORS","role","MOCK_MRDS","code","zone","ConfirmDeleteModal","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","filter","handleSaveMappings","isEditing","minWidth","flexShrink","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","keys","forEach","startsWith","setItem","stringify","closeToast","ActionButton","jumpTo","routeTo","LinkButton","float","bottom","checkForNA","undefined","boolToYesNo","extractActiveData","flowState","rawData","reviewWrapper","applicationReview","applicationData","Array","isArray","newData","Review","_editedProperty$conne","_editedProperty$conne2","_editedProperty$userT","_editedProperty$noOfF","_editedMeter$meterSta","_editedMeter$workingS","_editedMeter$lastBill","agree","setAgree","isSubmitting","setIsSubmitting","edits","activeKno","addressDetails","editedAddress","propertyDetails","editedProperty","meterDetails","editedMeter","useEkycSearchReview","fetchType","activeData","apiConn","apiAddr","apiProp","apiMeter","connectionData","addressRaw","connectionCategory","meterNo","mobileNo","ekycStatus","knumber","addressData","fullAddress","flatHouseNumber","flatNo","buildingTower","building","landmark","pinCode","pincode","ward","locality","assembly","gpsValid","latitude","longitude","whatsappNo","whatsappNumber","noOfPerson","noOfPersons","doorPhotoFilestoreId","doorPhotoFileStoreId","propertyData","pidNumber","typeOfConnection","connectionTypeData","connectionCategoryData","userType","userTypeData","numberOfFloors","noOfFloorsData","tenantName","tenantMobile","propertyDocumentFileStoreId","buildingImageFileStoreId","meterData","metered","meterStatusData","meterMake","meterLocationAddress","meterLocation","meterLatitude","meterLongitude","workingStatus","workingStatusData","lastBillRaised","lastBillRaisedData","systemMeterId","meterPhotoFileStoreId","handleDeclaration","handleFinalSubmit","result","EkycService","application_update","success","err","console","baseUrl","CardHeader","margin","CardSubHeader","StatusTable","Row","actionButton","GenericFileIcon","CheckBox","checked","ActionBar","QueryClientContext","context","createContext","ReactQueryClientContext","getQueryClientContext","_ref","useQueryClient","queryClient","useContext","Error","AadhaarVerification","config","setKno","consumerType","setConsumerType","occupantType","setOccupantType","categoryType","setCategoryType","setConsumerName","firstName","setFirstName","middleName","setMiddleName","lastName","setLastName","gender","setGender","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","idFile","setIdFile","consent","setConsent","informantIsConsumer","setInformantIsConsumer","informantName","setInformantName","informantRelation","setInformantRelation","consumerTypeOptions","occupantOptions","genderOptions","uploadFile","setter","idSetter","file","files","_res$data","_res$data$files","_res$data$files$","res","UploadServices","Filestorage","fileStoreId","isValid","onStepSelect","FormStep","CardLabel","UploadFile","onUpload","ekycConfig","body","route","component","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","EKYCForm","passedPath","match","setParams","userInfo","UserService","getUser","rest","goNext","skipStep","isAddMultiple","currentPath","pop","routeObj","nextStep","currentIndex","findIndex","c","redirectWithHistory","base","slice","join","handleSelect","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","isCollapsible","defaultOpen","formData","Redirect","EmployeeApp","getBreadcrumbLabel","breadcrumbs","icon","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","PrivateRoute","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","log","selectphoto","reader","FileReader","onloadend","readAsDataURL","removePhoto","maxLength","onDelete","src","alt","PropertyInfo","setPidNumber","propertyType","setPropertyType","subPropertyCategory","setSubPropertyCategory","noOfFloors","setNoOfFloors","floorNo","setFloorNo","noOfRooms","setNoOfRooms","noOfBeds","setNoOfBeds","dwellingUnits","setDwellingUnits","buildingImage","setBuildingImage","buildingImageId","setBuildingImageId","propertyTypeOptions","handleUpload","gridColumn","MeterDetails","setConnectionCategory","saType","setSaType","setStatus","mrCode","setMrCode","areaCode","setAreaCode","mrKey","setMrKey","setMeterNumber","meterMaker","setMeterMaker","meterStatus","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","isFrozen","uploadPhoto","CitizenApp","EkycModule","stateCode","tenants","url","language","StoreData","getCurrentLanguage","store","Services","useStore","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.modern.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","../src/components/SearchFormFieldsComponent.js","../src/pages/employee/Inbox.js","../src/pages/employee/Mapping.js","../src/components/ConnectionDetailsView.js","../src/pages/employee/Create.js","../src/pages/employee/Review.js","../../../../node_modules/react-query/es/react/QueryClientProvider.js","../src/pages/employee/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../src/pages/employee/index.js","../src/pages/employee/AddressDetails.js","../src/pages/employee/PropertyInfo.js","../src/pages/employee/MeterDetails.js","../src/pages/citizen/Home.js","../src/pages/citizen/Inbox.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(\"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 || [];\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","import React from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport { CardLabelError, TextInput, Tooltip, 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 <Tooltip 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 <Tooltip 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 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, 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, Fragment, useEffect } 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// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const { t } = useTranslation();\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton\n label={<EditIcon style={{ marginTop: \"-30px\", float: \"right\", position: \"relative\", bottom: \"32px\" }} />}\n className=\"check-page-link-button\"\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 return \"N/A\";\n};\n\n/**\n * Robust data extraction based on the screenshot provided.\n * The API returns { applicationReview: { newData: { ...flatFields } } }\n */\nconst extractActiveData = (searchData, flowState) => {\n const rawData = (searchData && Object.keys(searchData).length > 0) ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReview -> newData\n const reviewWrapper = rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n};\n\nconst Review = () => {\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\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\n const { data: searchData, isLoading: isSearchLoading } = Digit.Hooks.ekyc.useEkycSearchReview(\n { kno: activeKno, fetchType: \"REVIEW\" },\n tenantId,\n { enabled: !!activeKno }\n );\n\n // ── Data Consolidation ──────────────────────────────────────────────────\n const activeData = extractActiveData(searchData, flowState);\n\n // Support both structured (connectionDetails.x) and flat (x) formats\n const apiConn = activeData?.connectionDetails || activeData || {};\n const apiAddr = activeData?.addressDetails || activeData || {};\n const apiProp = activeData?.propertyInfo || activeData || {};\n const apiMeter = activeData?.meterDetails || activeData || {};\n\n const connectionData = {\n consumerName: aadhaarData?.name || apiConn?.consumerName,\n address: apiConn?.address || apiConn?.addressRaw,\n connectionType: apiConn?.connectionType || apiConn?.connectionCategory,\n meterNumber: apiConn?.meterNumber || apiConn?.meterNo,\n phoneNumber: aadhaarData?.mobileNumber || apiConn?.phoneNumber || apiConn?.mobileNo,\n email: apiConn?.email,\n statusflag: apiConn?.statusflag || apiConn?.statusFlag,\n ekycStatus: apiConn?.ekycStatus,\n knumber: apiConn?.knumber || apiConn?.kno || activeKno,\n };\n\n const addressData = {\n fullAddress: editedAddress?.fullAddress || apiAddr?.fullAddress || apiAddr?.addressRaw,\n flatHouseNumber: editedAddress?.flatHouseNumber || editedAddress?.flatNo || apiAddr?.flatHouseNumber,\n buildingTower: editedAddress?.buildingTower || editedAddress?.building || apiAddr?.buildingTower,\n landmark: editedAddress?.landmark || apiAddr?.landmark,\n pinCode: editedAddress?.pinCode || editedAddress?.pincode || apiAddr?.pinCode || apiAddr?.pincode,\n ward: editedAddress?.ward || apiAddr?.ward || apiAddr?.locality,\n assembly: editedAddress?.assembly || apiAddr?.assembly,\n gpsValid: editedAddress?.gpsValid !== undefined ? editedAddress.gpsValid : apiAddr?.gpsValid,\n latitude: editedAddress?.latitude || apiAddr?.latitude,\n longitude: editedAddress?.longitude || apiAddr?.longitude,\n mobileNo: editedAddress?.mobileNo || aadhaarData?.mobileNumber || apiAddr?.mobileNo,\n whatsappNo: editedAddress?.whatsappNo || aadhaarData?.whatsappNumber || apiAddr?.whatsappNo,\n email: editedAddress?.email || apiAddr?.email,\n noOfPerson: editedAddress?.noOfPerson || aadhaarData?.noOfPersons || apiAddr?.noOfPerson,\n knumber: editedAddress?.knumber || apiAddr?.knumber || apiAddr?.kno || activeKno,\n doorPhotoFilestoreId: editedAddress?.doorPhotoFileStoreId || apiAddr?.doorPhotoFilestoreId,\n };\n\n const propertyData = {\n kno: apiProp?.kno || activeKno,\n pidNumber: editedProperty?.pidNumber || apiProp?.pidNumber,\n typeOfConnection: editedProperty?.connectionTypeData?.label || apiProp?.typeOfConnection,\n connectionCategory: editedProperty?.connectionCategoryData?.label || apiProp?.connectionCategory,\n userType: editedProperty?.userTypeData?.label || apiProp?.userType,\n numberOfFloors: editedProperty?.noOfFloorsData?.label || apiProp?.numberOfFloors,\n tenantName: apiProp?.tenantName,\n tenantMobile: apiProp?.tenantMobile,\n ekycStatus: apiProp?.ekycStatus,\n propertyDocumentFileStoreId: editedProperty?.propertyDocumentFileStoreId || apiProp?.propertyDocumentFileStoreId,\n buildingImageFileStoreId: apiProp?.buildingImageFileStoreId,\n };\n\n const meterData = {\n kno: editedMeter?.kno || apiMeter?.kno || activeKno,\n metered: editedMeter?.meterStatusData?.value === \"Metered\" || apiMeter?.metered,\n meterNumber: apiMeter?.meterNumber || apiMeter?.meterNo,\n meterMake: editedMeter?.meterMake || apiMeter?.meterMake,\n meterLocationAddress: editedMeter?.meterLocation || apiMeter?.meterLocationAddress,\n meterLatitude: apiMeter?.meterLatitude,\n meterLongitude: apiMeter?.meterLongitude,\n workingStatus: editedMeter?.workingStatusData?.value === \"Working\" || apiMeter?.workingStatus,\n lastBillRaised: editedMeter?.lastBillRaisedData?.value === \"Yes\" || apiMeter?.lastBillRaised,\n systemMeterId: apiMeter?.systemMeterId,\n meterPhotoFileStoreId: editedMeter?.meterPhotoFileStoreId || apiMeter?.meterPhotoFileStoreId,\n };\n\n const handleDeclaration = () => setAgree(!agree);\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 Digit.EkycService.application_update(payload, tenantId);\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 if (isSearchLoading || isSubmitting) return <Loader />;\n\n const baseUrl = \"/digit-ui/employee/ekyc\";\n\n return (\n <div className=\"review-container\">\n <Card>\n {/* ── Header ───────────────────────────────────────────────────── */}\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", marginBottom: \"20px\" }}>\n <CardHeader style={{ margin: 0 }}>{t(\"EKYC_REVIEW_APPLICATION\")}</CardHeader>\n <div style={{\n background: \"#F9FAFB\", border: \"0.5px solid #EAECF0\",\n borderRadius: \"20px\", padding: \"4px 14px\",\n fontSize: \"12px\", color: \"#667085\",\n }}>\n {t(\"EKYC_K_NUMBER\")}: <span style={{ color: \"#0B0C0C\", fontWeight: \"600\" }}>{activeKno}</span>\n </div>\n </div>\n\n {/* ── 1. Connection Details ────────────────────────────────────── */}\n <CardSubHeader>{t(\"EKYC_CONNECTION_DETAILS\")}</CardSubHeader>\n <StatusTable style={{ marginTop: \"20px\", marginBottom: \"30px\" }}>\n <Row label={t(\"EKYC_K_NUMBER\")} text={checkForNA(connectionData.knumber)} />\n <Row label={t(\"EKYC_CONSUMER_NAME\")} text={checkForNA(connectionData.consumerName)} />\n <Row label={t(\"EKYC_ADDRESS\")} text={checkForNA(connectionData.address)} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\")} text={checkForNA(connectionData.connectionType)} />\n <Row label={t(\"EKYC_METER_NO\")} text={checkForNA(connectionData.meterNumber)} />\n <Row label={t(\"EKYC_MOBILE_NO\")} text={checkForNA(connectionData.phoneNumber)} />\n <Row label={t(\"EKYC_EMAIL\")} text={checkForNA(connectionData.email)} />\n <Row label={t(\"EKYC_STATUS_FLAG\")} text={checkForNA(connectionData.statusflag)} />\n <Row label={t(\"EKYC_STATUS\")} text={checkForNA(connectionData.ekycStatus)} />\n </StatusTable>\n\n {/* ── 2. Address Details ──────────────────────────────────────── */}\n <CardSubHeader>{t(\"EKYC_ADDRESS_DETAILS\")}</CardSubHeader>\n <StatusTable style={{ marginTop: \"20px\", marginBottom: \"30px\" }}>\n <Row\n label={t(\"EKYC_FULL_ADDRESS\")}\n text={checkForNA(addressData.fullAddress)}\n actionButton={<ActionButton jumpTo={`${baseUrl}/address-details`} state={{ ...flowState, reviewData: searchData, edits }} />}\n />\n <Row label={t(\"EKYC_FLAT_HOUSE_NO\")} text={checkForNA(addressData.flatHouseNumber)} />\n <Row label={t(\"EKYC_BUILDING_TOWER\")} text={checkForNA(addressData.buildingTower)} />\n <Row label={t(\"EKYC_LANDMARK\")} text={checkForNA(addressData.landmark)} />\n <Row label={t(\"EKYC_PINCODE\")} text={checkForNA(addressData.pinCode)} />\n <Row label={t(\"EKYC_LOCALITY\")} text={checkForNA(addressData.ward)} />\n <Row label={t(\"EKYC_ASSEMBLY\")} text={checkForNA(addressData.assembly)} />\n <Row label={t(\"EKYC_GPS_VALID\")} text={boolToYesNo(addressData.gpsValid, t)} />\n <Row label={t(\"EKYC_LATITUDE\")} text={checkForNA(addressData.latitude)} />\n <Row label={t(\"EKYC_LONGITUDE\")} text={checkForNA(addressData.longitude)} />\n <Row label={t(\"EKYC_MOBILE_NO\")} text={checkForNA(addressData.mobileNo)} />\n <Row label={t(\"EKYC_WHATSAPP_NO\")} text={checkForNA(addressData.whatsappNo)} />\n <Row label={t(\"EKYC_EMAIL\")} text={checkForNA(addressData.email)} />\n <Row label={t(\"EKYC_NO_OF_PERSONS\")} text={checkForNA(addressData.noOfPerson)} />\n <Row label={t(\"EKYC_K_NUMBER\")} text={checkForNA(addressData.knumber)} />\n </StatusTable>\n\n {/* ── 3. Property Info ────────────────────────────────────────── */}\n <CardSubHeader>{t(\"EKYC_PROPERTY_INFO\")}</CardSubHeader>\n <StatusTable style={{ marginTop: \"20px\", marginBottom: \"30px\" }}>\n <Row\n label={t(\"EKYC_CONNECTION_CATEGORY\")}\n text={checkForNA(propertyData.connectionCategory)}\n actionButton={<ActionButton jumpTo={`${baseUrl}/property-info`} state={{ ...flowState, reviewData: searchData, edits }} />}\n />\n {/* <Row label={t(\"EKYC_KNO\")} text={checkForNA(propertyData.kno)} /> */}\n <Row label={t(\"EKYC_PID_NUMBER\")} text={checkForNA(propertyData.pidNumber)} />\n <Row label={t(\"EKYC_TYPE_OF_CONNECTION\")} text={checkForNA(propertyData.typeOfConnection)} />\n <Row label={t(\"EKYC_USER_TYPE\")} text={checkForNA(propertyData.userType)} />\n <Row label={t(\"EKYC_FLOOR_COUNT\")} text={checkForNA(propertyData.numberOfFloors)} />\n <Row label={t(\"EKYC_TENANT_NAME\")} text={checkForNA(propertyData.tenantName)} />\n <Row label={t(\"EKYC_TENANT_MOBILE\")} text={checkForNA(propertyData.tenantMobile)} />\n <Row label={t(\"EKYC_STATUS\")} text={checkForNA(propertyData.ekycStatus)} />\n </StatusTable>\n\n {/* ── 4. Meter Details ────────────────────────────────────────── */}\n <CardSubHeader>{t(\"EKYC_METER_DETAILS\")}</CardSubHeader>\n <StatusTable style={{ marginTop: \"20px\", marginBottom: \"30px\" }}>\n <Row\n label={t(\"EKYC_METERED\")}\n text={boolToYesNo(meterData.metered, t)}\n actionButton={<ActionButton jumpTo={`${baseUrl}/meter-details`} state={{ ...flowState, reviewData: searchData, edits }} />}\n />\n {/* <Row label={t(\"EKYC_KNO\")} text={checkForNA(meterData.kno)} /> */}\n <Row label={t(\"EKYC_METER_NO\")} text={checkForNA(meterData.meterNumber)} />\n <Row label={t(\"EKYC_METER_MAKE\")} text={checkForNA(meterData.meterMake)} />\n <Row label={t(\"EKYC_METER_LOCATION_ADDRESS\")} text={checkForNA(meterData.meterLocationAddress)} />\n <Row label={t(\"EKYC_METER_LATITUDE\")} text={checkForNA(meterData.meterLatitude)} />\n <Row label={t(\"EKYC_METER_LONGITUDE\")} text={checkForNA(meterData.meterLongitude)} />\n <Row label={t(\"EKYC_WORKING_STATUS\")} text={boolToYesNo(meterData.workingStatus, t)} />\n <Row label={t(\"EKYC_LAST_BILL_RAISED\")} text={boolToYesNo(meterData.lastBillRaised, t)} />\n <Row label={t(\"EKYC_SYSTEM_METER_ID\")} text={checkForNA(meterData.systemMeterId)} />\n </StatusTable>\n\n {/* ── 5. Documents ────────────────────────────────────────────── */}\n <CardSubHeader>{t(\"EKYC_DOCUMENTS\")}</CardSubHeader>\n <StatusTable style={{ marginTop: \"20px\", marginBottom: \"30px\" }}>\n <Row\n label={t(\"EKYC_DOOR_PHOTO\")}\n text={addressData.doorPhotoFilestoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={addressData.doorPhotoFilestoreId && <GenericFileIcon style={{ cursor: \"pointer\" }} />}\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={meterData.meterPhotoFileStoreId && <GenericFileIcon style={{ cursor: \"pointer\" }} />}\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={propertyData.buildingImageFileStoreId && <GenericFileIcon style={{ cursor: \"pointer\" }} />}\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={propertyData.propertyDocumentFileStoreId && <GenericFileIcon style={{ cursor: \"pointer\" }} />}\n />\n </StatusTable>\n\n <CheckBox\n id=\"agreeDeclaration\"\n name=\"agreeDeclaration\"\n label={t(\"EKYC_FINAL_DECLARATION\")}\n onChange={handleDeclaration}\n checked={agree}\n style={{ marginTop: \"20px\" }}\n />\n </Card>\n\n <ActionBar style={{ position: \"static\", marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"EKYC_SUBMIT_APPLICATION\")}\n onSubmit={handleFinalSubmit}\n disabled={!agree}\n />\n </ActionBar>\n </div>\n );\n};\n\nexport default Review;","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};","// import React, { useState, Fragment, useEffect, useRef } from \"react\";\n// import {\n// Card,\n// CardLabel,\n// TextInput,\n// SubmitBar,\n// CardHeader,\n// RadioButtons,\n// ActionBar,\n// Loader,\n// FormStep,\n// } from \"@djb25/digit-ui-react-components\";\n// import { useTranslation } from \"react-i18next\";\n// import { useLocation, useHistory } from \"react-router-dom\";\n// import { getSavedData } from \"../../utils\";\n// import AddressDetails from \"./AddressDetails\";\n\n// const AadhaarVerification = ({ config, onSelect, formData, t: tProps }) => {\n// const { t } = useTranslation();\n// const location = useLocation();\n// const history = useHistory();\n// const addressSectionRef = useRef(null);\n\n// const flowState = location.state || {};\n// const { isEditing, kNumber } = flowState;\n\n// // Robust data extraction from formData\n// const activeEdits = formData || {};\n// const rawReviewData = formData?.reviewData || formData?.connectionDetails || {};\n// const reviewWrapper = rawReviewData?.applicationReview || rawReviewData;\n// const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n// const apiData = applicationData?.newData || applicationData;\n// const apiConn = apiData?.connectionDetails || apiData || {};\n\n// const initialData = {\n// userName: apiConn.consumerName || \"\",\n// mobileNumber: apiConn.phoneNumber || apiConn.mobileNo || \"\",\n// whatsappNumber: apiConn.phoneNumber || apiConn.mobileNo || \"\",\n// email: apiConn.email || \"\",\n// noOfPersons: apiConn.noOfPerson || apiConn.noOfPersons || \"\",\n// };\n\n// const aadhaarData = activeEdits?.aadhaarData || {};\n\n// const [aadhaarNumber, setAadhaarNumber] = useState(aadhaarData.aadhaarNumber || \"\");\n// const [isAadhaarVerified, setIsAadhaarVerified] = useState(aadhaarData.isAadhaarVerified === true || isEditing); // Auto-verify if editing\n// const [showOtpField, setShowOtpField] = useState(false);\n// const [otp, setOtp] = useState(\"\");\n// const [otpError, setOtpError] = useState(false);\n// const [nameCorrect, setNameCorrect] = useState(aadhaarData.nameCorrect || { code: \"YES\", name: \"CORE_COMMON_YES\" });\n// const [userName, setUserName] = useState(aadhaarData.name || initialData.userName);\n// const [mobileChange, setMobileChange] = useState(aadhaarData.mobileChange || { code: \"YES\", name: \"CORE_COMMON_YES\" });\n// const [mobileNumber, setMobileNumber] = useState(aadhaarData.mobileNumber || initialData.mobileNumber);\n// const [whatsappNumber, setWhatsappNumber] = useState(aadhaarData.whatsappNumber || initialData.whatsappNumber);\n// const [email, setEmail] = useState(aadhaarData.email || initialData.email);\n// const [noOfPersons, setNoOfPersons] = useState(aadhaarData.noOfPersons || initialData.noOfPersons);\n// const [showAddressSection, setShowAddressSection] = useState(false);\n\n// const getUpdatedData = () => ({\n// aadhaarNumber,\n// isAadhaarVerified,\n// name: userName,\n// nameCorrect,\n// mobileChange,\n// mobileNumber,\n// whatsappNumber,\n// email,\n// noOfPersons,\n// gender: \"Male\",\n// dob: \"01/01/1990\",\n// });\n\n// const handleVerifyAadhaar = () => {\n// if (aadhaarNumber.length === 12) setShowOtpField(true);\n// };\n\n// const handleVerifyOtp = () => {\n// if (otp === \"123456\") {\n// setIsAadhaarVerified(true);\n// setShowOtpField(false);\n// setShowAddressSection(true);\n// if (onSelect) {\n// onSelect(config.key, { ...getUpdatedData(), isAadhaarVerified: true });\n// }\n// } else {\n// setOtpError(true);\n// }\n// };\n\n// const onStepSelect = () => {\n// const updatedData = getUpdatedData();\n// if (onSelect) {\n// onSelect(config.key, updatedData);\n// } else {\n// if (isEditing) {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, aadhaarData: updatedData } });\n// } else {\n// history.push(\"/digit-ui/employee/ekyc/address-details\", {\n// ...location.state,\n// edits: { ...edits, aadhaarData: updatedData }\n// });\n// }\n// }\n// };\n\n// const handleUpdateAndReturn = () => {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, aadhaarData: getUpdatedData() } });\n// };\n\n// const yesNoOptions = [\n// { code: \"YES\", name: \"CORE_COMMON_YES\" },\n// { code: \"NO\", name: \"CORE_COMMON_NO\" },\n// ];\n\n// return (\n// <Fragment>\n// <FormStep\n// t={t}\n// config={config || {}}\n// onSelect={onStepSelect}\n// isDisabled={!isAadhaarVerified || !userName || !mobileNumber}\n// label={t(config?.texts?.submitBarLabel) || (isEditing ? t(\"EKYC_UPDATE_AND_RETURN\") : t(\"ES_COMMON_CONTINUE\"))}\n// >\n// <CardLabel>{t(\"EKYC_AADHAAR_NUMBER\")} <span className=\"astericColor\">*</span></CardLabel>\n// <TextInput\n// id=\"aadhaarNumber\"\n// name=\"aadhaarNumber\"\n// value={aadhaarNumber}\n// onChange={(e) => setAadhaarNumber(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_AADHAAR_NUMBER\")}\n// maxLength={12}\n// disabled={isAadhaarVerified}\n// />\n// {!isAadhaarVerified && !showOtpField && (\n// <SubmitBar label={t(\"EKYC_VERIFY\")} onSubmit={handleVerifyAadhaar} disabled={aadhaarNumber.length !== 12} />\n// )}\n\n// {showOtpField && (\n// <Fragment>\n// <CardLabel>{t(\"EKYC_ENTER_OTP\")} <span className=\"astericColor\">*</span></CardLabel>\n// <TextInput\n// id=\"otp\"\n// name=\"otp\"\n// value={otp}\n// onChange={(e) => setOtp(e.target.value)}\n// placeholder=\"123456\"\n// maxLength={6}\n// />\n// {otpError && <div style={{ color: \"red\", fontSize: \"12px\" }}>{t(\"EKYC_INVALID_OTP\")}</div>}\n// <SubmitBar label={t(\"EKYC_VERIFY_OTP\")} onSubmit={handleVerifyOtp} disabled={otp.length !== 6} />\n// </Fragment>\n// )}\n\n// {isAadhaarVerified && (\n// <Fragment>\n// <CardLabel>{t(\"EKYC_IS_NAME_CORRECT\")}</CardLabel>\n// <RadioButtons\n// options={yesNoOptions}\n// optionsKey=\"name\"\n// selectedOption={nameCorrect}\n// onSelect={setNameCorrect}\n// />\n// <CardLabel>{t(\"EKYC_USER_NAME\")} <span className=\"astericColor\">*</span></CardLabel>\n// <TextInput\n// id=\"userName\"\n// name=\"userName\"\n// value={userName}\n// onChange={(e) => setUserName(e.target.value)}\n// disabled={nameCorrect.code === \"NO\"}\n// />\n\n// <CardLabel>{t(\"EKYC_CHANGE_MOBILE\")}</CardLabel>\n// <RadioButtons\n// options={yesNoOptions}\n// optionsKey=\"name\"\n// selectedOption={mobileChange}\n// onSelect={setMobileChange}\n// />\n// <CardLabel>{t(\"EKYC_MOBILE_NUMBER\")} <span className=\"astericColor\">*</span></CardLabel>\n// <TextInput\n// id=\"mobileNumber\"\n// name=\"mobileNumber\"\n// value={mobileNumber}\n// onChange={(e) => setMobileNumber(e.target.value)}\n// disabled={mobileChange.code === \"NO\"}\n// />\n\n// <CardLabel>{t(\"EKYC_WHATSAPP_NUMBER\")}</CardLabel>\n// <TextInput\n// id=\"whatsappNumber\"\n// name=\"whatsappNumber\"\n// value={whatsappNumber}\n// onChange={(e) => setWhatsappNumber(e.target.value)}\n// />\n\n// <CardLabel>{t(\"EKYC_EMAIL_ID\")}</CardLabel>\n// <TextInput\n// id=\"email\"\n// name=\"email\"\n// value={email}\n// onChange={(e) => setEmail(e.target.value)}\n// />\n\n// <CardLabel>{t(\"EKYC_NO_OF_PERSONS\")}</CardLabel>\n// <TextInput\n// id=\"noOfPersons\"\n// name=\"noOfPersons\"\n// value={noOfPersons}\n// onChange={(e) => setNoOfPersons(e.target.value)}\n// />\n// </Fragment>\n// )}\n// </FormStep>\n// {isEditing && !onSelect && (\n// <ActionBar style={{ position: \"static\", marginTop: \"20px\" }}>\n// <SubmitBar label={t(\"EKYC_UPDATE_AND_RETURN\")} onSubmit={handleUpdateAndReturn} />\n// </ActionBar>\n// )}\n// </Fragment>\n// );\n// };\n\n// export default AadhaarVerification;\n\n\n\nimport React, { useState, Fragment } from \"react\";\nimport {\n CardLabel,\n TextInput,\n Dropdown,\n UploadFile,\n RadioButtons,\n Toast,\n FormStep,\n} from \"@djb25/digit-ui-react-components\";\n\nconst AadhaarVerification = ({ config, onSelect }) => {\n\n // 🔹 STATES\n const [kno, setKno] = useState(\"\");\n const [consumerType, setConsumerType] = useState(null);\n const [occupantType, setOccupantType] = useState(null);\n const [categoryType, setCategoryType] = useState(null);\n\n const [consumerName, setConsumerName] = useState(\"\");\n const [firstName, setFirstName] = useState(\"\");\n const [middleName, setMiddleName] = useState(\"\");\n const [lastName, setLastName] = useState(\"\");\n\n const [gender, setGender] = useState(null);\n const [relation, setRelation] = useState(\"\");\n\n const [mobile, setMobile] = useState(\"\");\n const [whatsapp, setWhatsapp] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [residents, setResidents] = useState(\"\");\n\n // Tenant\n const [documentProof, setDocumentProof] = useState(null);\n const [documentId, setDocumentId] = useState(null);\n const [ownerMobile, setOwnerMobile] = useState(\"\");\n const [tenantVerification, setTenantVerification] = useState(\"\");\n\n // Govt\n const [designation, setDesignation] = useState(\"\");\n const [department, setDepartment] = useState(\"\");\n const [employeeId, setEmployeeId] = useState(\"\");\n const [landline, setLandline] = useState(\"\");\n\n // Other Entity\n const [entityRelation, setEntityRelation] = useState(\"\");\n const [contactPerson, setContactPerson] = useState(\"\");\n const [entityName, setEntityName] = useState(\"\");\n\n // Identity\n const [idProof, setIdProof] = useState(null);\n const [idNumber, setIdNumber] = useState(\"\");\n const [idFile, setIdFile] = useState(null);\n\n // Consent\n const [consent, setConsent] = useState(false);\n const [informantIsConsumer, setInformantIsConsumer] = useState(true);\n const [informantName, setInformantName] = useState(\"\");\n const [informantRelation, setInformantRelation] = useState(\"\");\n\n const [toast, setToast] = useState(null);\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 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;\n };\n\n // 🔹 SUBMIT\n const onStepSelect = () => {\n if (!isValid()) {\n setToast({ type: \"error\", message: \"Fill required fields\" });\n return;\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 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 onSelect(config.key, data);\n };\n\n return (\n <Fragment>\n <FormStep onSelect={onStepSelect} config={config}>\n <div>\n <CardLabel>K Number *</CardLabel>\n <TextInput value={kno} onChange={(e) => setKno(e.target.value)} />\n </div>\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>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\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 </Fragment>\n );\n};\n\nexport default AadhaarVerification;","import AadhaarVerification from \"../pages/employee/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 } 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 \"./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={() => <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n />\n\n <PrivateRoute path={`${path}/create-kyc`} component={() => <Create />} />\n\n <PrivateRoute path={`${path}/mapping`} component={() => <Mapping />} />\n\n <PrivateRoute path={formStepRoutes.map((route) => `${path}/${route}`)} component={(props) => <EKYCForm {...props} path={path} />} />\n\n <PrivateRoute path={`${path}/review`} component={() => <Review />} />\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, useRef, Fragment, useEffect } from \"react\";\n// import {\n// Card,\n// CardLabel,\n// TextInput,\n// SubmitBar,\n// CardHeader,\n// RadioButtons,\n// ActionBar,\n// Dropdown,\n// Loader,\n// UploadFile,\n// Toast,\n// FormStep,\n// } from \"@djb25/digit-ui-react-components\";\n// import { useTranslation } from \"react-i18next\";\n// import { useHistory, useLocation } from \"react-router-dom\";\n// import { getSavedData } from \"../../utils\";\n\n// const AddressDetails = ({ config, onSelect, formData, t: tProps }) => {\n// const { t } = useTranslation();\n// const history = useHistory();\n// const location = useLocation();\n\n// const flowState = location.state || {};\n// const { isEditing, kNumber } = flowState;\n\n// // Robust data extraction from formData (which includes reviewData and edits from EKYCForm)\n// const activeEdits = formData || {};\n// const rawReviewData = formData?.reviewData || formData?.connectionDetails || {};\n// const reviewWrapper = rawReviewData?.applicationReview || rawReviewData;\n// const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n// const apiData = applicationData?.newData || applicationData;\n// const apiAddr = apiData?.addressDetails || apiData || {};\n\n// const addrData = activeEdits?.addressDetails || {};\n\n// const [addressType, setAddressType] = useState(addrData.addressType || { code: \"AADHAAR\", name: \"EKYC_AADHAAR_ADDRESS\" });\n// const [correctAddress, setCorrectAddress] = useState(addrData.correctAddress || { code: \"NO\", name: \"CORE_COMMON_NO\" });\n// const [fullAddress, setFullAddress] = useState(addrData.fullAddress || apiAddr.addressRaw || apiAddr.fullAddress || \"\");\n// const [flatHouseNumber, setFlatHouseNumber] = useState(addrData.flatHouseNumber || addrData.flatNo || apiAddr.flatHouseNumber || apiAddr.flatNo || \"\");\n// const [buildingTower, setBuildingTower] = useState(addrData.buildingTower || addrData.building || apiAddr.buildingTower || apiAddr.building || \"\");\n// const [landmark, setLandmark] = useState(addrData.landmark || apiAddr.landmark || \"\");\n// const [pinCode, setPinCode] = useState(addrData.pinCode || addrData.pincode || apiAddr.pinCode || apiAddr.pincode || \"\");\n// const [doorPhoto, setDoorPhoto] = useState(addrData.doorPhoto || null);\n// const [doorPhotoFileStoreId, setDoorPhotoFileStoreId] = useState(addrData.doorPhotoFilestoreId || addrData.doorPhotoFileStoreId || apiAddr.doorPhotoFilestoreId || null);\n\n// const [gpsValid, setGpsValid] = useState(addrData.gpsValid !== undefined ? addrData.gpsValid : (apiAddr.gpsValid !== undefined ? apiAddr.gpsValid : true));\n// const [latitude, setLatitude] = useState(addrData.latitude || apiAddr.latitude || \"\");\n// const [longitude, setLongitude] = useState(addrData.longitude || apiAddr.longitude || \"\");\n// const [mobileNo, setMobileNo] = useState(addrData.mobileNo || apiAddr.mobileNo || \"\");\n// const [whatsappNo, setWhatsappNo] = useState(addrData.whatsappNo || apiAddr.whatsappNo || \"\");\n// const [email, setEmail] = useState(addrData.email || apiAddr.email || \"\");\n// const [noOfPerson, setNoOfPerson] = useState(addrData.noOfPerson || apiAddr.noOfPerson || apiAddr.noOfPersons || \"\");\n// const [knumber, setKnumber] = useState(addrData.knumber || apiAddr.knumber || apiAddr.kno || kNumber || \"\");\n\n// const [toast, setToast] = useState(null);\n\n// const tenantId = Digit.ULBService.getCurrentTenantId();\n// const { data: mdmsData, isLoading: isMdmsLoading } = Digit.Hooks.useCommonMDMS(tenantId, \"egov-location\", [\"TenantBoundary\"]);\n// const assemblies = mdmsData?.MdmsRes?.[\"egov-location\"]?.TenantBoundary?.[0]?.boundary?.children || [];\n// const [assembly, setAssembly] = useState(addrData.assemblyData || (apiAddr.assembly ? { name: apiAddr.assembly } : null));\n// const [ward, setWard] = useState(addrData.wardData || (apiAddr.ward ? { name: apiAddr.ward } : null));\n\n// const getUpdatedData = () => ({\n// addressType,\n// correctAddress,\n// fullAddress,\n// flatHouseNumber,\n// buildingTower,\n// landmark,\n// pinCode,\n// doorPhoto,\n// doorPhotoFilestoreId: doorPhotoFileStoreId,\n// assembly: assembly?.name,\n// ward: ward?.name,\n// assemblyData: assembly,\n// wardData: ward,\n// gpsValid,\n// latitude,\n// longitude,\n// mobileNo,\n// whatsappNo,\n// email,\n// noOfPerson,\n// knumber\n// });\n\n// const selectphoto = async (e) => {\n// const file = e.target.files[0];\n// if (file) {\n// if (file.size >= 2000000) {\n// setToast({ type: \"error\", message: t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") });\n// return;\n// }\n// try {\n// const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n// if (res?.data?.files?.[0]?.fileStoreId) {\n// const fileStoreId = res.data.files[0].fileStoreId;\n// setDoorPhotoFileStoreId(fileStoreId);\n// const reader = new FileReader();\n// reader.onloadend = () => {\n// setDoorPhoto(reader.result);\n// if (onSelect) {\n// onSelect(config.key, { ...getUpdatedData(), doorPhoto: reader.result, doorPhotoFilestoreId: fileStoreId });\n// }\n// };\n// reader.readAsDataURL(file);\n// setToast({ type: \"success\", message: t(\"EKYC_UPLOAD_SUCCESS\") });\n// }\n// } catch (err) {\n// setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n// }\n// }\n// };\n\n// const removePhoto = () => {\n// setDoorPhoto(null);\n// setDoorPhotoFileStoreId(null);\n// if (onSelect) {\n// onSelect(config.key, { ...getUpdatedData(), doorPhoto: null, doorPhotoFilestoreId: null });\n// }\n// };\n\n// const onStepSelect = () => {\n// const updatedData = getUpdatedData();\n// if (onSelect) {\n// onSelect(config.key, updatedData);\n// } else {\n// if (isEditing) {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, addressDetails: updatedData } });\n// } else {\n// history.push(\"/digit-ui/employee/ekyc/property-info\", {\n// ...location.state,\n// edits: { ...edits, addressDetails: updatedData }\n// });\n// }\n// }\n// };\n\n// const handleUpdateAndReturn = () => {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, addressDetails: getUpdatedData() } });\n// };\n\n// const addressOptions = [\n// { code: \"AADHAAR\", name: \"EKYC_AADHAAR_ADDRESS\" },\n// { code: \"CURRENT\", name: \"EKYC_CURRENT_ADDRESS\" },\n// ];\n\n// const yesNoOptions = [\n// { code: \"YES\", name: \"CORE_COMMON_YES\" },\n// { code: \"NO\", name: \"CORE_COMMON_NO\" },\n// ];\n\n// if (isMdmsLoading) return <Loader />;\n\n// return (\n// <Fragment>\n// <FormStep t={t} onSelect={onStepSelect} config={config || {}} label={t(config?.texts?.submitBarLabel) || (isEditing ? t(\"EKYC_UPDATE_AND_RETURN\") : t(\"ES_COMMON_CONTINUE\"))}>\n// <CardLabel>{t(\"EKYC_ADDRESS_TYPE\")}</CardLabel>\n// <RadioButtons\n// options={addressOptions}\n// optionsKey=\"name\"\n// selectedOption={addressType}\n// onSelect={setAddressType}\n// />\n\n// <CardLabel>{t(\"EKYC_IS_ADDRESS_CORRECT\")}</CardLabel>\n// <RadioButtons\n// options={yesNoOptions}\n// optionsKey=\"name\"\n// selectedOption={correctAddress}\n// onSelect={setCorrectAddress}\n// />\n\n// {correctAddress?.code === \"NO\" && (\n// <Fragment>\n// <CardLabel>{t(\"EKYC_FULL_ADDRESS\")}</CardLabel>\n// <TextInput\n// id=\"fullAddress\"\n// name=\"fullAddress\"\n// value={fullAddress}\n// onChange={(e) => setFullAddress(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_FULL_ADDRESS\")}\n// />\n\n// <CardLabel>{t(\"EKYC_FLAT_HOUSE_NO\")}</CardLabel>\n// <TextInput\n// id=\"flatHouseNumber\"\n// name=\"flatHouseNumber\"\n// value={flatHouseNumber}\n// onChange={(e) => setFlatHouseNumber(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_FLAT_HOUSE_NO\")}\n// />\n\n// <CardLabel>{t(\"EKYC_BUILDING_TOWER\")}</CardLabel>\n// <TextInput\n// id=\"buildingTower\"\n// name=\"buildingTower\"\n// value={buildingTower}\n// onChange={(e) => setBuildingTower(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_BUILDING_TOWER\")}\n// />\n\n// <CardLabel>{t(\"EKYC_LANDMARK\")}</CardLabel>\n// <TextInput\n// id=\"landmark\"\n// name=\"landmark\"\n// value={landmark}\n// onChange={(e) => setLandmark(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_LANDMARK\")}\n// />\n\n// <CardLabel>{t(\"EKYC_PINCODE\")}</CardLabel>\n// <TextInput\n// id=\"pinCode\"\n// name=\"pinCode\"\n// value={pinCode}\n// onChange={(e) => setPinCode(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_PINCODE\")}\n// />\n// </Fragment>\n// )}\n\n// <CardLabel>{t(\"EKYC_ASSEMBLY_WARD\")}</CardLabel>\n// <Dropdown\n// option={assemblies}\n// optionKey=\"name\"\n// selected={assembly}\n// select={setAssembly}\n// t={t}\n// />\n\n// {assembly && (\n// <Fragment>\n// <CardLabel>{t(\"EKYC_WARD\")}</CardLabel>\n// <Dropdown\n// option={assembly.children || []}\n// optionKey=\"name\"\n// selected={ward}\n// select={setWard}\n// t={t}\n// />\n// </Fragment>\n// )}\n\n// <CardLabel>{t(\"EKYC_GPS_VALID\")}</CardLabel>\n// <RadioButtons\n// options={[\n// { code: true, name: \"CORE_COMMON_YES\" },\n// { code: false, name: \"CORE_COMMON_NO\" },\n// ]}\n// optionsKey=\"name\"\n// selectedOption={gpsValid ? { code: true, name: \"CORE_COMMON_YES\" } : { code: false, name: \"CORE_COMMON_NO\" }}\n// onSelect={(val) => setGpsValid(val.code)}\n// />\n\n// <CardLabel>{t(\"EKYC_LATITUDE\")}</CardLabel>\n// <TextInput\n// id=\"latitude\"\n// name=\"latitude\"\n// value={latitude}\n// onChange={(e) => setLatitude(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_LATITUDE\")}\n// />\n\n// <CardLabel>{t(\"EKYC_LONGITUDE\")}</CardLabel>\n// <TextInput\n// id=\"longitude\"\n// name=\"longitude\"\n// value={longitude}\n// onChange={(e) => setLongitude(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_LONGITUDE\")}\n// />\n\n// <CardLabel>{t(\"EKYC_MOBILE_NO\")}</CardLabel>\n// <TextInput\n// id=\"mobileNo\"\n// name=\"mobileNo\"\n// value={mobileNo}\n// onChange={(e) => setMobileNo(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_MOBILE_NO\")}\n// />\n\n// <CardLabel>{t(\"EKYC_WHATSAPP_NO\")}</CardLabel>\n// <TextInput\n// id=\"whatsappNo\"\n// name=\"whatsappNo\"\n// value={whatsappNo}\n// onChange={(e) => setWhatsappNo(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_WHATSAPP_NO\")}\n// />\n\n// <CardLabel>{t(\"EKYC_EMAIL\")}</CardLabel>\n// <TextInput\n// id=\"email\"\n// name=\"email\"\n// value={email}\n// onChange={(e) => setEmail(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_EMAIL\")}\n// />\n\n// <CardLabel>{t(\"EKYC_NO_OF_PERSONS\")}</CardLabel>\n// <TextInput\n// id=\"noOfPerson\"\n// name=\"noOfPerson\"\n// value={noOfPerson}\n// onChange={(e) => setNoOfPerson(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_NO_OF_PERSONS\")}\n// />\n\n// <CardLabel>{t(\"EKYC_K_NUMBER\")}</CardLabel>\n// <TextInput\n// id=\"knumber\"\n// name=\"knumber\"\n// value={knumber}\n// onChange={(e) => setKnumber(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_K_NUMBER\")}\n// />\n\n// <CardLabel>{t(\"EKYC_DOOR_PHOTO\")}</CardLabel>\n// <UploadFile\n// onUpload={selectphoto}\n// onDelete={removePhoto}\n// message={doorPhotoFileStoreId ? t(\"EKYC_FILE_UPLOADED\") : t(\"EKYC_NO_FILE_SELECTED\")}\n// />\n// {doorPhoto && <img src={doorPhoto} style={{ width: \"100%\", marginTop: \"10px\", borderRadius: \"8px\" }} />}\n\n// {toast && <Toast label={toast.message} error={toast.type === \"error\"} onClose={() => setToast(null)} />}\n// </FormStep>\n// {isEditing && !onSelect && (\n// // <ActionBar style={{ position: \"static\", marginTop: \"20px\" }}>\n// <SubmitBar label={t(\"EKYC_UPDATE_AND_RETURN\")} onSubmit={handleUpdateAndReturn} />\n// // </ActionBar>\n// )}\n// </Fragment>\n// );\n// };\n\n// export default AddressDetails;\n\nimport 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, { useState, Fragment, useEffect } from \"react\";\n// import {\n// Card,\n// CardLabel,\n// TextInput,\n// SubmitBar,\n// CardHeader,\n// ActionBar,\n// Dropdown,\n// UploadFile,\n// Toast,\n// FormStep,\n// RadioButtons,\n// } from \"@djb25/digit-ui-react-components\";\n// import { useTranslation } from \"react-i18next\";\n// import { useHistory, useLocation } from \"react-router-dom\";\n// import { getSavedData } from \"../../utils\";\n\n// const PropertyInfo = ({ config, onSelect, formData, t: tProps }) => {\n// const { t } = useTranslation();\n// const history = useHistory();\n// const location = useLocation();\n\n// const flowState = location.state || {};\n// const { isEditing } = flowState;\n\n// // Robust data extraction from formData\n// const activeEdits = formData || {};\n// const rawReviewData = formData?.reviewData || formData?.connectionDetails || {};\n// const reviewWrapper = rawReviewData?.applicationReview || rawReviewData;\n// const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n// const apiData = applicationData?.newData || applicationData;\n// const apiProp = apiData?.propertyInfo || apiData || {};\n\n// const tenantId = Digit.ULBService.getCurrentTenantId();\n\n// const { data: dataV1 } = Digit.Hooks.ekyc.useGetUserType(tenantId);\n// const { data: dataV2 } = Digit.Hooks.ekyc.useGetFloorCount(tenantId);\n// const { data: dataV3 } = Digit.Hooks.ekyc.useGetPropertyType(tenantId);\n// const { data: dataConn } = Digit.Hooks.ekyc.useGetConnectionTypeV2(tenantId);\n\n// const userTypeOptions = dataV1?.[\"ws-services-calculation\"]?.userTypeV2?.map((item) => ({\n// label: t(item.code), value: item.code,\n// })) || [];\n\n// const floorOptions = dataV2?.[\"ws-services-calculation\"]?.floorCount?.map((item) => ({\n// label: t(item.code), value: item.code,\n// })) || [];\n\n// const connectionCategoryOptions = dataV3?.[\"ws-services-calculation\"]?.propertyTypeV2?.map((item) => ({\n// label: t(item.code), value: item.code,\n// })) || [];\n\n// const connectionTypeOptions = dataConn?.[\"ws-services-calculation\"]?.connectionTypeV2?.map((item) => ({\n// label: t(item.code), value: item.code,\n// })) || [];\n\n// const propData = activeEdits?.propertyDetails || {};\n\n// const [ownerType, setOwnerType] = useState(propData.ownerType || (apiProp.tenantName ? \"TENANT\" : \"OWNER\"));\n// const [pidNumber, setPidNumber] = useState(propData.pidNumber || apiProp.pidNumber || \"\");\n// const [userType, setUserType] = useState(propData.userTypeData || null);\n// const [noOfFloors, setNoOfFloors] = useState(propData.noOfFloorsData || null);\n// const [connectionCategory, setConnectionCategory] = useState(propData.connectionCategoryData || null);\n// const [typeOfConnection, setTypeOfConnection] = useState(propData.typeOfConnectionData || null);\n\n// const [propertyDocument, setPropertyDocument] = useState(propData.propertyDocument || null);\n// const [propertyDocumentFileStoreId, setPropertyDocumentFileStoreId] = useState(propData.propertyDocumentFileStoreId || apiProp.propertyDocumentFileStoreId || null);\n\n// const [toast, setToast] = useState(null);\n\n// // Pre-fill dropdowns from API\n// useEffect(() => {\n// if (!userType && userTypeOptions.length > 0) {\n// const val = apiProp.userType;\n// const found = userTypeOptions.find(o => o.value === val || o.label === val);\n// if (found) setUserType(found);\n// }\n// }, [userTypeOptions, apiProp.userType]);\n\n// useEffect(() => {\n// if (!noOfFloors && floorOptions.length > 0) {\n// const val = apiProp.numberOfFloors || apiProp.noOfFloor;\n// const found = floorOptions.find(o => o.value === String(val) || o.label === String(val));\n// if (found) setNoOfFloors(found);\n// }\n// }, [floorOptions, apiProp.numberOfFloors]);\n\n// useEffect(() => {\n// if (!connectionCategory && connectionCategoryOptions.length > 0) {\n// const val = apiProp.connectionCategory;\n// const found = connectionCategoryOptions.find(o => o.value === val || o.label === val);\n// if (found) setConnectionCategory(found);\n// }\n// }, [connectionCategoryOptions, apiProp.connectionCategory]);\n\n// useEffect(() => {\n// if (!typeOfConnection && connectionTypeOptions.length > 0) {\n// const val = apiProp.typeOfConnection;\n// const found = connectionTypeOptions.find(o => o.value === val || o.label === val);\n// if (found) setTypeOfConnection(found);\n// }\n// }, [connectionTypeOptions, apiProp.typeOfConnection]);\n\n// const getUpdatedData = () => ({\n// ownerType,\n// pidNumber,\n// userTypeData: userType,\n// noOfFloorsData: noOfFloors,\n// connectionCategoryData: connectionCategory,\n// typeOfConnectionData: typeOfConnection,\n// propertyDocument,\n// propertyDocumentFileStoreId,\n// kno: apiProp.kno || flowState.kno\n// });\n\n// const selectpdf = async (e) => {\n// const file = e.target.files[0];\n// if (file) {\n// if (file.size >= 5000000) {\n// setToast({ type: \"error\", message: t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") });\n// return;\n// }\n// try {\n// const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n// if (res?.data?.files?.[0]?.fileStoreId) {\n// const fileStoreId = res.data.files[0].fileStoreId;\n// setPropertyDocumentFileStoreId(fileStoreId);\n// setPropertyDocument(file.name);\n// if (onSelect) {\n// onSelect(config.key, { ...getUpdatedData(), propertyDocument: file.name, propertyDocumentFileStoreId: fileStoreId });\n// }\n// setToast({ type: \"success\", message: t(\"EKYC_UPLOAD_SUCCESS\") });\n// }\n// } catch (err) {\n// setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n// }\n// }\n// };\n\n// const onStepSelect = () => {\n// const updatedData = getUpdatedData();\n// if (onSelect) {\n// onSelect(config.key, updatedData);\n// } else {\n// if (isEditing) {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, propertyDetails: updatedData } });\n// } else {\n// history.push(\"/digit-ui/employee/ekyc/meter-details\", {\n// ...location.state,\n// edits: { ...edits, propertyDetails: updatedData }\n// });\n// }\n// }\n// };\n\n// const handleUpdateAndReturn = () => {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, propertyDetails: getUpdatedData() } });\n// };\n\n// const ownerOptions = [\n// { code: \"OWNER\", name: \"EKYC_OWNER\" },\n// { code: \"TENANT\", name: \"EKYC_TENANT\" },\n// ];\n\n// return (\n// <Fragment>\n// <FormStep t={t} onSelect={onStepSelect} config={config || {}} label={t(config?.texts?.submitBarLabel) || (isEditing ? t(\"EKYC_UPDATE_AND_RETURN\") : t(\"ES_COMMON_CONTINUE\"))}>\n// <CardLabel>{t(\"EKYC_OWNER_TENANT\")}</CardLabel>\n// <RadioButtons\n// options={ownerOptions}\n// optionsKey=\"name\"\n// selectedOption={ownerOptions.find(o => o.code === ownerType)}\n// onSelect={(val) => setOwnerType(val.code)}\n// />\n\n// <CardLabel>{t(\"EKYC_PID_NUMBER\")}</CardLabel>\n// <TextInput\n// id=\"pidNumber\"\n// name=\"pidNumber\"\n// value={pidNumber}\n// onChange={(e) => setPidNumber(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_PID_NUMBER\")}\n// />\n\n// <CardLabel>{t(\"EKYC_USER_TYPE\")}</CardLabel>\n// <Dropdown\n// option={userTypeOptions}\n// optionKey=\"label\"\n// selected={userType}\n// select={setUserType}\n// t={t}\n// />\n\n// <CardLabel>{t(\"EKYC_NO_OF_FLOORS\")}</CardLabel>\n// <Dropdown\n// option={floorOptions}\n// optionKey=\"label\"\n// selected={noOfFloors}\n// select={setNoOfFloors}\n// t={t}\n// />\n\n// <CardLabel>{t(\"EKYC_TYPE_OF_CONNECTION\")}</CardLabel>\n// <Dropdown\n// option={connectionTypeOptions}\n// optionKey=\"label\"\n// selected={typeOfConnection}\n// select={setTypeOfConnection}\n// t={t}\n// />\n\n// <CardLabel>{t(\"EKYC_CONNECTION_CATEGORY\")}</CardLabel>\n// <Dropdown\n// option={connectionCategoryOptions}\n// optionKey=\"label\"\n// selected={connectionCategory}\n// select={setConnectionCategory}\n// t={t}\n// />\n\n// <CardLabel>{t(\"EKYC_UPLOAD_PROPERTY_DOC\")}</CardLabel>\n// <UploadFile\n// onUpload={selectpdf}\n// onDelete={() => {\n// setPropertyDocument(null);\n// setPropertyDocumentFileStoreId(null);\n// if (onSelect) {\n// onSelect(config.key, { ...getUpdatedData(), propertyDocument: null, propertyDocumentFileStoreId: null });\n// }\n// }}\n// message={propertyDocumentFileStoreId ? t(\"EKYC_FILE_UPLOADED\") : t(\"EKYC_NO_FILE_SELECTED\")}\n// />\n\n// {toast && <Toast label={toast.message} error={toast.type === \"error\"} onClose={() => setToast(null)} />}\n// </FormStep>\n// {isEditing && !onSelect && (\n// <ActionBar style={{ position: \"static\", marginTop: \"20px\" }}>\n// <SubmitBar label={t(\"EKYC_UPDATE_AND_RETURN\")} onSubmit={handleUpdateAndReturn} />\n// </ActionBar>\n// )}\n// </Fragment>\n// );\n// };\n\n// export default PropertyInfo;\n\n\n\nimport React, { useState, Fragment } from \"react\";\nimport {\n CardLabel,\n TextInput,\n Dropdown,\n UploadFile,\n Toast,\n FormStep,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst PropertyInfo = ({ config, onSelect }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 🔹 STATES\n const [pidNumber, setPidNumber] = useState(\"\");\n const [propertyType, setPropertyType] = useState(null);\n const [subPropertyCategory, setSubPropertyCategory] = useState(null);\n\n const [noOfFloors, setNoOfFloors] = useState(\"\");\n const [floorNo, setFloorNo] = useState(\"\");\n\n const [noOfRooms, setNoOfRooms] = useState(\"\");\n const [noOfBeds, setNoOfBeds] = useState(\"\");\n const [dwellingUnits, setDwellingUnits] = useState(\"\");\n\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(null);\n\n const [toast, setToast] = useState(null);\n\n // 🔹 PROPERTY TYPE OPTIONS (you can replace with MDMS)\n const propertyTypeOptions = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ];\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 (!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 = () => {\n if (!isValid()) {\n setToast({ type: \"error\", message: \"Fill all required fields\" });\n return;\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 onSelect(config.key, data);\n };\n\n return (\n <Fragment>\n <FormStep\n t={t}\n onSelect={onStepSelect}\n config={config}\n label={t(\"ES_COMMON_CONTINUE\")}\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\";\n// import {\n// Card,\n// CardLabel,\n// TextInput,\n// SubmitBar,\n// CardHeader,\n// ActionBar,\n// Dropdown,\n// UploadFile,\n// Toast,\n// FormStep,\n// } from \"@djb25/digit-ui-react-components\";\n// import { useTranslation } from \"react-i18next\";\n// import { useHistory, useLocation } from \"react-router-dom\";\n// import { getSavedData } from \"../../utils\";\n\n// const MeterDetails = ({ config, onSelect, formData, t: tProps }) => {\n// const { t } = useTranslation();\n// const history = useHistory();\n// const location = useLocation();\n\n// const flowState = location.state || {};\n// const { isEditing, kNumber } = flowState;\n\n// // Robust data extraction from formData\n// const activeEdits = formData || {};\n// const rawReviewData = formData?.reviewData || formData?.connectionDetails || {};\n// const reviewWrapper = rawReviewData?.applicationReview || rawReviewData;\n// const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n// const apiData = applicationData?.newData || applicationData;\n// const apiMeter = apiData?.meterDetails || apiData || {};\n\n// const tenantId = Digit.ULBService.getCurrentTenantId();\n\n// const { data: dataV0 } = Digit.Hooks.ekyc.useGetPropertyType(tenantId);\n// const { data: dataConn } = Digit.Hooks.ekyc.useGetConnectionTypeV2(tenantId);\n\n// const mtrData = activeEdits?.meterDetails || {};\n\n// const [meterStatus, setMeterStatus] = useState(mtrData.meterStatusData || (apiMeter.metered !== undefined ? { label: apiMeter.metered ? t(\"EKYC_METER_METERED\") : t(\"EKYC_METER_UNMETERED\"), value: apiMeter.metered ? \"Metered\" : \"Unmetered\" } : (apiMeter.meterStatus ? { label: t(`EKYC_METER_${apiMeter.meterStatus}`), value: apiMeter.meterStatus } : null)));\n// const [meterPhoto, setMeterStatusPhoto] = useState(mtrData.meterPhoto || null);\n// const [meterPhotoFileStoreId, setMeterStatusPhotoFileStoreId] = useState(mtrData.meterPhotoFileStoreId || apiMeter.meterPhotoFileStoreId || null);\n// const [workingStatus, setWorkingStatus] = useState(mtrData.workingStatusData || (apiMeter.workingStatus !== undefined ? { label: apiMeter.workingStatus ? t(\"EKYC_METER_WORKING\") : t(\"EKYC_METER_NOT_WORKING\"), value: apiMeter.workingStatus ? \"Working\" : \"Not Working\" } : (apiMeter.workingStatus ? { label: t(`EKYC_METER_${apiMeter.workingStatus}`), value: apiMeter.workingStatus } : null)));\n// const [meterLocation, setMeterLocation] = useState(mtrData.meterLocation || apiMeter.meterLocationAddress || apiMeter.meterLocation || \"\");\n// const [lastBillRaised, setLastBillRaised] = useState(mtrData.lastBillRaisedData || (apiMeter.lastBillRaised !== undefined ? { label: apiMeter.lastBillRaised ? t(\"CORE_COMMON_YES\") : t(\"CORE_COMMON_NO\"), value: apiMeter.lastBillRaised ? \"Yes\" : \"No\" } : (apiMeter.lastBillRaised ? { label: t(`EKYC_${apiMeter.lastBillRaised}`), value: apiMeter.lastBillRaised } : null)));\n// const [sewerConnection, setSewerConnection] = useState(mtrData.sewerConnectionData || (apiMeter.sewerConnection ? { label: t(`EKYC_${apiMeter.sewerConnection}`), value: apiMeter.sewerConnection } : null));\n// const [connectionCategory, setConnectionCategory] = useState(mtrData.connectionCategoryData || (apiMeter.connectionCategory ? { label: t(apiMeter.connectionCategory), value: apiMeter.connectionCategory } : (apiMeter.typeOfConnection ? { label: t(apiMeter.typeOfConnection), value: apiMeter.typeOfConnection } : null)));\n// const [connectionType, setConnectionType] = useState(mtrData.connectionTypeData || (apiMeter.connectionType ? { label: t(apiMeter.connectionType), value: apiMeter.connectionType } : (apiMeter.connectionCategory ? { label: t(apiMeter.connectionCategory), value: apiMeter.connectionCategory } : null)));\n\n// const [toast, setToast] = useState(null);\n\n// const getUpdatedData = () => ({\n// meterStatusData: meterStatus,\n// meterPhoto,\n// meterPhotoFileStoreId,\n// workingStatusData: workingStatus,\n// meterLocation,\n// lastBillRaisedData: lastBillRaised,\n// sewerConnectionData: sewerConnection,\n// connectionCategoryData: connectionCategory,\n// connectionTypeData: connectionType,\n// });\n\n// const selectphoto = async (e) => {\n// const file = e.target.files[0];\n// if (file) {\n// if (file.size >= 2000000) {\n// setToast({ type: \"error\", message: t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") });\n// return;\n// }\n// try {\n// const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n// if (res?.data?.files?.[0]?.fileStoreId) {\n// const fileStoreId = res.data.files[0].fileStoreId;\n// setMeterStatusPhotoFileStoreId(fileStoreId);\n// const reader = new FileReader();\n// reader.onloadend = () => {\n// setMeterStatusPhoto(reader.result);\n// if (onSelect) {\n// onSelect(config.key, { ...getUpdatedData(), meterPhoto: reader.result, meterPhotoFileStoreId: fileStoreId });\n// }\n// };\n// reader.readAsDataURL(file);\n// setToast({ type: \"success\", message: t(\"EKYC_UPLOAD_SUCCESS\") });\n// }\n// } catch (err) {\n// setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n// }\n// }\n// };\n\n// const onStepSelect = () => {\n// const updatedData = getUpdatedData();\n// if (onSelect) {\n// onSelect(config.key, updatedData);\n// } else {\n// if (isEditing) {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, meterDetails: updatedData } });\n// } else {\n// history.push(\"/digit-ui/employee/ekyc/review\", {\n// ...location.state,\n// edits: { ...edits, meterDetails: updatedData }\n// });\n// }\n// }\n// };\n\n// const handleUpdateAndReturn = () => {\n// history.push(\"/digit-ui/employee/ekyc/review\", { ...location.state, edits: { ...edits, meterDetails: getUpdatedData() } });\n// };\n\n// const meterStatusOptions = [\n// { label: t(\"EKYC_METER_METERED\"), value: \"Metered\" },\n// { label: t(\"EKYC_METER_UNMETERED\"), value: \"Unmetered\" },\n// ];\n\n// const workingStatusOptions = [\n// { label: t(\"EKYC_METER_WORKING\"), value: \"Working\" },\n// { label: t(\"EKYC_METER_NOT_WORKING\"), value: \"Not Working\" },\n// ];\n\n// const yesNoOptions = [\n// { label: t(\"CORE_COMMON_YES\"), value: \"Yes\" },\n// { label: t(\"CORE_COMMON_NO\"), value: \"No\" },\n// ];\n\n// const connectionCategoryOptions = dataV0?.[\"ws-services-calculation\"]?.propertyTypeV2?.map((item) => ({\n// label: t(item.code), value: item.code,\n// })) || [];\n\n// const connectionTypeOptions = dataConn?.[\"ws-services-calculation\"]?.connectionTypeV2?.map((item) => ({\n// label: t(item.code), value: item.code,\n// })) || [];\n\n// return (\n// <Fragment>\n// <FormStep t={t} onSelect={onStepSelect} config={config || {}} label={t(config?.texts?.submitBarLabel) || (isEditing ? t(\"EKYC_UPDATE_AND_RETURN\") : t(\"ES_COMMON_CONTINUE\"))}>\n// <CardLabel>{t(\"EKYC_METER_STATUS\")}</CardLabel>\n// <Dropdown\n// option={meterStatusOptions}\n// optionKey=\"label\"\n// selected={meterStatus}\n// select={setMeterStatus}\n// t={t}\n// />\n\n// {meterStatus?.value === \"Metered\" && (\n// <Fragment>\n// <CardLabel>{t(\"EKYC_METER_WORKING_STATUS\")}</CardLabel>\n// <Dropdown\n// option={workingStatusOptions}\n// optionKey=\"label\"\n// selected={workingStatus}\n// select={setWorkingStatus}\n// t={t}\n// />\n\n// <CardLabel>{t(\"EKYC_CAPTURE_METER_IMAGE\")}</CardLabel>\n// <UploadFile\n// onUpload={selectphoto}\n// onDelete={() => {\n// setMeterStatusPhoto(null);\n// setMeterStatusPhotoFileStoreId(null);\n// if (onSelect) {\n// onSelect(config.key, { ...getUpdatedData(), meterPhoto: null, meterPhotoFileStoreId: null });\n// }\n// }}\n// message={meterPhotoFileStoreId ? t(\"EKYC_FILE_UPLOADED\") : t(\"EKYC_NO_FILE_SELECTED\")}\n// />\n// {meterPhoto && <img src={meterPhoto} style={{ width: \"100%\", marginTop: \"10px\", borderRadius: \"8px\" }} />}\n\n// <CardLabel>{t(\"EKYC_METER_LOCATION\")}</CardLabel>\n// <TextInput\n// id=\"meterLocation\"\n// name=\"meterLocation\"\n// value={meterLocation}\n// onChange={(e) => setMeterLocation(e.target.value)}\n// placeholder={t(\"EKYC_ENTER_METER_LOCATION\")}\n// />\n\n// <CardLabel>{t(\"EKYC_LAST_BILL_RAISED\")}</CardLabel>\n// <Dropdown\n// option={yesNoOptions}\n// optionKey=\"label\"\n// selected={lastBillRaised}\n// select={setLastBillRaised}\n// t={t}\n// />\n// </Fragment>\n// )}\n\n// <CardLabel>{t(\"EKYC_SEWER_CONNECTION\")}</CardLabel>\n// <Dropdown\n// option={yesNoOptions}\n// optionKey=\"label\"\n// selected={sewerConnection}\n// select={setSewerConnection}\n// t={t}\n// />\n\n// <CardLabel>{t(\"EKYC_TYPE_OF_CONNECTION\")}</CardLabel>\n// <Dropdown\n// option={connectionCategoryOptions}\n// optionKey=\"label\"\n// selected={connectionCategory}\n// select={setConnectionCategory}\n// t={t}\n// />\n\n// <CardLabel>{t(\"EKYC_CONNECTION_CATEGORY\")}</CardLabel>\n// <Dropdown\n// option={connectionTypeOptions}\n// optionKey=\"label\"\n// selected={connectionType}\n// select={setConnectionType}\n// t={t}\n// />\n\n// {toast && <Toast label={toast.message} error={toast.type === \"error\"} onClose={() => setToast(null)} />}\n// </FormStep>\n// {isEditing && !onSelect && (\n// <ActionBar style={{ position: \"static\", marginTop: \"20px\" }}>\n// <SubmitBar label={t(\"EKYC_UPDATE_AND_RETURN\")} onSubmit={handleUpdateAndReturn} />\n// </ActionBar>\n// )}\n// </Fragment>\n// );\n// };\n\n// export default MeterDetails;\n\n\n\n\nimport React, { useState, Fragment } from \"react\";\nimport {\n CardLabel,\n TextInput,\n Dropdown,\n UploadFile,\n Toast,\n FormStep,\n} from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetails = ({ config, onSelect }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 🔹 STATES\n const [connectionCategory, setConnectionCategory] = useState(\"\");\n const [saType, setSaType] = useState(\"\");\n const [status, setStatus] = useState(\"\");\n\n const [mrCode, setMrCode] = useState(\"\");\n const [areaCode, setAreaCode] = useState(\"\");\n const [mrKey, setMrKey] = useState(\"\");\n\n const [meterNumber, setMeterNumber] = useState(\"\");\n const [meterMaker, setMeterMaker] = useState(\"\");\n\n const [meterStatus, setMeterStatus] = useState(null);\n const [meterCondition, setMeterCondition] = useState(null);\n const [meterLocation, setMeterLocation] = useState(null);\n\n const [lastBillReceived, setLastBillReceived] = useState(null);\n const [billMonthYear, setBillMonthYear] = useState(null);\n const [reason, setReason] = useState(\"\");\n\n const [accessToMeter, setAccessToMeter] = useState(null);\n const [sewerConnection, setSewerConnection] = useState(null);\n const [septicTank, setSepticTank] = useState(null);\n\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(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 // 🔹 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\n if (sewerConnection?.name === \"No\" && !septicTank) return false;\n\n return true;\n };\n\n // 🔹 SUBMIT\n const onStepSelect = () => {\n if (!isValid()) {\n setToast({ type: \"error\", message: \"Fill all mandatory fields\" });\n return;\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 onSelect(config.key, data);\n };\n\n return (\n <Fragment>\n <FormStep onSelect={onStepSelect} config={config}>\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 { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch } from \"react-router-dom\";\nimport Create from \"../employee/Create\";\nimport AadhaarVerification from \"../employee/AadhaarVerification\";\nimport AddressDetails from \"../employee/AddressDetails\";\nimport PropertyInfo from \"../employee/PropertyInfo\";\nimport MeterDetails from \"../employee/MeterDetails\";\nimport Review from \"../employee/Review\";\nimport Home from \"./Home\";\nimport Dashboard from \"../../components/Dashboard\";\nimport Inbox from \"./Inbox\";\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 <AppContainer>\n <div className=\"ground-container employee-app-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 exact path={`${path}`} component={() => <Home />} />\n <PrivateRoute path={`${path}/dashboard`} component={() => <Dashboard />} />\n <PrivateRoute path={`${path}/inbox`} component={() => <Inbox />} />\n\n <PrivateRoute path={`${path}/aadhaar-verification`} component={() => <AadhaarVerification />} />\n\n <PrivateRoute path={`${path}/address-details`} component={() => <AddressDetails />} />\n\n <PrivateRoute path={`${path}/property-info`} component={() => <PropertyInfo />} />\n\n <PrivateRoute path={`${path}/meter-details`} component={() => <MeterDetails />} />\n\n <PrivateRoute path={`${path}/review`} component={() => <Review />} />\n </Switch>\n </div>\n </AppContainer>\n );\n};\n\nexport default CitizenApp;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CitizenHomeCard, DocumentIcon } 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 AadhaarVerification from \"./pages/employee/AadhaarVerification\";\nimport AddressDetails from \"./pages/employee/AddressDetails\";\nimport PropertyInfo from \"./pages/employee/PropertyInfo\";\nimport MeterDetails from \"./pages/employee/MeterDetails\";\nexport const EkycModule = ({ userType, tenants }) => {\n const { path, url } = useRouteMatch();\n\n Digit.SessionStorage.set(\"EKYC_TENANTS\", tenants);\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","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","tableConfig","filterComponent","props","_Digit$ComponentRegis","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","row","_row$original","_row$original2","original","applicationNumber","cursor","fontWeight","onClick","_row$original3","citizenName","_row$original4","status","_row$original5","_row$original6","tableData","items","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","padding","Table","getCellProps","cellInfo","SearchConsumer","children","_props$countData","_props$countData2","_props$countData3","_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","totalCount","table","dispatch","checkPathName","onSortingByData","inboxStyles","tableStyle","_formState$tableForm","_formState$tableForm2","_formState$searchForm","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","SearchFormFieldsComponents","searchFormState","controlSearchForm","errors","Fragment","Label","Tooltip","Controller","name","control","defaultValue","rules","pattern","render","CardLabelError","Inbox","businessService","initialStates","isInbox","_formState$searchForm3","_formState$searchForm4","_dashboardData$dashbo2","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","pathname","includes","PropsForInboxLinks","SearchFormFields","useCallback","registerRef","Object","assign","tableOrderFormDefaultValues","window","Utils","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","FilterFormFields","controlFilterForm","setFilterFormValue","getFilterFormValue","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","SaveIcon","CheckIcon","XIcon","MOCK_SURVEYORS","role","MOCK_MRDS","code","zone","ConfirmDeleteModal","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","filter","handleSaveMappings","isEditing","minWidth","flexShrink","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","keys","forEach","startsWith","setItem","stringify","closeToast","ActionButton","jumpTo","routeTo","LinkButton","float","bottom","checkForNA","undefined","boolToYesNo","extractActiveData","flowState","rawData","reviewWrapper","applicationReview","applicationData","Array","isArray","newData","Review","_editedProperty$conne","_editedProperty$conne2","_editedProperty$userT","_editedProperty$noOfF","_editedMeter$meterSta","_editedMeter$workingS","_editedMeter$lastBill","agree","setAgree","isSubmitting","setIsSubmitting","edits","activeKno","addressDetails","editedAddress","propertyDetails","editedProperty","meterDetails","editedMeter","useEkycSearchReview","fetchType","activeData","apiConn","apiAddr","apiProp","apiMeter","connectionData","addressRaw","connectionCategory","meterNo","mobileNo","ekycStatus","knumber","addressData","fullAddress","flatHouseNumber","flatNo","buildingTower","building","landmark","pinCode","pincode","ward","locality","assembly","gpsValid","latitude","longitude","whatsappNo","whatsappNumber","noOfPerson","noOfPersons","doorPhotoFilestoreId","doorPhotoFileStoreId","propertyData","pidNumber","typeOfConnection","connectionTypeData","connectionCategoryData","userType","userTypeData","numberOfFloors","noOfFloorsData","tenantName","tenantMobile","propertyDocumentFileStoreId","buildingImageFileStoreId","meterData","metered","meterStatusData","meterMake","meterLocationAddress","meterLocation","meterLatitude","meterLongitude","workingStatus","workingStatusData","lastBillRaised","lastBillRaisedData","systemMeterId","meterPhotoFileStoreId","handleDeclaration","handleFinalSubmit","result","EkycService","application_update","success","err","console","baseUrl","CardHeader","margin","CardSubHeader","StatusTable","Row","actionButton","GenericFileIcon","CheckBox","checked","ActionBar","QueryClientContext","context","createContext","ReactQueryClientContext","getQueryClientContext","_ref","useQueryClient","queryClient","useContext","Error","AadhaarVerification","config","setKno","consumerType","setConsumerType","occupantType","setOccupantType","categoryType","setCategoryType","setConsumerName","firstName","setFirstName","middleName","setMiddleName","lastName","setLastName","gender","setGender","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","idFile","setIdFile","consent","setConsent","informantIsConsumer","setInformantIsConsumer","informantName","setInformantName","informantRelation","setInformantRelation","consumerTypeOptions","occupantOptions","genderOptions","uploadFile","setter","idSetter","file","files","_res$data","_res$data$files","_res$data$files$","res","UploadServices","Filestorage","fileStoreId","isValid","onStepSelect","FormStep","CardLabel","UploadFile","onUpload","ekycConfig","body","route","component","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","EKYCForm","passedPath","match","setParams","userInfo","UserService","getUser","rest","goNext","skipStep","isAddMultiple","currentPath","pop","routeObj","nextStep","currentIndex","findIndex","c","redirectWithHistory","base","slice","join","handleSelect","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","isCollapsible","defaultOpen","formData","Redirect","EmployeeApp","getBreadcrumbLabel","breadcrumbs","icon","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","PrivateRoute","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","log","selectphoto","reader","FileReader","onloadend","readAsDataURL","removePhoto","maxLength","onDelete","src","alt","PropertyInfo","setPidNumber","propertyType","setPropertyType","subPropertyCategory","setSubPropertyCategory","noOfFloors","setNoOfFloors","floorNo","setFloorNo","noOfRooms","setNoOfRooms","noOfBeds","setNoOfBeds","dwellingUnits","setDwellingUnits","buildingImage","setBuildingImage","buildingImageId","setBuildingImageId","propertyTypeOptions","handleUpload","gridColumn","MeterDetails","setConnectionCategory","saType","setSaType","setStatus","mrCode","setMrCode","areaCode","setAreaCode","mrKey","setMrKey","setMeterNumber","meterMaker","setMeterMaker","meterStatus","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","isFrozen","uploadPhoto","Home","ModuleLinksView","CitizenApp","exact","EkycModule","tenants","url","EkycLinks","matchPath","i18nKey","CitizenHomeCard","DocumentIcon","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}
|