BunnyCDN, Search tab, journeys redesign, and dashboard polish #52

Merged
uz1mani merged 86 commits from staging into main 2026-03-17 10:08:26 +00:00
9 changed files with 1389 additions and 6 deletions
Showing only changes of commit a3f50dc38f - Show all commits

View File

@@ -615,11 +615,9 @@ export default function SiteDashboardPage() {
<div className="grid gap-6 lg:grid-cols-2 mb-8">
<Campaigns siteId={siteId} dateRange={dateRange} filters={filtersParam || undefined} onFilter={handleAddFilter} />
<SearchPerformance siteId={siteId} dateRange={dateRange} />
</div>
<div className="mb-8">
<PeakHours siteId={siteId} dateRange={dateRange} />
</div>
<SearchPerformance siteId={siteId} dateRange={dateRange} />
<div className="mb-8">
<GoalStats

View File

@@ -26,11 +26,15 @@ export default function SearchPerformance({ siteId, dateRange }: SearchPerforman
const { data: overview, isLoading: overviewLoading } = useGSCOverview(siteId, dateRange.start, dateRange.end)
const { data: queriesData, isLoading: queriesLoading } = useGSCTopQueries(siteId, dateRange.start, dateRange.end, 5, 0)
// Don't render if GSC is not connected
// Don't render if GSC is not connected or no data
if (!gscStatus?.connected) return null
const isLoading = overviewLoading || queriesLoading
const queries = queriesData?.queries ?? []
const hasData = overview && (overview.total_clicks > 0 || overview.total_impressions > 0)
// Hide panel entirely if loaded but no data
if (!isLoading && !hasData) return null
return (
<div className="bg-white dark:bg-neutral-900 border border-neutral-200 dark:border-neutral-800 rounded-2xl p-6 h-full flex flex-col">