diff --git a/frontend/src/pages/Dashboard/Home.tsx b/frontend/src/pages/Dashboard/Home.tsx index 5903074e..bfebd9e8 100644 --- a/frontend/src/pages/Dashboard/Home.tsx +++ b/frontend/src/pages/Dashboard/Home.tsx @@ -199,16 +199,22 @@ export default function Home() { ]; const fetchAppInsights = async () => { + if (!activeSite) { + setInsights(null); + setLoading(false); + return; + } + try { setLoading(true); const [keywordsRes, clustersRes, ideasRes, tasksRes, contentRes, imagesRes] = await Promise.all([ - fetchKeywords({ page_size: 1, site_id: undefined }), - fetchClusters({ page_size: 1, site_id: undefined }), - fetchContentIdeas({ page_size: 1, site_id: undefined }), - fetchTasks({ page_size: 1, site_id: undefined }), - fetchContent({ page_size: 1, site_id: undefined }), - fetchContentImages({ page_size: 1, site_id: undefined }) + fetchKeywords({ page_size: 1, site_id: activeSite.id, sector_id: activeSector?.id }), + fetchClusters({ page_size: 1, site_id: activeSite.id, sector_id: activeSector?.id }), + fetchContentIdeas({ page_size: 1, site_id: activeSite.id, sector_id: activeSector?.id }), + fetchTasks({ page_size: 1, site_id: activeSite.id, sector_id: activeSector?.id }), + fetchContent({ page_size: 1, site_id: activeSite.id, sector_id: activeSector?.id }), + fetchContentImages({ site_id: activeSite.id, sector_id: activeSector?.id }) ]); const totalKeywords = keywordsRes.count || 0; @@ -248,7 +254,7 @@ export default function Home() { useEffect(() => { fetchAppInsights(); - }, [activeSite, activeSector]); + }, [activeSite?.id, activeSector?.id]); const chartOptions: ApexOptions = { chart: { diff --git a/frontend/src/pages/Planner/Dashboard.tsx b/frontend/src/pages/Planner/Dashboard.tsx index 19e26b83..50b8b517 100644 --- a/frontend/src/pages/Planner/Dashboard.tsx +++ b/frontend/src/pages/Planner/Dashboard.tsx @@ -73,14 +73,20 @@ export default function PlannerDashboard() { // Fetch real data const fetchDashboardData = async () => { + if (!activeSite) { + setStats(null); + setLoading(false); + return; + } + try { setLoading(true); const [keywordsRes, clustersRes, ideasRes, tasksRes] = await Promise.all([ - fetchKeywords({ page_size: 1000, sector_id: activeSector?.id }), - fetchClusters({ page_size: 1000, sector_id: activeSector?.id }), - fetchContentIdeas({ page_size: 1000, sector_id: activeSector?.id }), - fetchTasks({ page_size: 1000, sector_id: activeSector?.id }) + fetchKeywords({ page_size: 1000, site_id: activeSite.id, sector_id: activeSector?.id }), + fetchClusters({ page_size: 1000, site_id: activeSite.id, sector_id: activeSector?.id }), + fetchContentIdeas({ page_size: 1000, site_id: activeSite.id, sector_id: activeSector?.id }), + fetchTasks({ page_size: 1000, site_id: activeSite.id, sector_id: activeSector?.id }) ]); const keywords = keywordsRes.results || []; @@ -439,7 +445,11 @@ export default function PlannerDashboard() {

- {activeSector ? 'No data available for the selected sector.' : 'No data available. Select a sector or wait for data to load.'} + {!activeSite + ? 'Select an active site to view planner insights.' + : activeSector + ? 'No data available for the selected sector.' + : 'No data available. Select a sector or wait for data to load.'}

diff --git a/frontend/src/pages/Writer/Dashboard.tsx b/frontend/src/pages/Writer/Dashboard.tsx index e6b6c5c6..36daf276 100644 --- a/frontend/src/pages/Writer/Dashboard.tsx +++ b/frontend/src/pages/Writer/Dashboard.tsx @@ -78,13 +78,19 @@ export default function WriterDashboard() { const [lastUpdated, setLastUpdated] = useState(new Date()); const fetchDashboardData = async () => { + if (!activeSite) { + setStats(null); + setLoading(false); + return; + } + try { setLoading(true); const [tasksRes, contentRes, imagesRes] = await Promise.all([ - fetchTasks({ page_size: 1000, sector_id: activeSector?.id }), - fetchContent({ page_size: 1000, sector_id: activeSector?.id }), - fetchContentImages({ sector_id: activeSector?.id }) + fetchTasks({ page_size: 1000, site_id: activeSite.id, sector_id: activeSector?.id }), + fetchContent({ page_size: 1000, site_id: activeSite.id, sector_id: activeSector?.id }), + fetchContentImages({ site_id: activeSite.id, sector_id: activeSector?.id }) ]); const tasks = tasksRes.results || []; @@ -447,7 +453,11 @@ export default function WriterDashboard() {

- {activeSector ? 'No data available for the selected sector.' : 'No data available. Select a sector or wait for data to load.'} + {!activeSite + ? 'Select an active site to view writer insights.' + : activeSector + ? 'No data available for the selected sector.' + : 'No data available. Select a sector or wait for data to load.'}