|
|
@@ -169,22 +169,31 @@ export default function CintasCalendarSummaryPage() {
|
|
|
};
|
|
|
|
|
|
const handleGenerateSummary = async () => {
|
|
|
- if (!importRecord) return;
|
|
|
+ const activeImport = selectedImport || importRecord;
|
|
|
+ if (!activeImport) return;
|
|
|
|
|
|
setIsProcessing(true);
|
|
|
setError(null);
|
|
|
|
|
|
try {
|
|
|
- const result = await generateImportSummary(importRecord.id);
|
|
|
+ const result = await generateImportSummary(activeImport.id);
|
|
|
|
|
|
if (result.success && result.data) {
|
|
|
- const summaries = result.data.summary || [];
|
|
|
- setSummaryData(Array.isArray(summaries) ? summaries : []);
|
|
|
- setSummaryExists(summaries.length > 0);
|
|
|
+ const refreshed = await getImportSummary(activeImport.id);
|
|
|
+ const summaries = refreshed.success && refreshed.data
|
|
|
+ ? (refreshed.data.summary?.cintasSummaries || [])
|
|
|
+ : (result.data.summary || []);
|
|
|
|
|
|
- if (result.data.summaryGenerated || summaries.length > 0) {
|
|
|
+ const normalizedSummaries = Array.isArray(summaries) ? summaries : [];
|
|
|
+ setSummaryData(normalizedSummaries);
|
|
|
+ setSummaryExists(normalizedSummaries.length > 0);
|
|
|
+ setSelectedImport(activeImport);
|
|
|
+
|
|
|
+ if (result.data.summaryGenerated || normalizedSummaries.length > 0) {
|
|
|
setCurrentStep(4);
|
|
|
- setViewMode('new-summary');
|
|
|
+ setViewMode(importRecord ? 'new-summary' : 'summary');
|
|
|
+ } else {
|
|
|
+ setError('Summary generation completed, but no summary rows were produced for this import.');
|
|
|
}
|
|
|
} else {
|
|
|
throw new Error(result.error || 'Failed to generate summary');
|
|
|
@@ -200,6 +209,7 @@ export default function CintasCalendarSummaryPage() {
|
|
|
try {
|
|
|
setIsProcessing(true);
|
|
|
setError(null);
|
|
|
+ setImportRecord(null);
|
|
|
|
|
|
const result = await getImportSummary(importRecord.id);
|
|
|
|
|
|
@@ -233,6 +243,7 @@ export default function CintasCalendarSummaryPage() {
|
|
|
const handleBackToImports = () => {
|
|
|
setViewMode('imports');
|
|
|
setSelectedImport(null);
|
|
|
+ setImportRecord(null);
|
|
|
setSummaryData([]);
|
|
|
loadPriorImports();
|
|
|
};
|