Skip to content

Commit e5eff40

Browse files
authored
Merge pull request #523 from objectstack-ai/copilot/fix-empty-crm-reports
2 parents a1304ac + 29cbc70 commit e5eff40

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

apps/console/src/components/ReportView.tsx

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { useState } from 'react';
1+
import { useState, useEffect } from 'react';
22
import { useParams } from 'react-router-dom';
33
import { ReportViewer, ReportBuilder } from '@object-ui/plugin-report';
44
import { Empty, EmptyTitle, EmptyDescription, Button } from '@object-ui/components';
5-
import { PenLine, ChevronLeft, BarChart3 } from 'lucide-react';
5+
import { PenLine, ChevronLeft, BarChart3, Loader2 } from 'lucide-react';
66
import { MetadataToggle, MetadataPanel, useMetadataInspector } from './MetadataInspector';
77
import { useMetadata } from '../context/MetadataProvider';
88

@@ -24,10 +24,23 @@ export function ReportView({ dataSource: _dataSource }: { dataSource?: any }) {
2424
const [isEditing, setIsEditing] = useState(false);
2525

2626
// Find report definition from API-driven metadata
27-
const { reports } = useMetadata();
27+
const { reports, loading } = useMetadata();
2828
const initialReport = reports?.find((r: any) => r.name === reportName);
2929
const [reportData, setReportData] = useState(initialReport);
3030

31+
// Sync reportData when metadata finishes loading or reportName changes
32+
useEffect(() => {
33+
setReportData(initialReport);
34+
}, [initialReport]);
35+
36+
if (loading) {
37+
return (
38+
<div className="h-full flex items-center justify-center p-8">
39+
<Loader2 className="h-8 w-8 animate-spin text-muted-foreground" />
40+
</div>
41+
);
42+
}
43+
3144
if (!initialReport) {
3245
return (
3346
<div className="h-full flex items-center justify-center p-8">

0 commit comments

Comments
 (0)