import { Suspense, lazy } from 'react'; import { useShallow } from 'zustand/react/shallow'; import LicenseOverlay from '../LicenseOverlay'; import { useDinsarStore, usePairingStore, useUiStore } from '../../store'; import { useI18n } from '../../i18n/I18nContext'; import { formatYmd } from '../../utils/appUiHelpers'; import { ModalLoadingFallback } from './AppLoadingFallbacks'; const LazyPairingModal = lazy(() => import('../PairingModal')); const LazyPsStackModal = lazy(() => import('../PsStackModal')); const LazyDataInfoModal = lazy(() => import('../DataInfoModal')); const LazyActiveTasksOverlay = lazy(() => import('../ActiveTasksOverlay')); const LazyStatisticsDashboard = lazy(() => import('../../StatisticsDashboard')); const LazyAiReportModal = lazy(() => import('../AiReportModal')); const LazyMapExportModal = lazy(() => import('../MapExportModal')); export default function AppOverlays({ onPairingSubmit, onPairingAoiModeChange, onPairingProvinceChange, onPairingCityChange, onPsSubmit, onPsAoiModeChange, onPsProvinceChange, onPsCityChange, licenseLoading, licenseStatus, isAdmin, licenseFileRef, onUploadFile, onRefreshLicenseStatus, licenseFileName, licenseUploadStatus, isGlobalLocked, activeTasks, showForceUnlock, forceUnlockPwd, onShowForceUnlock, onForceUnlockPwdChange, onForceUnlockConfirm, onCancelForceUnlock, mapExport, }) { const { language, t } = useI18n(); const { showPairingModal, showPsModal } = usePairingStore(useShallow((state) => ({ showPairingModal: state.showPairingModal, showPsModal: state.showPsModal, }))); const { showStats, setShowStats, showDataInfo, setShowDataInfo, selectedDataInfo, } = useUiStore(useShallow((state) => ({ showStats: state.showStats, setShowStats: state.setShowStats, showDataInfo: state.showDataInfo, setShowDataInfo: state.setShowDataInfo, selectedDataInfo: state.selectedDataInfo, }))); const { activeAiReport, setActiveAiReport } = useDinsarStore(useShallow((state) => ({ activeAiReport: state.activeAiReport, setActiveAiReport: state.setActiveAiReport, }))); return ( <> {showPairingModal && ( }> )} {showPsModal && ( }> )} {activeAiReport && ( }> setActiveAiReport(null)} /> )} {showStats && ( }> setShowStats(false)} /> )} {showDataInfo && ( }> formatYmd(value, language)} onClose={() => setShowDataInfo(false)} /> )} {isGlobalLocked && ( }> )} {mapExport.showExportModal && ( }> )} ); }