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
39 changed files with 3092 additions and 1153 deletions
Showing only changes of commit 6d6c1ee8f6 - Show all commits

View File

@@ -123,7 +123,7 @@ export default function BehaviorPage() {
<FrustrationSummaryCards data={summary} loading={loading} />
{/* Rage clicks + Dead clicks side by side */}
<div className="grid gap-6 lg:grid-cols-2 mb-8">
<div className="grid gap-6 lg:grid-cols-2 mb-8 [&>*]:min-w-0">
<FrustrationTable
title="Rage Clicks"
description="Elements users clicked repeatedly in frustration"
@@ -150,7 +150,7 @@ export default function BehaviorPage() {
{/* Scroll depth + Frustration trend — hide when data failed to load */}
{!behaviorError && (
<div className="grid gap-6 lg:grid-cols-2 mb-8">
<div className="grid gap-6 lg:grid-cols-2 mb-8 [&>*]:min-w-0">
<ScrollDepth
goalCounts={dashboard?.goal_counts ?? []}
totalPageviews={dashboard?.stats?.pageviews ?? 0}

View File

@@ -554,7 +554,7 @@ export default function SiteDashboardPage() {
/>
</div>
<div className="grid gap-6 lg:grid-cols-2 mb-8">
<div className="grid gap-6 lg:grid-cols-2 mb-8 [&>*]:min-w-0">
<ContentStats
topPages={dashboard?.top_pages ?? []}
entryPages={dashboard?.entry_pages ?? []}
@@ -574,7 +574,7 @@ export default function SiteDashboardPage() {
/>
</div>
<div className="grid gap-6 lg:grid-cols-2 mb-8">
<div className="grid gap-6 lg:grid-cols-2 mb-8 [&>*]:min-w-0">
<Locations
countries={dashboard?.countries ?? []}
cities={dashboard?.cities ?? []}
@@ -597,11 +597,11 @@ export default function SiteDashboardPage() {
/>
</div>
<div className="grid gap-6 lg:grid-cols-2 mb-8">
<div className="grid gap-6 lg:grid-cols-2 mb-8 [&>*]:min-w-0">
<Campaigns siteId={siteId} dateRange={dateRange} filters={filtersParam || undefined} onFilter={handleAddFilter} />
<PeakHours siteId={siteId} dateRange={dateRange} />
</div>
<div className="grid gap-6 lg:grid-cols-2 mb-8">
<div className="grid gap-6 lg:grid-cols-2 mb-8 [&>*]:min-w-0">
<SearchPerformance siteId={siteId} dateRange={dateRange} />
<GoalStats
goalCounts={(dashboard?.goal_counts ?? []).filter(g => !/^scroll_\d+$/.test(g.event_name))}