@djb25/digit-ui-module-ekyc 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/components/EKYCCard.js","../src/components/StatusCards.js","../src/components/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/pages/employee/Inbox.js","../src/components/ConnectionDetailsView.js","../src/pages/employee/Create.js","../src/utils/index.js","../src/pages/employee/AddressDetails.js","../src/pages/employee/AadhaarVerification.js","../src/pages/employee/PropertyInfo.js","../src/pages/employee/Review.js","../src/pages/employee/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_CREATE_KYC\"),\n link: `/digit-ui/employee/ekyc/create-kyc`\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 { Chart, registerables } from \"chart.js\";\n\nChart.register(...registerables);\n\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n const chartRef2 = useRef(null);\n const chartInstance2 = useRef(null);\n\n const total = countData?.total || 0;\n const pending = countData?.pending || 0;\n const active = countData?.completed || 0; // Showing completed data as active\n const completed = 0; // Forced to 0\n const rejected = countData?.rejected || 0;\n\n const actualCompleted = countData?.completed || 0;\n const applied = total;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round((actualCompleted / total) * 100) : 0;\n\n useEffect(() => {\n // Chart 1: Status Breakdown\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n chartInstance1.current = new Chart(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_ACTIVE\"), t(\"EKYC_COMPLETED\"), t(\"EKYC_PENDING\")],\n datasets: [{\n data: [active, completed, pending],\n backgroundColor: [\"#1a3a6b\", \"#77B6EA\", \"#3d84ed\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n }],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: true,\n responsive: true,\n aspectRatio: 1,\n },\n });\n }\n\n // Chart 2: Applied vs Approved\n if (chartRef2.current) {\n if (chartInstance2.current) chartInstance2.current.destroy();\n const ctx2 = chartRef2.current.getContext(\"2d\");\n chartInstance2.current = new Chart(ctx2, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_APPROVED\"), t(\"EKYC_OTHERS\")],\n datasets: [{\n data: [approved, Math.max(0, applied - approved)],\n backgroundColor: [\"#219653\", \"#E0E0E0\"],\n borderColor: [\"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n }],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: true,\n responsive: true,\n aspectRatio: 1,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n if (chartInstance2.current) chartInstance2.current.destroy();\n };\n }, [pending, completed, active, applied, approved, t]);\n\n const formatNumber = (num) => {\n return new Intl.NumberFormat(\"en-IN\").format(num || 0);\n };\n\n return (\n <div style={{ fontFamily: \"'Segoe UI', sans-serif\", width: \"100%\" }}>\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"flex-start\", flexWrap: \"wrap\", gap: \"24px\" }}>\n\n {/* Statistics Section */}\n <div style={{ flex: \"1\", minWidth: \"250px\" }}>\n <div style={{ fontSize: \"11px\", fontWeight: \"700\", color: \"#888\", letterSpacing: \"1px\", marginBottom: \"16px\", textTransform: \"uppercase\" }}>\n {t(\"EKYC_DASHBOARD_METRICS\") || \"DASHBOARD METRICS\"}\n </div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: \"12px\" }}>\n {/* Active */}\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"10px\" }}>\n <span style={{ width: \"12px\", height: \"12px\", borderRadius: \"50%\", backgroundColor: \"#1a3a6b\", flexShrink: 0 }} />\n <span style={{ fontSize: \"14px\", color: \"#333\" }}>\n {t(\"EKYC_ACTIVE\")}: <strong style={{ color: \"#1a3a6b\" }}>{formatNumber(active)}</strong>\n </span>\n </div>\n\n {/* Pending */}\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"10px\" }}>\n <span style={{ width: \"12px\", height: \"12px\", borderRadius: \"50%\", backgroundColor: \"#3d84ed\", flexShrink: 0 }} />\n <span style={{ fontSize: \"14px\", color: \"#333\" }}>\n {t(\"EKYC_PENDING\")}: <strong style={{ color: \"#1a3a6b\" }}>{formatNumber(pending)}</strong>\n </span>\n </div>\n\n {/* Completed */}\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"10px\" }}>\n <span style={{ width: \"12px\", height: \"12px\", borderRadius: \"50%\", backgroundColor: \"#77B6EA\", flexShrink: 0 }} />\n <span style={{ fontSize: \"14px\", color: \"#333\" }}>\n {t(\"EKYC_COMPLETED\")}: <strong style={{ color: \"#1a3a6b\" }}>{formatNumber(completed)}</strong>\n </span>\n </div>\n\n {/* Total Section */}\n <div style={{ marginTop: \"20px\", padding: \"16px\", background: \"#f8faff\", borderRadius: \"8px\", border: \"1px solid #eef2f6\" }}>\n <div style={{ fontSize: \"32px\", fontWeight: \"800\", color: \"#1a3a6b\", lineHeight: 1 }}>\n {formatNumber(total)}\n </div>\n <div style={{ fontSize: \"12px\", color: \"#667085\", marginTop: \"4px\", fontWeight: \"600\" }}>\n {t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Applied\"}\n </div>\n </div>\n </div>\n </div>\n\n {/* Visualizations Section */}\n <div style={{ display: \"flex\", gap: \"32px\", alignItems: \"center\", justifyContent: \"flex-end\", flexWrap: \"wrap\" }}>\n\n {/* Chart 1: Status Breakdown */}\n <div style={{ textAlign: \"center\" }}>\n <div style={{ width: \"140px\", height: \"140px\", position: \"relative\" }}>\n <canvas ref={chartRef1} />\n <div style={{ position: \"absolute\", top: \"50%\", left: \"50%\", transform: \"translate(-50%, -50%)\", textAlign: \"center\", pointerEvents: \"none\", width: \"100%\" }}>\n {/* <div style={{ fontSize: \"16px\", fontWeight: \"800\", color: \"#1a3a6b\", lineHeight: 1.2 }}>\n {formatNumber(active)} / {formatNumber(total)}\n </div> */}\n <div style={{ fontSize: \"9px\", color: \"#667085\", fontWeight: \"700\", marginTop: \"4px\" }}>\n {efficiency}%\n </div>\n </div>\n </div>\n <div style={{ marginTop: \"8px\", fontSize: \"11px\", fontWeight: \"700\", color: \"#888\", textTransform: \"uppercase\" }}>{t(\"EKYC_STATUS_BREAKDOWN\")}</div>\n </div>\n\n {/* Chart 2: Applied vs Approved */}\n <div style={{ textAlign: \"center\" }}>\n <div style={{ width: \"140px\", height: \"140px\", position: \"relative\" }}>\n <canvas ref={chartRef2} />\n <div style={{ position: \"absolute\", top: \"50%\", left: \"50%\", transform: \"translate(-50%, -50%)\", textAlign: \"center\", pointerEvents: \"none\", width: \"100%\" }}>\n {/* <div style={{ fontSize: \"16px\", fontWeight: \"800\", color: \"#219653\", lineHeight: 1.2 }}>\n {formatNumber(approved)} / {formatNumber(applied)}\n </div> */}\n <div style={{ fontSize: \"9px\", color: \"#667085\", fontWeight: \"700\", marginTop: \"4px\" }}>\n {total > 0 ? Math.round((approved / total) * 100) : 0}%\n </div>\n </div>\n </div>\n <div style={{ marginTop: \"8px\", fontSize: \"11px\", fontWeight: \"700\", color: \"#888\", textTransform: \"uppercase\" }}>{t(\"EKYC_SUBMISSION_HEALTH\")}</div>\n </div>\n\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;","import React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, SubmitBar, Header, Card, HomeIcon, PersonIcon, Modal, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } 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 onSearch,\n searchFields,\n } = props;\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const [FilterComponent, setComp] = React.useState(() => Digit.ComponentRegistryService?.getComponent(filterComponent));\n\n // State for Review Modal\n const [showReviewModal, setShowReviewModal] = useState(false);\n const [reviewHtml, setReviewHtml] = useState(\"\");\n const [selectedKno, setSelectedKno] = useState(\"\");\n\n const generateReviewHtml = (info) => {\n if (!info) return \"<h3>No data found</h3>\";\n\n // Helper to format labels\n const formatLabel = (str) => str.replace(/([A-Z])/g, ' $1').replace(/^./, (s) => s.toUpperCase());\n\n return `\n <!DOCTYPE html>\n <html>\n <head>\n <link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\n <style>\n body { font-family: 'Inter', sans-serif; padding: 30px; color: #101828; line-height: 1.5; background: #fff; }\n .header { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 2px solid #185FA5; padding-bottom: 20px; margin-bottom: 30px; }\n .title { margin: 0; color: #185FA5; font-size: 24px; font-weight: 700; }\n .subtitle { margin: 5px 0 0; color: #667085; font-size: 14px; }\n .section { margin-bottom: 30px; border: 1px solid #EAECF0; border-radius: 12px; overflow: hidden; }\n .section-header { background: #F9FAFB; padding: 12px 20px; border-bottom: 1px solid #EAECF0; font-weight: 700; font-size: 14px; color: #344054; text-transform: uppercase; letter-spacing: 0.05em; }\n .grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; }\n .item { padding: 16px 20px; border-bottom: 1px solid #F2F4F7; }\n .item:nth-last-child(-n+2) { border-bottom: none; }\n .label { font-size: 11px; color: #667085; text-transform: uppercase; font-weight: 600; letter-spacing: 0.02em; margin-bottom: 4px; }\n .value { font-size: 14px; font-weight: 500; color: #1D2939; }\n .badge { display: inline-block; padding: 4px 12px; border-radius: 16px; font-size: 12px; font-weight: 600; }\n .badge-success { background: #ECFDF3; color: #027A48; }\n .badge-warning { background: #FFFAEB; color: #B54708; }\n .print-btn { background: #185FA5; color: #fff; padding: 10px 20px; border: none; border-radius: 8px; cursor: pointer; font-weight: 600; font-size: 14px; display: block; margin: 20px auto; }\n @media print { .print-btn { display: none; } body { padding: 0; } }\n </style>\n </head>\n <body>\n <div class=\"header\">\n <div>\n <h1 class=\"title\">Delhi Jal Board</h1>\n <p class=\"subtitle\">EKYC Application Review Summary</p>\n </div>\n <div style=\"text-align: right\">\n <span class=\"badge ${info.statusFlag === 'ACTIVE' ? 'badge-success' : 'badge-warning'}\">${info.statusFlag || 'N/A'}</span>\n <p class=\"subtitle\" style=\"margin-top: 8px\">Generated on: ${new Date().toLocaleDateString()}</p>\n </div>\n </div>\n\n <div class=\"section\">\n <div class=\"section-header\">Basic Details</div>\n <div class=\"grid\">\n <div class=\"item\"><div class=\"label\">KNO Number</div><div class=\"value\">${info.kno || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Consumer Name</div><div class=\"value\">${info.consumerName || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Mobile Number</div><div class=\"value\">${info.mobileNo || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Email Address</div><div class=\"value\">${info.email || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Connection Type</div><div class=\"value\">${info.typeOfConnection || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Category</div><div class=\"value\">${info.connectionCategory || 'N/A'}</div></div>\n </div>\n </div>\n\n <div class=\"section\">\n <div class=\"section-header\">Location & Property Information</div>\n <div class=\"grid\">\n <div class=\"item\"><div class=\"label\">Address</div><div class=\"value\">${info.addressRaw || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Locality</div><div class=\"value\">${info.locality || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">City - Pincode</div><div class=\"value\">${info.city || 'N/A'} - ${info.pincode || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">PID Number</div><div class=\"value\">${info.pidNumber || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">No. of Floors</div><div class=\"value\">${info.noOfFloor || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Verification Status</div><div class=\"value\"><span class=\"badge ${info.verificationStatus === 'SUCCESSFUL' ? 'badge-success' : 'badge-warning'}\">${info.verificationStatus || 'PENDING'}</span></div></div>\n </div>\n </div>\n\n <div class=\"section\">\n <div class=\"section-header\">Meter Information</div>\n <div class=\"grid\">\n <div class=\"item\"><div class=\"label\">Meter Number</div><div class=\"value\">${info.meterNumber || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Meter Make</div><div class=\"value\">${info.meterMake || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Meter Location</div><div class=\"value\">${info.meterLocationAddress || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Working Status</div><div class=\"value\">${info.workingStatus ? 'Working' : 'Not Working'}</div></div>\n </div>\n </div>\n\n <button class=\"print-btn\" onclick=\"window.print()\">Print This Review</button>\n </body>\n </html>\n `;\n };\n\n // Use the library hook if available, otherwise fallback to local definition\n // This is a safety measure to handle stale library builds in dev environment\n const useReviewHook = Digit.Hooks.ekyc?.useEkycApplicationReview || ((p, config) => {\n return Digit.Hooks.useMutation((data) => Digit.EkycService.application_review(data, p), config);\n });\n\n const { mutate: getReview, isLoading: isReviewLoading } = useReviewHook(\n { tenantId },\n {\n onSuccess: (res) => {\n if (res?.applicationReviewInfo) {\n const html = generateReviewHtml(res.applicationReviewInfo);\n setReviewHtml(html);\n setShowReviewModal(true);\n } else {\n // Fallback to URL method if the API is updated later to return a URL\n const url = res?.acknowledgementURL || res?.reviewUrl || res?.url;\n if (url) {\n setReviewHtml(\"\"); // Clear HTML so iframe uses URL\n setReviewUrl(url);\n setShowReviewModal(true);\n } else {\n alert(t(\"EKYC_REVIEW_INFO_NOT_FOUND\"));\n }\n }\n },\n onError: (err) => {\n alert(err?.message || t(\"ERR_FAILED_TO_FETCH_REVIEW\"));\n }\n }\n );\n\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\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: \"status\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>;\n },\n },\n ],\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || [];\n }, [data]);\n\n return (\n <div className=\"ground-container employee-app-container form-container\">\n <div className=\"inbox-container\" style={{ paddingBottom: \"16px\" }}>\n {showReviewModal && (\n <Modal\n headerBarMain={t(\"EKYC_APPLICATION_REVIEW\") + (selectedKno ? ` - ${selectedKno}` : \"\")}\n headerBarEnd={<div style={{ cursor: \"pointer\", padding: \"5px 10px\", background: \"#F2F4F7\", borderRadius: \"4px\" }} onClick={() => setShowReviewModal(false)}>{t(\"CLOSE\")}</div>}\n hideSubmit={true}\n popupStyles={{ width: \"90%\", height: \"90%\", maxWidth: \"1000px\" }}\n popupModuleMianStyles={{ height: \"calc(100% - 60px)\", padding: 0 }}\n >\n <iframe\n srcDoc={reviewHtml}\n src={!reviewHtml ? reviewUrl : undefined}\n title=\"Application Review\"\n style={{ width: \"100%\", height: \"100%\", border: \"none\" }}\n />\n </Modal>\n )}\n {(isLoading || isReviewLoading) && <Loader />}\n <div className=\"filters-container\">\n {/* Sidebar Title Card */}\n <Card\n className=\"sidebar-title-card\"\n style={{ display: \"flex\", alignItems: \"center\", padding: \"16px\", marginBottom: \"16px\", borderRadius: \"4px\" }}\n >\n <div className=\"icon-container\" style={{ color: \"#3A8DCC\", marginRight: \"12px\" }}>\n <HomeIcon style={{ width: \"24px\", height: \"24px\" }} />\n </div>\n <div style={{ fontWeight: \"700\", fontSize: \"18px\", color: \"#0B0C0C\" }}>{t(\"ACTION_TEST_EKYC\")}</div>\n </Card>\n\n <div>\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 </div>\n\n <div style={{ flex: 1, marginLeft: \"16px\" }}>\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\" style={{ marginBottom: \"16px\", padding: \"16px\" }}>\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, Fragment } from \"react\";\nimport { TextInput, Card, SubmitBar, Header, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport StatusCards from \"./StatusCards\";\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=\"inbox-container\">\n <div className=\"filters-container\">\n {/* Sidebar Title Card */}\n <Card\n className=\"sidebar-title-card\"\n style={{ display: \"flex\", alignItems: \"center\", padding: \"16px\", marginBottom: \"16px\", borderRadius: \"4px\" }}\n >\n <div className=\"icon-container\" style={{ color: \"#3A8DCC\", marginRight: \"12px\" }}>\n <HomeIcon style={{ width: \"24px\", height: \"24px\" }} />\n </div>\n <div style={{ fontWeight: \"700\", fontSize: \"18px\", color: \"#0B0C0C\" }}>{t(\"ACTION_CREATE_EKYC\")}</div>\n </Card>\n\n <div>\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 </div>\n\n <div style={{ flex: 1, marginLeft: \"16px\" }}>\n {/* <Card className=\"ekyc-metrics-card\" style={{ marginBottom: \"16px\", padding: \"16px\" }}>\n <StatusCards countData={props.countData} />\n </Card> */}\n\n <Card\n className=\"ekyc-search-card\"\n style={{ padding: \"24px\", marginBottom: \"24px\", borderRadius: \"12px\", boxShadow: \"0 4px 12px rgba(0,0,0,0.05)\" }}\n >\n <Header style={{ fontSize: \"24px\", marginBottom: \"20px\", fontWeight: \"700\", color: \"#0B0C0C\" }}>{t(\"EKYC_SEARCH_CONSUMER_HEADER\")}</Header>\n <form onSubmit={onSubmit}>\n <div style={{ display: \"flex\", gap: \"24px\", alignItems: \"flex-end\", flexWrap: \"wrap\" }}>\n <div style={{ flex: \"1\", minWidth: \"250px\" }}>\n <div className=\"filter-label\" style={{ fontWeight: \"600\", marginBottom: \"8px\", fontSize: \"14px\", color: \"#505A5F\" }}>\n {t(\"EKYC_K_NUMBER\")}\n </div>\n <div style={{ position: \"relative\" }}>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\")}\n style={{ borderRadius: \"8px\", paddingLeft: \"12px\", height: \"44px\" }}\n />\n </div>\n </div>\n\n <div style={{ flex: \"1\", minWidth: \"250px\" }}>\n <div className=\"filter-label\" style={{ fontWeight: \"600\", marginBottom: \"8px\", fontSize: \"14px\", color: \"#505A5F\" }}>\n {t(\"EKYC_K_NAME\")}\n </div>\n <div style={{ position: \"relative\" }}>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\")}\n style={{ borderRadius: \"8px\", paddingLeft: \"12px\", height: \"44px\" }}\n />\n </div>\n </div>\n </div>\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", marginTop: \"20px\" }}>\n <div style={{ display: \"flex\", gap: \"12px\", alignItems: \"center\" }}>\n <button\n type=\"button\"\n onClick={onClear}\n style={{\n background: \"none\",\n border: \"none\",\n color: \"#0076f3ff\",\n fontWeight: \"600\",\n cursor: \"pointer\",\n fontSize: \"14px\",\n padding: \"10px\",\n }}\n >\n {t(\"ES_COMMON_CLEAR\")}\n </button>\n\n <SubmitBar\n label={t(\"ES_COMMON_SEARCH\")}\n onSubmit={onSubmit}\n style={{\n margin: 0,\n borderRadius: \"8px\",\n height: \"44px\",\n padding: \"0 32px\",\n // ❌ remove this (it breaks alignment)\n // marginTop: \"-55px\"\n }}\n />\n </div>\n </div>\n </form>\n </Card>\n {children}\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;\n","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, { useEffect, 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 localParamChange = (filterParam) => {\n let keys_to_delete = filterParam.delete;\n let _new = { ..._searchParams, ...filterParam };\n if (keys_to_delete) keys_to_delete.forEach((key) => delete _new[key]);\n delete filterParam.delete;\n setSearchParams({ ..._new });\n };\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) => { e && e.preventDefault(); fn(); }}\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, { useCallback, useEffect, useState, useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport DesktopInbox from \"../../components/DesktopInbox\";\nimport MobileInbox from \"../../components/MobileInbox\";\nimport Filter from \"../../components/Filter\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({\n parentRoute,\n businessService = \"EKYC\",\n initialStates = {},\n filterComponent,\n isInbox,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n\n // 1. Unified State Management\n const [pageOffset, setPageOffset] = useState(initialStates.pageOffset || 0);\n const [pageSize, setPageSize] = useState(initialStates.pageSize || 10);\n const [sortParams, setSortParams] = useState(initialStates.sortParams || [{ id: \"createdTime\", desc: true }]);\n\n // Define the default option for the dropdown\n const defaultStatusOption = useMemo(() => ({ label: t(\"EKYC_STATUS_ALL\"), value: \"\" }), [t]);\n\n // Maintain the full search objects for the Search component\n const [searchParams, setSearchParams] = useState(initialStates.searchParams || { status: defaultStatusOption });\n\n // 2. API Data Fetching\n const { isLoading, data: dashboardData, isFetching } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {}, \n { \n tenantId, \n offset: pageOffset, \n limit: pageSize,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const filteredData = useMemo(() => {\n let items = dashboardData?.dashboardInfo?.consumerList || [];\n \n // Frontend filtering since we no longer send status to API\n const selectedStatus = searchParams.status?.value;\n if (selectedStatus && selectedStatus !== \"\") {\n items = items.filter(item => item.status === selectedStatus);\n }\n\n return items.map(item => ({\n ...item,\n applicationNumber: item.kno || item.applicationNumber,\n citizenName: item.consumerName || item.citizenName,\n }));\n }, [dashboardData, searchParams.status]);\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 const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n // 3. Handlers\n const handleSearch = useCallback((filterParam) => {\n // Here we keep the full objects (like for dropdowns) in searchParams\n // so that the Search component can display them correctly.\n setSearchParams((prev) => ({ ...prev, ...filterParam }));\n setPageOffset(0);\n }, []);\n\n const fetchNextPage = () => setPageOffset((prev) => prev + pageSize);\n const fetchPrevPage = () => setPageOffset((prev) => Math.max(prev - pageSize, 0));\n\n const handlePageSizeChange = (e) => {\n const newSize = Number(e.target.value);\n setPageSize(newSize);\n setPageOffset(0);\n };\n\n const handleSort = useCallback((args) => {\n if (args.length > 0) setSortParams(args);\n }, []);\n\n // 4. Form Configuration\n const searchFields = useMemo(() => [\n {\n label: t(\"EKYC_STATUS\"),\n name: \"status\",\n type: \"dropdown\",\n options: [\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 optionsKey: \"label\"\n },\n ], [t]);\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"inbox-main-container\">\n {Digit.Utils.browser.isMobile() ? (\n <MobileInbox\n data={{ items: filteredData, totalCount: totalRecords }}\n isLoading={isLoading || isFetching}\n onSearch={handleSearch}\n searchFields={searchFields}\n searchParams={searchParams}\n parentRoute={parentRoute}\n countData={countData}\n />\n ) : (\n <DesktopInbox\n businessService={businessService}\n data={{ items: filteredData, totalCount: totalRecords }}\n isLoading={isLoading || isFetching}\n searchFields={searchFields}\n onSearch={handleSearch}\n onSort={handleSort}\n onNextPage={fetchNextPage}\n onPrevPage={fetchPrevPage}\n currentPage={Math.floor(pageOffset / pageSize)}\n pageSizeLimit={pageSize}\n onPageSizeChange={handlePageSizeChange}\n parentRoute={parentRoute}\n searchParams={searchParams}\n sortParams={sortParams}\n totalRecords={totalRecords}\n countData={countData}\n filterComponent=\"EKYC_INBOX_FILTER\"\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default Inbox;","import React, { useState } from \"react\";\nimport { Card, CardHeader, StatusTable, Row, ActionBar, Modal, RadioButtons, Loader, CardLabel, SubmitBar } 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 = () => {\n setShowModal(true);\n };\n\n const onModalConfirm = () => {\n // Correctly handle redirection from create-kyc or dashboard\n const parentPath = path.includes(\"/create-kyc\") ? path.replace(\"/create-kyc\", \"\") : path.replace(\"/k-details\", \"\");\n history.push(`${parentPath}/aadhaar-verification`, { kNumber, selectedOption, connectionDetails });\n setShowModal(false);\n };\n\n const handleRaiseCorrection = () => {\n console.log(\"Raise Correction clicked\");\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n if (!connectionDetails) {\n return null;\n }\n\n return (\n <React.Fragment>\n <Card className=\"ekyc-create-card\" style={{ padding: \"24px\" }}>\n <CardHeader>{t(\"EKYC_K_NUMBER_DETAILS\")}</CardHeader>\n <StatusTable>\n <Row label={t(\"EKYC_K_NUMBER\")} text={kNumber || t(\"CS_NA\")} />\n <Row label={t(\"EKYC_K_NAME\")} text={kName || t(\"CS_NA\")} />\n </StatusTable>\n\n <CardHeader style={{ marginTop: \"24px\" }}>{t(\"EKYC_CONNECTION_DETAILS\")}</CardHeader>\n {connectionDetails?.connectionDetails ? (\n <StatusTable>\n <Row label={t(\"EKYC_CONSUMER_NAME\")} text={connectionDetails.connectionDetails.consumerName || t(\"CS_NA\")} />\n <Row label={t(\"EKYC_ADDRESS\")} text={connectionDetails.connectionDetails.address || t(\"CS_NA\")} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\")} text={connectionDetails.connectionDetails.connectionType || t(\"CS_NA\")} />\n <Row label={t(\"EKYC_METER_NO\")} text={connectionDetails.connectionDetails.meterNumber || t(\"CS_NA\")} />\n <Row label={t(\"EKYC_PHONE_NO\")} text={connectionDetails.connectionDetails.phoneNumber || t(\"CS_NA\")} />\n <Row label={t(\"EKYC_EMAIL\")} text={connectionDetails.connectionDetails.email || t(\"CS_NA\")} />\n <Row label={t(\"EKYC_STATUS\")} text={connectionDetails.connectionDetails.statusflag || t(\"CS_NA\")} />\n </StatusTable>\n ) : (\n <CardLabel>{t(\"EKYC_NO_CONNECTION_DETAILS_FOUND\")}</CardLabel>\n )}\n\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", marginTop: \"16px\" }}>\n <SubmitBar label={t(\"EKYC_START_VERIFICATION\")} onSubmit={handleStartVerification} style={{ borderRadius: \"12px\", margin: 0 }} />\n </div>\n {/* <button\n className=\"submit-bar\"\n style={{\n marginLeft: \"10px\",\n background: \"#3A8DCC\",\n border: \"none\",\n color: \"#fff\",\n padding: \"10px 24px\",\n borderRadius: \"12px\",\n fontWeight: \"600\",\n cursor: \"pointer\",\n boxShadow: \"0 2px 4px rgba(0,0,0,0.1)\"\n }}\n onClick={handleRaiseCorrection}\n >\n {t(\"EKYC_RAISE_CORRECTION\")}\n </button> */}\n </Card>\n\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 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;\n","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\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 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 Object.keys(sessionStorage).forEach(key => {\n if (key.startsWith(\"EKYC_\")) 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 <div class=\"ground-container employee-app-container form-container\">\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 </div>\n );\n};\n\nexport default Create;\n","/**\n * Compares initial and current objects and returns an object containing only the differences.\n * Highly optimized for partial updates (PATCH-like behavior).\n * \n * @param {Object} initial - The original data from the backend.\n * @param {Object} current - The current form state.\n * @returns {Object} - An object with only the changed fields.\n */\nexport const getPayloadDiff = (initial, current) => {\n const diff = {};\n \n Object.keys(current).forEach(key => {\n const initialVal = initial?.[key];\n const currentVal = current[key];\n\n // Handle nested objects (like addressDetails or aadhaarDetails)\n if (currentVal && typeof currentVal === 'object' && !Array.isArray(currentVal) && !(currentVal instanceof File)) {\n const nestedDiff = getPayloadDiff(initialVal || {}, currentVal);\n if (Object.keys(nestedDiff).length > 0) {\n diff[key] = nestedDiff;\n }\n } \n // Handle primitive types or arrays/files\n else if (JSON.stringify(initialVal) !== JSON.stringify(currentVal)) {\n diff[key] = currentVal;\n }\n });\n\n return diff;\n};\n\n/**\n * Safely retrieves and parses JSON data from sessionStorage.\n * @param {string} key - The storage key.\n * @param {*} fallback - Default value if no data is found.\n * @returns {*} The parsed data or fallback.\n */\nexport const getSavedData = (key, fallback) => {\n const saved = sessionStorage.getItem(key);\n try {\n return saved ? JSON.parse(saved) : fallback;\n } catch (e) {\n console.warn(`Error parsing sessionStorage key \"${key}\":`, e);\n return fallback;\n }\n};\n","import React, { useState, useRef, Fragment, useEffect } from \"react\";\nimport {\n Card,\n LabelFieldPair,\n CardLabel,\n TextInput,\n SubmitBar,\n CardHeader,\n RadioButtons,\n ActionBar,\n InfoBannerIcon,\n PropertyHouse,\n LocationIcon,\n HomeIcon,\n ConnectingCheckPoints,\n CheckPoint,\n Dropdown,\n Loader,\n UploadFile,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { getPayloadDiff, getSavedData } from \"../../utils\";\n\n// ─── Icons ────────────────────────────────────────────────────────────────────\n\nconst FlagIcon = ({ size = 20 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M14.4 6L13.6 4H5V21H7V14H12.6L13.4 16H20V6H14.4Z\" fill=\"#0F6E56\" />\n </svg>\n);\n\nconst IdCardIcon = ({ size = 20 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M2 7V17C2 18.1 2.9 19 4 19H20C21.1 19 22 18.1 22 17V7C22 5.9 21.1 5 20 5H4C2.9 5 2 5.9 2 7ZM12 11H14V13H12V11ZM12 7H14V9H12V7ZM16 11H20V13H16V11ZM16 7H20V9H16V7ZM4 7H10V15H4V7ZM20 17H4V16H20V17Z\"\n fill=\"#185FA5\"\n />\n </svg>\n);\n\nconst CameraIcon = ({ size = 28 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M9 2L7.17 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4H16.83L15 2H9ZM12 17C9.24 17 7 14.76 7 12C7 9.24 9.24 7 12 7C14.76 7 17 9.24 17 12C17 14.76 14.76 17 12 17ZM12 9C10.34 9 9 10.34 9 12C9 13.66 10.34 15 12 15C13.66 15 15 13.66 15 12C15 10.34 13.66 9 12 9Z\"\n fill=\"#185FA5\"\n />\n </svg>\n);\n\nconst TargetIcon = ({ size = 20 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M12 8C9.79 8 8 9.79 8 12C8 14.21 9.79 16 12 16C14.21 16 16 14.21 16 12C16 9.79 14.21 8 12 8ZM20.94 11C20.48 6.83 17.17 3.52 13 3.06V1H11V3.06C6.83 3.52 3.52 6.83 3.06 11H1V13H3.06C3.52 17.17 6.83 20.48 11 20.94V23H13V20.94C17.17 20.48 20.48 17.17 20.94 13H23V11H20.94ZM12 19C8.13 19 5 15.87 5 12C5 8.13 8.13 5 12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19Z\"\n fill=\"#185FA5\"\n />\n </svg>\n);\n\nconst PincodeIcon = ({ size = 18 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M13 13V11H15V13H13ZM13 9V7H15V9H13ZM17 13V11H19V13H17ZM17 9V7H19V9H17ZM11 13V11H9V13H11ZM11 9V7H9V9H11ZM7 13V11H5V13H7ZM7 9V7H5V9H7ZM21 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H21C22.1 21 23 20.1 23 19V5C23 3.9 22.1 3 21 3ZM21 19H3V5H21V19Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst TrashIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#D92D20\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <polyline points=\"3 6 5 6 21 6\" />\n <path d=\"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6\" />\n <path d=\"M10 11v6M14 11v6\" />\n <path d=\"M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2\" />\n </svg>\n);\n\nconst CheckIcon = ({ size = 11, color = \"#fff\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"3\" strokeLinecap=\"round\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n);\n\n// ─── Reusable: Icon-prefixed input ────────────────────────────────────────────\n\nconst IconInput = ({ icon, topAligned = false, inputStyle = {}, ...props }) => (\n <div style={{ position: \"relative\", width: \"100%\" }}>\n <div style={{\n position: \"absolute\",\n left: \"10px\",\n ...(topAligned ? { top: \"14px\" } : { top: \"50%\", transform: \"translateY(-50%)\" }),\n zIndex: 1,\n opacity: 0.45,\n display: \"flex\",\n pointerEvents: \"none\",\n }}>\n {icon}\n </div>\n <TextInput\n textInputStyle={{ paddingLeft: \"36px\", paddingRight: \"12px\", ...inputStyle }}\n {...props}\n />\n </div>\n);\n\n// ─── Reusable: Section heading with inline rule ───────────────────────────────\n\nconst SectionHead = ({ icon, label }) => (\n <div style={{\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n marginBottom: \"16px\", marginTop: \"4px\",\n }}>\n <div style={{ opacity: 0.5, display: \"flex\" }}>{icon}</div>\n <span style={{ fontSize: \"15px\", fontWeight: \"600\", color: \"#0B0C0C\", whiteSpace: \"nowrap\" }}>\n {label}\n </span>\n <div style={{ flex: 1, height: \"1px\", background: \"#EAECF0\" }} />\n </div>\n);\n\n// ─── Reusable: Admin info card ────────────────────────────────────────────────\n\nconst AdminCard = ({ bgColor, iconBg, icon, labelColor, label, value }) => (\n <div style={{\n backgroundColor: bgColor,\n padding: \"14px 16px\",\n borderRadius: \"8px\",\n display: \"flex\",\n alignItems: \"center\",\n gap: \"14px\",\n border: \"0.5px solid #EAECF0\",\n }}>\n <div style={{ backgroundColor: iconBg, padding: \"8px\", borderRadius: \"8px\", display: \"flex\", flexShrink: 0 }}>\n {icon}\n </div>\n <div>\n <div style={{ color: labelColor, fontSize: \"10px\", fontWeight: \"600\", textTransform: \"uppercase\", letterSpacing: \"0.05em\", marginBottom: \"3px\" }}>\n {label}\n </div>\n <div style={{ fontSize: \"14px\", fontWeight: \"600\", color: \"#101828\" }}>{value}</div>\n </div>\n </div>\n);\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst AddressDetails = ({ isSection = false, onComplete, parentState }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n\n const flowState = parentState || location.state || {\n kNumber: \"EKYC-1234567890\",\n selectedOption: { code: \"SELF\", name: \"EKYC_SELF\" },\n connectionDetails: null,\n initialData: {},\n };\n\n const initialData = flowState.initialData || {};\n\n const addrDetails = flowState.connectionDetails?.addressDetails || {};\n\n const [addressType, setAddressType] = useState(() => getSavedData(\"EKYC_ADDRESS_TYPE\", { code: \"AADHAAR\", name: \"EKYC_AADHAAR_ADDRESS\" }));\n const [correctAddress, setCorrectAddress] = useState(() => getSavedData(\"EKYC_ADDRESS_CORRECT\", { code: \"NO\", name: \"CORE_COMMON_NO\" }));\n const [fullAddress, setFullAddress] = useState(() => sessionStorage.getItem(\"EKYC_FULL_ADDRESS\") || initialData.fullAddress || \"\");\n const [flatNo, setFlatNo] = useState(() => sessionStorage.getItem(\"EKYC_FLAT_NO\") || initialData.flatNo || \"\");\n const [building, setBuilding] = useState(() => sessionStorage.getItem(\"EKYC_BUILDING\") || initialData.building || \"\");\n const [landmark, setLandmark] = useState(() => sessionStorage.getItem(\"EKYC_LANDMARK\") || initialData.landmark || \"\");\n const [pincode, setPincode] = useState(() => sessionStorage.getItem(\"EKYC_PINCODE\") || initialData.pincode || \"\");\n const [doorPhoto, setDoorPhoto] = useState(() => sessionStorage.getItem(\"EKYC_DOOR_PHOTO\") || null);\n const [doorPhotoFileStoreId, setDoorPhotoFileStoreId] = useState(() => sessionStorage.getItem(\"EKYC_DOOR_PHOTO_FILESTORE_ID\") || null);\n \n const [filephoto, setFilephoto] = useState(null);\n const [error, setError] = useState(null);\n const [toast, setToast] = useState(null);\n\n // Sync address state to sessionStorage\n useEffect(() => {\n sessionStorage.setItem(\"EKYC_ADDRESS_TYPE\", JSON.stringify(addressType));\n sessionStorage.setItem(\"EKYC_ADDRESS_CORRECT\", JSON.stringify(correctAddress));\n sessionStorage.setItem(\"EKYC_FULL_ADDRESS\", fullAddress);\n sessionStorage.setItem(\"EKYC_FLAT_NO\", flatNo);\n sessionStorage.setItem(\"EKYC_BUILDING\", building);\n sessionStorage.setItem(\"EKYC_LANDMARK\", landmark);\n sessionStorage.setItem(\"EKYC_PINCODE\", pincode);\n if (doorPhoto) sessionStorage.setItem(\"EKYC_DOOR_PHOTO\", doorPhoto);\n if (doorPhotoFileStoreId) sessionStorage.setItem(\"EKYC_DOOR_PHOTO_FILESTORE_ID\", doorPhotoFileStoreId);\n sessionStorage.setItem(\"EKYC_CURRENT_STEP\", \"ADDRESS\");\n }, [addressType, correctAddress, fullAddress, flatNo, building, landmark, pincode, doorPhoto, doorPhotoFileStoreId]);\n\n const uploadFile = async (file, tenantId) => {\n if (!file) return null;\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n return res?.data?.files?.[0]?.fileStoreId || null;\n };\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (filephoto) {\n if (filephoto.size >= 2000000) {\n setError(t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"));\n setToast({ type: \"error\", message: t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") });\n } else {\n try {\n setToast({ type: \"info\", message: t(\"EKYC_UPLOADING\") });\n const fsId = await uploadFile(filephoto, tenantId);\n if (fsId) {\n setDoorPhotoFileStoreId(fsId);\n const reader = new FileReader();\n reader.onloadend = () => setDoorPhoto(reader.result);\n reader.readAsDataURL(filephoto);\n setToast({ type: \"success\", message: t(\"EKYC_UPLOAD_SUCCESS\") });\n } else {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n }\n } catch (err) {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n }\n }\n }\n })();\n }, [filephoto]);\n const [isLocationFetching, setIsLocationFetching] = useState(false);\n const fileInputRef = useRef(null);\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { data: mdmsData, isLoading: isMdmsLoading } = Digit.Hooks.useCommonMDMS(\n tenantId,\n \"egov-location\",\n [\"TenantBoundary\"]\n );\n\n const mdmsRes = mdmsData?.MdmsRes || mdmsData;\n const adminHierarchy = mdmsRes?.[\"egov-location\"]?.TenantBoundary?.find(h => h.hierarchyType.code === \"ADMIN\")\n || mdmsRes?.[\"egov-location\"]?.TenantBoundary?.[0];\n\n const rootBoundary = adminHierarchy?.boundary;\n\n const getAssemblies = (boundaries) => {\n if (!boundaries) return [];\n let assemblies = [];\n const targetLabel = \"assembly constituency\";\n for (const boundary of boundaries) {\n const label = (boundary.label || boundary.name || \"\").toLowerCase().replace(/_/g, \" \");\n if (label === targetLabel || label === \"assemblyconstituency\") {\n assemblies.push({ code: boundary.code, name: boundary.name, children: boundary.children });\n }\n if (boundary.children?.length) {\n assemblies.push(...getAssemblies(boundary.children));\n }\n }\n return assemblies;\n };\n\n const getBlocks = (children) => {\n if (!children) return [];\n let blocks = [];\n const targetLabel = \"block\";\n for (const child of children) {\n const label = (child.label || child.name || \"\").toLowerCase().replace(/_/g, \" \");\n if (label === targetLabel) {\n blocks.push({ code: child.code, name: child.name });\n }\n if (child.children?.length) {\n blocks.push(...getBlocks(child.children));\n }\n }\n return blocks;\n };\n\n const assemblies = getAssemblies(Array.isArray(rootBoundary) ? rootBoundary : rootBoundary ? [rootBoundary] : []);\n\n const [assembly, setAssembly] = useState(() => getSavedData(\"EKYC_ASSEMBLY_DATA\", initialData.assembly ? { name: initialData.assembly } : null));\n const [ward, setWard] = useState(() => getSavedData(\"EKYC_WARD_DATA\", initialData.ward ? { name: initialData.ward } : null));\n\n // Sync MDMS selection\n useEffect(() => {\n sessionStorage.setItem(\"EKYC_ASSEMBLY_DATA\", JSON.stringify(assembly));\n sessionStorage.setItem(\"EKYC_WARD_DATA\", JSON.stringify(ward));\n }, [assembly, ward]);\n\n useEffect(() => {\n if (mdmsRes && addrDetails.assembly && !assembly?.code) {\n const foundAssembly = assemblies.find((a) => a.name === addrDetails.assembly || a.code === addrDetails.assembly);\n if (foundAssembly) setAssembly(foundAssembly);\n }\n }, [mdmsRes, assemblies]);\n\n const blocks = assembly ? getBlocks(assembly.children) : [];\n\n useEffect(() => {\n if (assembly && ward && !blocks.find((b) => b.name === ward.name)) {\n setWard(null);\n }\n }, [assembly]);\n\n const addressOptions = [\n { code: \"AADHAAR\", name: \"EKYC_AADHAAR_ADDRESS\" },\n { code: \"OLD\", name: \"EKYC_OLD_ADDRESS\" },\n ];\n\n const yesNoOptions = [\n { code: \"YES\", name: \"CORE_COMMON_YES\" },\n { code: \"NO\", name: \"CORE_COMMON_NO\" },\n ];\n\n const handleCompleteVerification = () => {\n const payload = {\n addressType,\n fullAddress,\n flatNo,\n building,\n landmark,\n pincode,\n doorPhoto,\n doorPhotoFileStoreId,\n assembly: assembly?.name,\n ward: ward?.name\n };\n if (onComplete) {\n onComplete(payload);\n } else {\n const { kNumber, selectedOption, connectionDetails, initialData } = flowState;\n history.push(\"/digit-ui/employee/ekyc/property-info\", {\n kNumber, selectedOption, connectionDetails, addressDetails: payload, initialData\n });\n }\n };\n\n function selectphoto(e) {\n setDoorPhotoFileStoreId(null);\n setFilephoto(e.target.files[0]);\n }\n\n const removePhoto = () => {\n setDoorPhoto(null);\n setDoorPhotoFileStoreId(null);\n setFilephoto(null);\n };\n\n const handleUseCurrentLocation = () => {\n if (!(\"geolocation\" in navigator)) {\n alert(t(\"GEOLOCATION_NOT_SUPPORTED\"));\n return;\n }\n setIsLocationFetching(true);\n navigator.geolocation.getCurrentPosition(\n async ({ coords: { latitude, longitude } }) => {\n try {\n const res = await fetch(\n `https://nominatim.openstreetmap.org/reverse?format=json&lat=${latitude}&lon=${longitude}&zoom=18&addressdetails=1`\n );\n if (!res.ok) throw new Error(\"Geocode failed\");\n const data = await res.json();\n if (data?.address) {\n const a = data.address;\n setFullAddress([a.amenity, a.road, a.neighbourhood, a.suburb, a.city, a.state, a.postcode].filter(Boolean).join(\", \"));\n setPincode(a.postcode || \"\");\n setLandmark(a.suburb || a.neighbourhood || \"\");\n setFlatNo(a.amenity || \"\");\n }\n } catch (err) {\n console.error(\"Reverse geocode error:\", err);\n } finally {\n setIsLocationFetching(false);\n }\n },\n (err) => {\n console.error(\"Geolocation error:\", err);\n setIsLocationFetching(false);\n alert(t(\"LOCATION_FETCH_FAILED\"));\n },\n { enableHighAccuracy: true, timeout: 10000, maximumAge: 0 }\n );\n };\n\n const renderContent = () => (\n <div style={{ animation: \"fadeSlideIn 0.3s ease\" }}>\n\n {/* ── Address Type Toggle ── */}\n <SectionHead\n icon={<LocationIcon className=\"icon\" styles={{ fill: \"#0B0C0C\", width: \"16px\", height: \"16px\" }} />}\n label={t(\"EKYC_ADDRESS_DETAILS_HEADER\")}\n />\n\n <div style={{ marginBottom: \"20px\" }}>\n <RadioButtons\n options={addressOptions}\n optionsKey=\"name\"\n selectedOption={addressType}\n onSelect={setAddressType}\n t={t}\n innerStyles={{ display: \"flex\", alignItems: \"center\" }}\n style={{ display: \"flex\", gap: \"40px\" }}\n />\n </div>\n\n {/* ── Aadhaar Address display ── */}\n {addressType.code === \"AADHAAR\" && (\n <div style={{\n backgroundColor: \"#E1F5EE\",\n border: \"0.5px solid #5DCAA5\",\n borderRadius: \"8px\",\n padding: \"14px 16px\",\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: \"12px\",\n marginBottom: \"20px\",\n animation: \"fadeSlideIn 0.3s ease\",\n }}>\n <div style={{ backgroundColor: \"#9FE1CB\", padding: \"6px\", borderRadius: \"6px\", display: \"flex\", flexShrink: 0 }}>\n <LocationIcon className=\"icon\" styles={{ fill: \"#085041\", width: \"16px\", height: \"16px\" }} />\n </div>\n <div style={{ fontSize: \"14px\", lineHeight: \"1.6\", color: \"#04342C\", fontWeight: \"500\" }}>\n {addrDetails.fullAddress}\n </div>\n </div>\n )}\n\n {/* ── Old / Custom Address ── */}\n {addressType.code === \"OLD\" && (\n <div style={{ animation: \"fadeSlideIn 0.3s ease\" }}>\n\n {/* Correction toggle */}\n <div style={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\", marginBottom: \"14px\" }}>\n <CardLabel style={{ fontWeight: \"500\", marginBottom: 0, fontSize: \"13px\", color: \"#505A5F\" }}>\n {t(\"EKYC_ADDRESS_CORRECTION_PROMPT\")}\n </CardLabel>\n <RadioButtons\n options={yesNoOptions}\n optionsKey=\"name\"\n selectedOption={correctAddress}\n onSelect={setCorrectAddress}\n t={t}\n innerStyles={{ display: \"flex\", gap: \"20px\" }}\n style={{ marginBottom: 0 }}\n />\n </div>\n\n {/* Use Current Location */}\n <div\n onClick={!isLocationFetching ? handleUseCurrentLocation : undefined}\n style={{\n border: \"0.5px solid #D0D5DD\",\n borderRadius: \"8px\",\n padding: \"12px 16px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n marginBottom: \"20px\",\n cursor: isLocationFetching ? \"not-allowed\" : \"pointer\",\n backgroundColor: isLocationFetching ? \"#F9FAFB\" : \"#fff\",\n transition: \"background 0.15s\",\n opacity: isLocationFetching ? 0.7 : 1,\n }}\n onMouseOver={(e) => { if (!isLocationFetching) e.currentTarget.style.background = \"#F9FAFB\"; }}\n onMouseOut={(e) => { if (!isLocationFetching) e.currentTarget.style.background = \"#fff\"; }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"12px\" }}>\n <div style={{ backgroundColor: \"#E6F1FB\", padding: \"7px\", borderRadius: \"7px\", display: \"flex\" }}>\n {isLocationFetching ? (\n <div style={{\n width: \"18px\", height: \"18px\", border: \"2px solid #185FA5\",\n borderTopColor: \"transparent\", borderRadius: \"50%\",\n animation: \"spin 1s linear infinite\",\n }} />\n ) : (\n <TargetIcon size={18} />\n )}\n </div>\n <span style={{ fontWeight: \"500\", fontSize: \"14px\", color: \"#344054\" }}>\n {isLocationFetching\n ? t(\"EKYC_FETCHING_LOCATION\")\n : t(\"EKYC_USE_CURRENT_LOCATION\")}\n </span>\n </div>\n {!isLocationFetching && (\n <span style={{ fontSize: \"18px\", color: \"#98A2B3\", lineHeight: 1 }}>›</span>\n )}\n </div>\n\n {/* Full Address (textarea-style) */}\n <div style={{ marginBottom: \"14px\" }}>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_FULL_ADDRESS\")}\n </div>\n <IconInput\n icon={<PropertyHouse styles={{ fill: \"#0068fa\", width: \"15px\", height: \"15px\" }} />}\n topAligned\n value={fullAddress}\n onChange={(e) => setFullAddress(e.target.value)}\n placeholder={t(\"EKYC_ENTER_FULL_ADDRESS\")}\n inputStyle={{ minHeight: \"72px\" }}\n />\n </div>\n\n {/* Flat + Building */}\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"14px\" }}>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_FLAT_HOUSE_NUMBER\")}\n </div>\n <IconInput\n icon={<PropertyHouse styles={{ fill: \"#0068fa\", width: \"15px\", height: \"15px\" }} />}\n value={flatNo}\n onChange={(e) => setFlatNo(e.target.value)}\n placeholder={t(\"EKYC_ENTER_FLAT_NO\")}\n />\n </div>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_BUILDING_TOWER\")}\n </div>\n <IconInput\n icon={<PropertyHouse styles={{ fill: \"#0068fa\", width: \"15px\", height: \"15px\" }} />}\n value={building}\n onChange={(e) => setBuilding(e.target.value)}\n placeholder={t(\"EKYC_ENTER_BUILDING\")}\n />\n </div>\n </div>\n\n {/* Landmark + Pincode */}\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"4px\" }}>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_LANDMARK\")}\n </div>\n <IconInput\n icon={<LocationIcon className=\"icon\" styles={{ fill: \"#0068fa\", width: \"15px\", height: \"15px\" }} />}\n value={landmark}\n onChange={(e) => setLandmark(e.target.value)}\n placeholder={t(\"EKYC_ENTER_LANDMARK\")}\n />\n </div>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_PINCODE\")}\n </div>\n <IconInput\n icon={<PincodeIcon size={15} />}\n value={pincode}\n onChange={(e) => { if (/^\\d*$/.test(e.target.value)) setPincode(e.target.value); }}\n placeholder={t(\"EKYC_ENTER_PINCODE\")}\n maxLength={6}\n />\n </div>\n </div>\n </div>\n )}\n\n <hr style={{ margin: \"24px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Administrative Division ── */}\n <SectionHead\n icon={<PropertyHouse styles={{ fill: \"#0B0C0C\", width: \"16px\", height: \"16px\" }} />}\n label={t(\"EKYC_ADMINISTRATIVE_DIVISION\")}\n />\n\n {isMdmsLoading ? <Loader /> : (\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"24px\" }}>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_ASSEMBLY\")}\n </div>\n <Dropdown\n option={assemblies}\n optionKey=\"name\"\n selected={assembly}\n select={(val) => { setAssembly(val); setWard(null); }}\n t={t}\n />\n </div>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_WARD\") || \"Block\"}\n </div>\n <Dropdown\n option={blocks}\n optionKey=\"name\"\n selected={ward}\n select={setWard}\n disabled={!assembly}\n t={t}\n />\n </div>\n </div>\n )}\n\n <hr style={{ margin: \"24px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Door Photo ── */}\n <SectionHead\n icon={<CameraIcon size={16} />}\n label={t(\"EKYC_CAPTURE_DOOR_IMAGE\")}\n />\n\n <div style={{ fontSize: \"12px\", color: \"#667085\", marginBottom: \"12px\" }}>\n {t(\"EKYC_REQUIRED_FOR_VERIFICATION\")}\n </div>\n\n {/* Warning banner\n <div style={{\n backgroundColor: \"#FFFAEB\",\n border: \"0.5px solid #FEDF89\",\n borderRadius: \"8px\",\n padding: \"12px 14px\",\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: \"10px\",\n marginBottom: \"16px\",\n }}>\n <div style={{ flexShrink: 0, marginTop: \"1px\" }}>\n <InfoBannerIcon fill=\"#B54708\" />\n </div>\n <div>\n <div style={{ fontWeight: \"600\", color: \"#B54708\", fontSize: \"13px\", marginBottom: \"2px\" }}>\n {t(\"EKYC_IMPORTANT\")}\n </div>\n <div style={{ fontSize: \"12px\", color: \"#92400E\" }}>\n {t(\"EKYC_CAPTURE_LIVE_CAMERA\")}\n </div>\n </div>\n </div> */}\n\n {/* Building Photo Upload */}\n <UploadFile\n id={\"ekyc-door-photo\"}\n extraStyleName={\"propertyCreate\"}\n accept=\".jpg,.png,.jpeg\"\n onUpload={selectphoto}\n onDelete={removePhoto}\n message={doorPhotoFileStoreId ? `1 ${t(`EKYC_ACTION_FILEUPLOADED`)}` : t(`EKYC_ACTION_NO_FILEUPLOADED`)}\n error={error}\n />\n {doorPhoto && (\n <div style={{ marginTop: \"10px\", borderRadius: \"8px\", overflow: \"hidden\", border: \"1px solid #EAECF0\" }}>\n <img src={doorPhoto} alt=\"Door Preview\" style={{ width: \"100%\", maxHeight: \"250px\", objectFit: \"cover\" }} />\n </div>\n )}\n\n {/* Submit */}\n {isSection ? (\n <div style={{ marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"ES_COMMON_SAVE_CONTINUE\")}\n onSubmit={handleCompleteVerification}\n />\n </div>\n ) : (\n <ActionBar>\n <SubmitBar\n label={t(\"EKYC_COMPLETE_VERIFICATION\")}\n onSubmit={handleCompleteVerification}\n />\n </ActionBar>\n )}\n\n {/* Secure notice */}\n <div style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n gap: \"5px\", marginTop: \"16px\",\n fontSize: \"11px\", color: \"#98A2B3\",\n }}>\n <svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" />\n </svg>\n {t(\"EKYC_SECURE_DATA_NOTICE\")}\n </div>\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n info={toast.type === \"info\"}\n success={toast.type === \"success\"}\n onClose={() => setToast(null)}\n />\n )}\n </div>\n );\n\n // ── When rendered as inline section inside AadhaarVerification ──\n if (isSection) {\n return (\n <Fragment>\n <hr style={{ margin: \"32px 0\", border: 0, borderTop: \"2px solid #EAECF0\" }} />\n {renderContent()}\n </Fragment>\n );\n }\n\n // ── When rendered as a standalone page ──\n return (\n <div className=\"inbox-container\">\n <style>{`\n @keyframes spin { to { transform: rotate(360deg); } }\n @keyframes fadeSlideIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }\n `}</style>\n\n {/* Sidebar */}\n <div className=\"filters-container\">\n <Card style={{ display: \"flex\", alignItems: \"center\", padding: \"12px 16px\", marginBottom: \"12px\", borderRadius: \"8px\" }}>\n <div style={{ color: \"#185FA5\", marginRight: \"10px\", display: \"flex\" }}>\n <HomeIcon style={{ width: \"20px\", height: \"20px\" }} />\n </div>\n <div style={{ fontWeight: \"600\", fontSize: \"15px\", color: \"#0B0C0C\" }}>\n {t(\"EKYC_PROCESS\") || \"eKYC Process\"}\n </div>\n </Card>\n\n <div style={{ background: \"#fff\", padding: \"16px 14px\", borderRadius: \"8px\", border: \"1px solid #EAECF0\" }}>\n {[\n { label: t(\"EKYC_STEP_AADHAAR\") || \"Aadhaar\", done: true, active: false },\n { label: t(\"EKYC_STEP_ADDRESS\") || \"Address\", done: false, active: true },\n { label: t(\"EKYC_STEP_PROPERTY\") || \"Property\", done: false, active: false },\n { label: t(\"EKYC_STEP_REVIEW\") || \"Review\", done: false, active: false },\n ].map((step, i) => (\n <div key={i} style={{ display: \"flex\", gap: \"10px\", alignItems: \"flex-start\", position: \"relative\", paddingBottom: i < 3 ? \"18px\" : 0 }}>\n {i < 3 && (\n <div style={{ position: \"absolute\", left: \"10px\", top: \"22px\", width: \"1px\", height: \"calc(100% - 10px)\", background: \"#EAECF0\" }} />\n )}\n <div style={{\n width: \"20px\", height: \"20px\", borderRadius: \"50%\", flexShrink: 0, marginTop: \"1px\",\n border: step.done ? \"none\" : step.active ? \"1.5px solid #185FA5\" : \"1.5px solid #D0D5DD\",\n background: step.done ? \"#0F6E56\" : step.active ? \"#E6F1FB\" : \"#fff\",\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n fontSize: \"10px\", fontWeight: \"500\",\n color: step.done ? \"#fff\" : step.active ? \"#185FA5\" : \"#98A2B3\",\n }}>\n {step.done ? <CheckIcon size={11} color=\"#fff\" /> : i + 1}\n </div>\n <div style={{\n fontSize: \"12px\", paddingTop: \"2px\",\n color: step.done ? \"#0F6E56\" : step.active ? \"#0B0C0C\" : \"#667085\",\n fontWeight: step.done || step.active ? \"600\" : \"400\",\n }}>\n {step.label}\n </div>\n </div>\n ))}\n </div>\n </div>\n\n {/* Main */}\n <div style={{ flex: 1, marginLeft: \"16px\" }}>\n <Card>\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", marginBottom: \"20px\" }}>\n <CardHeader style={{ margin: 0, fontSize: \"18px\" }}>\n {t(\"EKYC_ADDRESS_DETAILS_HEADER\") || \"Address Details\"}\n </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\") || \"K Number\"}:{\" \"}\n <span style={{ color: \"#0B0C0C\", fontWeight: \"600\" }}>{flowState?.kNumber}</span>\n </div>\n </div>\n {renderContent()}\n </Card>\n </div>\n </div>\n );\n};\n\nexport default AddressDetails;","import React, { useState, useRef, Fragment, useEffect } from \"react\";\nimport {\n Card,\n LabelFieldPair,\n CardLabel,\n TextInput,\n SubmitBar,\n CardHeader,\n RadioButtons,\n ActionBar,\n HomeIcon,\n ConnectingCheckPoints,\n CheckPoint,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport { getSavedData } from \"../../utils\";\nimport AddressDetails from \"./AddressDetails\";\n\n// ─── Icons ───────────────────────────────────────────────────────────────────\n\nconst LockIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\">\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" />\n </svg>\n);\n\nconst UserIcon = ({ size = 16, color = \"currentColor\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"1.8\" strokeLinecap=\"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 PhoneIcon = ({ size = 16, color = \"currentColor\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"1.8\" strokeLinecap=\"round\">\n <path d=\"M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-5.37-5.37 19.79 19.79 0 01-3.07-8.63A2 2 0 014.82 0h3a2 2 0 012 1.72c.127.96.361 1.903.7 2.81a2 2 0 01-.45 2.11L8.91 7.91a16 16 0 006.16 6.16l1.27-1.27a2 2 0 012.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0122 16.92z\" />\n </svg>\n);\n\nconst WhatsappIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413z\"\n fill=\"#25D366\"\n />\n <path\n d=\"M12 2C6.477 2 2 6.477 2 12c0 1.89.525 3.66 1.438 5.168L2 22l4.832-1.438A9.96 9.96 0 0012 22c5.523 0 10-4.477 10-10S17.523 2 12 2z\"\n stroke=\"#25D366\" strokeWidth=\"1.8\" strokeLinecap=\"round\"\n />\n </svg>\n);\n\nconst MailIcon = ({ size = 16, color = \"currentColor\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"1.8\" strokeLinecap=\"round\">\n <path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\" />\n <path d=\"M22 6l-10 7L2 6\" />\n </svg>\n);\n\nconst UsersIcon = ({ size = 16, color = \"currentColor\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"1.8\" strokeLinecap=\"round\">\n <path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\" />\n <circle cx=\"9\" cy=\"7\" r=\"4\" />\n <path d=\"M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75\" />\n </svg>\n);\n\nconst CheckIcon = ({ size = 15, color = \"#1D9E75\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"2.8\" strokeLinecap=\"round\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n);\n\n// ─── Reusable: Icon-prefixed input wrapper ────────────────────────────────────\n\nconst IconInput = ({ icon, rightIcon, inputStyle = {}, ...props }) => (\n <div style={{ position: \"relative\", width: \"100%\" }}>\n <div style={{\n position: \"absolute\", left: \"10px\", top: \"50%\",\n transform: \"translateY(-50%)\", zIndex: 1, opacity: 0.45,\n display: \"flex\", pointerEvents: \"none\",\n }}>\n {icon}\n </div>\n <TextInput\n textInputStyle={{ paddingLeft: \"36px\", paddingRight: rightIcon ? \"36px\" : \"12px\", ...inputStyle }}\n {...props}\n />\n {rightIcon && (\n <div style={{\n position: \"absolute\", right: \"10px\", top: \"50%\",\n transform: \"translateY(-50%)\", display: \"flex\",\n }}>\n {rightIcon}\n </div>\n )}\n </div>\n);\n\n// ─── Reusable: Section heading with inline rule ───────────────────────────────\n\nconst SectionHead = ({ icon, label }) => (\n <div style={{\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n marginBottom: \"16px\", marginTop: \"4px\",\n }}>\n <div style={{ opacity: 0.5, display: \"flex\" }}>{icon}</div>\n <span style={{ fontSize: \"15px\", fontWeight: \"600\", color: \"#0B0C0C\", whiteSpace: \"nowrap\" }}>\n {label}\n </span>\n <div style={{ flex: 1, height: \"1px\", background: \"#EAECF0\" }} />\n </div>\n);\n\n// ─── Reusable: Radio toggle row ───────────────────────────────────────────────\n\nconst RadioToggleRow = ({ label, selected, onSelect, t, options }) => (\n <div style={{\n display: \"flex\", alignItems: \"center\",\n justifyContent: \"space-between\", marginBottom: \"8px\",\n }}>\n <CardLabel style={{ fontWeight: \"500\", marginBottom: 0, fontSize: \"13px\", color: \"#505A5F\" }}>\n {label}\n </CardLabel>\n <RadioButtons\n options={options}\n optionsKey=\"name\"\n selectedOption={selected}\n onSelect={onSelect}\n t={t}\n innerStyles={{ display: \"flex\", gap: \"20px\", alignItems: \"center\" }}\n style={{ display: \"flex\", gap: \"20px\", marginBottom: 0 }}\n />\n </div>\n);\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst AadhaarVerification = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const history = useHistory();\n const addressSectionRef = useRef(null);\n const { kNumber, selectedOption, connectionDetails } = location.state || {\n kNumber: \"EKYC-1234567890\",\n selectedOption: { code: \"SELF\", name: \"EKYC_SELF\" },\n connectionDetails: {\n connectionDetailsInfo: {\n consumerName: \"Rajesh Kumar Singh\",\n address: \"House No. 45, Sector 12, New Delhi - 110001\",\n phoneNumber: \"9876543210\",\n email: \"rajesh.singh@example.com\",\n },\n },\n };\n\n // Normalize the nested data shape (API returns .connectionDetails, fallback uses .connectionDetailsInfo)\n const initialDetails =\n connectionDetails?.connectionDetails ||\n connectionDetails?.connectionDetailsInfo ||\n {};\n\n // ── State ──\n const [initialData] = useState(() => getSavedData(\"EKYC_INITIAL_DATA\", {\n userName: initialDetails.consumerName || \"\",\n mobileNumber: initialDetails.phoneNumber || \"\",\n whatsappNumber: initialDetails.phoneNumber || \"\",\n email: initialDetails.email || \"\",\n noOfPersons: connectionDetails?.addressDetails?.noOfPerson || \"\",\n // Property and Connection Info\n pidNumber: connectionDetails?.propertyDetails?.pidNumber || \"\",\n typeOfConnection: connectionDetails?.connectionDetails?.connectionType || \"\",\n connectionCategory: connectionDetails?.connectionDetails?.connectionCategory || \"\",\n userType: connectionDetails?.propertyDetails?.userType || \"\",\n noOfFloor: connectionDetails?.propertyDetails?.noOfFloor || null,\n // Address Info\n fullAddress: connectionDetails?.addressDetails?.fullAddress || \"\",\n flatNo: connectionDetails?.addressDetails?.flatHouseNumber || \"\",\n building: connectionDetails?.addressDetails?.buildingTower || \"\",\n landmark: connectionDetails?.addressDetails?.landmark || \"\",\n pincode: connectionDetails?.addressDetails?.pinCode || \"\",\n assembly: connectionDetails?.addressDetails?.assembly || \"\",\n ward: connectionDetails?.addressDetails?.ward || \"\",\n }));\n\n // Sync initial data snapshot\n useEffect(() => {\n sessionStorage.setItem(\"EKYC_INITIAL_DATA\", JSON.stringify(initialData));\n }, [initialData]);\n\n const [aadhaarLastFour, setAadhaarLastFour] = useState(() => sessionStorage.getItem(\"EKYC_AADHAAR_LAST_FOUR\") || \"\");\n const [isAadhaarVerified, setIsAadhaarVerified] = useState(() => sessionStorage.getItem(\"EKYC_AADHAAR_VERIFIED\") === \"true\");\n const [isVerifying, setIsVerifying] = useState(false);\n const [showOtpField, setShowOtpField] = useState(false);\n const [otp, setOtp] = useState(\"\");\n const [otpError, setOtpError] = useState(false);\n const [nameCorrect, setNameCorrect] = useState(() => getSavedData(\"EKYC_NAME_CORRECT\", { code: \"NO\", name: \"CORE_COMMON_NO\" }));\n const [userName, setUserName] = useState(() => sessionStorage.getItem(\"EKYC_USER_NAME\") || initialData.userName);\n\n const [mobileChange, setMobileChange] = useState(() => getSavedData(\"EKYC_MOBILE_CHANGE\", { code: \"NO\", name: \"CORE_COMMON_NO\" }));\n const [mobileNumber, setMobileNumber] = useState(() => sessionStorage.getItem(\"EKYC_MOBILE_NUMBER\") || initialData.mobileNumber);\n\n const [whatsappNumber, setWhatsappNumber] = useState(() => sessionStorage.getItem(\"EKYC_WHATSAPP_NUMBER\") || initialData.whatsappNumber);\n const [email, setEmail] = useState(() => sessionStorage.getItem(\"EKYC_EMAIL\") || initialData.email);\n const [noOfPersons, setNoOfPersons] = useState(() => sessionStorage.getItem(\"EKYC_NO_OF_PERSONS\") || initialData.noOfPersons);\n\n // Sync current form state to sessionStorage\n useEffect(() => {\n sessionStorage.setItem(\"EKYC_AADHAAR_LAST_FOUR\", aadhaarLastFour);\n sessionStorage.setItem(\"EKYC_AADHAAR_VERIFIED\", isAadhaarVerified);\n sessionStorage.setItem(\"EKYC_NAME_CORRECT\", JSON.stringify(nameCorrect));\n sessionStorage.setItem(\"EKYC_USER_NAME\", userName);\n sessionStorage.setItem(\"EKYC_MOBILE_CHANGE\", JSON.stringify(mobileChange));\n sessionStorage.setItem(\"EKYC_MOBILE_NUMBER\", mobileNumber);\n sessionStorage.setItem(\"EKYC_WHATSAPP_NUMBER\", whatsappNumber);\n sessionStorage.setItem(\"EKYC_EMAIL\", email);\n sessionStorage.setItem(\"EKYC_NO_OF_PERSONS\", noOfPersons);\n sessionStorage.setItem(\"EKYC_CURRENT_STEP\", \"AADHAAR\");\n }, [aadhaarLastFour, isAadhaarVerified, nameCorrect, userName, mobileChange, mobileNumber, whatsappNumber, email, noOfPersons]);\n const [showAddressSection, setShowAddressSection] = useState(false);\n const [addressData, setAddressData] = useState(null);\n\n const yesNoOptions = [\n { code: \"YES\", name: \"CORE_COMMON_YES\" },\n { code: \"NO\", name: \"CORE_COMMON_NO\" },\n ];\n\n // ── Handlers ──\n const handleVerifyAadhaar = () => {\n if (aadhaarLastFour.length !== 12 || isVerifying) return;\n setIsVerifying(true);\n setTimeout(() => {\n setIsVerifying(false);\n setShowOtpField(true);\n }, 1200);\n };\n\n const handleVerifyOtp = () => {\n if (otp === \"123456\") {\n setIsAadhaarVerified(true);\n setShowOtpField(false);\n setOtpError(false);\n // Auto-expand address section upon verification\n setShowAddressSection(true);\n setTimeout(() => {\n addressSectionRef.current?.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }, 100);\n } else {\n setOtpError(true);\n }\n };\n\n const handleSaveAndContinue = () => {\n setShowAddressSection(true);\n setTimeout(() => {\n addressSectionRef.current?.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }, 100);\n };\n\n const handleCompleteAll = (addressDetails) => {\n setAddressData(addressDetails);\n history.push(\"/digit-ui/employee/ekyc/property-info\", {\n kNumber,\n selectedOption,\n connectionDetails,\n aadhaarDetails: {\n aadhaarLastFour,\n isAadhaarVerified,\n userName,\n mobileNumber,\n whatsappNumber,\n email,\n noOfPersons,\n },\n addressDetails,\n initialData: initialData, // Pass the initial snapshot\n });\n };\n\n // ── Styles ──\n const styles = {\n verifiedInput: {\n borderColor: \"#1D9E75\",\n backgroundColor: \"#E1F5EE\",\n },\n verifiedCard: {\n backgroundColor: \"#E1F5EE\",\n border: \"0.5px solid #5DCAA5\",\n borderRadius: \"8px\",\n padding: \"16px\",\n marginTop: \"14px\",\n marginBottom: \"4px\",\n animation: \"fadeSlideIn 0.35s ease\",\n },\n infoLabel: {\n fontSize: \"11px\",\n fontWeight: \"600\",\n color: \"#1D9E75\",\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n marginBottom: \"3px\",\n },\n infoValue: {\n fontSize: \"14px\",\n fontWeight: \"500\",\n color: \"#04342C\",\n },\n twoCol: {\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr\",\n gap: \"14px\",\n marginBottom: \"20px\",\n },\n optionalTag: {\n display: \"inline-block\",\n fontSize: \"10px\",\n background: \"#F1EFE8\",\n color: \"#5F5E5A\",\n border: \"0.5px solid #D3D1C7\",\n borderRadius: \"10px\",\n padding: \"1px 7px\",\n marginLeft: \"6px\",\n fontWeight: \"400\",\n },\n };\n\n return (\n <div className=\"ground-container employee-app-container form-container\">\n <div className=\"inbox-container\">\n <style>{`\n @keyframes fadeSlideIn {\n from { opacity: 0; transform: translateY(6px); }\n to { opacity: 1; transform: translateY(0); }\n }\n @keyframes pulseGreen {\n 0%, 100% { box-shadow: 0 0 0 0 rgba(29,158,117,0.35); }\n 50% { box-shadow: 0 0 0 6px rgba(29,158,117,0); }\n }\n .ekyc-sidebar-step { display: flex; gap: 10px; align-items: flex-start; position: relative; padding-bottom: 18px; }\n .ekyc-sidebar-step:last-child { padding-bottom: 0; }\n .ekyc-step-line { position: absolute; left: 10px; top: 22px; width: 1px; height: calc(100% - 10px); background: #EAECF0; }\n .ekyc-step-dot { width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid #D0D5DD; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 500; color: #98A2B3; background: #fff; flex-shrink: 0; margin-top: 1px; }\n .ekyc-step-dot.active { border-color: #185FA5; color: #185FA5; background: #E6F1FB; }\n .ekyc-step-dot.done { border-color: #0F6E56; background: #0F6E56; color: #fff; }\n .ekyc-step-label { font-size: 12px; color: #667085; padding-top: 2px; }\n .ekyc-step-label.active { color: #0B0C0C; font-weight: 600; }\n .ekyc-step-label.done { color: #0F6E56; }\n .ekyc-field-label { font-size: 11px; font-weight: 600; color: #667085; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 6px; }\n `}</style>\n\n {/* ── Sidebar ── */}\n <div className=\"filters-container\">\n <Card style={{ display: \"flex\", alignItems: \"center\", padding: \"12px 16px\", marginBottom: \"12px\", borderRadius: \"8px\" }}>\n <div style={{ color: \"#185FA5\", marginRight: \"10px\", display: \"flex\" }}>\n <HomeIcon style={{ width: \"20px\", height: \"20px\" }} />\n </div>\n <div style={{ fontWeight: \"600\", fontSize: \"15px\", color: \"#0B0C0C\" }}>\n {t(\"EKYC_PROCESS\") || \"eKYC Process\"}\n </div>\n </Card>\n\n <div style={{ background: \"#fff\", padding: \"16px 14px\", borderRadius: \"8px\", border: \"1px solid #EAECF0\" }}>\n {[\n { label: t(\"EKYC_STEP_AADHAAR\") || \"Aadhaar\", done: showAddressSection, active: !showAddressSection },\n { label: t(\"EKYC_STEP_ADDRESS\") || \"Address\", done: addressData !== null, active: showAddressSection && addressData === null },\n { label: t(\"EKYC_STEP_PROPERTY\") || \"Property\", done: false, active: false },\n { label: t(\"EKYC_STEP_REVIEW\") || \"Review\", done: false, active: false },\n ].map((step, i) => (\n <div className=\"ekyc-sidebar-step\" key={i}>\n <div className={`ekyc-step-dot${step.done ? \" done\" : step.active ? \" active\" : \"\"}`}>\n {step.done\n ? <CheckIcon size={11} color=\"#fff\" />\n : i + 1}\n </div>\n {i < 3 && <div className=\"ekyc-step-line\" />}\n <div className={`ekyc-step-label${step.done ? \" done\" : step.active ? \" active\" : \"\"}`}>\n {step.label}\n </div>\n </div>\n ))}\n </div>\n </div>\n\n {/* ── Main content ── */}\n <div style={{ flex: 1, marginLeft: \"16px\" }}>\n <Card>\n\n {/* K-Number badge */}\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", marginBottom: \"20px\" }}>\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\") || \"K Number\"}:{\" \"}\n <span style={{ color: \"#0B0C0C\", fontWeight: \"600\" }}>{kNumber}</span>\n </div>\n </div>\n\n {/* ── Section 1: Aadhaar ── */}\n <SectionHead\n icon={<LockIcon size={16} />}\n label={t(\"EKYC_AADHAAR_NUMBER_HEADER\") || \"Aadhaar Number\"}\n />\n\n <div className=\"ekyc-field-label\">\n {t(\"EKYC_LAST_4_DIGIT_AADHAAR\") || \"Enter 12 digits of Aadhaar\"}\n </div>\n <LabelFieldPair>\n <div className=\"field\">\n <IconInput\n icon={<LockIcon size={15} />}\n rightIcon={isAadhaarVerified ? <CheckIcon size={15} /> : null}\n value={aadhaarLastFour}\n onChange={(e) => {\n const val = e.target.value;\n if (val.length <= 12 && /^\\d*$/.test(val)) setAadhaarLastFour(val);\n }}\n placeholder={t(\"EKYC_ENTER_LAST_4_DIGIT\") || \"Enter 12 digits\"}\n maxLength={12}\n disabled={isAadhaarVerified}\n inputStyle={isAadhaarVerified ? styles.verifiedInput : {}}\n />\n </div>\n </LabelFieldPair>\n\n {!isAadhaarVerified && !showOtpField && (\n <SubmitBar\n label={isVerifying\n ? t(\"EKYC_VERIFYING\") || \"Verifying...\"\n : t(\"EKYC_VERIFY_AADHAAR_BTN\") || \"Verify Aadhaar\"}\n onSubmit={handleVerifyAadhaar}\n disabled={aadhaarLastFour.length !== 12 || isVerifying}\n style={{ marginTop: \"12px\" }}\n />\n )}\n\n {!isAadhaarVerified && showOtpField && (\n <Fragment>\n <div className=\"ekyc-field-label\" style={{ marginTop: \"16px\" }}>\n {t(\"EKYC_ENTER_OTP\")}\n </div>\n <LabelFieldPair>\n <div className=\"field\">\n <IconInput\n icon={<LockIcon size={15} />}\n value={otp}\n onChange={(e) => {\n const val = e.target.value;\n if (/^\\d*$/.test(val)) {\n setOtp(val);\n if (otpError) setOtpError(false);\n }\n }}\n placeholder={t(\"EKYC_ENTER_OTP_PLACEHOLDER\") || \"Enter 123456\"}\n maxLength={6}\n />\n </div>\n </LabelFieldPair>\n {otpError && (\n <div style={{ color: \"#D4351C\", fontSize: \"12px\", marginTop: \"4px\" }}>\n {t(\"EKYC_INVALID_OTP\") || \"Invalid OTP. Please enter 123456.\"}\n </div>\n )}\n <SubmitBar\n label={t(\"EKYC_VERIFY_OTP_BTN\") || \"Verify OTP\"}\n onSubmit={handleVerifyOtp}\n disabled={otp.length !== 6}\n style={{ marginTop: \"12px\" }}\n />\n </Fragment>\n )}\n\n {isAadhaarVerified && (\n <div style={styles.verifiedCard}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\", marginBottom: \"14px\" }}>\n <div style={{\n width: \"24px\", height: \"24px\", borderRadius: \"50%\",\n background: \"#9FE1CB\", display: \"flex\", alignItems: \"center\",\n justifyContent: \"center\", animation: \"pulseGreen 2s ease infinite\",\n flexShrink: 0,\n }}>\n <CheckIcon size={13} color=\"#085041\" />\n </div>\n <span style={{ fontWeight: \"600\", color: \"#085041\", fontSize: \"14px\" }}>\n {t(\"EKYC_AADHAAR_VERIFIED_SUCCESS\") || \"Aadhaar Verified Successfully\"}\n </span>\n </div>\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"12px\" }}>\n <div>\n <div style={styles.infoLabel}>{t(\"EKYC_NAME\") || \"Name\"}</div>\n <div style={styles.infoValue}>{initialDetails.consumerName}</div>\n </div>\n <div>\n <div style={styles.infoLabel}>{t(\"EKYC_AADHAAR\") || \"Aadhaar\"}</div>\n <div style={styles.infoValue}>{aadhaarLastFour}</div>\n </div>\n <div style={{ gridColumn: \"span 2\" }}>\n <div style={styles.infoLabel}>{t(\"EKYC_ADDRESS\") || \"Address\"}</div>\n <div style={{ ...styles.infoValue, fontSize: \"13px\" }}>{initialDetails.address}</div>\n </div>\n </div>\n </div>\n )}\n\n <hr style={{ margin: \"24px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Section 2: Contact Details ── */}\n <SectionHead\n icon={<UserIcon size={16} />}\n label={t(\"EKYC_CONTACT_DETAILS_HEADER\") || \"Contact Details\"}\n />\n\n {/* Name */}\n <RadioToggleRow\n label={`${t(\"EKYC_USER_NAME\")} (${t(\"EKYC_NAME_CORRECT_HINT\")})`}\n selected={nameCorrect}\n onSelect={setNameCorrect}\n options={yesNoOptions}\n sty\n t={t}\n />\n <LabelFieldPair>\n <div className=\"field\">\n <IconInput\n icon={<UserIcon size={15} color={nameCorrect.code === \"YES\" ? \"#64748b\" : \"#94a3b8\"} />}\n style={{ marginBottom: \"12px\" }}\n value={userName}\n onChange={(e) => setUserName(e.target.value)}\n placeholder={t(\"EKYC_ENTER_NAME_PLACEHOLDER\") || \"Enter full name\"}\n disabled={nameCorrect.code !== \"YES\"}\n />\n </div>\n </LabelFieldPair>\n\n {/* Mobile */}\n <RadioToggleRow\n label={`${t(\"EKYC_USER_MOBILE_NUMBER\")} (${t(\"EKYC_UPDATE_MOBILE_HINT\")})`}\n selected={mobileChange}\n onSelect={setMobileChange}\n options={yesNoOptions}\n t={t}\n />\n <LabelFieldPair>\n <div className=\"field\">\n <IconInput\n icon={<PhoneIcon size={15} color={mobileChange.code === \"YES\" ? \"#64748b\" : \"#94a3b8\"} />}\n style={{ marginBottom: \"12px\" }}\n value={mobileNumber}\n onChange={(e) => setMobileNumber(e.target.value)}\n placeholder=\"+91 XXXXX XXXXX\"\n disabled={mobileChange.code !== \"YES\"}\n />\n </div>\n </LabelFieldPair>\n\n {/* WhatsApp + Email */}\n <div style={styles.twoCol}>\n <div>\n <div className=\"ekyc-field-label\">\n {t(\"EKYC_WHATSAPP_NUMBER\") || \"WhatsApp Number\"}\n </div>\n <IconInput\n icon={<WhatsappIcon size={15} />}\n value={whatsappNumber}\n onChange={(e) => setWhatsappNumber(e.target.value)}\n placeholder=\"+91 XXXXX XXXXX\"\n />\n </div>\n <div>\n <div className=\"ekyc-field-label\">\n {t(\"EKYC_EMAIL_ADDRESS\") || \"Email Address\"}\n <span style={styles.optionalTag}>{t(\"EKYC_OPTIONAL\") || \"Optional\"}</span>\n </div>\n <IconInput\n icon={<MailIcon size={15} />}\n value={email}\n onChange={(e) => setEmail(e.target.value)}\n placeholder={t(\"EKYC_EMAIL_ADDRESS_PLACEHOLDER\") || \"example@email.com\"}\n />\n </div>\n </div>\n\n <hr style={{ margin: \"24px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Section 3: Family Details ── */}\n <SectionHead\n icon={<UsersIcon size={16} />}\n label={t(\"EKYC_FAMILY_DETAILS_HEADER\") || \"Family Details\"}\n />\n\n <div className=\"ekyc-field-label\">\n {t(\"EKYC_NO_OF_PERSONS\") || \"Number of Family Members\"}\n </div>\n <LabelFieldPair>\n <div className=\"field\">\n <IconInput\n icon={<UsersIcon size={15} />}\n value={noOfPersons}\n onChange={(e) => {\n if (/^\\d*$/.test(e.target.value)) setNoOfPersons(e.target.value);\n }}\n placeholder={t(\"EKYC_ENTER_NO_OF_PERSONS\") || \"Enter total number of persons\"}\n />\n </div>\n </LabelFieldPair>\n\n {/* Save & Continue (Non-sticky, at form end) */}\n {!showAddressSection && (\n <div style={{ marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"ES_COMMON_SAVE_CONTINUE\") || \"Save & Continue\"}\n onSubmit={handleSaveAndContinue}\n />\n </div>\n )}\n\n {/* Address section (injected inline) */}\n {showAddressSection && (\n <div ref={addressSectionRef}>\n <AddressDetails\n isSection={true}\n onComplete={handleCompleteAll}\n parentState={{ kNumber, selectedOption, connectionDetails }}\n />\n </div>\n )}\n\n {/* Secure notice */}\n <div style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n gap: \"5px\", marginTop: \"20px\",\n fontSize: \"11px\", color: \"#98A2B3\",\n }}>\n <LockIcon size={11} />\n {t(\"EKYC_SECURE_DATA_NOTICE\") || \"Your data is encrypted and secure\"}\n </div>\n\n </Card>\n </div>\n </div>\n </div>\n );\n};\n\nexport default AadhaarVerification;","import React, { useState, useRef, Fragment, useEffect } from \"react\";\nimport {\n Card,\n CardLabel,\n TextInput,\n SubmitBar,\n CardHeader,\n ActionBar,\n Dropdown,\n InfoBannerIcon,\n HomeIcon,\n UploadFile,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { getPayloadDiff, getSavedData } from \"../../utils\";\n\n// ─── Icons ────────────────────────────────────────────────────────────────────\n\nconst CheckIcon = ({ size = 11, color = \"#fff\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"3\" strokeLinecap=\"round\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n);\n\nconst BuildingIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8V9h8v10zm-2-8h-4v2h4v-2zm0 4h-4v2h4v-2z\" />\n </svg>\n);\n\nconst BriefcaseIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M20 6H16V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-2 .89-2 2v13c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6-2v2h-4V4h4z\" />\n </svg>\n);\n\nconst DocumentIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm-1 7V3.5L18.5 9H13z\" />\n </svg>\n);\n\nconst CameraIcon = ({ size = 24 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M9 2L7.17 4H4C2.9 4 2 4.9 2 6v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L13 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\" />\n </svg>\n);\n\nconst TrashIcon = ({ size = 14 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#D92D20\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <polyline points=\"3 6 5 6 21 6\" />\n <path d=\"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6\" />\n <path d=\"M10 11v6M14 11v6\" />\n <path d=\"M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2\" />\n </svg>\n);\n\nconst PidIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\" />\n <path d=\"M7 8h5M7 12h8M7 16h4\" />\n </svg>\n);\n\n// ─── Reusable: Section heading with inline rule ───────────────────────────────\n\nconst SectionHead = ({ icon, label }) => (\n <div style={{\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n marginBottom: \"16px\", marginTop: \"4px\",\n }}>\n <div style={{ opacity: 0.5, display: \"flex\" }}>{icon}</div>\n <span style={{ fontSize: \"15px\", fontWeight: \"600\", color: \"#0B0C0C\", whiteSpace: \"nowrap\" }}>\n {label}\n </span>\n <div style={{ flex: 1, height: \"1px\", background: \"#EAECF0\" }} />\n </div>\n);\n\n// ─── Reusable: Icon-prefixed input ────────────────────────────────────────────\n\nconst IconInput = ({ icon, ...props }) => (\n <div style={{ position: \"relative\", width: \"100%\" }}>\n <div style={{\n position: \"absolute\", left: \"10px\",\n top: \"50%\", transform: \"translateY(-50%)\",\n zIndex: 1, opacity: 0.45, display: \"flex\", pointerEvents: \"none\",\n }}>\n {icon}\n </div>\n <TextInput textInputStyle={{ paddingLeft: \"36px\", paddingRight: \"12px\" }} {...props} />\n </div>\n);\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst PropertyInfo = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n\n const flowState = location.state || {\n kNumber: sessionStorage.getItem(\"EKYC_K_NUMBER\") || \"EKYC-1234567890\",\n initialData: getSavedData(\"EKYC_INITIAL_DATA\", {})\n };\n const { kNumber } = flowState;\n const initialData = flowState.initialData || getSavedData(\"EKYC_INITIAL_DATA\", {});\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { data: dataV0 } = Digit.Hooks.ekyc.useGetPropertyType(tenantId);\n const { data: dataConn } = Digit.Hooks.ekyc.useGetConnectionTypeV2(tenantId);\n const { data: dataV1 } = Digit.Hooks.ekyc.useGetUserType(tenantId);\n const { data: dataV2 } = Digit.Hooks.ekyc.useGetFloorCount(tenantId);\n\n const [ownerType, setOwnerType] = useState(() => sessionStorage.getItem(\"EKYC_OWNER_TYPE\") || initialData.ownerType || \"OWNER\");\n const [pidNumber, setPidNumber] = useState(() => sessionStorage.getItem(\"EKYC_PID_NUMBER\") || initialData.pidNumber || \"\");\n const [connectionCategory, setConnectionCategory] = useState(() =>\n getSavedData(\"EKYC_TYPE_OF_CONNECTION_DATA\", initialData.typeOfConnection ? { label: t(initialData.typeOfConnection), value: initialData.typeOfConnection } : null)\n );\n const [connectionType, setConnectionType] = useState(() =>\n getSavedData(\"EKYC_CONNECTION_CATEGORY_DATA\", initialData.connectionCategory ? { label: t(initialData.connectionCategory), value: initialData.connectionCategory } : null)\n );\n const [userType, setUserType] = useState(() =>\n getSavedData(\"EKYC_USER_TYPE_DATA\", initialData.userType ? { label: t(initialData.userType), value: initialData.userType } : null)\n );\n const [noOfFloors, setNoOfFloors] = useState(() =>\n getSavedData(\"EKYC_NO_OF_FLOORS_DATA\", initialData.noOfFloor ? { label: t(initialData.noOfFloor), value: initialData.noOfFloor } : null)\n );\n const [propertyDocument, setPropertyDocument] = useState(() => sessionStorage.getItem(\"EKYC_PROPERTY_DOC\") || null);\n const [propertyDocumentFileStoreId, setPropertyDocumentFileStoreId] = useState(() => sessionStorage.getItem(\"EKYC_PROPERTY_DOC_FILESTORE_ID\") || null);\n const [buildingPhoto, setBuildingPhoto] = useState(() => sessionStorage.getItem(\"EKYC_BUILDING_PHOTO\") || null);\n const [buildingPhotoFileStoreId, setBuildingPhotoFileStoreId] = useState(() => sessionStorage.getItem(\"EKYC_BUILDING_PHOTO_FILESTORE_ID\") || null);\n\n const [filepdf, setFilepdf] = useState(null);\n const [filephoto, setFilephoto] = useState(null);\n const [error, setError] = useState(null);\n const [toast, setToast] = useState(null);\n\n // Sync property state to sessionStorage\n useEffect(() => {\n sessionStorage.setItem(\"EKYC_OWNER_TYPE\", ownerType);\n sessionStorage.setItem(\"EKYC_PID_NUMBER\", pidNumber);\n sessionStorage.setItem(\"EKYC_TYPE_OF_CONNECTION_DATA\", JSON.stringify(connectionCategory));\n sessionStorage.setItem(\"EKYC_CONNECTION_CATEGORY_DATA\", JSON.stringify(connectionType));\n sessionStorage.setItem(\"EKYC_USER_TYPE_DATA\", JSON.stringify(userType));\n sessionStorage.setItem(\"EKYC_NO_OF_FLOORS_DATA\", JSON.stringify(noOfFloors));\n if (propertyDocument) sessionStorage.setItem(\"EKYC_PROPERTY_DOC\", propertyDocument);\n if (propertyDocumentFileStoreId) sessionStorage.setItem(\"EKYC_PROPERTY_DOC_FILESTORE_ID\", propertyDocumentFileStoreId);\n if (buildingPhoto) sessionStorage.setItem(\"EKYC_BUILDING_PHOTO\", buildingPhoto);\n if (buildingPhotoFileStoreId) sessionStorage.setItem(\"EKYC_BUILDING_PHOTO_FILESTORE_ID\", buildingPhotoFileStoreId);\n sessionStorage.setItem(\"EKYC_CURRENT_STEP\", \"PROPERTY\");\n }, [ownerType, pidNumber, connectionCategory, connectionType, userType, noOfFloors, propertyDocument, propertyDocumentFileStoreId, buildingPhoto, buildingPhotoFileStoreId]);\n\n const uploadFile = async (file, tenantId) => {\n if (!file) return null;\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n return res?.data?.files?.[0]?.fileStoreId || null;\n };\n\n const dataUrlToFile = (dataUrl, filename) => {\n const arr = dataUrl.split(\",\");\n const mime = arr[0].match(/:(.*?);/)[1];\n const bstr = atob(arr[1]);\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n while (n--) u8arr[n] = bstr.charCodeAt(n);\n return new File([u8arr], filename, { type: mime });\n };\n\n // useEffect hooks for automatic upload (WT-style)\n useEffect(() => {\n (async () => {\n setError(null);\n if (filepdf) {\n if (filepdf.size >= 5000000) {\n setError(t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"));\n setToast({ type: \"error\", message: t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") });\n } else {\n try {\n setToast({ type: \"info\", message: t(\"EKYC_UPLOADING\") });\n const fileStoreId = await uploadFile(filepdf, tenantId);\n if (fileStoreId) {\n setPropertyDocumentFileStoreId(fileStoreId);\n setPropertyDocument(filepdf.name);\n setToast({ type: \"success\", message: t(\"EKYC_UPLOAD_SUCCESS\") });\n } else {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n }\n } catch (err) {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n }\n }\n }\n })();\n }, [filepdf]);\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (filephoto) {\n if (filephoto.size >= 2000000) {\n setError(t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"));\n setToast({ type: \"error\", message: t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") });\n } else {\n try {\n setToast({ type: \"info\", message: t(\"EKYC_UPLOADING\") });\n const fileStoreId = await uploadFile(filephoto, tenantId);\n if (fileStoreId) {\n setBuildingPhotoFileStoreId(fileStoreId);\n // Also store as dataURL for preview if needed, but for WT style we just need the fileStoreId\n const reader = new FileReader();\n reader.onloadend = () => setBuildingPhoto(reader.result);\n reader.readAsDataURL(filephoto);\n setToast({ type: \"success\", message: t(\"EKYC_UPLOAD_SUCCESS\") });\n } else {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n }\n } catch (err) {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n }\n }\n }\n })();\n }, [filephoto]);\n\n const fileRef = useRef(null);\n const cameraRef = useRef(null);\n\n const handleSaveAndContinue = () => {\n history.push(\"/digit-ui/employee/ekyc/review\", {\n ...flowState,\n propertyDetails: {\n ownerType, pidNumber, connectionType,\n connectionCategory, userType, noOfFloors,\n propertyDocument, propertyDocumentFileStoreId,\n buildingPhoto, buildingPhotoFileStoreId,\n },\n initialData,\n });\n };\n\n function selectpdf(e) {\n setPropertyDocumentFileStoreId(null);\n setFilepdf(e.target.files[0]);\n }\n\n function selectphoto(e) {\n setBuildingPhotoFileStoreId(null);\n setFilephoto(e.target.files[0]);\n }\n\n const connectionCategoryOptions =\n dataV0?.[\"ws-services-calculation\"]?.propertyTypeV2?.map((item) => ({\n label: t(item.code), value: item.code,\n })) || [];\n\n const connectionTypeOptions =\n dataConn?.[\"ws-services-calculation\"]?.connectionTypeV2?.map((item) => ({\n label: t(item.code), value: item.code,\n })) || [];\n\n const userTypeOptions =\n dataV1?.[\"ws-services-calculation\"]?.userTypeV2?.map((item) => ({\n label: t(item.code), value: item.code,\n })) || [];\n\n const floorOptions =\n dataV2?.[\"ws-services-calculation\"]?.floorCount?.map((item) => ({\n label: t(item.code), value: item.code,\n })) || [];\n\n return (\n <div class=\"ground-container employee-app-container form-container\">\n <div className=\"inbox-container\">\n <style>{`\n @keyframes fadeSlideIn {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n }\n `}</style>\n\n {/* ── Sidebar ── */}\n <div className=\"filters-container\">\n <Card style={{ display: \"flex\", alignItems: \"center\", padding: \"12px 16px\", marginBottom: \"12px\", borderRadius: \"8px\" }}>\n <div style={{ color: \"#185FA5\", marginRight: \"10px\", display: \"flex\" }}>\n <HomeIcon style={{ width: \"20px\", height: \"20px\" }} />\n </div>\n <div style={{ fontWeight: \"600\", fontSize: \"15px\", color: \"#0B0C0C\" }}>\n {t(\"EKYC_PROCESS\") || \"eKYC Process\"}\n </div>\n </Card>\n\n <div style={{ background: \"#fff\", padding: \"16px 14px\", borderRadius: \"8px\", border: \"1px solid #EAECF0\" }}>\n {[\n { label: t(\"EKYC_STEP_AADHAAR\") || \"Aadhaar\", done: true, active: false },\n { label: t(\"EKYC_STEP_ADDRESS\") || \"Address\", done: true, active: false },\n { label: t(\"EKYC_STEP_PROPERTY\") || \"Property\", done: false, active: true },\n { label: t(\"EKYC_STEP_REVIEW\") || \"Review\", done: false, active: false },\n ].map((step, i) => (\n <div key={i} style={{ display: \"flex\", gap: \"10px\", alignItems: \"flex-start\", position: \"relative\", paddingBottom: i < 3 ? \"18px\" : 0 }}>\n {i < 3 && (\n <div style={{ position: \"absolute\", left: \"10px\", top: \"22px\", width: \"1px\", height: \"calc(100% - 10px)\", background: \"#EAECF0\" }} />\n )}\n <div style={{\n width: \"20px\", height: \"20px\", borderRadius: \"50%\", flexShrink: 0, marginTop: \"1px\",\n border: step.done ? \"none\" : step.active ? \"1.5px solid #185FA5\" : \"1.5px solid #D0D5DD\",\n background: step.done ? \"#0F6E56\" : step.active ? \"#E6F1FB\" : \"#fff\",\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n fontSize: \"10px\", fontWeight: \"500\",\n color: step.done ? \"#fff\" : step.active ? \"#185FA5\" : \"#98A2B3\",\n }}>\n {step.done ? <CheckIcon size={11} color=\"#fff\" /> : i + 1}\n </div>\n <div style={{\n fontSize: \"12px\", paddingTop: \"2px\",\n color: step.done ? \"#0F6E56\" : step.active ? \"#0B0C0C\" : \"#667085\",\n fontWeight: step.done || step.active ? \"600\" : \"400\",\n }}>\n {step.label}\n </div>\n </div>\n ))}\n </div>\n </div>\n\n {/* ── Main Content ── */}\n <div style={{ flex: 1, marginLeft: \"16px\" }}>\n <Card>\n {/* Header */}\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", marginBottom: \"20px\" }}>\n <CardHeader style={{ margin: 0, fontSize: \"18px\" }}>\n {t(\"EKYC_PROPERTY_DETAILS_HEADER\") || \"Property Details\"}\n </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\") || \"K Number\"}:{\" \"}\n <span style={{ color: \"#0B0C0C\", fontWeight: \"600\" }}>{kNumber}</span>\n </div>\n </div>\n\n <div style={{ animation: \"fadeSlideIn 0.3s ease\" }}>\n\n {/* ── Property Details Section ── */}\n <SectionHead\n icon={<BriefcaseIcon size={16} />}\n label={t(\"EKYC_PROPERTY_DETAILS\") || \"Property details\"}\n />\n\n {/* Owner / Tenant Toggle */}\n <div style={{ marginBottom: \"20px\" }}>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"8px\" }}>\n {t(\"EKYC_PROPERTY_OWNER\") || \"Property owner\"}\n </div>\n <div style={{ display: \"flex\", backgroundColor: \"#F2F4F7\", padding: \"4px\", borderRadius: \"10px\", gap: \"4px\" }}>\n {[\"OWNER\", \"TENANT\"].map((type) => (\n <button\n key={type}\n onClick={() => setOwnerType(type)}\n style={{\n flex: 1, padding: \"9px 12px\", borderRadius: \"7px\", border: \"none\", cursor: \"pointer\",\n fontSize: \"13px\", fontWeight: \"600\", transition: \"all 0.15s\",\n background: ownerType === type ? \"#185FA5\" : \"transparent\",\n color: ownerType === type ? \"#fff\" : \"#667085\",\n }}\n >\n {t(`EKYC_${type}`) || (type === \"OWNER\" ? \"Owner\" : \"Tenant\")}\n </button>\n ))}\n </div>\n </div>\n\n {/* PID Number */}\n <div style={{ marginBottom: \"20px\" }}>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_PID_NUMBER\") || \"PID number\"}{\" \"}\n <span style={{ fontStyle: \"italic\", fontWeight: \"400\", textTransform: \"none\", color: \"#98A2B3\" }}>\n — {t(\"EKYC_OPTIONAL\") || \"optional\"}\n </span>\n </div>\n <IconInput\n icon={<PidIcon size={15} />}\n value={pidNumber}\n onChange={(e) => setPidNumber(e.target.value)}\n placeholder={t(\"EKYC_ENTER_PID_NUMBER\") || \"Enter PID number\"}\n />\n </div>\n\n <hr style={{ margin: \"24px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Building Info Section ── */}\n <SectionHead\n icon={<BuildingIcon size={16} />}\n label={t(\"EKYC_BUILDING_INFO\") || \"Building info\"}\n />\n\n {/* Dropdowns grid */}\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"14px\" }}>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_TYPE_OF_CONNECTION\") || \"Type of connection\"}\n </div>\n <Dropdown\n selected={connectionCategory}\n select={setConnectionCategory}\n option={connectionCategoryOptions}\n optionKey=\"label\"\n t={t}\n placeholder={t(\"EKYC_SELECT\") || \"Select\"}\n />\n </div>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_CONNECTION_CATEGORY\") || \"Connection category\"}\n </div>\n <Dropdown\n selected={connectionType}\n select={setConnectionType}\n option={connectionTypeOptions}\n optionKey=\"label\"\n t={t}\n placeholder={t(\"EKYC_SELECT\") || \"Select\"}\n />\n </div>\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"24px\" }}>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_USER_TYPE\") || \"User type\"}\n </div>\n <Dropdown\n selected={userType}\n select={setUserType}\n option={userTypeOptions}\n optionKey=\"label\"\n t={t}\n placeholder={t(\"EKYC_SELECT\") || \"Select\"}\n />\n </div>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_NO_OF_FLOORS\") || \"No. of floors\"}\n </div>\n <Dropdown\n selected={noOfFloors}\n select={setNoOfFloors}\n option={floorOptions}\n optionKey=\"label\"\n t={t}\n placeholder={t(\"EKYC_SELECT\") || \"Select\"}\n />\n </div>\n </div>\n\n <hr style={{ margin: \"24px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Documents & Photo Section ── */}\n <SectionHead\n icon={<DocumentIcon size={16} />}\n label={t(\"EKYC_DOCUMENTS_PHOTO\") || \"Documents & photo\"}\n />\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"20px\" }}>\n\n {/* PDF Upload */}\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"8px\" }}>\n {t(\"EKYC_UPLOAD_PROPERTY_DOC\") || \"Upload property document\"}\n </div>\n <UploadFile\n id={\"ekyc-property-doc\"}\n extraStyleName={\"propertyCreate\"}\n accept=\".pdf\"\n onUpload={selectpdf}\n onDelete={() => {\n setPropertyDocumentFileStoreId(null);\n setPropertyDocument(null);\n setFilepdf(null);\n }}\n message={propertyDocumentFileStoreId ? `1 ${t(`EKYC_ACTION_FILEUPLOADED`)}` : t(`EKYC_ACTION_NO_FILEUPLOADED`)}\n error={error}\n disabled={!pidNumber}\n />\n {!pidNumber && (\n <div style={{ fontSize: \"11px\", color: \"#D92D20\", marginTop: \"4px\" }}>\n {t(\"EKYC_ENTER_PID_FIRST_CTA\") || \"Enter PID to upload\"}\n </div>\n )}\n </div>\n\n {/* Building Photo Upload */}\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"8px\" }}>\n {t(\"EKYC_CAPTURE_BUILDING_IMAGE\") || \"Capture building image\"}\n </div>\n <UploadFile\n id={\"ekyc-building-photo\"}\n extraStyleName={\"propertyCreate\"}\n accept=\".jpg,.png,.jpeg\"\n onUpload={selectphoto}\n onDelete={() => {\n setBuildingPhotoFileStoreId(null);\n setBuildingPhoto(null);\n setFilephoto(null);\n }}\n message={buildingPhotoFileStoreId ? `1 ${t(`EKYC_ACTION_FILEUPLOADED`)}` : t(`EKYC_ACTION_NO_FILEUPLOADED`)}\n error={error}\n />\n {buildingPhoto && (\n <div style={{ marginTop: \"10px\", borderRadius: \"8px\", overflow: \"hidden\", border: \"1px solid #EAECF0\" }}>\n <img src={buildingPhoto} alt=\"Building Preview\" style={{ width: \"100%\", maxHeight: \"150px\", objectFit: \"cover\" }} />\n </div>\n )}\n </div>\n </div>\n\n {/* Info Banner */}\n <div style={{\n backgroundColor: \"#E6F1FB\", border: \"0.5px solid #B5D4F4\",\n borderRadius: \"8px\", padding: \"12px 14px\",\n display: \"flex\", alignItems: \"flex-start\", gap: \"10px\", marginBottom: \"4px\",\n }}>\n <div style={{ flexShrink: 0, marginTop: \"1px\" }}>\n <InfoBannerIcon fill=\"#185FA5\" />\n </div>\n <div style={{ fontSize: \"13px\", color: \"#185FA5\", lineHeight: \"1.5\" }}>\n {t(\"EKYC_TENANT_INFO_NOTICE\") || \"This section is enabled only if the user is not the owner. Tenant details will be required if tenant is selected.\"}\n </div>\n </div>\n\n </div>\n\n {/* Submit (Non-sticky, at form end) */}\n <div style={{ marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"EKYC_SAVE_AND_CONTINUE\") || \"Save & Continue\"}\n onSubmit={handleSaveAndContinue}\n />\n </div>\n\n {/* Secure notice */}\n <div style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n gap: \"5px\", marginTop: \"16px\",\n fontSize: \"11px\", color: \"#98A2B3\",\n }}>\n <svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" />\n </svg>\n {t(\"EKYC_SECURE_DATA_NOTICE\") || \"Your data is encrypted and secure\"}\n </div>\n </Card>\n </div>\n </div>\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n info={toast.type === \"info\"}\n success={toast.type === \"success\"}\n onClose={() => setToast(null)}\n />\n )}\n </div>\n );\n};\n\nexport default PropertyInfo;","import React, { Fragment, useState, useEffect } from \"react\";\nimport {\n Card,\n CardHeader,\n SubmitBar,\n HomeIcon,\n ActionBar,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { getPayloadDiff, getSavedData } from \"../../utils\";\n\n// ─── Icons ────────────────────────────────────────────────────────────────────\n\nconst CheckIcon = ({ size = 11, color = \"#fff\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"3\" strokeLinecap=\"round\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n);\n\nconst PersonIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z\" />\n </svg>\n);\n\nconst LocationIcon2 = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\" />\n </svg>\n);\n\nconst BuildingIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8V9h8v10zm-2-8h-4v2h4v-2zm0 4h-4v2h4v-2z\" />\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\">\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\n// ─── Reusable: Section heading with inline rule ───────────────────────────────\n\nconst SectionHead = ({ icon, label }) => (\n <div style={{\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n marginBottom: \"16px\", marginTop: \"4px\",\n }}>\n <div style={{ opacity: 0.5, display: \"flex\" }}>{icon}</div>\n <span style={{ fontSize: \"15px\", fontWeight: \"600\", color: \"#0B0C0C\", whiteSpace: \"nowrap\" }}>\n {label}\n </span>\n <div style={{ flex: 1, height: \"1px\", background: \"#EAECF0\" }} />\n </div>\n);\n\n// ─── Reusable: Review section card ───────────────────────────────────────────\n\nconst ReviewCard = ({ icon, title, onEdit, editLabel, rows, t }) => (\n <div style={{\n border: \"0.5px solid #EAECF0\",\n borderRadius: \"10px\",\n overflow: \"hidden\",\n marginBottom: \"16px\",\n animation: \"fadeSlideIn 0.3s ease\",\n }}>\n {/* Card header */}\n <div style={{\n display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\",\n padding: \"14px 16px\",\n background: \"#F9FAFB\",\n borderBottom: \"0.5px solid #EAECF0\",\n }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <div style={{ opacity: 0.5, display: \"flex\" }}>{icon}</div>\n <span style={{ fontSize: \"14px\", fontWeight: \"600\", color: \"#0B0C0C\" }}>{title}</span>\n </div>\n <button\n onClick={onEdit}\n style={{\n display: \"flex\", alignItems: \"center\", gap: \"5px\",\n background: \"none\", border: \"0.5px solid #D0D5DD\",\n borderRadius: \"6px\", padding: \"5px 12px\",\n fontSize: \"12px\", fontWeight: \"600\", color: \"#185FA5\",\n cursor: \"pointer\",\n }}\n >\n <EditIcon size={12} />\n {editLabel}\n </button>\n </div>\n\n {/* Rows */}\n <div style={{ padding: \"4px 0\" }}>\n {rows.map((row, i) => (\n row.value ? (\n <div key={i} style={{\n display: \"flex\", alignItems: \"flex-start\",\n padding: \"10px 16px\",\n borderBottom: i < rows.length - 1 ? \"0.5px solid #F2F4F7\" : \"none\",\n }}>\n <div style={{\n flex: \"0 0 180px\", fontSize: \"12px\", fontWeight: \"600\",\n color: \"#667085\", textTransform: \"uppercase\",\n letterSpacing: \"0.04em\", paddingTop: \"1px\",\n }}>\n {row.label}\n </div>\n <div style={{ flex: 1, fontSize: \"14px\", color: \"#101828\", fontWeight: \"500\", wordBreak: \"break-word\", display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {row.value}\n {row.isModified && (\n <span style={{\n fontSize: \"10px\",\n background: \"#FFF4ED\",\n color: \"#B45309\",\n border: \"0.5px solid #FDE68A\",\n borderRadius: \"4px\",\n padding: \"2px 6px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\"\n }}>\n {t(\"EKYC_MODIFIED\") || \"Modified\"}\n </span>\n )}\n </div>\n </div>\n ) : null\n ))}\n </div>\n </div>\n);\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst Review = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n\n // ── Restore State Logic ──\n const state = location.state || {};\n const initialData = state.initialData || getSavedData(\"EKYC_INITIAL_DATA\", {});\n const kNumber = state.kNumber || sessionStorage.getItem(\"EKYC_K_NUMBER\") || \"EKYC-1234567890\";\n\n // Reconstruct nested objects if state is lost on refresh\n const aadhaarDetails = state.aadhaarDetails || {\n userName: sessionStorage.getItem(\"EKYC_USER_NAME\"),\n mobileNumber: sessionStorage.getItem(\"EKYC_MOBILE_NUMBER\"),\n whatsappNumber: sessionStorage.getItem(\"EKYC_WHATSAPP_NUMBER\"),\n email: sessionStorage.getItem(\"EKYC_EMAIL\"),\n noOfPersons: sessionStorage.getItem(\"EKYC_NO_OF_PERSONS\"),\n };\n\n const addressDetails = state.addressDetails || {\n fullAddress: sessionStorage.getItem(\"EKYC_FULL_ADDRESS\"),\n flatNo: sessionStorage.getItem(\"EKYC_FLAT_NO\"),\n building: sessionStorage.getItem(\"EKYC_BUILDING\"),\n landmark: sessionStorage.getItem(\"EKYC_LANDMARK\"),\n pincode: sessionStorage.getItem(\"EKYC_PINCODE\"),\n assembly: getSavedData(\"EKYC_ASSEMBLY_DATA\")?.name,\n ward: getSavedData(\"EKYC_WARD_DATA\")?.name,\n doorPhoto: sessionStorage.getItem(\"EKYC_DOOR_PHOTO\"),\n doorPhotoFileStoreId: sessionStorage.getItem(\"EKYC_DOOR_PHOTO_FILESTORE_ID\"),\n };\n\n const propertyDetails = state.propertyDetails || {\n ownerType: sessionStorage.getItem(\"EKYC_OWNER_TYPE\"),\n pidNumber: sessionStorage.getItem(\"EKYC_PID_NUMBER\"),\n connectionCategory: getSavedData(\"EKYC_TYPE_OF_CONNECTION_DATA\"),\n connectionType: getSavedData(\"EKYC_CONNECTION_CATEGORY_DATA\"),\n userType: getSavedData(\"EKYC_USER_TYPE_DATA\"),\n noOfFloors: getSavedData(\"EKYC_NO_OF_FLOORS_DATA\"),\n propertyDocument: sessionStorage.getItem(\"EKYC_PROPERTY_DOC\"),\n propertyDocumentFileStoreId: sessionStorage.getItem(\"EKYC_PROPERTY_DOC_FILESTORE_ID\"),\n buildingPhoto: sessionStorage.getItem(\"EKYC_BUILDING_PHOTO\"),\n buildingPhotoFileStoreId: sessionStorage.getItem(\"EKYC_BUILDING_PHOTO_FILESTORE_ID\"),\n };\n\n useEffect(() => {\n sessionStorage.setItem(\"EKYC_CURRENT_STEP\", \"REVIEW\");\n }, []);\n\n // Helper to check if a field is modified\n const isFieldModified = (key, currentVal) => {\n const initialVal = initialData[key];\n if (initialVal === undefined) return false;\n return JSON.stringify(initialVal) !== JSON.stringify(currentVal);\n };\n\n const [toast, setToast] = useState(null);\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl\";\n const { mutate, isLoading: isMutationLoading } = Digit.Hooks.ekyc.useEkycApplicationUpdate(tenantId);\n const isSubmitting = isMutationLoading;\n\n // ── Helper: upload a File object to Filestore ──────────────────────────────\n const uploadFile = async (file, tenantId) => {\n if (!file) return null;\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n return res?.data?.files?.[0]?.fileStoreId || null;\n };\n\n // ── Helper: convert a data-URL (base64 string) to a File blob ─────────────\n const dataUrlToFile = (dataUrl, filename) => {\n const arr = dataUrl.split(\",\");\n const mime = arr[0].match(/:(.*?);/)[1];\n const bstr = atob(arr[1]);\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n while (n--) u8arr[n] = bstr.charCodeAt(n);\n return new File([u8arr], filename, { type: mime });\n };\n\n const handleSubmit = async () => {\n setToast(null);\n try {\n const userInfo = Digit.UserService.getUser()?.info || {};\n\n // ── 1. Upload property document ──────────────────────────────────────\n let propertyDocFileStoreId = propertyDetails.propertyDocumentFileStoreId || null;\n if (!propertyDocFileStoreId && propertyDetails.propertyDocument instanceof File) {\n propertyDocFileStoreId = await uploadFile(propertyDetails.propertyDocument, tenantId);\n }\n\n // ── 2. Upload building photo ──────────────────────────────────────────\n let buildingImageFileStoreId = propertyDetails.buildingPhotoFileStoreId || null;\n if (!buildingImageFileStoreId && propertyDetails.buildingPhoto) {\n // Fallback if we only have the dataURL\n const photoFile = dataUrlToFile(propertyDetails.buildingPhoto, \"building_photo.jpg\");\n buildingImageFileStoreId = await uploadFile(photoFile, tenantId);\n }\n\n // ── 3. Upload door photo ──────────────────────────────────────────────\n let doorPhotoFileStoreId = addressDetails.doorPhotoFileStoreId || null;\n if (!doorPhotoFileStoreId && addressDetails.doorPhoto) {\n const doorFile = dataUrlToFile(addressDetails.doorPhoto, \"door_photo.jpg\");\n doorPhotoFileStoreId = await uploadFile(doorFile, tenantId);\n }\n\n // ── 4. Build optimized request payload ────────────────────────────────\n // Note: RequestInfo is added automatically by the Digit Request utility\n const requestBody = {\n updateType: \"PROPERTY\",\n kno: kNumber,\n pidNumber: propertyDetails.pidNumber || null,\n propertyDocumentFileStoreId: propertyDocFileStoreId,\n buildingImageFileStoreId: buildingImageFileStoreId,\n userType: propertyDetails.userType?.value || null,\n noOfFloor: propertyDetails.noOfFloors?.value ? parseInt(propertyDetails.noOfFloors.value, 10) : null,\n typeOfConnection: propertyDetails.connectionCategory?.value || null,\n connectionCategory: propertyDetails.connectionType?.value || null,\n modifiedBy: userInfo.name || userInfo.userName || null,\n mobileNumber: aadhaarDetails.mobileNumber || null,\n email: aadhaarDetails.email || null,\n userName: aadhaarDetails.userName || null,\n noOfPersons: aadhaarDetails.noOfPersons || null,\n doorPhotoFileStoreId: doorPhotoFileStoreId,\n fullAddress: addressDetails.fullAddress || null,\n flatNo: addressDetails.flatNo || null,\n building: addressDetails.building || null,\n landmark: addressDetails.landmark || null,\n pincode: addressDetails.pincode || null,\n assembly: addressDetails.assembly || null,\n ward: addressDetails.ward || null,\n };\n\n // ── 4. Call the update API using the new Hook ──────────────────────────\n mutate(requestBody, {\n onSuccess: (res) => {\n setToast({ type: \"success\", message: t(\"EKYC_SUBMIT_SUCCESS\") || \"Application submitted successfully!\" });\n\n // Cleanup sessionStorage on success\n Object.keys(sessionStorage).forEach(key => {\n if (key.startsWith(\"EKYC_\")) sessionStorage.removeItem(key);\n });\n\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/dashboard\");\n }, 1800);\n },\n onError: (err) => {\n console.error(\"eKYC Submit Error:\", err);\n setToast({\n type: \"error\",\n message: err?.response?.data?.Errors?.[0]?.message ||\n t(\"EKYC_SUBMIT_ERROR\") || \"Submission failed. Please try again.\",\n });\n }\n });\n\n } catch (err) {\n console.error(\"eKYC Frontend Error:\", err);\n setToast({\n type: \"error\",\n message: t(\"EKYC_SUBMIT_ERROR\") || \"An error occurred during submission.\",\n });\n }\n };\n\n const handleEditAadhaar = () => {\n history.push(\"/digit-ui/employee/ekyc/aadhaar-verification\", location.state);\n };\n\n const handleEditAddress = () => {\n history.push(\"/digit-ui/employee/ekyc/address-details\", location.state);\n };\n\n const handleEditProperty = () => {\n history.push(\"/digit-ui/employee/ekyc/property-info\", location.state);\n };\n\n return (\n <div className=\"ground-container employee-app-container form-container\">\n\n <Fragment>\n <div className=\"inbox-container\">\n <style>{`\n @keyframes fadeSlideIn {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n }\n `}</style>\n\n {/* ── Sidebar ── */}\n <div className=\"filters-container\">\n <Card style={{ display: \"flex\", alignItems: \"center\", padding: \"12px 16px\", marginBottom: \"12px\", borderRadius: \"8px\" }}>\n <div style={{ color: \"#185FA5\", marginRight: \"10px\", display: \"flex\" }}>\n <HomeIcon style={{ width: \"20px\", height: \"20px\" }} />\n </div>\n <div style={{ fontWeight: \"600\", fontSize: \"15px\", color: \"#0B0C0C\" }}>\n {t(\"EKYC_PROCESS\") || \"eKYC Process\"}\n </div>\n </Card>\n\n <div style={{ background: \"#fff\", padding: \"16px 14px\", borderRadius: \"8px\", border: \"1px solid #EAECF0\" }}>\n {[\n { label: t(\"EKYC_STEP_AADHAAR\") || \"Aadhaar\", done: true, active: false },\n { label: t(\"EKYC_STEP_ADDRESS\") || \"Address\", done: true, active: false },\n { label: t(\"EKYC_STEP_PROPERTY\") || \"Property\", done: true, active: false },\n { label: t(\"EKYC_STEP_REVIEW\") || \"Review\", done: false, active: true },\n ].map((step, i) => (\n <div key={i} style={{\n display: \"flex\", gap: \"10px\", alignItems: \"flex-start\",\n position: \"relative\", paddingBottom: i < 3 ? \"18px\" : 0,\n }}>\n {i < 3 && (\n <div style={{\n position: \"absolute\", left: \"10px\", top: \"22px\",\n width: \"1px\", height: \"calc(100% - 10px)\", background: \"#EAECF0\",\n }} />\n )}\n <div style={{\n width: \"20px\", height: \"20px\", borderRadius: \"50%\", flexShrink: 0, marginTop: \"1px\",\n border: step.done ? \"none\" : step.active ? \"1.5px solid #185FA5\" : \"1.5px solid #D0D5DD\",\n background: step.done ? \"#0F6E56\" : step.active ? \"#E6F1FB\" : \"#fff\",\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n fontSize: \"10px\", fontWeight: \"500\",\n color: step.done ? \"#fff\" : step.active ? \"#185FA5\" : \"#98A2B3\",\n }}>\n {step.done ? <CheckIcon size={11} color=\"#fff\" /> : i + 1}\n </div>\n <div style={{\n fontSize: \"12px\", paddingTop: \"2px\",\n color: step.done ? \"#0F6E56\" : step.active ? \"#0B0C0C\" : \"#667085\",\n fontWeight: step.done || step.active ? \"600\" : \"400\",\n }}>\n {step.label}\n </div>\n </div>\n ))}\n </div>\n </div>\n\n {/* ── Main Content ── */}\n <div style={{ flex: 1, marginLeft: \"16px\" }}>\n <Card>\n\n {/* Page header */}\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", marginBottom: \"20px\" }}>\n <CardHeader style={{ margin: 0, fontSize: \"18px\" }}>\n {t(\"EKYC_REVIEW_DETAILS\") || \"Review Details\"}\n </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\") || \"K Number\"}:{\" \"}\n <span style={{ color: \"#0B0C0C\", fontWeight: \"600\" }}>{kNumber}</span>\n </div>\n </div>\n\n {/* Confirmation banner */}\n <div style={{\n backgroundColor: \"#E1F5EE\", border: \"0.5px solid #5DCAA5\",\n borderRadius: \"8px\", padding: \"12px 16px\",\n display: \"flex\", alignItems: \"center\", gap: \"10px\",\n marginBottom: \"24px\",\n }}>\n <div style={{ backgroundColor: \"#9FE1CB\", padding: \"5px\", borderRadius: \"6px\", display: \"flex\", flexShrink: 0 }}>\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#085041\" strokeWidth=\"3\" strokeLinecap=\"round\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </div>\n <div style={{ fontSize: \"13px\", color: \"#04342C\", fontWeight: \"500\" }}>\n {t(\"EKYC_REVIEW_NOTICE\") || \"Please review all details carefully before submitting. You can edit any section by clicking Edit.\"}\n </div>\n </div>\n\n <div style={{ animation: \"fadeSlideIn 0.3s ease\" }}>\n\n {/* ── Aadhaar section head ── */}\n <SectionHead\n icon={<PersonIcon size={16} />}\n label={t(\"EKYC_AADHAAR_VERIFICATION_HEADER\") || \"Aadhaar details\"}\n />\n\n <ReviewCard\n icon={<PersonIcon size={16} />}\n title={t(\"EKYC_AADHAAR_VERIFICATION_HEADER\") || \"Aadhaar details\"}\n onEdit={handleEditAadhaar}\n editLabel={t(\"CS_COMMON_EDIT\") || \"Edit\"}\n t={t}\n rows={[\n { label: t(\"EKYC_NAME\") || \"Name\", value: aadhaarDetails.userName || \"Rajesh Kumar Singh\", isModified: isFieldModified(\"userName\", aadhaarDetails.userName) },\n { label: t(\"EKYC_AADHAAR\") || \"Aadhaar no.\", value: aadhaarDetails.aadhaarLastFour ? `${aadhaarDetails.aadhaarLastFour}` : \"XXXX XXXX 1234\" },\n { label: t(\"EKYC_MOBILE_NO\") || \"Mobile no.\", value: aadhaarDetails.mobileNumber || \"XXXXXXXXXX\", isModified: isFieldModified(\"mobileNumber\", aadhaarDetails.mobileNumber) },\n { label: t(\"EKYC_EMAIL_ADDRESS\") || \"Email\", value: aadhaarDetails.email || null, isModified: isFieldModified(\"email\", aadhaarDetails.email) },\n ]}\n />\n\n <hr style={{ margin: \"20px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Address section head ── */}\n <SectionHead\n icon={<LocationIcon2 size={16} />}\n label={t(\"EKYC_ADDRESS_DETAILS_HEADER\") || \"Address details\"}\n />\n\n <ReviewCard\n icon={<LocationIcon2 size={16} />}\n title={t(\"EKYC_ADDRESS_DETAILS_HEADER\") || \"Address details\"}\n onEdit={handleEditAddress}\n editLabel={t(\"CS_COMMON_EDIT\") || \"Edit\"}\n t={t}\n rows={[\n { label: t(\"EKYC_FULL_ADDRESS\") || \"Full address\", value: addressDetails.fullAddress || \"H.No. 123, Sector 15, Rohini, Delhi – 110085\", isModified: isFieldModified(\"fullAddress\", addressDetails.fullAddress) },\n { label: t(\"EKYC_FLAT_HOUSE_NUMBER\") || \"Flat / House no.\", value: addressDetails.flatNo || null, isModified: isFieldModified(\"flatNo\", addressDetails.flatNo) },\n { label: t(\"EKYC_BUILDING_TOWER\") || \"Building\", value: addressDetails.building || null, isModified: isFieldModified(\"building\", addressDetails.building) },\n { label: t(\"EKYC_LANDMARK\") || \"Landmark\", value: addressDetails.landmark || null, isModified: isFieldModified(\"landmark\", addressDetails.landmark) },\n { label: t(\"EKYC_PINCODE\") || \"Pincode\", value: addressDetails.pincode || \"110085\", isModified: isFieldModified(\"pincode\", addressDetails.pincode) },\n { label: t(\"EKYC_ASSEMBLY\") || \"Assembly\", value: addressDetails.assembly || \"AC-12 Chandni Chowk\", isModified: isFieldModified(\"assembly\", addressDetails.assembly) },\n { label: t(\"EKYC_WARD\") || \"Ward\", value: addressDetails.ward || \"WARD-45 Civil Lines\", isModified: isFieldModified(\"ward\", addressDetails.ward) },\n ]}\n />\n\n <hr style={{ margin: \"20px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Property section head ── */}\n <SectionHead\n icon={<BuildingIcon size={16} />}\n label={t(\"EKYC_PROPERTY_INFO\") || \"Property details\"}\n />\n\n <ReviewCard\n icon={<BuildingIcon size={16} />}\n title={t(\"EKYC_PROPERTY_INFO\") || \"Property details\"}\n onEdit={handleEditProperty}\n editLabel={t(\"CS_COMMON_EDIT\") || \"Edit\"}\n t={t}\n rows={[\n { label: t(\"EKYC_PROPERTY_OWNER\") || \"Property owner\", value: propertyDetails.ownerType || \"Owner\" },\n { label: t(\"EKYC_PID_NUMBER\") || \"PID number\", value: propertyDetails.pidNumber || null, isModified: isFieldModified(\"pidNumber\", propertyDetails.pidNumber) },\n { label: t(\"EKYC_TYPE_OF_CONNECTION\") || \"Type of connection\", value: propertyDetails.connectionCategory?.label || null, isModified: isFieldModified(\"typeOfConnection\", propertyDetails.connectionCategory?.value) },\n { label: t(\"EKYC_CONNECTION_CATEGORY\") || \"Connection category\", value: propertyDetails.connectionType?.label || null, isModified: isFieldModified(\"connectionCategory\", propertyDetails.connectionType?.value) },\n { label: t(\"EKYC_USER_TYPE\") || \"User type\", value: propertyDetails.userType?.label || null, isModified: isFieldModified(\"userType\", propertyDetails.userType?.value) },\n { label: t(\"EKYC_NO_OF_FLOORS\") || \"No. of floors\", value: propertyDetails.noOfFloors?.label || null, isModified: isFieldModified(\"noOfFloor\", propertyDetails.noOfFloors?.value) },\n ]}\n />\n\n </div>\n\n {/* Submit (Non-sticky, at form end) */}\n <div style={{ marginTop: \"24px\" }}>\n <SubmitBar\n label={isSubmitting\n ? (t(\"EKYC_SUBMITTING\") || \"Submitting...\")\n : (t(\"ES_COMMON_SUBMIT\") || \"Submit\")\n }\n onSubmit={handleSubmit}\n disabled={isSubmitting}\n />\n </div>\n\n {/* Secure notice */}\n <div style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n gap: \"5px\", marginTop: \"16px\",\n fontSize: \"11px\", color: \"#98A2B3\",\n }}>\n <svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" />\n </svg>\n {t(\"EKYC_SECURE_DATA_NOTICE\") || \"Your data is encrypted and secure\"}\n </div>\n\n </Card>\n </div>\n </div>\n\n {/* Toast notification */}\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n success={toast.type === \"success\"}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n </div>\n );\n};\n\nexport default Review;","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 Inbox from \"./Inbox\";\nimport Create from \"./Create\";\nimport AadhaarVerification from \"./AadhaarVerification\";\nimport AddressDetails from \"./AddressDetails\";\nimport PropertyInfo from \"./PropertyInfo\";\nimport Review from \"./Review\";\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(\"/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(\"/review\")) return \"EKYC_REVIEW\";\n return \"ES_COMMON_INBOX\";\n };\n\n const breadcrumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(getBreadcrumbLabel()) }\n ];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-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 <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <Inbox\n parentRoute={path}\n businessService=\"EKYC\"\n moduleCode=\"EKYC\"\n isInbox={true}\n />\n )}\n />\n\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}/review`}\n component={() => <Review />}\n />\n\n <PrivateRoute\n path={`${path}/`}\n component={() => (\n <Inbox\n parentRoute={path}\n businessService=\"EKYC\"\n moduleCode=\"EKYC\"\n isInbox={true}\n />\n )}\n />\n </Switch>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React from \"react\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport EKYCCard from \"./components/EKYCCard\";\nimport Inbox from \"./pages/employee/Inbox\";\nimport DesktopInbox from \"./components/DesktopInbox\";\nimport MobileInbox from \"./components/MobileInbox\";\nimport Filter from \"./components/Filter\";\nimport EmployeeApp from \"./pages/employee\";\n\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading, 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 null;\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};\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","Chart","register","registerables","StatusCards","countData","chartRef1","useRef","chartInstance1","chartRef2","chartInstance2","total","pending","active","completed","actualCompleted","applied","approved","efficiency","Math","round","useEffect","current","destroy","ctx1","getContext","type","data","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","aspectRatio","ctx2","max","formatNumber","num","Intl","NumberFormat","format","style","fontFamily","width","justifyContent","alignItems","flexWrap","gap","flex","minWidth","fontSize","fontWeight","color","letterSpacing","marginBottom","textTransform","flexDirection","height","borderRadius","flexShrink","marginTop","padding","background","border","lineHeight","textAlign","position","ref","top","left","transform","pointerEvents","DesktopInbox","tableConfig","filterComponent","props","_Digit$Hooks$ekyc","isLoading","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","onSearch","searchFields","tenantId","Digit","ULBService","getCurrentTenantId","FilterComponent","setComp","useState","_Digit$ComponentRegis","ComponentRegistryService","getComponent","showReviewModal","setShowReviewModal","reviewHtml","setReviewHtml","selectedKno","setSelectedKno","generateReviewHtml","info","statusFlag","Date","toLocaleDateString","kno","consumerName","mobileNo","email","typeOfConnection","connectionCategory","addressRaw","locality","city","pincode","pidNumber","noOfFloor","verificationStatus","meterNumber","meterMake","meterLocationAddress","workingStatus","useReviewHook","Hooks","ekyc","useEkycApplicationReview","p","config","useMutation","EkycService","application_review","mutate","getReview","isReviewLoading","onSuccess","res","applicationReviewInfo","html","url","acknowledgementURL","reviewUrl","setReviewUrl","alert","onError","err","message","handleReview","columns","useMemo","Header","accessor","Cell","row","_row$original","_row$original2","original","applicationNumber","className","cursor","onClick","_row$original3","citizenName","_row$original4","status","tableData","items","paddingBottom","Modal","headerBarMain","headerBarEnd","hideSubmit","popupStyles","maxWidth","popupModuleMianStyles","srcDoc","src","undefined","title","Loader","Card","marginRight","HomeIcon","defaultSearchParams","onFilterChange","moduleCode","marginLeft","Table","getCellProps","cellInfo","SearchConsumer","children","_searchParams","setSearchParams","onChange","key","value","prev","onSubmit","e","preventDefault","onClear","cleared","kNumber","kName","boxShadow","TextInput","target","placeholder","paddingLeft","SubmitBar","margin","MobileInbox","_data$items","mobileData","map","item","mobileNumber","Link","to","length","DetailsCard","serviceRequestIdKey","linkPrefix","split","text","index","Filter","statusMap","applyLocalFilters","clearAll","onStatusChange","newParams","FilterForm","handleSubmit","fn","onResetFilterForm","id","onMobileExclusiveFilterPopupFormClose","onClose","FilterFormField","Dropdown","option","optionKey","select","selected","Inbox","businessService","initialStates","isInbox","_dashboardData$dashbo2","pageOffset","setPageOffset","pageSize","setPageSize","setSortParams","desc","defaultStatusOption","dashboardData","isFetching","useEkycSurveyorDashboard","offset","limit","enabled","filteredData","_dashboardData$dashbo","_searchParams$status","dashboardInfo","consumerList","selectedStatus","filter","rejected","totalCount","handleSearch","useCallback","filterParam","fetchNextPage","fetchPrevPage","handlePageSizeChange","newSize","Number","handleSort","args","name","optionsKey","Utils","browser","isMobile","floor","ConnectionDetailsView","connectionDetails","history","useHistory","path","useRouteMatch","showModal","setShowModal","selectedOption","setSelectedOption","code","handleStartVerification","onModalConfirm","parentPath","includes","replace","push","Fragment","CardHeader","StatusTable","Row","address","connectionType","phoneNumber","statusflag","CardLabel","actionSaveLabel","actionSaveOnSubmit","actionCancelLabel","actionCancelOnSubmit","RadioButtons","onSelect","buttonStyle","Create","saved","sessionStorage","getItem","JSON","parse","searchPerformed","setSearchPerformed","showToast","setShowToast","isSearching","error","revalidate","useSearchConnection","details","_error$response","_error$response$data","_error$response$data$","_error$response$data$2","response","Errors","removeItem","params","currentKno","Object","keys","forEach","startsWith","setItem","stringify","closeToast","class","Toast","isDsc","getSavedData","fallback","console","warn","CameraIcon","size","viewBox","fill","d","TargetIcon","PincodeIcon","CheckIcon","stroke","strokeWidth","strokeLinecap","points","IconInput","icon","topAligned","inputStyle","zIndex","opacity","assign","textInputStyle","paddingRight","SectionHead","whiteSpace","AddressDetails","isSection","onComplete","parentState","_flowState$connection","_mdmsRes$egovLocatio","_mdmsRes$egovLocatio$","_mdmsRes$egovLocatio2","_mdmsRes$egovLocatio3","location","useLocation","flowState","state","initialData","addrDetails","addressDetails","addressType","setAddressType","correctAddress","setCorrectAddress","fullAddress","setFullAddress","flatNo","setFlatNo","building","setBuilding","landmark","setLandmark","setPincode","doorPhoto","setDoorPhoto","doorPhotoFileStoreId","setDoorPhotoFileStoreId","filephoto","setFilephoto","setError","toast","setToast","uploadFile","file","_res$data","_res$data$files","_res$data$files$","UploadServices","Filestorage","files","fileStoreId","fsId","reader","FileReader","onloadend","result","readAsDataURL","isLocationFetching","setIsLocationFetching","fileInputRef","mdmsData","isMdmsLoading","useCommonMDMS","mdmsRes","MdmsRes","adminHierarchy","TenantBoundary","find","h","hierarchyType","rootBoundary","boundary","getAssemblies","boundaries","assemblies","targetLabel","_boundary$children","toLowerCase","getBlocks","blocks","child","_child$children","Array","isArray","assembly","setAssembly","ward","setWard","foundAssembly","a","b","addressOptions","yesNoOptions","handleCompleteVerification","payload","selectphoto","removePhoto","handleUseCurrentLocation","navigator","geolocation","getCurrentPosition","coords","latitude","longitude","fetch","ok","Error","json","amenity","road","neighbourhood","suburb","postcode","Boolean","join","enableHighAccuracy","timeout","maximumAge","renderContent","animation","LocationIcon","styles","innerStyles","transition","onMouseOver","currentTarget","onMouseOut","borderTopColor","PropertyHouse","minHeight","gridTemplateColumns","test","maxLength","borderTop","val","disabled","UploadFile","extraStyleName","accept","onUpload","onDelete","overflow","alt","maxHeight","objectFit","ActionBar","x","y","rx","success","done","step","i","paddingTop","LockIcon","UserIcon","cx","cy","r","PhoneIcon","WhatsappIcon","MailIcon","UsersIcon","rightIcon","right","RadioToggleRow","AadhaarVerification","addressSectionRef","connectionDetailsInfo","initialDetails","_connectionDetails$ad","_connectionDetails$pr","_connectionDetails$co","_connectionDetails$co2","_connectionDetails$pr2","_connectionDetails$pr3","_connectionDetails$ad2","_connectionDetails$ad3","_connectionDetails$ad4","_connectionDetails$ad5","_connectionDetails$ad6","_connectionDetails$ad7","_connectionDetails$ad8","userName","whatsappNumber","noOfPersons","noOfPerson","propertyDetails","userType","flatHouseNumber","buildingTower","pinCode","aadhaarLastFour","setAadhaarLastFour","isAadhaarVerified","setIsAadhaarVerified","isVerifying","setIsVerifying","showOtpField","setShowOtpField","otp","setOtp","otpError","setOtpError","nameCorrect","setNameCorrect","setUserName","mobileChange","setMobileChange","setMobileNumber","setWhatsappNumber","setEmail","setNoOfPersons","showAddressSection","setShowAddressSection","addressData","setAddressData","handleVerifyAadhaar","setTimeout","handleVerifyOtp","_addressSectionRef$cu","scrollIntoView","behavior","block","handleSaveAndContinue","_addressSectionRef$cu2","handleCompleteAll","aadhaarDetails","verifiedInput","verifiedCard","infoLabel","infoValue","twoCol","optionalTag","LabelFieldPair","gridColumn","sty","BuildingIcon","BriefcaseIcon","DocumentIcon","PidIcon","PropertyInfo","_dataV0$wsServicesC","_dataV0$wsServicesC$p","_dataConn$wsServices","_dataConn$wsServices$","_dataV1$wsServicesC","_dataV1$wsServicesC$u","_dataV2$wsServicesC","_dataV2$wsServicesC$f","dataV0","useGetPropertyType","dataConn","useGetConnectionTypeV2","dataV1","useGetUserType","dataV2","useGetFloorCount","ownerType","setOwnerType","setPidNumber","setConnectionCategory","setConnectionType","setUserType","noOfFloors","setNoOfFloors","propertyDocument","setPropertyDocument","propertyDocumentFileStoreId","setPropertyDocumentFileStoreId","buildingPhoto","setBuildingPhoto","buildingPhotoFileStoreId","setBuildingPhotoFileStoreId","filepdf","setFilepdf","fileRef","cameraRef","selectpdf","connectionCategoryOptions","propertyTypeV2","connectionTypeOptions","connectionTypeV2","userTypeOptions","userTypeV2","floorOptions","floorCount","fontStyle","InfoBannerIcon","LocationIcon2","EditIcon","ReviewCard","onEdit","editLabel","rows","borderBottom","wordBreak","isModified","Review","_getSavedData","_getSavedData2","_propertyDetails$conn3","_propertyDetails$conn4","_propertyDetails$conn5","_propertyDetails$conn6","_propertyDetails$user2","_propertyDetails$user3","_propertyDetails$noOf2","_propertyDetails$noOf3","isFieldModified","currentVal","initialVal","isMutationLoading","useEkycApplicationUpdate","isSubmitting","dataUrlToFile","dataUrl","filename","arr","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","File","_Digit$UserService$ge","_propertyDetails$user","_propertyDetails$noOf","_propertyDetails$conn","_propertyDetails$conn2","userInfo","UserService","getUser","propertyDocFileStoreId","buildingImageFileStoreId","photoFile","doorFile","requestBody","updateType","parseInt","modifiedBy","_err$response","_err$response$data","_err$response$data$Er","_err$response$data$Er2","handleEditAadhaar","handleEditAddress","handleEditProperty","EmployeeApp","getBreadcrumbLabel","pathname","breadcrumbs","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","window","back","Switch","PrivateRoute","component","EkycModule","stateCode","tenants","language","StoreData","getCurrentLanguage","store","Services","useStore","SessionStorage","set","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/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/pages/employee/Inbox.js","../src/components/ConnectionDetailsView.js","../src/pages/employee/Create.js","../src/utils/index.js","../src/pages/employee/AddressDetails.js","../src/pages/employee/AadhaarVerification.js","../src/pages/employee/PropertyInfo.js","../src/pages/employee/MeterDetails.js","../src/pages/employee/Review.js","../src/pages/employee/index.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_CREATE_KYC\"),\n link: `/digit-ui/employee/ekyc/create-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 { Chart, registerables } from \"chart.js\";\n\nChart.register(...registerables);\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 chartInstance1.current = new Chart(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, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, SubmitBar, Header, Card, HomeIcon, PersonIcon, Modal, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } 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 onSearch,\n searchFields,\n } = props;\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const [FilterComponent, setComp] = React.useState(() => Digit.ComponentRegistryService?.getComponent(filterComponent));\n\n // State for Review Modal\n const [showReviewModal, setShowReviewModal] = useState(false);\n const [reviewHtml, setReviewHtml] = useState(\"\");\n const [selectedKno, setSelectedKno] = useState(\"\");\n\n const generateReviewHtml = (info) => {\n if (!info) return \"<h3>No data found</h3>\";\n\n // Helper to format labels\n const formatLabel = (str) => str.replace(/([A-Z])/g, ' $1').replace(/^./, (s) => s.toUpperCase());\n\n return `\n <!DOCTYPE html>\n <html>\n <head>\n <link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\n <style>\n body { font-family: 'Inter', sans-serif; padding: 30px; color: #101828; line-height: 1.5; background: #fff; }\n .header { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 2px solid #185FA5; padding-bottom: 20px; margin-bottom: 30px; }\n .title { margin: 0; color: #185FA5; font-size: 24px; font-weight: 700; }\n .subtitle { margin: 5px 0 0; color: #667085; font-size: 14px; }\n .section { margin-bottom: 30px; border: 1px solid #EAECF0; border-radius: 12px; overflow: hidden; }\n .section-header { background: #F9FAFB; padding: 12px 20px; border-bottom: 1px solid #EAECF0; font-weight: 700; font-size: 14px; color: #344054; text-transform: uppercase; letter-spacing: 0.05em; }\n .grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; }\n .item { padding: 16px 20px; border-bottom: 1px solid #F2F4F7; }\n .item:nth-last-child(-n+2) { border-bottom: none; }\n .label { font-size: 11px; color: #667085; text-transform: uppercase; font-weight: 600; letter-spacing: 0.02em; margin-bottom: 4px; }\n .value { font-size: 14px; font-weight: 500; color: #1D2939; }\n .badge { display: inline-block; padding: 4px 12px; border-radius: 16px; font-size: 12px; font-weight: 600; }\n .badge-success { background: #ECFDF3; color: #027A48; }\n .badge-warning { background: #FFFAEB; color: #B54708; }\n .print-btn { background: #185FA5; color: #fff; padding: 10px 20px; border: none; border-radius: 8px; cursor: pointer; font-weight: 600; font-size: 14px; display: block; margin: 20px auto; }\n @media print { .print-btn { display: none; } body { padding: 0; } }\n </style>\n </head>\n <body>\n <div class=\"header\">\n <div>\n <h1 class=\"title\">Delhi Jal Board</h1>\n <p class=\"subtitle\">EKYC Application Review Summary</p>\n </div>\n <div style=\"text-align: right\">\n <span class=\"badge ${info.statusFlag === 'ACTIVE' ? 'badge-success' : 'badge-warning'}\">${info.statusFlag || 'N/A'}</span>\n <p class=\"subtitle\" style=\"margin-top: 8px\">Generated on: ${new Date().toLocaleDateString()}</p>\n </div>\n </div>\n\n <div class=\"section\">\n <div class=\"section-header\">Basic Details</div>\n <div class=\"grid\">\n <div class=\"item\"><div class=\"label\">KNO Number</div><div class=\"value\">${info.kno || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Consumer Name</div><div class=\"value\">${info.consumerName || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Mobile Number</div><div class=\"value\">${info.mobileNo || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Email Address</div><div class=\"value\">${info.email || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Connection Type</div><div class=\"value\">${info.typeOfConnection || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Category</div><div class=\"value\">${info.connectionCategory || 'N/A'}</div></div>\n </div>\n </div>\n\n <div class=\"section\">\n <div class=\"section-header\">Location & Property Information</div>\n <div class=\"grid\">\n <div class=\"item\"><div class=\"label\">Address</div><div class=\"value\">${info.addressRaw || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Locality</div><div class=\"value\">${info.locality || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">City - Pincode</div><div class=\"value\">${info.city || 'N/A'} - ${info.pincode || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">PID Number</div><div class=\"value\">${info.pidNumber || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">No. of Floors</div><div class=\"value\">${info.noOfFloor || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Verification Status</div><div class=\"value\"><span class=\"badge ${info.verificationStatus === 'SUCCESSFUL' ? 'badge-success' : 'badge-warning'}\">${info.verificationStatus || 'PENDING'}</span></div></div>\n </div>\n </div>\n\n <div class=\"section\">\n <div class=\"section-header\">Meter Information</div>\n <div class=\"grid\">\n <div class=\"item\"><div class=\"label\">Meter Number</div><div class=\"value\">${info.meterNumber || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Meter Make</div><div class=\"value\">${info.meterMake || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Meter Location</div><div class=\"value\">${info.meterLocationAddress || 'N/A'}</div></div>\n <div class=\"item\"><div class=\"label\">Working Status</div><div class=\"value\">${info.workingStatus ? 'Working' : 'Not Working'}</div></div>\n </div>\n </div>\n\n <button class=\"print-btn\" onclick=\"window.print()\">Print This Review</button>\n </body>\n </html>\n `;\n };\n\n // Use the library hook if available, otherwise fallback to local definition\n // This is a safety measure to handle stale library builds in dev environment\n const useReviewHook = Digit.Hooks.ekyc?.useEkycApplicationReview || ((p, config) => {\n return Digit.Hooks.useMutation((data) => Digit.EkycService.application_review(data, p), config);\n });\n\n const { mutate: getReview, isLoading: isReviewLoading } = useReviewHook(\n { tenantId },\n {\n onSuccess: (res) => {\n if (res?.applicationReviewInfo) {\n const html = generateReviewHtml(res.applicationReviewInfo);\n setReviewHtml(html);\n setShowReviewModal(true);\n } else {\n // Fallback to URL method if the API is updated later to return a URL\n const url = res?.acknowledgementURL || res?.reviewUrl || res?.url;\n if (url) {\n setReviewHtml(\"\"); // Clear HTML so iframe uses URL\n setReviewUrl(url);\n setShowReviewModal(true);\n } else {\n alert(t(\"EKYC_REVIEW_INFO_NOT_FOUND\"));\n }\n }\n },\n onError: (err) => {\n alert(err?.message || t(\"ERR_FAILED_TO_FETCH_REVIEW\"));\n }\n }\n );\n\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\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: \"status\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>;\n },\n },\n ],\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || [];\n }, [data]);\n\n return (\n <div className=\"inbox-container\">\n {showReviewModal && (\n <Modal\n headerBarMain={t(\"EKYC_APPLICATION_REVIEW\") + (selectedKno ? ` - ${selectedKno}` : \"\")}\n headerBarEnd={<div style={{ cursor: \"pointer\", padding: \"5px 10px\", background: \"#F2F4F7\", borderRadius: \"4px\" }} onClick={() => setShowReviewModal(false)}>{t(\"CLOSE\")}</div>}\n hideSubmit={true}\n popupStyles={{ width: \"90%\", height: \"90%\", maxWidth: \"1000px\" }}\n popupModuleMianStyles={{ height: \"calc(100% - 60px)\", padding: 0 }}\n >\n <iframe\n srcDoc={reviewHtml}\n src={!reviewHtml ? reviewUrl : undefined}\n title=\"Application Review\"\n style={{ width: \"100%\", height: \"100%\", border: \"none\" }}\n />\n </Modal>\n )}\n {(isLoading || isReviewLoading) && <Loader />}\n <div className=\"filters-container\">\n {/* Sidebar Title Card */}\n <Card\n className=\"sidebar-title-card\"\n style={{ display: \"flex\", alignItems: \"center\", padding: \"16px\", marginBottom: \"16px\", borderRadius: \"4px\" }}\n >\n <div className=\"icon-container\" style={{ color: \"#3A8DCC\", marginRight: \"12px\" }}>\n <HomeIcon style={{ width: \"24px\", height: \"24px\" }} />\n </div>\n <div style={{ fontWeight: \"700\", fontSize: \"18px\", color: \"#0B0C0C\" }}>{t(\"ACTION_TEST_EKYC\")}</div>\n </Card>\n\n <div>\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 </div>\n\n <div style={{ flex: 1, marginLeft: \"16px\" }}>\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\" style={{ marginBottom: \"16px\", padding: \"16px\" }}>\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 );\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, { useEffect, 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 localParamChange = (filterParam) => {\n let keys_to_delete = filterParam.delete;\n let _new = { ..._searchParams, ...filterParam };\n if (keys_to_delete) keys_to_delete.forEach((key) => delete _new[key]);\n delete filterParam.delete;\n setSearchParams({ ..._new });\n };\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) => { e && e.preventDefault(); fn(); }}\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, { useCallback, useEffect, useState, useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport DesktopInbox from \"../../components/DesktopInbox\";\nimport MobileInbox from \"../../components/MobileInbox\";\nimport Filter from \"../../components/Filter\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({\n parentRoute,\n businessService = \"EKYC\",\n initialStates = {},\n filterComponent,\n isInbox,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n\n // 1. Unified State Management\n const [pageOffset, setPageOffset] = useState(initialStates.pageOffset || 0);\n const [pageSize, setPageSize] = useState(initialStates.pageSize || 10);\n const [sortParams, setSortParams] = useState(initialStates.sortParams || [{ id: \"createdTime\", desc: true }]);\n\n // Define the default option for the dropdown\n const defaultStatusOption = useMemo(() => ({ label: t(\"EKYC_STATUS_ALL\"), value: \"\" }), [t]);\n\n // Maintain the full search objects for the Search component\n const [searchParams, setSearchParams] = useState(initialStates.searchParams || { status: defaultStatusOption });\n\n // 2. API Data Fetching\n const { isLoading, data: dashboardData, isFetching } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {}, \n { \n tenantId, \n offset: pageOffset, \n limit: pageSize,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const filteredData = useMemo(() => {\n let items = dashboardData?.dashboardInfo?.consumerList || [];\n \n // Frontend filtering since we no longer send status to API\n const selectedStatus = searchParams.status?.value;\n if (selectedStatus && selectedStatus !== \"\") {\n items = items.filter(item => item.status === selectedStatus);\n }\n\n return items.map(item => ({\n ...item,\n applicationNumber: item.kno || item.applicationNumber,\n citizenName: item.consumerName || item.citizenName,\n }));\n }, [dashboardData, searchParams.status]);\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 const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n // 3. Handlers\n const handleSearch = useCallback((filterParam) => {\n // Here we keep the full objects (like for dropdowns) in searchParams\n // so that the Search component can display them correctly.\n setSearchParams((prev) => ({ ...prev, ...filterParam }));\n setPageOffset(0);\n }, []);\n\n const fetchNextPage = () => setPageOffset((prev) => prev + pageSize);\n const fetchPrevPage = () => setPageOffset((prev) => Math.max(prev - pageSize, 0));\n\n const handlePageSizeChange = (e) => {\n const newSize = Number(e.target.value);\n setPageSize(newSize);\n setPageOffset(0);\n };\n\n const handleSort = useCallback((args) => {\n if (args.length > 0) setSortParams(args);\n }, []);\n\n // 4. Form Configuration\n const searchFields = useMemo(() => [\n {\n label: t(\"EKYC_STATUS\"),\n name: \"status\",\n type: \"dropdown\",\n options: [\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 optionsKey: \"label\"\n },\n ], [t]);\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"inbox-main-container\">\n {Digit.Utils.browser.isMobile() ? (\n <MobileInbox\n data={{ items: filteredData, totalCount: totalRecords }}\n isLoading={isLoading || isFetching}\n onSearch={handleSearch}\n searchFields={searchFields}\n searchParams={searchParams}\n parentRoute={parentRoute}\n countData={countData}\n />\n ) : (\n <DesktopInbox\n businessService={businessService}\n data={{ items: filteredData, totalCount: totalRecords }}\n isLoading={isLoading || isFetching}\n searchFields={searchFields}\n onSearch={handleSearch}\n onSort={handleSort}\n onNextPage={fetchNextPage}\n onPrevPage={fetchPrevPage}\n currentPage={Math.floor(pageOffset / pageSize)}\n pageSizeLimit={pageSize}\n onPageSizeChange={handlePageSizeChange}\n parentRoute={parentRoute}\n searchParams={searchParams}\n sortParams={sortParams}\n totalRecords={totalRecords}\n countData={countData}\n filterComponent=\"EKYC_INBOX_FILTER\"\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default Inbox;","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}/aadhaar-verification`, { 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\">\n <button\n onClick={handleStartVerification}\n className=\"primary-action-btn\"\n >\n {t(\"EKYC_START_VERIFICATION\") || \"Start Verification\"}\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 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\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 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 Object.keys(sessionStorage).forEach(key => {\n if (key.startsWith(\"EKYC_\")) 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","/**\n * Compares initial and current objects and returns an object containing only the differences.\n * Highly optimized for partial updates (PATCH-like behavior).\n * \n * @param {Object} initial - The original data from the backend.\n * @param {Object} current - The current form state.\n * @returns {Object} - An object with only the changed fields.\n */\nexport const getPayloadDiff = (initial, current) => {\n const diff = {};\n \n Object.keys(current).forEach(key => {\n const initialVal = initial?.[key];\n const currentVal = current[key];\n\n // Handle nested objects (like addressDetails or aadhaarDetails)\n if (currentVal && typeof currentVal === 'object' && !Array.isArray(currentVal) && !(currentVal instanceof File)) {\n const nestedDiff = getPayloadDiff(initialVal || {}, currentVal);\n if (Object.keys(nestedDiff).length > 0) {\n diff[key] = nestedDiff;\n }\n } \n // Handle primitive types or arrays/files\n else if (JSON.stringify(initialVal) !== JSON.stringify(currentVal)) {\n diff[key] = currentVal;\n }\n });\n\n return diff;\n};\n\n/**\n * Safely retrieves and parses JSON data from sessionStorage.\n * @param {string} key - The storage key.\n * @param {*} fallback - Default value if no data is found.\n * @returns {*} The parsed data or fallback.\n */\nexport const getSavedData = (key, fallback) => {\n const saved = sessionStorage.getItem(key);\n try {\n return saved ? JSON.parse(saved) : fallback;\n } catch (e) {\n console.warn(`Error parsing sessionStorage key \"${key}\":`, e);\n return fallback;\n }\n};\n","import React, { useState, useRef, Fragment, useEffect } from \"react\";\nimport {\n Card,\n LabelFieldPair,\n CardLabel,\n TextInput,\n SubmitBar,\n CardHeader,\n RadioButtons,\n ActionBar,\n InfoBannerIcon,\n PropertyHouse,\n LocationIcon,\n HomeIcon,\n ConnectingCheckPoints,\n CheckPoint,\n Dropdown,\n Loader,\n UploadFile,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { getPayloadDiff, getSavedData } from \"../../utils\";\n\n// ─── Icons ────────────────────────────────────────────────────────────────────\n\nconst FlagIcon = ({ size = 20 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M14.4 6L13.6 4H5V21H7V14H12.6L13.4 16H20V6H14.4Z\" fill=\"#0F6E56\" />\n </svg>\n);\n\nconst IdCardIcon = ({ size = 20 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M2 7V17C2 18.1 2.9 19 4 19H20C21.1 19 22 18.1 22 17V7C22 5.9 21.1 5 20 5H4C2.9 5 2 5.9 2 7ZM12 11H14V13H12V11ZM12 7H14V9H12V7ZM16 11H20V13H16V11ZM16 7H20V9H16V7ZM4 7H10V15H4V7ZM20 17H4V16H20V17Z\"\n fill=\"#185FA5\"\n />\n </svg>\n);\n\nconst CameraIcon = ({ size = 28 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M9 2L7.17 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4H16.83L15 2H9ZM12 17C9.24 17 7 14.76 7 12C7 9.24 9.24 7 12 7C14.76 7 17 9.24 17 12C17 14.76 14.76 17 12 17ZM12 9C10.34 9 9 10.34 9 12C9 13.66 10.34 15 12 15C13.66 15 15 13.66 15 12C15 10.34 13.66 9 12 9Z\"\n fill=\"#185FA5\"\n />\n </svg>\n);\n\nconst TargetIcon = ({ size = 20 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M12 8C9.79 8 8 9.79 8 12C8 14.21 9.79 16 12 16C14.21 16 16 14.21 16 12C16 9.79 14.21 8 12 8ZM20.94 11C20.48 6.83 17.17 3.52 13 3.06V1H11V3.06C6.83 3.52 3.52 6.83 3.06 11H1V13H3.06C3.52 17.17 6.83 20.48 11 20.94V23H13V20.94C17.17 20.48 20.48 17.17 20.94 13H23V11H20.94ZM12 19C8.13 19 5 15.87 5 12C5 8.13 8.13 5 12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19Z\"\n fill=\"#185FA5\"\n />\n </svg>\n);\n\nconst PincodeIcon = ({ size = 18 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M13 13V11H15V13H13ZM13 9V7H15V9H13ZM17 13V11H19V13H17ZM17 9V7H19V9H17ZM11 13V11H9V13H11ZM11 9V7H9V9H11ZM7 13V11H5V13H7ZM7 9V7H5V9H7ZM21 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H21C22.1 21 23 20.1 23 19V5C23 3.9 22.1 3 21 3ZM21 19H3V5H21V19Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst TrashIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#D92D20\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <polyline points=\"3 6 5 6 21 6\" />\n <path d=\"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6\" />\n <path d=\"M10 11v6M14 11v6\" />\n <path d=\"M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2\" />\n </svg>\n);\n\nconst CheckIcon = ({ size = 11, color = \"#fff\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"3\" strokeLinecap=\"round\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n);\n\n// ─── Reusable: Icon-prefixed input ────────────────────────────────────────────\n\nconst IconInput = ({ icon, topAligned = false, inputStyle = {}, ...props }) => (\n <div style={{ position: \"relative\", width: \"100%\" }}>\n <div style={{\n position: \"absolute\",\n left: \"10px\",\n ...(topAligned ? { top: \"14px\" } : { top: \"50%\", transform: \"translateY(-50%)\" }),\n zIndex: 1,\n opacity: 0.45,\n display: \"flex\",\n pointerEvents: \"none\",\n }}>\n {icon}\n </div>\n <TextInput\n textInputStyle={{ paddingLeft: \"36px\", paddingRight: \"12px\", ...inputStyle }}\n {...props}\n />\n </div>\n);\n\n// ─── Reusable: Section heading with inline rule ───────────────────────────────\n\nconst SectionHead = ({ icon, label }) => (\n <div style={{\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n marginBottom: \"16px\", marginTop: \"4px\",\n }}>\n <div style={{ opacity: 0.5, display: \"flex\" }}>{icon}</div>\n <span style={{ fontSize: \"15px\", fontWeight: \"600\", color: \"#0B0C0C\", whiteSpace: \"nowrap\" }}>\n {label}\n </span>\n <div style={{ flex: 1, height: \"1px\", background: \"#EAECF0\" }} />\n </div>\n);\n\n// ─── Reusable: Admin info card ────────────────────────────────────────────────\n\nconst AdminCard = ({ bgColor, iconBg, icon, labelColor, label, value }) => (\n <div style={{\n backgroundColor: bgColor,\n padding: \"14px 16px\",\n borderRadius: \"8px\",\n display: \"flex\",\n alignItems: \"center\",\n gap: \"14px\",\n border: \"0.5px solid #EAECF0\",\n }}>\n <div style={{ backgroundColor: iconBg, padding: \"8px\", borderRadius: \"8px\", display: \"flex\", flexShrink: 0 }}>\n {icon}\n </div>\n <div>\n <div style={{ color: labelColor, fontSize: \"10px\", fontWeight: \"600\", textTransform: \"uppercase\", letterSpacing: \"0.05em\", marginBottom: \"3px\" }}>\n {label}\n </div>\n <div style={{ fontSize: \"14px\", fontWeight: \"600\", color: \"#101828\" }}>{value}</div>\n </div>\n </div>\n);\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst AddressDetails = ({ isSection = false, onComplete, parentState }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n\n const flowState = parentState || location.state || {\n kNumber: \"EKYC-1234567890\",\n selectedOption: { code: \"SELF\", name: \"EKYC_SELF\" },\n connectionDetails: null,\n initialData: {},\n };\n\n const initialData = flowState.initialData || {};\n\n const addrDetails = flowState.connectionDetails?.addressDetails || {};\n\n const [addressType, setAddressType] = useState(() => getSavedData(\"EKYC_ADDRESS_TYPE\", { code: \"AADHAAR\", name: \"EKYC_AADHAAR_ADDRESS\" }));\n const [correctAddress, setCorrectAddress] = useState(() => getSavedData(\"EKYC_ADDRESS_CORRECT\", { code: \"NO\", name: \"CORE_COMMON_NO\" }));\n const [fullAddress, setFullAddress] = useState(() => sessionStorage.getItem(\"EKYC_FULL_ADDRESS\") || initialData.fullAddress || \"\");\n const [flatNo, setFlatNo] = useState(() => sessionStorage.getItem(\"EKYC_FLAT_NO\") || initialData.flatNo || \"\");\n const [building, setBuilding] = useState(() => sessionStorage.getItem(\"EKYC_BUILDING\") || initialData.building || \"\");\n const [landmark, setLandmark] = useState(() => sessionStorage.getItem(\"EKYC_LANDMARK\") || initialData.landmark || \"\");\n const [pincode, setPincode] = useState(() => sessionStorage.getItem(\"EKYC_PINCODE\") || initialData.pincode || \"\");\n const [doorPhoto, setDoorPhoto] = useState(() => sessionStorage.getItem(\"EKYC_DOOR_PHOTO\") || null);\n const [doorPhotoFileStoreId, setDoorPhotoFileStoreId] = useState(() => sessionStorage.getItem(\"EKYC_DOOR_PHOTO_FILESTORE_ID\") || null);\n \n const [filephoto, setFilephoto] = useState(null);\n const [error, setError] = useState(null);\n const [toast, setToast] = useState(null);\n\n // Sync address state to sessionStorage\n useEffect(() => {\n sessionStorage.setItem(\"EKYC_ADDRESS_TYPE\", JSON.stringify(addressType));\n sessionStorage.setItem(\"EKYC_ADDRESS_CORRECT\", JSON.stringify(correctAddress));\n sessionStorage.setItem(\"EKYC_FULL_ADDRESS\", fullAddress);\n sessionStorage.setItem(\"EKYC_FLAT_NO\", flatNo);\n sessionStorage.setItem(\"EKYC_BUILDING\", building);\n sessionStorage.setItem(\"EKYC_LANDMARK\", landmark);\n sessionStorage.setItem(\"EKYC_PINCODE\", pincode);\n if (doorPhoto) sessionStorage.setItem(\"EKYC_DOOR_PHOTO\", doorPhoto);\n if (doorPhotoFileStoreId) sessionStorage.setItem(\"EKYC_DOOR_PHOTO_FILESTORE_ID\", doorPhotoFileStoreId);\n sessionStorage.setItem(\"EKYC_CURRENT_STEP\", \"ADDRESS\");\n }, [addressType, correctAddress, fullAddress, flatNo, building, landmark, pincode, doorPhoto, doorPhotoFileStoreId]);\n\n const uploadFile = async (file, tenantId) => {\n if (!file) return null;\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n return res?.data?.files?.[0]?.fileStoreId || null;\n };\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (filephoto) {\n if (filephoto.size >= 2000000) {\n setError(t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"));\n setToast({ type: \"error\", message: t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") });\n } else {\n try {\n setToast({ type: \"info\", message: t(\"EKYC_UPLOADING\") });\n const fsId = await uploadFile(filephoto, tenantId);\n if (fsId) {\n setDoorPhotoFileStoreId(fsId);\n const reader = new FileReader();\n reader.onloadend = () => setDoorPhoto(reader.result);\n reader.readAsDataURL(filephoto);\n setToast({ type: \"success\", message: t(\"EKYC_UPLOAD_SUCCESS\") });\n } else {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n }\n } catch (err) {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n }\n }\n }\n })();\n }, [filephoto]);\n const [isLocationFetching, setIsLocationFetching] = useState(false);\n const fileInputRef = useRef(null);\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { data: mdmsData, isLoading: isMdmsLoading } = Digit.Hooks.useCommonMDMS(\n tenantId,\n \"egov-location\",\n [\"TenantBoundary\"]\n );\n\n const mdmsRes = mdmsData?.MdmsRes || mdmsData;\n const adminHierarchy = mdmsRes?.[\"egov-location\"]?.TenantBoundary?.find(h => h.hierarchyType.code === \"ADMIN\")\n || mdmsRes?.[\"egov-location\"]?.TenantBoundary?.[0];\n\n const rootBoundary = adminHierarchy?.boundary;\n\n const getAssemblies = (boundaries) => {\n if (!boundaries) return [];\n let assemblies = [];\n const targetLabel = \"assembly constituency\";\n for (const boundary of boundaries) {\n const label = (boundary.label || boundary.name || \"\").toLowerCase().replace(/_/g, \" \");\n if (label === targetLabel || label === \"assemblyconstituency\") {\n assemblies.push({ code: boundary.code, name: boundary.name, children: boundary.children });\n }\n if (boundary.children?.length) {\n assemblies.push(...getAssemblies(boundary.children));\n }\n }\n return assemblies;\n };\n\n const getBlocks = (children) => {\n if (!children) return [];\n let blocks = [];\n const targetLabel = \"block\";\n for (const child of children) {\n const label = (child.label || child.name || \"\").toLowerCase().replace(/_/g, \" \");\n if (label === targetLabel) {\n blocks.push({ code: child.code, name: child.name });\n }\n if (child.children?.length) {\n blocks.push(...getBlocks(child.children));\n }\n }\n return blocks;\n };\n\n const assemblies = getAssemblies(Array.isArray(rootBoundary) ? rootBoundary : rootBoundary ? [rootBoundary] : []);\n\n const [assembly, setAssembly] = useState(() => getSavedData(\"EKYC_ASSEMBLY_DATA\", initialData.assembly ? { name: initialData.assembly } : null));\n const [ward, setWard] = useState(() => getSavedData(\"EKYC_WARD_DATA\", initialData.ward ? { name: initialData.ward } : null));\n\n // Sync MDMS selection\n useEffect(() => {\n sessionStorage.setItem(\"EKYC_ASSEMBLY_DATA\", JSON.stringify(assembly));\n sessionStorage.setItem(\"EKYC_WARD_DATA\", JSON.stringify(ward));\n }, [assembly, ward]);\n\n useEffect(() => {\n if (mdmsRes && addrDetails.assembly && !assembly?.code) {\n const foundAssembly = assemblies.find((a) => a.name === addrDetails.assembly || a.code === addrDetails.assembly);\n if (foundAssembly) setAssembly(foundAssembly);\n }\n }, [mdmsRes, assemblies]);\n\n const blocks = assembly ? getBlocks(assembly.children) : [];\n\n useEffect(() => {\n if (assembly && ward && !blocks.find((b) => b.name === ward.name)) {\n setWard(null);\n }\n }, [assembly]);\n\n const addressOptions = [\n { code: \"AADHAAR\", name: \"EKYC_AADHAAR_ADDRESS\" },\n { code: \"OLD\", name: \"EKYC_OLD_ADDRESS\" },\n ];\n\n const yesNoOptions = [\n { code: \"YES\", name: \"CORE_COMMON_YES\" },\n { code: \"NO\", name: \"CORE_COMMON_NO\" },\n ];\n\n const handleCompleteVerification = () => {\n const payload = {\n addressType,\n fullAddress,\n flatNo,\n building,\n landmark,\n pincode,\n doorPhoto,\n doorPhotoFileStoreId,\n assembly: assembly?.name,\n ward: ward?.name\n };\n if (onComplete) {\n onComplete(payload);\n } else {\n const { kNumber, selectedOption, connectionDetails, initialData } = flowState;\n history.push(\"/digit-ui/employee/ekyc/property-info\", {\n kNumber, selectedOption, connectionDetails, addressDetails: payload, initialData\n });\n }\n };\n\n function selectphoto(e) {\n setDoorPhotoFileStoreId(null);\n setFilephoto(e.target.files[0]);\n }\n\n const removePhoto = () => {\n setDoorPhoto(null);\n setDoorPhotoFileStoreId(null);\n setFilephoto(null);\n };\n\n const handleUseCurrentLocation = () => {\n if (!(\"geolocation\" in navigator)) {\n alert(t(\"GEOLOCATION_NOT_SUPPORTED\"));\n return;\n }\n setIsLocationFetching(true);\n navigator.geolocation.getCurrentPosition(\n async ({ coords: { latitude, longitude } }) => {\n try {\n const res = await fetch(\n `https://nominatim.openstreetmap.org/reverse?format=json&lat=${latitude}&lon=${longitude}&zoom=18&addressdetails=1`\n );\n if (!res.ok) throw new Error(\"Geocode failed\");\n const data = await res.json();\n if (data?.address) {\n const a = data.address;\n setFullAddress([a.amenity, a.road, a.neighbourhood, a.suburb, a.city, a.state, a.postcode].filter(Boolean).join(\", \"));\n setPincode(a.postcode || \"\");\n setLandmark(a.suburb || a.neighbourhood || \"\");\n setFlatNo(a.amenity || \"\");\n }\n } catch (err) {\n console.error(\"Reverse geocode error:\", err);\n } finally {\n setIsLocationFetching(false);\n }\n },\n (err) => {\n console.error(\"Geolocation error:\", err);\n setIsLocationFetching(false);\n alert(t(\"LOCATION_FETCH_FAILED\"));\n },\n { enableHighAccuracy: true, timeout: 10000, maximumAge: 0 }\n );\n };\n\n const renderContent = () => (\n <div style={{ animation: \"fadeSlideIn 0.3s ease\" }}>\n\n {/* ── Address Type Toggle ── */}\n <SectionHead\n icon={<LocationIcon className=\"icon\" styles={{ fill: \"#0B0C0C\", width: \"16px\", height: \"16px\" }} />}\n label={t(\"EKYC_ADDRESS_DETAILS_HEADER\")}\n />\n\n <div style={{ marginBottom: \"20px\" }}>\n <RadioButtons\n options={addressOptions}\n optionsKey=\"name\"\n selectedOption={addressType}\n onSelect={setAddressType}\n t={t}\n innerStyles={{ display: \"flex\", alignItems: \"center\" }}\n style={{ display: \"flex\", gap: \"40px\" }}\n />\n </div>\n\n {/* ── Aadhaar Address display ── */}\n {addressType.code === \"AADHAAR\" && (\n <div style={{\n backgroundColor: \"#E1F5EE\",\n border: \"0.5px solid #5DCAA5\",\n borderRadius: \"8px\",\n padding: \"14px 16px\",\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: \"12px\",\n marginBottom: \"20px\",\n animation: \"fadeSlideIn 0.3s ease\",\n }}>\n <div style={{ backgroundColor: \"#9FE1CB\", padding: \"6px\", borderRadius: \"6px\", display: \"flex\", flexShrink: 0 }}>\n <LocationIcon className=\"icon\" styles={{ fill: \"#085041\", width: \"16px\", height: \"16px\" }} />\n </div>\n <div style={{ fontSize: \"14px\", lineHeight: \"1.6\", color: \"#04342C\", fontWeight: \"500\" }}>\n {addrDetails.fullAddress}\n </div>\n </div>\n )}\n\n {/* ── Old / Custom Address ── */}\n {addressType.code === \"OLD\" && (\n <div style={{ animation: \"fadeSlideIn 0.3s ease\" }}>\n\n {/* Correction toggle */}\n <div style={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\", marginBottom: \"14px\" }}>\n <CardLabel style={{ fontWeight: \"500\", marginBottom: 0, fontSize: \"13px\", color: \"#505A5F\" }}>\n {t(\"EKYC_ADDRESS_CORRECTION_PROMPT\")}\n </CardLabel>\n <RadioButtons\n options={yesNoOptions}\n optionsKey=\"name\"\n selectedOption={correctAddress}\n onSelect={setCorrectAddress}\n t={t}\n innerStyles={{ display: \"flex\", gap: \"20px\" }}\n style={{ marginBottom: 0 }}\n />\n </div>\n\n {/* Use Current Location */}\n <div\n onClick={!isLocationFetching ? handleUseCurrentLocation : undefined}\n style={{\n border: \"0.5px solid #D0D5DD\",\n borderRadius: \"8px\",\n padding: \"12px 16px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n marginBottom: \"20px\",\n cursor: isLocationFetching ? \"not-allowed\" : \"pointer\",\n backgroundColor: isLocationFetching ? \"#F9FAFB\" : \"#fff\",\n transition: \"background 0.15s\",\n opacity: isLocationFetching ? 0.7 : 1,\n }}\n onMouseOver={(e) => { if (!isLocationFetching) e.currentTarget.style.background = \"#F9FAFB\"; }}\n onMouseOut={(e) => { if (!isLocationFetching) e.currentTarget.style.background = \"#fff\"; }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"12px\" }}>\n <div style={{ backgroundColor: \"#E6F1FB\", padding: \"7px\", borderRadius: \"7px\", display: \"flex\" }}>\n {isLocationFetching ? (\n <div style={{\n width: \"18px\", height: \"18px\", border: \"2px solid #185FA5\",\n borderTopColor: \"transparent\", borderRadius: \"50%\",\n animation: \"spin 1s linear infinite\",\n }} />\n ) : (\n <TargetIcon size={18} />\n )}\n </div>\n <span style={{ fontWeight: \"500\", fontSize: \"14px\", color: \"#344054\" }}>\n {isLocationFetching\n ? t(\"EKYC_FETCHING_LOCATION\")\n : t(\"EKYC_USE_CURRENT_LOCATION\")}\n </span>\n </div>\n {!isLocationFetching && (\n <span style={{ fontSize: \"18px\", color: \"#98A2B3\", lineHeight: 1 }}>›</span>\n )}\n </div>\n\n {/* Full Address (textarea-style) */}\n <div style={{ marginBottom: \"14px\" }}>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_FULL_ADDRESS\")}\n </div>\n <IconInput\n icon={<PropertyHouse styles={{ fill: \"#0068fa\", width: \"15px\", height: \"15px\" }} />}\n topAligned\n value={fullAddress}\n onChange={(e) => setFullAddress(e.target.value)}\n placeholder={t(\"EKYC_ENTER_FULL_ADDRESS\")}\n inputStyle={{ minHeight: \"72px\" }}\n />\n </div>\n\n {/* Flat + Building */}\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"14px\" }}>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_FLAT_HOUSE_NUMBER\")}\n </div>\n <IconInput\n icon={<PropertyHouse styles={{ fill: \"#0068fa\", width: \"15px\", height: \"15px\" }} />}\n value={flatNo}\n onChange={(e) => setFlatNo(e.target.value)}\n placeholder={t(\"EKYC_ENTER_FLAT_NO\")}\n />\n </div>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_BUILDING_TOWER\")}\n </div>\n <IconInput\n icon={<PropertyHouse styles={{ fill: \"#0068fa\", width: \"15px\", height: \"15px\" }} />}\n value={building}\n onChange={(e) => setBuilding(e.target.value)}\n placeholder={t(\"EKYC_ENTER_BUILDING\")}\n />\n </div>\n </div>\n\n {/* Landmark + Pincode */}\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"4px\" }}>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_LANDMARK\")}\n </div>\n <IconInput\n icon={<LocationIcon className=\"icon\" styles={{ fill: \"#0068fa\", width: \"15px\", height: \"15px\" }} />}\n value={landmark}\n onChange={(e) => setLandmark(e.target.value)}\n placeholder={t(\"EKYC_ENTER_LANDMARK\")}\n />\n </div>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_PINCODE\")}\n </div>\n <IconInput\n icon={<PincodeIcon size={15} />}\n value={pincode}\n onChange={(e) => { if (/^\\d*$/.test(e.target.value)) setPincode(e.target.value); }}\n placeholder={t(\"EKYC_ENTER_PINCODE\")}\n maxLength={6}\n />\n </div>\n </div>\n </div>\n )}\n\n <hr style={{ margin: \"24px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Administrative Division ── */}\n <SectionHead\n icon={<PropertyHouse styles={{ fill: \"#0B0C0C\", width: \"16px\", height: \"16px\" }} />}\n label={t(\"EKYC_ADMINISTRATIVE_DIVISION\")}\n />\n\n {isMdmsLoading ? <Loader /> : (\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"24px\" }}>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_ASSEMBLY\")}\n </div>\n <Dropdown\n option={assemblies}\n optionKey=\"name\"\n selected={assembly}\n select={(val) => { setAssembly(val); setWard(null); }}\n t={t}\n />\n </div>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_WARD\") || \"Block\"}\n </div>\n <Dropdown\n option={blocks}\n optionKey=\"name\"\n selected={ward}\n select={setWard}\n disabled={!assembly}\n t={t}\n />\n </div>\n </div>\n )}\n\n <hr style={{ margin: \"24px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Door Photo ── */}\n <SectionHead\n icon={<CameraIcon size={16} />}\n label={t(\"EKYC_CAPTURE_DOOR_IMAGE\")}\n />\n\n <div style={{ fontSize: \"12px\", color: \"#667085\", marginBottom: \"12px\" }}>\n {t(\"EKYC_REQUIRED_FOR_VERIFICATION\")}\n </div>\n\n {/* Warning banner\n <div style={{\n backgroundColor: \"#FFFAEB\",\n border: \"0.5px solid #FEDF89\",\n borderRadius: \"8px\",\n padding: \"12px 14px\",\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: \"10px\",\n marginBottom: \"16px\",\n }}>\n <div style={{ flexShrink: 0, marginTop: \"1px\" }}>\n <InfoBannerIcon fill=\"#B54708\" />\n </div>\n <div>\n <div style={{ fontWeight: \"600\", color: \"#B54708\", fontSize: \"13px\", marginBottom: \"2px\" }}>\n {t(\"EKYC_IMPORTANT\")}\n </div>\n <div style={{ fontSize: \"12px\", color: \"#92400E\" }}>\n {t(\"EKYC_CAPTURE_LIVE_CAMERA\")}\n </div>\n </div>\n </div> */}\n\n {/* Building Photo Upload */}\n <UploadFile\n id={\"ekyc-door-photo\"}\n extraStyleName={\"propertyCreate\"}\n accept=\".jpg,.png,.jpeg\"\n onUpload={selectphoto}\n onDelete={removePhoto}\n message={doorPhotoFileStoreId ? `1 ${t(`EKYC_ACTION_FILEUPLOADED`)}` : t(`EKYC_ACTION_NO_FILEUPLOADED`)}\n error={error}\n />\n {doorPhoto && (\n <div style={{ marginTop: \"10px\", borderRadius: \"8px\", overflow: \"hidden\", border: \"1px solid #EAECF0\" }}>\n <img src={doorPhoto} alt=\"Door Preview\" style={{ width: \"100%\", maxHeight: \"250px\", objectFit: \"cover\" }} />\n </div>\n )}\n\n {/* Submit */}\n {isSection ? (\n <div style={{ marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"ES_COMMON_SAVE_CONTINUE\")}\n onSubmit={handleCompleteVerification}\n />\n </div>\n ) : (\n <ActionBar>\n <SubmitBar\n label={t(\"EKYC_COMPLETE_VERIFICATION\")}\n onSubmit={handleCompleteVerification}\n />\n </ActionBar>\n )}\n\n {/* Secure notice */}\n <div style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n gap: \"5px\", marginTop: \"16px\",\n fontSize: \"11px\", color: \"#98A2B3\",\n }}>\n <svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" />\n </svg>\n {t(\"EKYC_SECURE_DATA_NOTICE\")}\n </div>\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n info={toast.type === \"info\"}\n success={toast.type === \"success\"}\n onClose={() => setToast(null)}\n />\n )}\n </div>\n );\n\n // ── When rendered as inline section inside AadhaarVerification ──\n if (isSection) {\n return (\n <Fragment>\n <hr style={{ margin: \"32px 0\", border: 0, borderTop: \"2px solid #EAECF0\" }} />\n {renderContent()}\n </Fragment>\n );\n }\n\n // ── When rendered as a standalone page ──\n return (\n <div className=\"inbox-container\">\n <style>{`\n @keyframes spin { to { transform: rotate(360deg); } }\n @keyframes fadeSlideIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }\n `}</style>\n\n {/* Sidebar */}\n <div className=\"filters-container\">\n <Card style={{ display: \"flex\", alignItems: \"center\", padding: \"12px 16px\", marginBottom: \"12px\", borderRadius: \"8px\" }}>\n <div style={{ color: \"#185FA5\", marginRight: \"10px\", display: \"flex\" }}>\n <HomeIcon style={{ width: \"20px\", height: \"20px\" }} />\n </div>\n <div style={{ fontWeight: \"600\", fontSize: \"15px\", color: \"#0B0C0C\" }}>\n {t(\"EKYC_PROCESS\") || \"eKYC Process\"}\n </div>\n </Card>\n\n <div style={{ background: \"#fff\", padding: \"16px 14px\", borderRadius: \"8px\", border: \"1px solid #EAECF0\" }}>\n {[\n { label: t(\"EKYC_STEP_AADHAAR\") || \"Aadhaar\", done: true, active: false },\n { label: t(\"EKYC_STEP_ADDRESS\") || \"Address\", done: false, active: true },\n { label: t(\"EKYC_STEP_PROPERTY\") || \"Property\", done: false, active: false },\n { label: t(\"EKYC_STEP_METER\") || \"Meter\", done: false, active: false },\n { label: t(\"EKYC_STEP_REVIEW\") || \"Review\", done: false, active: false },\n ].map((step, i) => (\n <div key={i} style={{ display: \"flex\", gap: \"10px\", alignItems: \"flex-start\", position: \"relative\", paddingBottom: i < 4 ? \"18px\" : 0 }}>\n {i < 4 && (\n <div style={{ position: \"absolute\", left: \"10px\", top: \"22px\", width: \"1px\", height: \"calc(100% - 10px)\", background: \"#EAECF0\" }} />\n )}\n <div style={{\n width: \"20px\", height: \"20px\", borderRadius: \"50%\", flexShrink: 0, marginTop: \"1px\",\n border: step.done ? \"none\" : step.active ? \"1.5px solid #185FA5\" : \"1.5px solid #D0D5DD\",\n background: step.done ? \"#0F6E56\" : step.active ? \"#E6F1FB\" : \"#fff\",\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n fontSize: \"10px\", fontWeight: \"500\",\n color: step.done ? \"#fff\" : step.active ? \"#185FA5\" : \"#98A2B3\",\n }}>\n {step.done ? <CheckIcon size={11} color=\"#fff\" /> : i + 1}\n </div>\n <div style={{\n fontSize: \"12px\", paddingTop: \"2px\",\n color: step.done ? \"#0F6E56\" : step.active ? \"#0B0C0C\" : \"#667085\",\n fontWeight: step.done || step.active ? \"600\" : \"400\",\n }}>\n {step.label}\n </div>\n </div>\n ))}\n </div>\n </div>\n\n {/* Main */}\n <div style={{ flex: 1, marginLeft: \"16px\" }}>\n <Card>\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", marginBottom: \"20px\" }}>\n <CardHeader style={{ margin: 0, fontSize: \"18px\" }}>\n {t(\"EKYC_ADDRESS_DETAILS_HEADER\") || \"Address Details\"}\n </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\") || \"K Number\"}:{\" \"}\n <span style={{ color: \"#0B0C0C\", fontWeight: \"600\" }}>{flowState?.kNumber}</span>\n </div>\n </div>\n {renderContent()}\n </Card>\n </div>\n </div>\n );\n};\n\nexport default AddressDetails;","import React, { useState, useRef, Fragment, useEffect } from \"react\";\nimport {\n Card,\n LabelFieldPair,\n CardLabel,\n TextInput,\n SubmitBar,\n CardHeader,\n RadioButtons,\n ActionBar,\n HomeIcon,\n ConnectingCheckPoints,\n CheckPoint,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport { getSavedData } from \"../../utils\";\nimport AddressDetails from \"./AddressDetails\";\n\n// ─── Icons ───────────────────────────────────────────────────────────────────\n\nconst LockIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\">\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" />\n </svg>\n);\n\nconst UserIcon = ({ size = 16, color = \"currentColor\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"1.8\" strokeLinecap=\"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 PhoneIcon = ({ size = 16, color = \"currentColor\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"1.8\" strokeLinecap=\"round\">\n <path d=\"M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-5.37-5.37 19.79 19.79 0 01-3.07-8.63A2 2 0 014.82 0h3a2 2 0 012 1.72c.127.96.361 1.903.7 2.81a2 2 0 01-.45 2.11L8.91 7.91a16 16 0 006.16 6.16l1.27-1.27a2 2 0 012.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0122 16.92z\" />\n </svg>\n);\n\nconst WhatsappIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413z\"\n fill=\"#25D366\"\n />\n <path\n d=\"M12 2C6.477 2 2 6.477 2 12c0 1.89.525 3.66 1.438 5.168L2 22l4.832-1.438A9.96 9.96 0 0012 22c5.523 0 10-4.477 10-10S17.523 2 12 2z\"\n stroke=\"#25D366\" strokeWidth=\"1.8\" strokeLinecap=\"round\"\n />\n </svg>\n);\n\nconst MailIcon = ({ size = 16, color = \"currentColor\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"1.8\" strokeLinecap=\"round\">\n <path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\" />\n <path d=\"M22 6l-10 7L2 6\" />\n </svg>\n);\n\nconst UsersIcon = ({ size = 16, color = \"currentColor\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"1.8\" strokeLinecap=\"round\">\n <path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\" />\n <circle cx=\"9\" cy=\"7\" r=\"4\" />\n <path d=\"M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75\" />\n </svg>\n);\n\nconst CheckIcon = ({ size = 15, color = \"#1D9E75\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"2.8\" strokeLinecap=\"round\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n);\n\n// ─── Reusable: Icon-prefixed input wrapper ────────────────────────────────────\n\nconst IconInput = ({ icon, rightIcon, inputStyle = {}, ...props }) => (\n <div style={{ position: \"relative\", width: \"100%\" }}>\n <div style={{\n position: \"absolute\", left: \"10px\", top: \"50%\",\n transform: \"translateY(-50%)\", zIndex: 1, opacity: 0.45,\n display: \"flex\", pointerEvents: \"none\",\n }}>\n {icon}\n </div>\n <TextInput\n textInputStyle={{ paddingLeft: \"36px\", paddingRight: rightIcon ? \"36px\" : \"12px\", ...inputStyle }}\n {...props}\n />\n {rightIcon && (\n <div style={{\n position: \"absolute\", right: \"10px\", top: \"50%\",\n transform: \"translateY(-50%)\", display: \"flex\",\n }}>\n {rightIcon}\n </div>\n )}\n </div>\n);\n\n// ─── Reusable: Section heading with inline rule ───────────────────────────────\n\nconst SectionHead = ({ icon, label }) => (\n <div style={{\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n marginBottom: \"16px\", marginTop: \"4px\",\n }}>\n <div style={{ opacity: 0.5, display: \"flex\" }}>{icon}</div>\n <span style={{ fontSize: \"15px\", fontWeight: \"600\", color: \"#0B0C0C\", whiteSpace: \"nowrap\" }}>\n {label}\n </span>\n <div style={{ flex: 1, height: \"1px\", background: \"#EAECF0\" }} />\n </div>\n);\n\n// ─── Reusable: Radio toggle row ───────────────────────────────────────────────\n\nconst RadioToggleRow = ({ label, selected, onSelect, t, options }) => (\n <div style={{\n display: \"flex\", alignItems: \"center\",\n justifyContent: \"space-between\", marginBottom: \"8px\",\n }}>\n <CardLabel style={{ fontWeight: \"500\", marginBottom: 0, fontSize: \"13px\", color: \"#505A5F\" }}>\n {label}\n </CardLabel>\n <RadioButtons\n options={options}\n optionsKey=\"name\"\n selectedOption={selected}\n onSelect={onSelect}\n t={t}\n innerStyles={{ display: \"flex\", gap: \"20px\", alignItems: \"center\" }}\n style={{ display: \"flex\", gap: \"20px\", marginBottom: 0 }}\n />\n </div>\n);\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst AadhaarVerification = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const history = useHistory();\n const addressSectionRef = useRef(null);\n const { kNumber, selectedOption, connectionDetails } = location.state || {\n kNumber: \"EKYC-1234567890\",\n selectedOption: { code: \"SELF\", name: \"EKYC_SELF\" },\n connectionDetails: {\n connectionDetailsInfo: {\n consumerName: \"Rajesh Kumar Singh\",\n address: \"House No. 45, Sector 12, New Delhi - 110001\",\n phoneNumber: \"9876543210\",\n email: \"rajesh.singh@example.com\",\n },\n },\n };\n\n // Normalize the nested data shape (API returns .connectionDetails, fallback uses .connectionDetailsInfo)\n const initialDetails =\n connectionDetails?.connectionDetails ||\n connectionDetails?.connectionDetailsInfo ||\n {};\n\n // ── State ──\n const [initialData] = useState(() => getSavedData(\"EKYC_INITIAL_DATA\", {\n userName: initialDetails.consumerName || \"\",\n mobileNumber: initialDetails.phoneNumber || \"\",\n whatsappNumber: initialDetails.phoneNumber || \"\",\n email: initialDetails.email || \"\",\n noOfPersons: connectionDetails?.addressDetails?.noOfPerson || \"\",\n // Property and Connection Info\n pidNumber: connectionDetails?.propertyDetails?.pidNumber || \"\",\n typeOfConnection: connectionDetails?.connectionDetails?.connectionType || \"\",\n connectionCategory: connectionDetails?.connectionDetails?.connectionCategory || \"\",\n userType: connectionDetails?.propertyDetails?.userType || \"\",\n noOfFloor: connectionDetails?.propertyDetails?.noOfFloor || null,\n // Address Info\n fullAddress: connectionDetails?.addressDetails?.fullAddress || \"\",\n flatNo: connectionDetails?.addressDetails?.flatHouseNumber || \"\",\n building: connectionDetails?.addressDetails?.buildingTower || \"\",\n landmark: connectionDetails?.addressDetails?.landmark || \"\",\n pincode: connectionDetails?.addressDetails?.pinCode || \"\",\n assembly: connectionDetails?.addressDetails?.assembly || \"\",\n ward: connectionDetails?.addressDetails?.ward || \"\",\n }));\n\n // Sync initial data snapshot\n useEffect(() => {\n sessionStorage.setItem(\"EKYC_INITIAL_DATA\", JSON.stringify(initialData));\n }, [initialData]);\n\n const [aadhaarLastFour, setAadhaarLastFour] = useState(() => sessionStorage.getItem(\"EKYC_AADHAAR_LAST_FOUR\") || \"\");\n const [isAadhaarVerified, setIsAadhaarVerified] = useState(() => sessionStorage.getItem(\"EKYC_AADHAAR_VERIFIED\") === \"true\");\n const [isVerifying, setIsVerifying] = useState(false);\n const [showOtpField, setShowOtpField] = useState(false);\n const [otp, setOtp] = useState(\"\");\n const [otpError, setOtpError] = useState(false);\n const [nameCorrect, setNameCorrect] = useState(() => getSavedData(\"EKYC_NAME_CORRECT\", { code: \"NO\", name: \"CORE_COMMON_NO\" }));\n const [userName, setUserName] = useState(() => sessionStorage.getItem(\"EKYC_USER_NAME\") || initialData.userName);\n\n const [mobileChange, setMobileChange] = useState(() => getSavedData(\"EKYC_MOBILE_CHANGE\", { code: \"NO\", name: \"CORE_COMMON_NO\" }));\n const [mobileNumber, setMobileNumber] = useState(() => sessionStorage.getItem(\"EKYC_MOBILE_NUMBER\") || initialData.mobileNumber);\n\n const [whatsappNumber, setWhatsappNumber] = useState(() => sessionStorage.getItem(\"EKYC_WHATSAPP_NUMBER\") || initialData.whatsappNumber);\n const [email, setEmail] = useState(() => sessionStorage.getItem(\"EKYC_EMAIL\") || initialData.email);\n const [noOfPersons, setNoOfPersons] = useState(() => sessionStorage.getItem(\"EKYC_NO_OF_PERSONS\") || initialData.noOfPersons);\n\n // Sync current form state to sessionStorage\n useEffect(() => {\n sessionStorage.setItem(\"EKYC_AADHAAR_LAST_FOUR\", aadhaarLastFour);\n sessionStorage.setItem(\"EKYC_AADHAAR_VERIFIED\", isAadhaarVerified);\n sessionStorage.setItem(\"EKYC_NAME_CORRECT\", JSON.stringify(nameCorrect));\n sessionStorage.setItem(\"EKYC_USER_NAME\", userName);\n sessionStorage.setItem(\"EKYC_MOBILE_CHANGE\", JSON.stringify(mobileChange));\n sessionStorage.setItem(\"EKYC_MOBILE_NUMBER\", mobileNumber);\n sessionStorage.setItem(\"EKYC_WHATSAPP_NUMBER\", whatsappNumber);\n sessionStorage.setItem(\"EKYC_EMAIL\", email);\n sessionStorage.setItem(\"EKYC_NO_OF_PERSONS\", noOfPersons);\n sessionStorage.setItem(\"EKYC_CURRENT_STEP\", \"AADHAAR\");\n }, [aadhaarLastFour, isAadhaarVerified, nameCorrect, userName, mobileChange, mobileNumber, whatsappNumber, email, noOfPersons]);\n const [showAddressSection, setShowAddressSection] = useState(false);\n const [addressData, setAddressData] = useState(null);\n\n const yesNoOptions = [\n { code: \"YES\", name: \"CORE_COMMON_YES\" },\n { code: \"NO\", name: \"CORE_COMMON_NO\" },\n ];\n\n // ── Handlers ──\n const handleVerifyAadhaar = () => {\n if (aadhaarLastFour.length !== 12 || isVerifying) return;\n setIsVerifying(true);\n setTimeout(() => {\n setIsVerifying(false);\n setShowOtpField(true);\n }, 1200);\n };\n\n const handleVerifyOtp = () => {\n if (otp === \"123456\") {\n setIsAadhaarVerified(true);\n setShowOtpField(false);\n setOtpError(false);\n // Auto-expand address section upon verification\n setShowAddressSection(true);\n setTimeout(() => {\n addressSectionRef.current?.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }, 100);\n } else {\n setOtpError(true);\n }\n };\n\n const handleSaveAndContinue = () => {\n setShowAddressSection(true);\n setTimeout(() => {\n addressSectionRef.current?.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }, 100);\n };\n\n const handleCompleteAll = (addressDetails) => {\n setAddressData(addressDetails);\n history.push(\"/digit-ui/employee/ekyc/property-info\", {\n kNumber,\n selectedOption,\n connectionDetails,\n aadhaarDetails: {\n aadhaarLastFour,\n isAadhaarVerified,\n userName,\n mobileNumber,\n whatsappNumber,\n email,\n noOfPersons,\n },\n addressDetails,\n initialData: initialData, // Pass the initial snapshot\n });\n };\n\n // ── Styles ──\n const styles = {\n verifiedInput: {\n borderColor: \"#1D9E75\",\n backgroundColor: \"#E1F5EE\",\n },\n verifiedCard: {\n backgroundColor: \"#E1F5EE\",\n border: \"0.5px solid #5DCAA5\",\n borderRadius: \"8px\",\n padding: \"16px\",\n marginTop: \"14px\",\n marginBottom: \"4px\",\n animation: \"fadeSlideIn 0.35s ease\",\n },\n infoLabel: {\n fontSize: \"11px\",\n fontWeight: \"600\",\n color: \"#1D9E75\",\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n marginBottom: \"3px\",\n },\n infoValue: {\n fontSize: \"14px\",\n fontWeight: \"500\",\n color: \"#04342C\",\n },\n twoCol: {\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr\",\n gap: \"14px\",\n marginBottom: \"20px\",\n },\n optionalTag: {\n display: \"inline-block\",\n fontSize: \"10px\",\n background: \"#F1EFE8\",\n color: \"#5F5E5A\",\n border: \"0.5px solid #D3D1C7\",\n borderRadius: \"10px\",\n padding: \"1px 7px\",\n marginLeft: \"6px\",\n fontWeight: \"400\",\n },\n };\n\n return (\n <div className=\"inbox-container\">\n <style>{`\n @keyframes fadeSlideIn {\n from { opacity: 0; transform: translateY(6px); }\n to { opacity: 1; transform: translateY(0); }\n }\n @keyframes pulseGreen {\n 0%, 100% { box-shadow: 0 0 0 0 rgba(29,158,117,0.35); }\n 50% { box-shadow: 0 0 0 6px rgba(29,158,117,0); }\n }\n .ekyc-sidebar-step { display: flex; gap: 10px; align-items: flex-start; position: relative; padding-bottom: 18px; }\n .ekyc-sidebar-step:last-child { padding-bottom: 0; }\n .ekyc-step-line { position: absolute; left: 10px; top: 22px; width: 1px; height: calc(100% - 10px); background: #EAECF0; }\n .ekyc-step-dot { width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid #D0D5DD; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 500; color: #98A2B3; background: #fff; flex-shrink: 0; margin-top: 1px; }\n .ekyc-step-dot.active { border-color: #185FA5; color: #185FA5; background: #E6F1FB; }\n .ekyc-step-dot.done { border-color: #0F6E56; background: #0F6E56; color: #fff; }\n .ekyc-step-label { font-size: 12px; color: #667085; padding-top: 2px; }\n .ekyc-step-label.active { color: #0B0C0C; font-weight: 600; }\n .ekyc-step-label.done { color: #0F6E56; }\n .ekyc-field-label { font-size: 11px; font-weight: 600; color: #667085; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 6px; }\n `}</style>\n\n {/* ── Sidebar ── */}\n <div className=\"filters-container\">\n <Card style={{ display: \"flex\", alignItems: \"center\", padding: \"12px 16px\", marginBottom: \"12px\", borderRadius: \"8px\" }}>\n <div style={{ color: \"#185FA5\", marginRight: \"10px\", display: \"flex\" }}>\n <HomeIcon style={{ width: \"20px\", height: \"20px\" }} />\n </div>\n <div style={{ fontWeight: \"600\", fontSize: \"15px\", color: \"#0B0C0C\" }}>\n {t(\"EKYC_PROCESS\") || \"eKYC Process\"}\n </div>\n </Card>\n\n <div style={{ background: \"#fff\", padding: \"16px 14px\", borderRadius: \"8px\", border: \"1px solid #EAECF0\" }}>\n {[\n { label: t(\"EKYC_STEP_AADHAAR\") || \"Aadhaar\", done: showAddressSection, active: !showAddressSection },\n { label: t(\"EKYC_STEP_ADDRESS\") || \"Address\", done: addressData !== null, active: showAddressSection && addressData === null },\n { label: t(\"EKYC_STEP_PROPERTY\") || \"Property\", done: false, active: false },\n { label: t(\"EKYC_STEP_METER\") || \"Meter\", done: false, active: false },\n { label: t(\"EKYC_STEP_REVIEW\") || \"Review\", done: false, active: false },\n ].map((step, i) => (\n <div className=\"ekyc-sidebar-step\" key={i}>\n <div className={`ekyc-step-dot${step.done ? \" done\" : step.active ? \" active\" : \"\"}`}>\n {step.done\n ? <CheckIcon size={11} color=\"#fff\" />\n : i + 1}\n </div>\n {i < 4 && <div className=\"ekyc-step-line\" />}\n <div className={`ekyc-step-label${step.done ? \" done\" : step.active ? \" active\" : \"\"}`}>\n {step.label}\n </div>\n </div>\n ))}\n </div>\n </div>\n\n {/* ── Main content ── */}\n <div style={{ flex: 1, marginLeft: \"16px\" }}>\n <Card>\n\n {/* K-Number badge */}\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", marginBottom: \"20px\" }}>\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\") || \"K Number\"}:{\" \"}\n <span style={{ color: \"#0B0C0C\", fontWeight: \"600\" }}>{kNumber}</span>\n </div>\n </div>\n\n {/* ── Section 1: Aadhaar ── */}\n <SectionHead\n icon={<LockIcon size={16} />}\n label={t(\"EKYC_AADHAAR_NUMBER_HEADER\") || \"Aadhaar Number\"}\n />\n\n <div className=\"ekyc-field-label\">\n {t(\"EKYC_LAST_4_DIGIT_AADHAAR\") || \"Enter 12 digits of Aadhaar\"}\n </div>\n <LabelFieldPair>\n <div className=\"field\">\n <IconInput\n icon={<LockIcon size={15} />}\n rightIcon={isAadhaarVerified ? <CheckIcon size={15} /> : null}\n value={aadhaarLastFour}\n onChange={(e) => {\n const val = e.target.value;\n if (val.length <= 12 && /^\\d*$/.test(val)) setAadhaarLastFour(val);\n }}\n placeholder={t(\"EKYC_ENTER_LAST_4_DIGIT\") || \"Enter 12 digits\"}\n maxLength={12}\n disabled={isAadhaarVerified}\n inputStyle={isAadhaarVerified ? styles.verifiedInput : {}}\n />\n </div>\n </LabelFieldPair>\n\n {!isAadhaarVerified && !showOtpField && (\n <SubmitBar\n label={isVerifying\n ? t(\"EKYC_VERIFYING\") || \"Verifying...\"\n : t(\"EKYC_VERIFY_AADHAAR_BTN\") || \"Verify Aadhaar\"}\n onSubmit={handleVerifyAadhaar}\n disabled={aadhaarLastFour.length !== 12 || isVerifying}\n style={{ marginTop: \"12px\" }}\n />\n )}\n\n {!isAadhaarVerified && showOtpField && (\n <Fragment>\n <div className=\"ekyc-field-label\" style={{ marginTop: \"16px\" }}>\n {t(\"EKYC_ENTER_OTP\")}\n </div>\n <LabelFieldPair>\n <div className=\"field\">\n <IconInput\n icon={<LockIcon size={15} />}\n value={otp}\n onChange={(e) => {\n const val = e.target.value;\n if (/^\\d*$/.test(val)) {\n setOtp(val);\n if (otpError) setOtpError(false);\n }\n }}\n placeholder={t(\"EKYC_ENTER_OTP_PLACEHOLDER\") || \"Enter 123456\"}\n maxLength={6}\n />\n </div>\n </LabelFieldPair>\n {otpError && (\n <div style={{ color: \"#D4351C\", fontSize: \"12px\", marginTop: \"4px\" }}>\n {t(\"EKYC_INVALID_OTP\") || \"Invalid OTP. Please enter 123456.\"}\n </div>\n )}\n <SubmitBar\n label={t(\"EKYC_VERIFY_OTP_BTN\") || \"Verify OTP\"}\n onSubmit={handleVerifyOtp}\n disabled={otp.length !== 6}\n style={{ marginTop: \"12px\" }}\n />\n </Fragment>\n )}\n\n {isAadhaarVerified && (\n <div style={styles.verifiedCard}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\", marginBottom: \"14px\" }}>\n <div style={{\n width: \"24px\", height: \"24px\", borderRadius: \"50%\",\n background: \"#9FE1CB\", display: \"flex\", alignItems: \"center\",\n justifyContent: \"center\", animation: \"pulseGreen 2s ease infinite\",\n flexShrink: 0,\n }}>\n <CheckIcon size={13} color=\"#085041\" />\n </div>\n <span style={{ fontWeight: \"600\", color: \"#085041\", fontSize: \"14px\" }}>\n {t(\"EKYC_AADHAAR_VERIFIED_SUCCESS\") || \"Aadhaar Verified Successfully\"}\n </span>\n </div>\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"12px\" }}>\n <div>\n <div style={styles.infoLabel}>{t(\"EKYC_NAME\") || \"Name\"}</div>\n <div style={styles.infoValue}>{initialDetails.consumerName}</div>\n </div>\n <div>\n <div style={styles.infoLabel}>{t(\"EKYC_AADHAAR\") || \"Aadhaar\"}</div>\n <div style={styles.infoValue}>{aadhaarLastFour}</div>\n </div>\n <div style={{ gridColumn: \"span 2\" }}>\n <div style={styles.infoLabel}>{t(\"EKYC_ADDRESS\") || \"Address\"}</div>\n <div style={{ ...styles.infoValue, fontSize: \"13px\" }}>{initialDetails.address}</div>\n </div>\n </div>\n </div>\n )}\n\n <hr style={{ margin: \"24px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Section 2: Contact Details ── */}\n <SectionHead\n icon={<UserIcon size={16} />}\n label={t(\"EKYC_CONTACT_DETAILS_HEADER\") || \"Contact Details\"}\n />\n\n {/* Name */}\n <RadioToggleRow\n label={`${t(\"EKYC_USER_NAME\")} (${t(\"EKYC_NAME_CORRECT_HINT\")})`}\n selected={nameCorrect}\n onSelect={setNameCorrect}\n options={yesNoOptions}\n sty\n t={t}\n />\n <LabelFieldPair>\n <div className=\"field\">\n <IconInput\n icon={<UserIcon size={15} color={nameCorrect.code === \"YES\" ? \"#64748b\" : \"#94a3b8\"} />}\n style={{ marginBottom: \"12px\" }}\n value={userName}\n onChange={(e) => setUserName(e.target.value)}\n placeholder={t(\"EKYC_ENTER_NAME_PLACEHOLDER\") || \"Enter full name\"}\n disabled={nameCorrect.code !== \"YES\"}\n />\n </div>\n </LabelFieldPair>\n\n {/* Mobile */}\n <RadioToggleRow\n label={`${t(\"EKYC_USER_MOBILE_NUMBER\")} (${t(\"EKYC_UPDATE_MOBILE_HINT\")})`}\n selected={mobileChange}\n onSelect={setMobileChange}\n options={yesNoOptions}\n t={t}\n />\n <LabelFieldPair>\n <div className=\"field\">\n <IconInput\n icon={<PhoneIcon size={15} color={mobileChange.code === \"YES\" ? \"#64748b\" : \"#94a3b8\"} />}\n style={{ marginBottom: \"12px\" }}\n value={mobileNumber}\n onChange={(e) => setMobileNumber(e.target.value)}\n placeholder=\"+91 XXXXX XXXXX\"\n disabled={mobileChange.code !== \"YES\"}\n />\n </div>\n </LabelFieldPair>\n\n {/* WhatsApp + Email */}\n <div style={styles.twoCol}>\n <div>\n <div className=\"ekyc-field-label\">\n {t(\"EKYC_WHATSAPP_NUMBER\") || \"WhatsApp Number\"}\n <span style={styles.optionalTag}>{t(\"EKYC_OPTIONAL\") || \"Optional\"}</span>\n </div>\n <IconInput\n icon={<WhatsappIcon size={15} />}\n value={whatsappNumber}\n onChange={(e) => setWhatsappNumber(e.target.value)}\n placeholder=\"+91 XXXXX XXXXX\"\n />\n </div>\n <div>\n <div className=\"ekyc-field-label\">\n {t(\"EKYC_EMAIL_ADDRESS\") || \"Email Address\"}\n <span style={styles.optionalTag}>{t(\"EKYC_OPTIONAL\") || \"Optional\"}</span>\n </div>\n <IconInput\n icon={<MailIcon size={15} />}\n value={email}\n onChange={(e) => setEmail(e.target.value)}\n placeholder={t(\"EKYC_EMAIL_ADDRESS_PLACEHOLDER\") || \"example@email.com\"}\n />\n </div>\n </div>\n\n <hr style={{ margin: \"24px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Section 3: Family Details ── */}\n <SectionHead\n icon={<UsersIcon size={16} />}\n label={t(\"EKYC_FAMILY_DETAILS_HEADER\") || \"Family Details\"}\n />\n\n <div className=\"ekyc-field-label\">\n {t(\"EKYC_NO_OF_PERSONS\") || \"Number of Family Members\"}\n </div>\n <LabelFieldPair>\n <div className=\"field\">\n <IconInput\n icon={<UsersIcon size={15} />}\n value={noOfPersons}\n onChange={(e) => {\n if (/^\\d*$/.test(e.target.value)) setNoOfPersons(e.target.value);\n }}\n placeholder={t(\"EKYC_ENTER_NO_OF_PERSONS\") || \"Enter total number of persons\"}\n />\n </div>\n </LabelFieldPair>\n\n {/* Save & Continue (Non-sticky, at form end) */}\n {!showAddressSection && (\n <div style={{ marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"ES_COMMON_SAVE_CONTINUE\") || \"Save & Continue\"}\n onSubmit={handleSaveAndContinue}\n />\n </div>\n )}\n\n {/* Address section (injected inline) */}\n {showAddressSection && (\n <div ref={addressSectionRef}>\n <AddressDetails\n isSection={true}\n onComplete={handleCompleteAll}\n parentState={{ kNumber, selectedOption, connectionDetails }}\n />\n </div>\n )}\n\n {/* Secure notice */}\n <div style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n gap: \"5px\", marginTop: \"20px\",\n fontSize: \"11px\", color: \"#98A2B3\",\n }}>\n <LockIcon size={11} />\n {t(\"EKYC_SECURE_DATA_NOTICE\") || \"Your data is encrypted and secure\"}\n </div>\n\n </Card>\n </div>\n </div>\n );\n};\n\nexport default AadhaarVerification;","import React, { useState, useRef, Fragment, useEffect } from \"react\";\nimport {\n Card,\n CardLabel,\n TextInput,\n SubmitBar,\n CardHeader,\n ActionBar,\n Dropdown,\n InfoBannerIcon,\n HomeIcon,\n UploadFile,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { getPayloadDiff, getSavedData } from \"../../utils\";\n\n// ─── Icons ────────────────────────────────────────────────────────────────────\n\nconst CheckIcon = ({ size = 11, color = \"#fff\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"3\" strokeLinecap=\"round\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n);\n\nconst BuildingIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8V9h8v10zm-2-8h-4v2h4v-2zm0 4h-4v2h4v-2z\" />\n </svg>\n);\n\nconst BriefcaseIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M20 6H16V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-2 .89-2 2v13c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6-2v2h-4V4h4z\" />\n </svg>\n);\n\nconst DocumentIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm-1 7V3.5L18.5 9H13z\" />\n </svg>\n);\n\nconst CameraIcon = ({ size = 24 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M9 2L7.17 4H4C2.9 4 2 4.9 2 6v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L13 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\" />\n </svg>\n);\n\nconst TrashIcon = ({ size = 14 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#D92D20\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <polyline points=\"3 6 5 6 21 6\" />\n <path d=\"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6\" />\n <path d=\"M10 11v6M14 11v6\" />\n <path d=\"M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2\" />\n </svg>\n);\n\nconst PidIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\" />\n <path d=\"M7 8h5M7 12h8M7 16h4\" />\n </svg>\n);\n\n// ─── Reusable: Section heading with inline rule ───────────────────────────────\n\nconst SectionHead = ({ icon, label }) => (\n <div style={{\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n marginBottom: \"16px\", marginTop: \"4px\",\n }}>\n <div style={{ opacity: 0.5, display: \"flex\" }}>{icon}</div>\n <span style={{ fontSize: \"15px\", fontWeight: \"600\", color: \"#0B0C0C\", whiteSpace: \"nowrap\" }}>\n {label}\n </span>\n <div style={{ flex: 1, height: \"1px\", background: \"#EAECF0\" }} />\n </div>\n);\n\n// ─── Reusable: Icon-prefixed input ────────────────────────────────────────────\n\nconst IconInput = ({ icon, ...props }) => (\n <div style={{ position: \"relative\", width: \"100%\" }}>\n <div style={{\n position: \"absolute\", left: \"10px\",\n top: \"50%\", transform: \"translateY(-50%)\",\n zIndex: 1, opacity: 0.45, display: \"flex\", pointerEvents: \"none\",\n }}>\n {icon}\n </div>\n <TextInput textInputStyle={{ paddingLeft: \"36px\", paddingRight: \"12px\" }} {...props} />\n </div>\n);\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst PropertyInfo = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n\n const flowState = location.state || {\n kNumber: sessionStorage.getItem(\"EKYC_K_NUMBER\") || \"EKYC-1234567890\",\n initialData: getSavedData(\"EKYC_INITIAL_DATA\", {})\n };\n const { kNumber } = flowState;\n const initialData = flowState.initialData || getSavedData(\"EKYC_INITIAL_DATA\", {});\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { data: dataV0 } = Digit.Hooks.ekyc.useGetPropertyType(tenantId);\n const { data: dataConn } = Digit.Hooks.ekyc.useGetConnectionTypeV2(tenantId);\n const { data: dataV1 } = Digit.Hooks.ekyc.useGetUserType(tenantId);\n const { data: dataV2 } = Digit.Hooks.ekyc.useGetFloorCount(tenantId);\n\n const [ownerType, setOwnerType] = useState(() => sessionStorage.getItem(\"EKYC_OWNER_TYPE\") || initialData.ownerType || \"OWNER\");\n const [pidNumber, setPidNumber] = useState(() => sessionStorage.getItem(\"EKYC_PID_NUMBER\") || initialData.pidNumber || \"\");\n const [connectionCategory, setConnectionCategory] = useState(() =>\n getSavedData(\"EKYC_TYPE_OF_CONNECTION_DATA\", initialData.typeOfConnection ? { label: t(initialData.typeOfConnection), value: initialData.typeOfConnection } : null)\n );\n const [connectionType, setConnectionType] = useState(() =>\n getSavedData(\"EKYC_CONNECTION_CATEGORY_DATA\", initialData.connectionCategory ? { label: t(initialData.connectionCategory), value: initialData.connectionCategory } : null)\n );\n const [userType, setUserType] = useState(() =>\n getSavedData(\"EKYC_USER_TYPE_DATA\", initialData.userType ? { label: t(initialData.userType), value: initialData.userType } : null)\n );\n const [noOfFloors, setNoOfFloors] = useState(() =>\n getSavedData(\"EKYC_NO_OF_FLOORS_DATA\", initialData.noOfFloor ? { label: t(initialData.noOfFloor), value: initialData.noOfFloor } : null)\n );\n const [propertyDocument, setPropertyDocument] = useState(() => sessionStorage.getItem(\"EKYC_PROPERTY_DOC\") || null);\n const [propertyDocumentFileStoreId, setPropertyDocumentFileStoreId] = useState(() => sessionStorage.getItem(\"EKYC_PROPERTY_DOC_FILESTORE_ID\") || null);\n const [buildingPhoto, setBuildingPhoto] = useState(() => sessionStorage.getItem(\"EKYC_BUILDING_PHOTO\") || null);\n const [buildingPhotoFileStoreId, setBuildingPhotoFileStoreId] = useState(() => sessionStorage.getItem(\"EKYC_BUILDING_PHOTO_FILESTORE_ID\") || null);\n\n const [filepdf, setFilepdf] = useState(null);\n const [filephoto, setFilephoto] = useState(null);\n const [error, setError] = useState(null);\n const [toast, setToast] = useState(null);\n\n // Sync property state to sessionStorage\n useEffect(() => {\n sessionStorage.setItem(\"EKYC_OWNER_TYPE\", ownerType);\n sessionStorage.setItem(\"EKYC_PID_NUMBER\", pidNumber);\n sessionStorage.setItem(\"EKYC_TYPE_OF_CONNECTION_DATA\", JSON.stringify(connectionCategory));\n sessionStorage.setItem(\"EKYC_CONNECTION_CATEGORY_DATA\", JSON.stringify(connectionType));\n sessionStorage.setItem(\"EKYC_USER_TYPE_DATA\", JSON.stringify(userType));\n sessionStorage.setItem(\"EKYC_NO_OF_FLOORS_DATA\", JSON.stringify(noOfFloors));\n if (propertyDocument) sessionStorage.setItem(\"EKYC_PROPERTY_DOC\", propertyDocument);\n if (propertyDocumentFileStoreId) sessionStorage.setItem(\"EKYC_PROPERTY_DOC_FILESTORE_ID\", propertyDocumentFileStoreId);\n if (buildingPhoto) sessionStorage.setItem(\"EKYC_BUILDING_PHOTO\", buildingPhoto);\n if (buildingPhotoFileStoreId) sessionStorage.setItem(\"EKYC_BUILDING_PHOTO_FILESTORE_ID\", buildingPhotoFileStoreId);\n sessionStorage.setItem(\"EKYC_CURRENT_STEP\", \"PROPERTY\");\n }, [ownerType, pidNumber, connectionCategory, connectionType, userType, noOfFloors, propertyDocument, propertyDocumentFileStoreId, buildingPhoto, buildingPhotoFileStoreId]);\n\n const uploadFile = async (file, tenantId) => {\n if (!file) return null;\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n return res?.data?.files?.[0]?.fileStoreId || null;\n };\n\n const dataUrlToFile = (dataUrl, filename) => {\n const arr = dataUrl.split(\",\");\n const mime = arr[0].match(/:(.*?);/)[1];\n const bstr = atob(arr[1]);\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n while (n--) u8arr[n] = bstr.charCodeAt(n);\n return new File([u8arr], filename, { type: mime });\n };\n\n // useEffect hooks for automatic upload (WT-style)\n useEffect(() => {\n (async () => {\n setError(null);\n if (filepdf) {\n if (filepdf.size >= 5000000) {\n setError(t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"));\n setToast({ type: \"error\", message: t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") });\n } else {\n try {\n setToast({ type: \"info\", message: t(\"EKYC_UPLOADING\") });\n const fileStoreId = await uploadFile(filepdf, tenantId);\n if (fileStoreId) {\n setPropertyDocumentFileStoreId(fileStoreId);\n setPropertyDocument(filepdf.name);\n setToast({ type: \"success\", message: t(\"EKYC_UPLOAD_SUCCESS\") });\n } else {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n }\n } catch (err) {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n }\n }\n }\n })();\n }, [filepdf]);\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (filephoto) {\n if (filephoto.size >= 2000000) {\n setError(t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"));\n setToast({ type: \"error\", message: t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") });\n } else {\n try {\n setToast({ type: \"info\", message: t(\"EKYC_UPLOADING\") });\n const fileStoreId = await uploadFile(filephoto, tenantId);\n if (fileStoreId) {\n setBuildingPhotoFileStoreId(fileStoreId);\n // Also store as dataURL for preview if needed, but for WT style we just need the fileStoreId\n const reader = new FileReader();\n reader.onloadend = () => setBuildingPhoto(reader.result);\n reader.readAsDataURL(filephoto);\n setToast({ type: \"success\", message: t(\"EKYC_UPLOAD_SUCCESS\") });\n } else {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n }\n } catch (err) {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n }\n }\n }\n })();\n }, [filephoto]);\n\n const fileRef = useRef(null);\n const cameraRef = useRef(null);\n\n const handleSaveAndContinue = () => {\n history.push(\"/digit-ui/employee/ekyc/meter-details\", {\n ...flowState,\n propertyDetails: {\n ownerType, pidNumber, connectionType,\n connectionCategory, userType, noOfFloors,\n propertyDocument, propertyDocumentFileStoreId,\n buildingPhoto, buildingPhotoFileStoreId,\n },\n initialData,\n });\n };\n\n function selectpdf(e) {\n setPropertyDocumentFileStoreId(null);\n setFilepdf(e.target.files[0]);\n }\n\n function selectphoto(e) {\n setBuildingPhotoFileStoreId(null);\n setFilephoto(e.target.files[0]);\n }\n\n const connectionCategoryOptions =\n dataV0?.[\"ws-services-calculation\"]?.propertyTypeV2?.map((item) => ({\n label: t(item.code), value: item.code,\n })) || [];\n\n const connectionTypeOptions =\n dataConn?.[\"ws-services-calculation\"]?.connectionTypeV2?.map((item) => ({\n label: t(item.code), value: item.code,\n })) || [];\n\n const userTypeOptions =\n dataV1?.[\"ws-services-calculation\"]?.userTypeV2?.map((item) => ({\n label: t(item.code), value: item.code,\n })) || [];\n\n const floorOptions =\n dataV2?.[\"ws-services-calculation\"]?.floorCount?.map((item) => ({\n label: t(item.code), value: item.code,\n })) || [];\n\n return (\n <>\n <div className=\"inbox-container\">\n <style>{`\n @keyframes fadeSlideIn {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n }\n `}</style>\n\n {/* ── Sidebar ── */}\n <div className=\"filters-container\">\n <Card style={{ display: \"flex\", alignItems: \"center\", padding: \"12px 16px\", marginBottom: \"12px\", borderRadius: \"8px\" }}>\n <div style={{ color: \"#185FA5\", marginRight: \"10px\", display: \"flex\" }}>\n <HomeIcon style={{ width: \"20px\", height: \"20px\" }} />\n </div>\n <div style={{ fontWeight: \"600\", fontSize: \"15px\", color: \"#0B0C0C\" }}>\n {t(\"EKYC_PROCESS\") || \"eKYC Process\"}\n </div>\n </Card>\n\n <div style={{ background: \"#fff\", padding: \"16px 14px\", borderRadius: \"8px\", border: \"1px solid #EAECF0\" }}>\n {[\n { label: t(\"EKYC_STEP_AADHAAR\") || \"Aadhaar\", done: true, active: false },\n { label: t(\"EKYC_STEP_ADDRESS\") || \"Address\", done: true, active: false },\n { label: t(\"EKYC_STEP_PROPERTY\") || \"Property\", done: false, active: true },\n { label: t(\"EKYC_STEP_METER\") || \"Meter\", done: false, active: false },\n { label: t(\"EKYC_STEP_REVIEW\") || \"Review\", done: false, active: false },\n ].map((step, i) => (\n <div key={i} style={{ display: \"flex\", gap: \"10px\", alignItems: \"flex-start\", position: \"relative\", paddingBottom: i < 4 ? \"18px\" : 0 }}>\n {i < 4 && (\n <div style={{ position: \"absolute\", left: \"10px\", top: \"22px\", width: \"1px\", height: \"calc(100% - 10px)\", background: \"#EAECF0\" }} />\n )}\n <div style={{\n width: \"20px\", height: \"20px\", borderRadius: \"50%\", flexShrink: 0, marginTop: \"1px\",\n border: step.done ? \"none\" : step.active ? \"1.5px solid #185FA5\" : \"1.5px solid #D0D5DD\",\n background: step.done ? \"#0F6E56\" : step.active ? \"#E6F1FB\" : \"#fff\",\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n fontSize: \"10px\", fontWeight: \"500\",\n color: step.done ? \"#fff\" : step.active ? \"#185FA5\" : \"#98A2B3\",\n }}>\n {step.done ? <CheckIcon size={11} color=\"#fff\" /> : i + 1}\n </div>\n <div style={{\n fontSize: \"12px\", paddingTop: \"2px\",\n color: step.done ? \"#0F6E56\" : step.active ? \"#0B0C0C\" : \"#667085\",\n fontWeight: step.done || step.active ? \"600\" : \"400\",\n }}>\n {step.label}\n </div>\n </div>\n ))}\n </div>\n </div>\n\n {/* ── Main Content ── */}\n <div style={{ flex: 1, marginLeft: \"16px\" }}>\n <Card>\n {/* Header */}\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", marginBottom: \"20px\" }}>\n <CardHeader style={{ margin: 0, fontSize: \"18px\" }}>\n {t(\"EKYC_PROPERTY_DETAILS_HEADER\") || \"Property Details\"}\n </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\") || \"K Number\"}:{\" \"}\n <span style={{ color: \"#0B0C0C\", fontWeight: \"600\" }}>{kNumber}</span>\n </div>\n </div>\n\n <div style={{ animation: \"fadeSlideIn 0.3s ease\" }}>\n\n {/* ── Property Details Section ── */}\n <SectionHead\n icon={<BriefcaseIcon size={16} />}\n label={t(\"EKYC_PROPERTY_DETAILS\") || \"Property details\"}\n />\n\n {/* Owner / Tenant Toggle */}\n <div style={{ marginBottom: \"20px\" }}>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"8px\" }}>\n {t(\"EKYC_PROPERTY_OWNER\") || \"Property owner\"}\n </div>\n <div style={{ display: \"flex\", backgroundColor: \"#F2F4F7\", padding: \"4px\", borderRadius: \"10px\", gap: \"4px\" }}>\n {[\"OWNER\", \"TENANT\"].map((type) => (\n <button\n key={type}\n onClick={() => setOwnerType(type)}\n style={{\n flex: 1, padding: \"9px 12px\", borderRadius: \"7px\", border: \"none\", cursor: \"pointer\",\n fontSize: \"13px\", fontWeight: \"600\", transition: \"all 0.15s\",\n background: ownerType === type ? \"#185FA5\" : \"transparent\",\n color: ownerType === type ? \"#fff\" : \"#667085\",\n }}\n >\n {t(`EKYC_${type}`) || (type === \"OWNER\" ? \"Owner\" : \"Tenant\")}\n </button>\n ))}\n </div>\n </div>\n\n {/* PID Number */}\n <div style={{ marginBottom: \"20px\" }}>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_PID_NUMBER\") || \"PID number\"}{\" \"}\n <span style={{ fontStyle: \"italic\", fontWeight: \"400\", textTransform: \"none\", color: \"#98A2B3\" }}>\n — {t(\"EKYC_OPTIONAL\") || \"optional\"}\n </span>\n </div>\n <IconInput\n icon={<PidIcon size={15} />}\n value={pidNumber}\n onChange={(e) => setPidNumber(e.target.value)}\n placeholder={t(\"EKYC_ENTER_PID_NUMBER\") || \"Enter PID number\"}\n />\n </div>\n\n <hr style={{ margin: \"24px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Building Info Section ── */}\n <SectionHead\n icon={<BuildingIcon size={16} />}\n label={t(\"EKYC_BUILDING_INFO\") || \"Building info\"}\n />\n\n {/* Dropdowns grid */}\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"14px\" }}>\n {/* <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_TYPE_OF_CONNECTION\") || \"Type of connection\"}\n </div>\n <Dropdown\n selected={connectionCategory}\n select={setConnectionCategory}\n option={connectionCategoryOptions}\n optionKey=\"label\"\n t={t}\n placeholder={t(\"EKYC_SELECT\") || \"Select\"}\n />\n </div> */}\n {/* <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_CONNECTION_CATEGORY\") || \"Connection category\"}\n </div>\n <Dropdown\n selected={connectionType}\n select={setConnectionType}\n option={connectionTypeOptions}\n optionKey=\"label\"\n t={t}\n placeholder={t(\"EKYC_SELECT\") || \"Select\"}\n />\n </div> */}\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"24px\" }}>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_USER_TYPE\") || \"User type\"}\n </div>\n <Dropdown\n selected={userType}\n select={setUserType}\n option={userTypeOptions}\n optionKey=\"label\"\n t={t}\n placeholder={t(\"EKYC_SELECT\") || \"Select\"}\n />\n </div>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_NO_OF_FLOORS\") || \"No. of floors\"}\n </div>\n <Dropdown\n selected={noOfFloors}\n select={setNoOfFloors}\n option={floorOptions}\n optionKey=\"label\"\n t={t}\n placeholder={t(\"EKYC_SELECT\") || \"Select\"}\n />\n </div>\n </div>\n\n <hr style={{ margin: \"24px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Documents & Photo Section ── */}\n <SectionHead\n icon={<DocumentIcon size={16} />}\n label={t(\"EKYC_DOCUMENTS_PHOTO\") || \"Documents & photo\"}\n />\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"20px\" }}>\n\n {/* PDF Upload */}\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"8px\" }}>\n {t(\"EKYC_UPLOAD_PROPERTY_DOC\") || \"Upload property document\"}\n </div>\n <UploadFile\n id={\"ekyc-property-doc\"}\n extraStyleName={\"propertyCreate\"}\n accept=\".pdf\"\n onUpload={selectpdf}\n onDelete={() => {\n setPropertyDocumentFileStoreId(null);\n setPropertyDocument(null);\n setFilepdf(null);\n }}\n message={propertyDocumentFileStoreId ? `1 ${t(`EKYC_ACTION_FILEUPLOADED`)}` : t(`EKYC_ACTION_NO_FILEUPLOADED`)}\n error={error}\n disabled={!pidNumber}\n />\n {!pidNumber && (\n <div style={{ fontSize: \"11px\", color: \"#D92D20\", marginTop: \"4px\" }}>\n {t(\"EKYC_ENTER_PID_FIRST_CTA\") || \"Enter PID to upload\"}\n </div>\n )}\n </div>\n\n {/* Building Photo Upload */}\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"8px\" }}>\n {t(\"EKYC_CAPTURE_BUILDING_IMAGE\") || \"Capture building image\"}\n </div>\n <UploadFile\n id={\"ekyc-building-photo\"}\n extraStyleName={\"propertyCreate\"}\n accept=\".jpg,.png,.jpeg\"\n onUpload={selectphoto}\n onDelete={() => {\n setBuildingPhotoFileStoreId(null);\n setBuildingPhoto(null);\n setFilephoto(null);\n }}\n message={buildingPhotoFileStoreId ? `1 ${t(`EKYC_ACTION_FILEUPLOADED`)}` : t(`EKYC_ACTION_NO_FILEUPLOADED`)}\n error={error}\n />\n {buildingPhoto && (\n <div style={{ marginTop: \"10px\", borderRadius: \"8px\", overflow: \"hidden\", border: \"1px solid #EAECF0\" }}>\n <img src={buildingPhoto} alt=\"Building Preview\" style={{ width: \"100%\", maxHeight: \"150px\", objectFit: \"cover\" }} />\n </div>\n )}\n </div>\n </div>\n\n {/* Info Banner */}\n <div style={{\n backgroundColor: \"#E6F1FB\", border: \"0.5px solid #B5D4F4\",\n borderRadius: \"8px\", padding: \"12px 14px\",\n display: \"flex\", alignItems: \"flex-start\", gap: \"10px\", marginBottom: \"4px\",\n }}>\n <div style={{ flexShrink: 0, marginTop: \"1px\" }}>\n <InfoBannerIcon fill=\"#185FA5\" />\n </div>\n <div style={{ fontSize: \"13px\", color: \"#185FA5\", lineHeight: \"1.5\" }}>\n {t(\"EKYC_TENANT_INFO_NOTICE\") || \"This section is enabled only if the user is not the owner. Tenant details will be required if tenant is selected.\"}\n </div>\n </div>\n\n </div>\n\n {/* Submit (Non-sticky, at form end) */}\n <div style={{ marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"EKYC_SAVE_AND_CONTINUE\") || \"Save & Continue\"}\n onSubmit={handleSaveAndContinue}\n />\n </div>\n\n {/* Secure notice */}\n <div style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n gap: \"5px\", marginTop: \"16px\",\n fontSize: \"11px\", color: \"#98A2B3\",\n }}>\n <svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" />\n </svg>\n {t(\"EKYC_SECURE_DATA_NOTICE\") || \"Your data is encrypted and secure\"}\n </div>\n </Card>\n </div>\n </div>\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n info={toast.type === \"info\"}\n success={toast.type === \"success\"}\n onClose={() => setToast(null)}\n />\n )}\n </>\n );\n};\n\nexport default PropertyInfo;","import React, { useState, useRef, Fragment, useEffect } from \"react\";\nimport {\n Card,\n CardLabel,\n TextInput,\n SubmitBar,\n CardHeader,\n ActionBar,\n Dropdown,\n InfoBannerIcon,\n HomeIcon,\n UploadFile,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { getPayloadDiff, getSavedData } from \"../../utils\";\n\n// ─── Icons ────────────────────────────────────────────────────────────────────\n\nconst CheckIcon = ({ size = 11, color = \"#fff\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"3\" strokeLinecap=\"round\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n);\n\nconst MeterIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z\" />\n </svg>\n);\n\nconst ConnectionIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z\" />\n </svg>\n);\n\nconst CameraIcon = ({ size = 24 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M9 2L7.17 4H4C2.9 4 2 4.9 2 6v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L13 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\" />\n </svg>\n);\n\n// ─── Reusable: Section heading with inline rule ───────────────────────────────\n\nconst SectionHead = ({ icon, label }) => (\n <div style={{\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n marginBottom: \"16px\", marginTop: \"4px\",\n }}>\n <div style={{ opacity: 0.5, display: \"flex\" }}>{icon}</div>\n <span style={{ fontSize: \"15px\", fontWeight: \"600\", color: \"#0B0C0C\", whiteSpace: \"nowrap\" }}>\n {label}\n </span>\n <div style={{ flex: 1, height: \"1px\", background: \"#EAECF0\" }} />\n </div>\n);\n\n// ─── Reusable: Icon-prefixed input ────────────────────────────────────────────\n\nconst IconInput = ({ icon, ...props }) => (\n <div style={{ position: \"relative\", width: \"100%\" }}>\n <div style={{\n position: \"absolute\", left: \"10px\",\n top: \"50%\", transform: \"translateY(-50%)\",\n zIndex: 1, opacity: 0.45, display: \"flex\", pointerEvents: \"none\",\n }}>\n {icon}\n </div>\n <TextInput textInputStyle={{ paddingLeft: \"36px\", paddingRight: \"12px\" }} {...props} />\n </div>\n);\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst MeterDetails = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n\n const flowState = location.state || {\n kNumber: sessionStorage.getItem(\"EKYC_K_NUMBER\") || \"EKYC-1234567890\",\n initialData: getSavedData(\"EKYC_INITIAL_DATA\", {})\n };\n const { kNumber } = flowState;\n const initialData = flowState.initialData || getSavedData(\"EKYC_INITIAL_DATA\", {});\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n \n // MDMS Hooks for Connection Details\n const { data: dataV0 } = Digit.Hooks.ekyc.useGetPropertyType(tenantId);\n const { data: dataConn } = Digit.Hooks.ekyc.useGetConnectionTypeV2(tenantId);\n\n // ── Meter State ──\n const [meterStatus, setMeterStatus] = useState(() => \n getSavedData(\"EKYC_METER_STATUS_DATA\", initialData.meterStatus ? { label: t(`EKYC_METER_${initialData.meterStatus}`), value: initialData.meterStatus } : null)\n );\n const [meterPhoto, setMeterStatusPhoto] = useState(() => sessionStorage.getItem(\"EKYC_METER_PHOTO\") || null);\n const [meterPhotoFileStoreId, setMeterStatusPhotoFileStoreId] = useState(() => sessionStorage.getItem(\"EKYC_METER_PHOTO_FILESTORE_ID\") || null);\n const [workingStatus, setWorkingStatus] = useState(() =>\n getSavedData(\"EKYC_METER_WORKING_STATUS_DATA\", initialData.workingStatus ? { label: t(`EKYC_METER_${initialData.workingStatus}`), value: initialData.workingStatus } : null)\n );\n const [meterLocation, setMeterLocation] = useState(() => sessionStorage.getItem(\"EKYC_METER_LOCATION\") || initialData.meterLocation || \"\");\n const [lastBillRaised, setLastBillRaised] = useState(() =>\n getSavedData(\"EKYC_LAST_BILL_RAISED_DATA\", initialData.lastBillRaised ? { label: t(`EKYC_${initialData.lastBillRaised}`), value: initialData.lastBillRaised } : null)\n );\n const [noBillReason, setNoBillReason] = useState(() => sessionStorage.getItem(\"EKYC_REASON_FOR_NO_BILL\") || initialData.noBillReason || \"\");\n const [sewerConnection, setSewerConnection] = useState(() =>\n getSavedData(\"EKYC_SEWER_CONNECTION_DATA\", initialData.sewerConnection ? { label: t(`EKYC_${initialData.sewerConnection}`), value: initialData.sewerConnection } : null)\n );\n\n // ── Connection State (Moved from PropertyInfo) ──\n const [connectionCategory, setConnectionCategory] = useState(() =>\n getSavedData(\"EKYC_TYPE_OF_CONNECTION_DATA\", initialData.typeOfConnection ? { label: t(initialData.typeOfConnection), value: initialData.typeOfConnection } : null)\n );\n const [connectionType, setConnectionType] = useState(() =>\n getSavedData(\"EKYC_CONNECTION_CATEGORY_DATA\", initialData.connectionCategory ? { label: t(initialData.connectionCategory), value: initialData.connectionCategory } : null)\n );\n\n const [filephoto, setFilephoto] = useState(null);\n const [error, setError] = useState(null);\n const [toast, setToast] = useState(null);\n\n // Sync state to sessionStorage\n useEffect(() => {\n sessionStorage.setItem(\"EKYC_METER_STATUS_DATA\", JSON.stringify(meterStatus));\n sessionStorage.setItem(\"EKYC_METER_WORKING_STATUS_DATA\", JSON.stringify(workingStatus));\n sessionStorage.setItem(\"EKYC_METER_LOCATION\", meterLocation);\n sessionStorage.setItem(\"EKYC_LAST_BILL_RAISED_DATA\", JSON.stringify(lastBillRaised));\n sessionStorage.setItem(\"EKYC_REASON_FOR_NO_BILL\", noBillReason);\n sessionStorage.setItem(\"EKYC_SEWER_CONNECTION_DATA\", JSON.stringify(sewerConnection));\n sessionStorage.setItem(\"EKYC_TYPE_OF_CONNECTION_DATA\", JSON.stringify(connectionCategory));\n sessionStorage.setItem(\"EKYC_CONNECTION_CATEGORY_DATA\", JSON.stringify(connectionType));\n if (meterPhoto) sessionStorage.setItem(\"EKYC_METER_PHOTO\", meterPhoto);\n if (meterPhotoFileStoreId) sessionStorage.setItem(\"EKYC_METER_PHOTO_FILESTORE_ID\", meterPhotoFileStoreId);\n sessionStorage.setItem(\"EKYC_CURRENT_STEP\", \"METER\");\n }, [meterStatus, workingStatus, meterLocation, lastBillRaised, noBillReason, sewerConnection, connectionCategory, connectionType, meterPhoto, meterPhotoFileStoreId]);\n\n const uploadFile = async (file, tenantId) => {\n if (!file) return null;\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n return res?.data?.files?.[0]?.fileStoreId || null;\n };\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (filephoto) {\n if (filephoto.size >= 2000000) {\n setError(t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"));\n setToast({ type: \"error\", message: t(\"EKYC_MAXIMUM_UPLOAD_SIZE_EXCEEDED\") });\n } else {\n try {\n setToast({ type: \"info\", message: t(\"EKYC_UPLOADING\") });\n const fileStoreId = await uploadFile(filephoto, tenantId);\n if (fileStoreId) {\n setMeterStatusPhotoFileStoreId(fileStoreId);\n const reader = new FileReader();\n reader.onloadend = () => setMeterStatusPhoto(reader.result);\n reader.readAsDataURL(filephoto);\n setToast({ type: \"success\", message: t(\"EKYC_UPLOAD_SUCCESS\") });\n } else {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n }\n } catch (err) {\n setError(t(\"EKYC_FILE_UPLOAD_ERROR\"));\n setToast({ type: \"error\", message: t(\"EKYC_FILE_UPLOAD_ERROR\") });\n }\n }\n }\n })();\n }, [filephoto]);\n\n const handleSaveAndContinue = () => {\n history.push(\"/digit-ui/employee/ekyc/review\", {\n ...location.state,\n meterDetails: {\n meterStatus, meterPhoto, meterPhotoFileStoreId,\n workingStatus, meterLocation, lastBillRaised,\n noBillReason, sewerConnection,\n connectionType, connectionCategory\n }\n });\n };\n\n function selectphoto(e) {\n setMeterStatusPhotoFileStoreId(null);\n setFilephoto(e.target.files[0]);\n }\n\n const meterStatusOptions = [\n { label: t(\"EKYC_METERED\"), value: \"Metered\" },\n { label: t(\"EKYC_UNMETERED\"), value: \"Unmetered\" },\n ];\n\n const workingStatusOptions = [\n { label: t(\"EKYC_WORKING\"), value: \"Working\" },\n { label: t(\"EKYC_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 =\n dataV0?.[\"ws-services-calculation\"]?.propertyTypeV2?.map((item) => ({\n label: t(item.code), value: item.code,\n })) || [];\n\n const connectionTypeOptions =\n dataConn?.[\"ws-services-calculation\"]?.connectionTypeV2?.map((item) => ({\n label: t(item.code), value: item.code,\n })) || [];\n\n return (\n <div className=\"inbox-container\">\n <style>{`\n @keyframes fadeSlideIn {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n }\n `}</style>\n\n {/* ── Sidebar ── */}\n <div className=\"filters-container\">\n <Card style={{ display: \"flex\", alignItems: \"center\", padding: \"12px 16px\", marginBottom: \"12px\", borderRadius: \"8px\" }}>\n <div style={{ color: \"#185FA5\", marginRight: \"10px\", display: \"flex\" }}>\n <HomeIcon style={{ width: \"20px\", height: \"20px\" }} />\n </div>\n <div style={{ fontWeight: \"600\", fontSize: \"15px\", color: \"#0B0C0C\" }}>\n {t(\"EKYC_PROCESS\") || \"eKYC Process\"}\n </div>\n </Card>\n\n <div style={{ background: \"#fff\", padding: \"16px 14px\", borderRadius: \"8px\", border: \"1px solid #EAECF0\" }}>\n {[\n { label: t(\"EKYC_STEP_AADHAAR\") || \"Aadhaar\", done: true, active: false },\n { label: t(\"EKYC_STEP_ADDRESS\") || \"Address\", done: true, active: false },\n { label: t(\"EKYC_STEP_PROPERTY\") || \"Property\", done: true, active: false },\n { label: t(\"EKYC_STEP_METER\") || \"Meter\", done: false, active: true },\n { label: t(\"EKYC_STEP_REVIEW\") || \"Review\", done: false, active: false },\n ].map((step, i) => (\n <div key={i} style={{ display: \"flex\", gap: \"10px\", alignItems: \"flex-start\", position: \"relative\", paddingBottom: i < 4 ? \"18px\" : 0 }}>\n {i < 4 && (\n <div style={{ position: \"absolute\", left: \"10px\", top: \"22px\", width: \"1px\", height: \"calc(100% - 10px)\", background: \"#EAECF0\" }} />\n )}\n <div style={{\n width: \"20px\", height: \"20px\", borderRadius: \"50%\", flexShrink: 0, marginTop: \"1px\",\n border: step.done ? \"none\" : step.active ? \"1.5px solid #185FA5\" : \"1.5px solid #D0D5DD\",\n background: step.done ? \"#0F6E56\" : step.active ? \"#E6F1FB\" : \"#fff\",\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n fontSize: \"10px\", fontWeight: \"500\",\n color: step.done ? \"#fff\" : step.active ? \"#185FA5\" : \"#98A2B3\",\n }}>\n {step.done ? <CheckIcon size={11} color=\"#fff\" /> : i + 1}\n </div>\n <div style={{\n fontSize: \"12px\", paddingTop: \"2px\",\n color: step.done ? \"#0F6E56\" : step.active ? \"#0B0C0C\" : \"#667085\",\n fontWeight: step.done || step.active ? \"600\" : \"400\",\n }}>\n {step.label}\n </div>\n </div>\n ))}\n </div>\n </div>\n\n {/* ── Main Content ── */}\n <div style={{ flex: 1, marginLeft: \"16px\" }}>\n <Card>\n {/* Header */}\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", marginBottom: \"20px\" }}>\n <CardHeader style={{ margin: 0, fontSize: \"18px\" }}>\n {t(\"EKYC_METER_DETAILS_HEADER\") || \"Meter Details\"}\n </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\") || \"K Number\"}:{\" \"}\n <span style={{ color: \"#0B0C0C\", fontWeight: \"600\" }}>{kNumber}</span>\n </div>\n </div>\n\n <div style={{ animation: \"fadeSlideIn 0.3s ease\" }}>\n\n {/* ── Meter Details Section ── */}\n <SectionHead\n icon={<MeterIcon size={16} />}\n label={t(\"EKYC_METER_DETAILS\") || \"Meter details\"}\n />\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"20px\" }}>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_METER_STATUS\") || \"Meter status\"}\n </div>\n <Dropdown\n selected={meterStatus}\n select={setMeterStatus}\n option={meterStatusOptions}\n optionKey=\"label\"\n t={t}\n placeholder={t(\"EKYC_SELECT\") || \"Select\"}\n />\n </div>\n {meterStatus?.value === \"Metered\" && (\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_METER_WORKING_STATUS\") || \"Meter working status\"}\n </div>\n <Dropdown\n selected={workingStatus}\n select={setWorkingStatus}\n option={workingStatusOptions}\n optionKey=\"label\"\n t={t}\n placeholder={t(\"EKYC_SELECT\") || \"Select\"}\n />\n </div>\n )}\n </div>\n\n {meterStatus?.value === \"Metered\" && (\n <Fragment>\n <div style={{ marginBottom: \"20px\" }}>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"8px\" }}>\n {t(\"EKYC_CAPTURE_METER_IMAGE\") || \"Capture meter image\"}\n </div>\n <UploadFile\n id={\"ekyc-meter-photo\"}\n extraStyleName={\"propertyCreate\"}\n accept=\".jpg,.png,.jpeg\"\n onUpload={selectphoto}\n onDelete={() => {\n setMeterStatusPhotoFileStoreId(null);\n setMeterStatusPhoto(null);\n setFilephoto(null);\n }}\n message={meterPhotoFileStoreId ? `1 ${t(`EKYC_ACTION_FILEUPLOADED`)}` : t(`EKYC_ACTION_NO_FILEUPLOADED`)}\n error={error}\n />\n {meterPhoto && (\n <div style={{ marginTop: \"10px\", borderRadius: \"8px\", overflow: \"hidden\", border: \"1px solid #EAECF0\" }}>\n <img src={meterPhoto} alt=\"Meter Preview\" style={{ width: \"100%\", maxHeight: \"150px\", objectFit: \"cover\" }} />\n </div>\n )}\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"20px\" }}>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_METER_LOCATION\") || \"Meter location\"}\n </div>\n <TextInput\n value={meterLocation}\n onChange={(e) => setMeterLocation(e.target.value)}\n placeholder={t(\"EKYC_ENTER_METER_LOCATION\") || \"Enter location\"}\n />\n </div>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_LAST_BILL_RAISED\") || \"Last bill raised\"}\n </div>\n <Dropdown\n selected={lastBillRaised}\n select={setLastBillRaised}\n option={yesNoOptions}\n optionKey=\"label\"\n t={t}\n placeholder={t(\"EKYC_SELECT\") || \"Select\"}\n />\n </div>\n </div>\n\n {lastBillRaised?.value === \"No\" && (\n <div style={{ marginBottom: \"20px\" }}>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_REASON_FOR_NO_BILL\") || \"Reason for no bill\"}\n </div>\n <TextInput\n value={noBillReason}\n onChange={(e) => setNoBillReason(e.target.value)}\n placeholder={t(\"EKYC_ENTER_REASON\") || \"Enter reason\"}\n />\n </div>\n )}\n </Fragment>\n )}\n\n <div style={{ marginBottom: \"20px\" }}>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_SEWER_CONNECTION\") || \"Sewer connection\"}\n </div>\n <div style={{ width: \"calc(50% - 7px)\" }}>\n <Dropdown\n selected={sewerConnection}\n select={setSewerConnection}\n option={yesNoOptions}\n optionKey=\"label\"\n t={t}\n placeholder={t(\"EKYC_SELECT\") || \"Select\"}\n />\n </div>\n </div>\n\n <hr style={{ margin: \"24px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Property/Connection Details Section ── */}\n <SectionHead\n icon={<ConnectionIcon size={16} />}\n label={t(\"EKYC_PROPERTY_CONNECTION_DETAILS\") || \"Property Connection Details\"}\n />\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"14px\", marginBottom: \"24px\" }}>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_TYPE_OF_CONNECTION\") || \"Type of connection\"}\n </div>\n <Dropdown\n selected={connectionCategory}\n select={setConnectionCategory}\n option={connectionCategoryOptions}\n optionKey=\"label\"\n t={t}\n placeholder={t(\"EKYC_SELECT\") || \"Select\"}\n />\n </div>\n <div>\n <div style={{ fontSize: \"11px\", fontWeight: \"600\", color: \"#667085\", textTransform: \"uppercase\", letterSpacing: \"0.04em\", marginBottom: \"6px\" }}>\n {t(\"EKYC_CONNECTION_CATEGORY\") || \"Connection category\"}\n </div>\n <Dropdown\n selected={connectionType}\n select={setConnectionType}\n option={connectionTypeOptions}\n optionKey=\"label\"\n t={t}\n placeholder={t(\"EKYC_SELECT\") || \"Select\"}\n />\n </div>\n </div>\n\n </div>\n\n {/* Submit */}\n <div style={{ marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"EKYC_SAVE_AND_CONTINUE\") || \"Save & Continue\"}\n onSubmit={handleSaveAndContinue}\n />\n </div>\n\n {/* Secure notice */}\n <div style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n gap: \"5px\", marginTop: \"16px\",\n fontSize: \"11px\", color: \"#98A2B3\",\n }}>\n <svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" />\n </svg>\n {t(\"EKYC_SECURE_DATA_NOTICE\") || \"Your data is encrypted and secure\"}\n </div>\n </Card>\n </div>\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n info={toast.type === \"info\"}\n success={toast.type === \"success\"}\n onClose={() => setToast(null)}\n />\n )}\n </div>\n );\n};\n\nexport default MeterDetails;\n","import React, { Fragment, useState, useEffect } from \"react\";\nimport {\n Card,\n CardHeader,\n SubmitBar,\n HomeIcon,\n ActionBar,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { getPayloadDiff, getSavedData } from \"../../utils\";\n\n// ─── Icons ────────────────────────────────────────────────────────────────────\n\nconst CheckIcon = ({ size = 11, color = \"#fff\" }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke={color} strokeWidth=\"3\" strokeLinecap=\"round\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n);\n\nconst PersonIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z\" />\n </svg>\n);\n\nconst LocationIcon2 = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\" />\n </svg>\n);\n\nconst BuildingIcon = ({ size = 16 }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8V9h8v10zm-2-8h-4v2h4v-2zm0 4h-4v2h4v-2z\" />\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\">\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\n// ─── Reusable: Section heading with inline rule ───────────────────────────────\n\nconst SectionHead = ({ icon, label }) => (\n <div style={{\n display: \"flex\", alignItems: \"center\", gap: \"8px\",\n marginBottom: \"16px\", marginTop: \"4px\",\n }}>\n <div style={{ opacity: 0.5, display: \"flex\" }}>{icon}</div>\n <span style={{ fontSize: \"15px\", fontWeight: \"600\", color: \"#0B0C0C\", whiteSpace: \"nowrap\" }}>\n {label}\n </span>\n <div style={{ flex: 1, height: \"1px\", background: \"#EAECF0\" }} />\n </div>\n);\n\n// ─── Reusable: Review section card ───────────────────────────────────────────\n\nconst ReviewCard = ({ icon, title, onEdit, editLabel, rows, t }) => (\n <div style={{\n border: \"0.5px solid #EAECF0\",\n borderRadius: \"10px\",\n overflow: \"hidden\",\n marginBottom: \"16px\",\n animation: \"fadeSlideIn 0.3s ease\",\n }}>\n {/* Card header */}\n <div style={{\n display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\",\n padding: \"14px 16px\",\n background: \"#F9FAFB\",\n borderBottom: \"0.5px solid #EAECF0\",\n }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <div style={{ opacity: 0.5, display: \"flex\" }}>{icon}</div>\n <span style={{ fontSize: \"14px\", fontWeight: \"600\", color: \"#0B0C0C\" }}>{title}</span>\n </div>\n <button\n onClick={onEdit}\n style={{\n display: \"flex\", alignItems: \"center\", gap: \"5px\",\n background: \"none\", border: \"0.5px solid #D0D5DD\",\n borderRadius: \"6px\", padding: \"5px 12px\",\n fontSize: \"12px\", fontWeight: \"600\", color: \"#185FA5\",\n cursor: \"pointer\",\n }}\n >\n <EditIcon size={12} />\n {editLabel}\n </button>\n </div>\n\n {/* Rows */}\n <div style={{ padding: \"4px 0\" }}>\n {rows.map((row, i) => (\n row.value ? (\n <div key={i} style={{\n display: \"flex\", alignItems: \"flex-start\",\n padding: \"10px 16px\",\n borderBottom: i < rows.length - 1 ? \"0.5px solid #F2F4F7\" : \"none\",\n }}>\n <div style={{\n flex: \"0 0 180px\", fontSize: \"12px\", fontWeight: \"600\",\n color: \"#667085\", textTransform: \"uppercase\",\n letterSpacing: \"0.04em\", paddingTop: \"1px\",\n }}>\n {row.label}\n </div>\n <div style={{ flex: 1, fontSize: \"14px\", color: \"#101828\", fontWeight: \"500\", wordBreak: \"break-word\", display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {row.value}\n {row.isModified && (\n <span style={{\n fontSize: \"10px\",\n background: \"#FFF4ED\",\n color: \"#B45309\",\n border: \"0.5px solid #FDE68A\",\n borderRadius: \"4px\",\n padding: \"2px 6px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\"\n }}>\n {t(\"EKYC_MODIFIED\") || \"Modified\"}\n </span>\n )}\n </div>\n </div>\n ) : null\n ))}\n </div>\n </div>\n);\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst Review = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n\n // ── Restore State Logic ──\n const state = location.state || {};\n const initialData = state.initialData || getSavedData(\"EKYC_INITIAL_DATA\", {});\n const kNumber = state.kNumber || sessionStorage.getItem(\"EKYC_K_NUMBER\") || \"EKYC-1234567890\";\n\n // Reconstruct nested objects if state is lost on refresh\n const aadhaarDetails = state.aadhaarDetails || {\n userName: sessionStorage.getItem(\"EKYC_USER_NAME\"),\n mobileNumber: sessionStorage.getItem(\"EKYC_MOBILE_NUMBER\"),\n whatsappNumber: sessionStorage.getItem(\"EKYC_WHATSAPP_NUMBER\"),\n email: sessionStorage.getItem(\"EKYC_EMAIL\"),\n noOfPersons: sessionStorage.getItem(\"EKYC_NO_OF_PERSONS\"),\n };\n\n const addressDetails = state.addressDetails || {\n fullAddress: sessionStorage.getItem(\"EKYC_FULL_ADDRESS\"),\n flatNo: sessionStorage.getItem(\"EKYC_FLAT_NO\"),\n building: sessionStorage.getItem(\"EKYC_BUILDING\"),\n landmark: sessionStorage.getItem(\"EKYC_LANDMARK\"),\n pincode: sessionStorage.getItem(\"EKYC_PINCODE\"),\n assembly: getSavedData(\"EKYC_ASSEMBLY_DATA\")?.name,\n ward: getSavedData(\"EKYC_WARD_DATA\")?.name,\n doorPhoto: sessionStorage.getItem(\"EKYC_DOOR_PHOTO\"),\n doorPhotoFileStoreId: sessionStorage.getItem(\"EKYC_DOOR_PHOTO_FILESTORE_ID\"),\n };\n\n const propertyDetails = state.propertyDetails || {\n ownerType: sessionStorage.getItem(\"EKYC_OWNER_TYPE\"),\n pidNumber: sessionStorage.getItem(\"EKYC_PID_NUMBER\"),\n userType: getSavedData(\"EKYC_USER_TYPE_DATA\"),\n noOfFloors: getSavedData(\"EKYC_NO_OF_FLOORS_DATA\"),\n propertyDocument: sessionStorage.getItem(\"EKYC_PROPERTY_DOC\"),\n propertyDocumentFileStoreId: sessionStorage.getItem(\"EKYC_PROPERTY_DOC_FILESTORE_ID\"),\n buildingPhoto: sessionStorage.getItem(\"EKYC_BUILDING_PHOTO\"),\n buildingPhotoFileStoreId: sessionStorage.getItem(\"EKYC_BUILDING_PHOTO_FILESTORE_ID\"),\n };\n\n const meterDetails = state.meterDetails || {\n meterStatus: getSavedData(\"EKYC_METER_STATUS_DATA\"),\n workingStatus: getSavedData(\"EKYC_METER_WORKING_STATUS_DATA\"),\n meterLocation: sessionStorage.getItem(\"EKYC_METER_LOCATION\"),\n lastBillRaised: getSavedData(\"EKYC_LAST_BILL_RAISED_DATA\"),\n noBillReason: sessionStorage.getItem(\"EKYC_REASON_FOR_NO_BILL\"),\n sewerConnection: getSavedData(\"EKYC_SEWER_CONNECTION_DATA\"),\n connectionCategory: getSavedData(\"EKYC_TYPE_OF_CONNECTION_DATA\"),\n connectionType: getSavedData(\"EKYC_CONNECTION_CATEGORY_DATA\"),\n meterPhoto: sessionStorage.getItem(\"EKYC_METER_PHOTO\"),\n meterPhotoFileStoreId: sessionStorage.getItem(\"EKYC_METER_PHOTO_FILESTORE_ID\"),\n };\n\n useEffect(() => {\n sessionStorage.setItem(\"EKYC_CURRENT_STEP\", \"REVIEW\");\n }, []);\n\n // Helper to check if a field is modified\n const isFieldModified = (key, currentVal) => {\n const initialVal = initialData[key];\n if (initialVal === undefined) return false;\n return JSON.stringify(initialVal) !== JSON.stringify(currentVal);\n };\n\n const [toast, setToast] = useState(null);\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl\";\n const { mutate, isLoading: isMutationLoading } = Digit.Hooks.ekyc.useEkycApplicationUpdate(tenantId);\n const isSubmitting = isMutationLoading;\n\n // ── Helper: upload a File object to Filestore ──────────────────────────────\n const uploadFile = async (file, tenantId) => {\n if (!file) return null;\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n return res?.data?.files?.[0]?.fileStoreId || null;\n };\n\n // ── Helper: convert a data-URL (base64 string) to a File blob ─────────────\n const dataUrlToFile = (dataUrl, filename) => {\n const arr = dataUrl.split(\",\");\n const mime = arr[0].match(/:(.*?);/)[1];\n const bstr = atob(arr[1]);\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n while (n--) u8arr[n] = bstr.charCodeAt(n);\n return new File([u8arr], filename, { type: mime });\n };\n\n const handleSubmit = async () => {\n setToast(null);\n try {\n const userInfo = Digit.UserService.getUser()?.info || {};\n\n // ── 1. Upload property document ──────────────────────────────────────\n let propertyDocFileStoreId = propertyDetails.propertyDocumentFileStoreId || null;\n if (!propertyDocFileStoreId && propertyDetails.propertyDocument instanceof File) {\n propertyDocFileStoreId = await uploadFile(propertyDetails.propertyDocument, tenantId);\n }\n\n // ── 2. Upload building photo ──────────────────────────────────────────\n let buildingImageFileStoreId = propertyDetails.buildingPhotoFileStoreId || null;\n if (!buildingImageFileStoreId && propertyDetails.buildingPhoto) {\n // Fallback if we only have the dataURL\n const photoFile = dataUrlToFile(propertyDetails.buildingPhoto, \"building_photo.jpg\");\n buildingImageFileStoreId = await uploadFile(photoFile, tenantId);\n }\n\n // ── 3. Upload door photo ──────────────────────────────────────────────\n let doorPhotoFileStoreId = addressDetails.doorPhotoFileStoreId || null;\n if (!doorPhotoFileStoreId && addressDetails.doorPhoto) {\n const doorFile = dataUrlToFile(addressDetails.doorPhoto, \"door_photo.jpg\");\n doorPhotoFileStoreId = await uploadFile(doorFile, tenantId);\n }\n\n // ── 4. Upload meter photo ──────────────────────────────────────────────\n let meterImageFileStoreId = meterDetails.meterPhotoFileStoreId || null;\n if (!meterImageFileStoreId && meterDetails.meterPhoto) {\n const meterFile = dataUrlToFile(meterDetails.meterPhoto, \"meter_photo.jpg\");\n meterImageFileStoreId = await uploadFile(meterFile, tenantId);\n }\n\n // ── 4. Build optimized request payload ────────────────────────────────\n // Note: RequestInfo is added automatically by the Digit Request utility\n const requestBody = {\n updateType: \"PROPERTY\",\n kno: kNumber,\n pidNumber: propertyDetails.pidNumber || null,\n propertyDocumentFileStoreId: propertyDocFileStoreId,\n buildingImageFileStoreId: buildingImageFileStoreId,\n userType: propertyDetails.userType?.value || null,\n noOfFloor: propertyDetails.noOfFloors?.value ? parseInt(propertyDetails.noOfFloors.value, 10) : null,\n typeOfConnection: propertyDetails.connectionCategory?.value || null,\n connectionCategory: propertyDetails.connectionType?.value || null,\n modifiedBy: userInfo.name || userInfo.userName || null,\n mobileNumber: aadhaarDetails.mobileNumber || null,\n email: aadhaarDetails.email || null,\n userName: aadhaarDetails.userName || null,\n noOfPersons: aadhaarDetails.noOfPersons || null,\n doorPhotoFileStoreId: doorPhotoFileStoreId,\n fullAddress: addressDetails.fullAddress || null,\n flatNo: addressDetails.flatNo || null,\n building: addressDetails.building || null,\n landmark: addressDetails.landmark || null,\n pincode: addressDetails.pincode || null,\n assembly: addressDetails.assembly || null,\n ward: addressDetails.ward || null,\n // Meter Details\n meterStatus: meterDetails.meterStatus?.value || null,\n meterWorkingStatus: meterDetails.workingStatus?.value || null,\n meterLocation: meterDetails.meterLocation || null,\n lastBillRaised: meterDetails.lastBillRaised?.value || null,\n noBillReason: meterDetails.noBillReason || null,\n sewerConnection: meterDetails.sewerConnection?.value || null,\n typeOfConnection: meterDetails.connectionCategory?.value || null,\n connectionCategory: meterDetails.connectionType?.value || null,\n meterImageFileStoreId: meterImageFileStoreId,\n };\n\n // ── 4. Call the update API using the new Hook ──────────────────────────\n mutate(requestBody, {\n onSuccess: (res) => {\n setToast({ type: \"success\", message: t(\"EKYC_SUBMIT_SUCCESS\") || \"Application submitted successfully!\" });\n\n // Cleanup sessionStorage on success\n Object.keys(sessionStorage).forEach(key => {\n if (key.startsWith(\"EKYC_\")) sessionStorage.removeItem(key);\n });\n\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/dashboard\");\n }, 1800);\n },\n onError: (err) => {\n console.error(\"eKYC Submit Error:\", err);\n setToast({\n type: \"error\",\n message: err?.response?.data?.Errors?.[0]?.message ||\n t(\"EKYC_SUBMIT_ERROR\") || \"Submission failed. Please try again.\",\n });\n }\n });\n\n } catch (err) {\n console.error(\"eKYC Frontend Error:\", err);\n setToast({\n type: \"error\",\n message: t(\"EKYC_SUBMIT_ERROR\") || \"An error occurred during submission.\",\n });\n }\n };\n\n const handleEditAadhaar = () => {\n history.push(\"/digit-ui/employee/ekyc/aadhaar-verification\", location.state);\n };\n\n const handleEditAddress = () => {\n history.push(\"/digit-ui/employee/ekyc/address-details\", location.state);\n };\n\n const handleEditProperty = () => {\n history.push(\"/digit-ui/employee/ekyc/property-info\", location.state);\n };\n\n const handleEditMeter = () => {\n history.push(\"/digit-ui/employee/ekyc/meter-details\", location.state);\n };\n\n return (\n <Fragment>\n <div className=\"inbox-container\">\n <style>{`\n @keyframes fadeSlideIn {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n }\n `}</style>\n\n {/* ── Sidebar ── */}\n <div className=\"filters-container\">\n <Card style={{ display: \"flex\", alignItems: \"center\", padding: \"12px 16px\", marginBottom: \"12px\", borderRadius: \"8px\" }}>\n <div style={{ color: \"#185FA5\", marginRight: \"10px\", display: \"flex\" }}>\n <HomeIcon style={{ width: \"20px\", height: \"20px\" }} />\n </div>\n <div style={{ fontWeight: \"600\", fontSize: \"15px\", color: \"#0B0C0C\" }}>\n {t(\"EKYC_PROCESS\") || \"eKYC Process\"}\n </div>\n </Card>\n\n <div style={{ background: \"#fff\", padding: \"16px 14px\", borderRadius: \"8px\", border: \"1px solid #EAECF0\" }}>\n {[\n { label: t(\"EKYC_STEP_AADHAAR\") || \"Aadhaar\", done: true, active: false },\n { label: t(\"EKYC_STEP_ADDRESS\") || \"Address\", done: true, active: false },\n { label: t(\"EKYC_STEP_PROPERTY\") || \"Property\", done: true, active: false },\n { label: t(\"EKYC_STEP_METER\") || \"Meter\", done: true, active: false },\n { label: t(\"EKYC_STEP_REVIEW\") || \"Review\", done: false, active: true },\n ].map((step, i) => (\n <div key={i} style={{\n display: \"flex\", gap: \"10px\", alignItems: \"flex-start\",\n position: \"relative\", paddingBottom: i < 4 ? \"18px\" : 0,\n }}>\n {i < 4 && (\n <div style={{\n position: \"absolute\", left: \"10px\", top: \"22px\",\n width: \"1px\", height: \"calc(100% - 10px)\", background: \"#EAECF0\",\n }} />\n )}\n <div style={{\n width: \"20px\", height: \"20px\", borderRadius: \"50%\", flexShrink: 0, marginTop: \"1px\",\n border: step.done ? \"none\" : step.active ? \"1.5px solid #185FA5\" : \"1.5px solid #D0D5DD\",\n background: step.done ? \"#0F6E56\" : step.active ? \"#E6F1FB\" : \"#fff\",\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n fontSize: \"10px\", fontWeight: \"500\",\n color: step.done ? \"#fff\" : step.active ? \"#185FA5\" : \"#98A2B3\",\n }}>\n {step.done ? <CheckIcon size={11} color=\"#fff\" /> : i + 1}\n </div>\n <div style={{\n fontSize: \"12px\", paddingTop: \"2px\",\n color: step.done ? \"#0F6E56\" : step.active ? \"#0B0C0C\" : \"#667085\",\n fontWeight: step.done || step.active ? \"600\" : \"400\",\n }}>\n {step.label}\n </div>\n </div>\n ))}\n </div>\n </div>\n\n {/* ── Main Content ── */}\n <div style={{ flex: 1, marginLeft: \"16px\" }}>\n <Card>\n\n {/* Page header */}\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", marginBottom: \"20px\" }}>\n <CardHeader style={{ margin: 0, fontSize: \"18px\" }}>\n {t(\"EKYC_REVIEW_DETAILS\") || \"Review Details\"}\n </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\") || \"K Number\"}:{\" \"}\n <span style={{ color: \"#0B0C0C\", fontWeight: \"600\" }}>{kNumber}</span>\n </div>\n </div>\n\n {/* Confirmation banner */}\n <div style={{\n backgroundColor: \"#E1F5EE\", border: \"0.5px solid #5DCAA5\",\n borderRadius: \"8px\", padding: \"12px 16px\",\n display: \"flex\", alignItems: \"center\", gap: \"10px\",\n marginBottom: \"24px\",\n }}>\n <div style={{ backgroundColor: \"#9FE1CB\", padding: \"5px\", borderRadius: \"6px\", display: \"flex\", flexShrink: 0 }}>\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#085041\" strokeWidth=\"3\" strokeLinecap=\"round\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </div>\n <div style={{ fontSize: \"13px\", color: \"#04342C\", fontWeight: \"500\" }}>\n {t(\"EKYC_REVIEW_NOTICE\") || \"Please review all details carefully before submitting. You can edit any section by clicking Edit.\"}\n </div>\n </div>\n\n <div style={{ animation: \"fadeSlideIn 0.3s ease\" }}>\n\n {/* ── Aadhaar section head ── */}\n <SectionHead\n icon={<PersonIcon size={16} />}\n label={t(\"EKYC_AADHAAR_VERIFICATION_HEADER\") || \"Aadhaar details\"}\n />\n\n <ReviewCard\n icon={<PersonIcon size={16} />}\n title={t(\"EKYC_AADHAAR_VERIFICATION_HEADER\") || \"Aadhaar details\"}\n onEdit={handleEditAadhaar}\n editLabel={t(\"CS_COMMON_EDIT\") || \"Edit\"}\n t={t}\n rows={[\n { label: t(\"EKYC_NAME\") || \"Name\", value: aadhaarDetails.userName || \"Rajesh Kumar Singh\", isModified: isFieldModified(\"userName\", aadhaarDetails.userName) },\n { label: t(\"EKYC_AADHAAR\") || \"Aadhaar no.\", value: aadhaarDetails.aadhaarLastFour ? `${aadhaarDetails.aadhaarLastFour}` : \"XXXX XXXX 1234\" },\n { label: t(\"EKYC_MOBILE_NO\") || \"Mobile no.\", value: aadhaarDetails.mobileNumber || \"XXXXXXXXXX\", isModified: isFieldModified(\"mobileNumber\", aadhaarDetails.mobileNumber) },\n { label: t(\"EKYC_EMAIL_ADDRESS\") || \"Email\", value: aadhaarDetails.email || null, isModified: isFieldModified(\"email\", aadhaarDetails.email) },\n ]}\n />\n\n <hr style={{ margin: \"20px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Address section head ── */}\n <SectionHead\n icon={<LocationIcon2 size={16} />}\n label={t(\"EKYC_ADDRESS_DETAILS_HEADER\") || \"Address details\"}\n />\n\n <ReviewCard\n icon={<LocationIcon2 size={16} />}\n title={t(\"EKYC_ADDRESS_DETAILS_HEADER\") || \"Address details\"}\n onEdit={handleEditAddress}\n editLabel={t(\"CS_COMMON_EDIT\") || \"Edit\"}\n t={t}\n rows={[\n { label: t(\"EKYC_FULL_ADDRESS\") || \"Full address\", value: addressDetails.fullAddress || \"H.No. 123, Sector 15, Rohini, Delhi – 110085\", isModified: isFieldModified(\"fullAddress\", addressDetails.fullAddress) },\n { label: t(\"EKYC_FLAT_HOUSE_NUMBER\") || \"Flat / House no.\", value: addressDetails.flatNo || null, isModified: isFieldModified(\"flatNo\", addressDetails.flatNo) },\n { label: t(\"EKYC_BUILDING_TOWER\") || \"Building\", value: addressDetails.building || null, isModified: isFieldModified(\"building\", addressDetails.building) },\n { label: t(\"EKYC_LANDMARK\") || \"Landmark\", value: addressDetails.landmark || null, isModified: isFieldModified(\"landmark\", addressDetails.landmark) },\n { label: t(\"EKYC_PINCODE\") || \"Pincode\", value: addressDetails.pincode || \"110085\", isModified: isFieldModified(\"pincode\", addressDetails.pincode) },\n { label: t(\"EKYC_ASSEMBLY\") || \"Assembly\", value: addressDetails.assembly || \"AC-12 Chandni Chowk\", isModified: isFieldModified(\"assembly\", addressDetails.assembly) },\n { label: t(\"EKYC_WARD\") || \"Ward\", value: addressDetails.ward || \"WARD-45 Civil Lines\", isModified: isFieldModified(\"ward\", addressDetails.ward) },\n ]}\n />\n\n <hr style={{ margin: \"20px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Property section head ── */}\n <SectionHead\n icon={<BuildingIcon size={16} />}\n label={t(\"EKYC_PROPERTY_INFO\") || \"Property details\"}\n />\n\n <ReviewCard\n icon={<BuildingIcon size={16} />}\n title={t(\"EKYC_PROPERTY_INFO\") || \"Property details\"}\n onEdit={handleEditProperty}\n editLabel={t(\"CS_COMMON_EDIT\") || \"Edit\"}\n t={t}\n rows={[\n { label: t(\"EKYC_PROPERTY_OWNER\") || \"Property owner\", value: propertyDetails.ownerType || \"Owner\" },\n { label: t(\"EKYC_PID_NUMBER\") || \"PID number\", value: propertyDetails.pidNumber || null, isModified: isFieldModified(\"pidNumber\", propertyDetails.pidNumber) },\n { label: t(\"EKYC_TYPE_OF_CONNECTION\") || \"Type of connection\", value: propertyDetails.connectionCategory?.label || null, isModified: isFieldModified(\"typeOfConnection\", propertyDetails.connectionCategory?.value) },\n { label: t(\"EKYC_CONNECTION_CATEGORY\") || \"Connection category\", value: propertyDetails.connectionType?.label || null, isModified: isFieldModified(\"connectionCategory\", propertyDetails.connectionType?.value) },\n { label: t(\"EKYC_USER_TYPE\") || \"User type\", value: propertyDetails.userType?.label || null, isModified: isFieldModified(\"userType\", propertyDetails.userType?.value) },\n { label: t(\"EKYC_NO_OF_FLOORS\") || \"No. of floors\", value: propertyDetails.noOfFloors?.label || null, isModified: isFieldModified(\"noOfFloor\", propertyDetails.noOfFloors?.value) },\n ]}\n />\n\n <hr style={{ margin: \"20px 0\", border: 0, borderTop: \"1px solid #EAECF0\" }} />\n\n {/* ── Meter section head ── */}\n <SectionHead\n icon={<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z\" /></svg>}\n label={t(\"EKYC_METER_DETAILS_HEADER\") || \"Meter details\"}\n />\n\n <ReviewCard\n icon={<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z\" /></svg>}\n title={t(\"EKYC_METER_DETAILS_HEADER\") || \"Meter details\"}\n onEdit={handleEditMeter}\n editLabel={t(\"CS_COMMON_EDIT\") || \"Edit\"}\n t={t}\n rows={[\n { label: t(\"EKYC_METER_STATUS\") || \"Meter status\", value: meterDetails.meterStatus?.label || null, isModified: isFieldModified(\"meterStatus\", meterDetails.meterStatus?.value) },\n { label: t(\"EKYC_METER_WORKING_STATUS\") || \"Meter working status\", value: meterDetails.workingStatus?.label || null, isModified: isFieldModified(\"meterWorkingStatus\", meterDetails.workingStatus?.value) },\n { label: t(\"EKYC_METER_LOCATION\") || \"Meter location\", value: meterDetails.meterLocation || null, isModified: isFieldModified(\"meterLocation\", meterDetails.meterLocation) },\n { label: t(\"EKYC_LAST_BILL_RAISED\") || \"Last bill raised\", value: meterDetails.lastBillRaised?.label || null, isModified: isFieldModified(\"lastBillRaised\", meterDetails.lastBillRaised?.value) },\n { label: t(\"EKYC_REASON_FOR_NO_BILL\") || \"Reason for no bill\", value: meterDetails.noBillReason || null, isModified: isFieldModified(\"noBillReason\", meterDetails.noBillReason) },\n { label: t(\"EKYC_SEWER_CONNECTION\") || \"Sewer connection\", value: meterDetails.sewerConnection?.label || null, isModified: isFieldModified(\"sewerConnection\", meterDetails.sewerConnection?.value) },\n { label: t(\"EKYC_TYPE_OF_CONNECTION\") || \"Type of connection\", value: meterDetails.connectionCategory?.label || null, isModified: isFieldModified(\"typeOfConnection\", meterDetails.connectionCategory?.value) },\n { label: t(\"EKYC_CONNECTION_CATEGORY\") || \"Connection category\", value: meterDetails.connectionType?.label || null, isModified: isFieldModified(\"connectionCategory\", meterDetails.connectionType?.value) },\n ]}\n />\n\n </div>\n\n {/* Submit (Non-sticky, at form end) */}\n <div style={{ marginTop: \"24px\" }}>\n <SubmitBar\n label={isSubmitting\n ? (t(\"EKYC_SUBMITTING\") || \"Submitting...\")\n : (t(\"ES_COMMON_SUBMIT\") || \"Submit\")\n }\n onSubmit={handleSubmit}\n disabled={isSubmitting}\n />\n </div>\n\n {/* Secure notice */}\n <div style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n gap: \"5px\", marginTop: \"16px\",\n fontSize: \"11px\", color: \"#98A2B3\",\n }}>\n <svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" />\n </svg>\n {t(\"EKYC_SECURE_DATA_NOTICE\") || \"Your data is encrypted and secure\"}\n </div>\n\n </Card>\n </div>\n </div>\n\n {/* Toast notification */}\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n success={toast.type === \"success\"}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default Review;","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 Inbox from \"./Inbox\";\n//import Mapping from \"./Mapping\";\nimport Create from \"./Create\";\nimport AadhaarVerification from \"./AadhaarVerification\";\nimport AddressDetails from \"./AddressDetails\";\nimport PropertyInfo from \"./PropertyInfo\";\nimport MeterDetails from \"./MeterDetails\";\nimport Review from \"./Review\";\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(\"/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 \"ES_COMMON_INBOX\";\n };\n\n const breadcrumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(getBreadcrumbLabel()) }\n ];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-container employee-app-homepage-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 <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <Inbox\n parentRoute={path}\n businessService=\"EKYC\"\n moduleCode=\"EKYC\"\n isInbox={true}\n />\n )}\n />\n\n <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => <Create />}\n />\n\n {/* <PrivateRoute\n path={`${path}/mapping`}\n component={() => <Mapping />}\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={() => (\n <Inbox\n parentRoute={path}\n businessService=\"EKYC\"\n moduleCode=\"EKYC\"\n isInbox={true}\n />\n )}\n />\n </Switch>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\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\";\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/Inbox\";\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\";\n\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading, 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\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};\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","Chart","register","registerables","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","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","DesktopInbox","tableConfig","filterComponent","props","_Digit$Hooks$ekyc","isLoading","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","onSearch","searchFields","tenantId","Digit","ULBService","getCurrentTenantId","FilterComponent","setComp","useState","_Digit$ComponentRegis","ComponentRegistryService","getComponent","showReviewModal","setShowReviewModal","reviewHtml","setReviewHtml","selectedKno","setSelectedKno","generateReviewHtml","info","statusFlag","Date","toLocaleDateString","kno","consumerName","mobileNo","email","typeOfConnection","connectionCategory","addressRaw","locality","city","pincode","pidNumber","noOfFloor","verificationStatus","meterNumber","meterMake","meterLocationAddress","workingStatus","useReviewHook","Hooks","ekyc","useEkycApplicationReview","p","config","useMutation","EkycService","application_review","mutate","getReview","isReviewLoading","onSuccess","res","applicationReviewInfo","html","url","acknowledgementURL","reviewUrl","setReviewUrl","alert","onError","err","message","handleReview","columns","useMemo","Header","accessor","Cell","row","_row$original","_row$original2","original","applicationNumber","cursor","fontWeight","onClick","_row$original3","citizenName","_row$original4","status","tableData","items","Modal","headerBarMain","headerBarEnd","padding","borderRadius","hideSubmit","popupStyles","maxWidth","popupModuleMianStyles","srcDoc","src","undefined","title","border","Loader","Card","alignItems","marginBottom","marginRight","HomeIcon","fontSize","defaultSearchParams","onFilterChange","moduleCode","flex","marginLeft","Table","getCellProps","cellInfo","SearchConsumer","children","_props$countData","_props$countData2","_props$countData3","_searchParams","setSearchParams","onChange","prev","onSubmit","e","preventDefault","onClear","cleared","kNumber","kName","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","Inbox","businessService","initialStates","isInbox","_dashboardData$dashbo2","pageOffset","setPageOffset","pageSize","setPageSize","setSortParams","desc","defaultStatusOption","dashboardData","isFetching","useEkycSurveyorDashboard","offset","limit","enabled","filteredData","_dashboardData$dashbo","_searchParams$status","dashboardInfo","consumerList","selectedStatus","filter","rejected","totalCount","handleSearch","useCallback","filterParam","fetchNextPage","fetchPrevPage","max","handlePageSizeChange","newSize","Number","handleSort","args","name","optionsKey","Utils","browser","isMobile","floor","ConnectionDetailsView","connectionDetails","history","useHistory","path","useRouteMatch","showModal","setShowModal","selectedOption","setSelectedOption","code","handleStartVerification","onModalConfirm","parentPath","includes","replace","push","details","statusflag","isActive","toLowerCase","Fragment","connectionType","address","x","y","rx","ry","phoneNumber","lastVerified","points","actionSaveLabel","actionSaveOnSubmit","actionCancelLabel","actionCancelOnSubmit","RadioButtons","onSelect","flexDirection","gap","buttonStyle","Create","saved","sessionStorage","getItem","JSON","parse","searchPerformed","setSearchPerformed","showToast","setShowToast","isSearching","error","revalidate","useSearchConnection","_error$response","_error$response$data","_error$response$data$","_error$response$data$2","response","Errors","removeItem","params","currentKno","Object","keys","forEach","startsWith","setItem","stringify","closeToast","Toast","isDsc","getSavedData","fallback","console","warn","CameraIcon","size","TargetIcon","PincodeIcon","CheckIcon","IconInput","icon","topAligned","inputStyle","position","left","top","transform","zIndex","opacity","pointerEvents","assign","textInputStyle","paddingLeft","paddingRight","SectionHead","marginTop","whiteSpace","AddressDetails","isSection","onComplete","parentState","_flowState$connection","_mdmsRes$egovLocatio","_mdmsRes$egovLocatio$","_mdmsRes$egovLocatio2","_mdmsRes$egovLocatio3","location","useLocation","flowState","state","initialData","addrDetails","addressDetails","addressType","setAddressType","correctAddress","setCorrectAddress","fullAddress","setFullAddress","flatNo","setFlatNo","building","setBuilding","landmark","setLandmark","setPincode","doorPhoto","setDoorPhoto","doorPhotoFileStoreId","setDoorPhotoFileStoreId","filephoto","setFilephoto","setError","toast","setToast","uploadFile","file","_res$data","_res$data$files","_res$data$files$","UploadServices","Filestorage","files","fileStoreId","fsId","reader","FileReader","onloadend","result","readAsDataURL","isLocationFetching","setIsLocationFetching","fileInputRef","mdmsData","isMdmsLoading","useCommonMDMS","mdmsRes","MdmsRes","adminHierarchy","TenantBoundary","find","h","hierarchyType","rootBoundary","boundary","getAssemblies","boundaries","assemblies","targetLabel","_boundary$children","getBlocks","blocks","child","_child$children","Array","isArray","assembly","setAssembly","ward","setWard","foundAssembly","a","b","addressOptions","yesNoOptions","handleCompleteVerification","payload","selectphoto","removePhoto","handleUseCurrentLocation","navigator","geolocation","getCurrentPosition","coords","latitude","longitude","fetch","ok","Error","json","amenity","road","neighbourhood","suburb","postcode","Boolean","join","enableHighAccuracy","timeout","maximumAge","renderContent","animation","LocationIcon","styles","innerStyles","flexShrink","lineHeight","justifyContent","CardLabel","transition","onMouseOver","currentTarget","onMouseOut","borderTopColor","textTransform","letterSpacing","PropertyHouse","minHeight","gridTemplateColumns","test","maxLength","margin","borderTop","val","disabled","UploadFile","extraStyleName","accept","onUpload","onDelete","overflow","alt","maxHeight","objectFit","ActionBar","success","done","step","paddingBottom","paddingTop","CardHeader","LockIcon","UserIcon","PhoneIcon","WhatsappIcon","MailIcon","UsersIcon","rightIcon","right","RadioToggleRow","AadhaarVerification","addressSectionRef","connectionDetailsInfo","initialDetails","_connectionDetails$ad","_connectionDetails$pr","_connectionDetails$co","_connectionDetails$co2","_connectionDetails$pr2","_connectionDetails$pr3","_connectionDetails$ad2","_connectionDetails$ad3","_connectionDetails$ad4","_connectionDetails$ad5","_connectionDetails$ad6","_connectionDetails$ad7","_connectionDetails$ad8","userName","whatsappNumber","noOfPersons","noOfPerson","propertyDetails","userType","flatHouseNumber","buildingTower","pinCode","aadhaarLastFour","setAadhaarLastFour","isAadhaarVerified","setIsAadhaarVerified","isVerifying","setIsVerifying","showOtpField","setShowOtpField","otp","setOtp","otpError","setOtpError","nameCorrect","setNameCorrect","setUserName","mobileChange","setMobileChange","setMobileNumber","setWhatsappNumber","setEmail","setNoOfPersons","showAddressSection","setShowAddressSection","addressData","setAddressData","handleVerifyAadhaar","setTimeout","handleVerifyOtp","_addressSectionRef$cu","scrollIntoView","behavior","block","handleSaveAndContinue","_addressSectionRef$cu2","handleCompleteAll","aadhaarDetails","verifiedInput","verifiedCard","infoLabel","infoValue","twoCol","optionalTag","LabelFieldPair","gridColumn","sty","BuildingIcon","BriefcaseIcon","DocumentIcon","PidIcon","PropertyInfo","_dataV0$wsServicesC","_dataV0$wsServicesC$p","_dataConn$wsServices","_dataConn$wsServices$","_dataV1$wsServicesC","_dataV1$wsServicesC$u","_dataV2$wsServicesC","_dataV2$wsServicesC$f","dataV0","useGetPropertyType","dataConn","useGetConnectionTypeV2","dataV1","useGetUserType","dataV2","useGetFloorCount","ownerType","setOwnerType","setPidNumber","setConnectionCategory","setConnectionType","setUserType","noOfFloors","setNoOfFloors","propertyDocument","setPropertyDocument","propertyDocumentFileStoreId","setPropertyDocumentFileStoreId","buildingPhoto","setBuildingPhoto","buildingPhotoFileStoreId","setBuildingPhotoFileStoreId","filepdf","setFilepdf","fileRef","cameraRef","selectpdf","connectionCategoryOptions","propertyTypeV2","connectionTypeOptions","connectionTypeV2","userTypeOptions","userTypeV2","floorOptions","floorCount","fontStyle","InfoBannerIcon","MeterIcon","ConnectionIcon","MeterDetails","meterStatus","setMeterStatus","meterPhoto","setMeterStatusPhoto","meterPhotoFileStoreId","setMeterStatusPhotoFileStoreId","setWorkingStatus","meterLocation","setMeterLocation","lastBillRaised","setLastBillRaised","noBillReason","setNoBillReason","sewerConnection","setSewerConnection","meterDetails","meterStatusOptions","workingStatusOptions","LocationIcon2","EditIcon","ReviewCard","onEdit","editLabel","rows","borderBottom","wordBreak","isModified","Review","_getSavedData","_getSavedData2","_propertyDetails$conn3","_propertyDetails$conn4","_propertyDetails$conn5","_propertyDetails$conn6","_propertyDetails$user2","_propertyDetails$user3","_propertyDetails$noOf2","_propertyDetails$noOf3","_meterDetails$meterSt2","_meterDetails$meterSt3","_meterDetails$working2","_meterDetails$working3","_meterDetails$lastBil2","_meterDetails$lastBil3","_meterDetails$sewerCo2","_meterDetails$sewerCo3","_meterDetails$connect3","_meterDetails$connect4","_meterDetails$connect5","_meterDetails$connect6","isFieldModified","currentVal","initialVal","isMutationLoading","useEkycApplicationUpdate","isSubmitting","dataUrlToFile","dataUrl","filename","arr","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","File","_Digit$UserService$ge","_propertyDetails$user","_propertyDetails$noOf","_propertyDetails$conn","_propertyDetails$conn2","_meterDetails$meterSt","_meterDetails$working","_meterDetails$lastBil","_meterDetails$sewerCo","_meterDetails$connect","_meterDetails$connect2","userInfo","UserService","getUser","propertyDocFileStoreId","buildingImageFileStoreId","photoFile","doorFile","meterImageFileStoreId","meterFile","requestBody","updateType","parseInt","modifiedBy","meterWorkingStatus","_err$response","_err$response$data","_err$response$data$Er","_err$response$data$Er2","handleEditAadhaar","handleEditAddress","handleEditProperty","handleEditMeter","EmployeeApp","getBreadcrumbLabel","pathname","breadcrumbs","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","window","back","Switch","PrivateRoute","component","CitizenApp","EkycModule","stateCode","tenants","language","StoreData","getCurrentLanguage","store","Services","useStore","SessionStorage","set","EkycLinks","matchPath","i18nKey","CitizenHomeCard","header","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}