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 LazyGlobalTaskCenter = lazy(() => import('../GlobalTaskCenter'));
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,
activeTasks,
showCancelTask,
cancelTaskPwd,
onShowCancelTask,
onCancelTaskPwdChange,
onCancelTaskConfirm,
onCloseCancelTask,
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)}
/>
)}
{activeTasks.length > 0 && (
}>
0}
activeTasks={activeTasks}
t={t}
isAdmin={isAdmin}
showCancelTask={showCancelTask}
cancelTaskPwd={cancelTaskPwd}
onShowCancelTask={onShowCancelTask}
onCancelTaskPwdChange={onCancelTaskPwdChange}
onCancelTaskConfirm={onCancelTaskConfirm}
onCloseCancelTask={onCloseCancelTask}
/>
)}
{mapExport.showExportModal && (
}>
)}
>
);
}