Commit Graph

539 Commits

Author SHA1 Message Date
Usman Baig
0abc5cd4a8 style: unify all dashboard chart colors to brand orange 2026-03-13 12:32:57 +01:00
Usman Baig
3bda7215db fix: stat label invisible on light mode when selected
The active metric label (e.g. UNIQUE VISITORS) was white on a
near-white background. Switch to brand orange for visibility in
both themes.
2026-03-13 12:29:05 +01:00
Usman Baig
0112004457 fix: depth default 3 max 5, min_sessions 2, 5 nodes per column, stricter labels 2026-03-12 23:58:56 +01:00
Usman Baig
063a21adeb feat: cap nodes per column, dynamic SVG height, smart labels, thinner exit node 2026-03-12 23:46:24 +01:00
Usman Baig
a3fa48732a fix: correct ribbon y-offset — d3-sankey y0/y1 are center, not top 2026-03-12 23:20:33 +01:00
Usman Baig
a637d32446 revert: remove frontend same-page filter, backend fix handles this 2026-03-12 23:12:12 +01:00
Usman Baig
df394b85ef fix: filter out same-page transitions (reloads) from Sankey 2026-03-12 23:08:30 +01:00
Usman Baig
4e7c495160 fix: use SVG-level onMouseMove with data attrs for reliable hover 2026-03-12 23:04:08 +01:00
Usman Baig
9c8943d1e3 fix: rewrite hover state to single object, fix link dimming on node hover 2026-03-12 22:56:13 +01:00
Usman Baig
e7debdeb41 fix: consolidate exit nodes into single (exit) node 2026-03-12 22:52:24 +01:00
Usman Baig
3df93bb227 fix: link color from source node, fix hover dimming, labels trigger hover 2026-03-12 22:48:31 +01:00
Usman Baig
3bde3fd4e1 fix: only highlight links on node hover, not other nodes 2026-03-12 22:40:40 +01:00
Usman Baig
5cdf353233 feat: add node hover highlighting with connection dimming 2026-03-12 22:37:40 +01:00
Usman Baig
683bbce817 fix: thick node bars, multi-hue palette, higher link opacity, more padding 2026-03-12 22:31:05 +01:00
Usman Baig
828e930a69 fix: Sankey visual overhaul — lower link opacity, column color gradient, breathing room
- Links: 18% opacity default (was 60%), 45% on hover, grey for exit links
- Nodes: column-based orange gradient (bright entry → dark deep), stroke outline
- Labels: larger font, better padding, higher contrast backgrounds
- Layout: more vertical padding, wider node gap (24px)
2026-03-12 22:23:52 +01:00
Usman Baig
54daf14c6a feat: replace MUI X Charts Pro with d3-sankey custom Sankey
Remove paid MUI dependency. Use d3-sankey (MIT, ~5KB) for layout
algorithm + custom SVG rendering. Same visual quality: smooth bezier
ribbon links, proper node spacing via sankeyJustify, label backgrounds,
hover dimming, exit nodes.
2026-03-12 22:17:16 +01:00
Usman Baig
281a9f237a feat: replace custom Sankey SVG with MUI X Charts Pro Sankey 2026-03-12 22:07:20 +01:00
Usman Baig
4b10f8c1fc fix: refine Sankey visual — thinner nodes, subtle links, orange on hover 2026-03-12 21:58:50 +01:00
Usman Baig
31286c45f4 fix: use brand orange for Sankey diagram nodes and links 2026-03-12 21:51:07 +01:00
Usman Baig
908606ade2 fix: make journey empty states consistent with dashboard blocks 2026-03-12 21:49:31 +01:00
Usman Baig
b3e335ec6c feat(journeys): add skeleton and error boundary 2026-03-12 21:36:27 +01:00
Usman Baig
e7e76bb3db feat(journeys): add Journeys tab to site navigation 2026-03-12 21:35:43 +01:00
Usman Baig
0fa6c4aaf4 feat(journeys): add top paths table component 2026-03-12 21:32:18 +01:00
Usman Baig
c669035718 feat(journeys): add Sankey diagram SVG component 2026-03-12 21:29:45 +01:00
Usman Baig
6964be9610 refactor: remove realtime visitors detail page
Remove the individual session journey page and make the live visitor
count a static indicator. Prepares for the new aggregated User Journeys
feature (v0.17).
2026-03-12 20:45:58 +01:00
Usman Baig
bae492e8d9 style: show only percentage badge on hover in frustration tables 2026-03-12 20:31:21 +01:00
Usman Baig
540c774100 fix: custom tooltip with inline fill color, dynamic subtitle
- Replace ChartTooltipContent with custom tooltip that reads fill
  directly from payload — guaranteed to show the slice color
- Subtitle adapts: shows 'current and previous period' only when
  previous period data exists, otherwise 'rage vs dead breakdown'
- Filter out zero-count slices from chart data
2026-03-12 18:29:43 +01:00
Usman Baig
3bf832af92 style: use transparent orange tones for frustration pie chart
Rage clicks: warm orange at 70% opacity
Dead clicks: darker amber at 70% opacity
Previous period: same hues at 35% opacity
2026-03-12 18:27:57 +01:00
Usman Baig
5050422a60 refactor: match frustration tables to dashboard pattern
- Remove column headers for cleaner look
- Show secondary info (avg, sessions, last seen) on hover
- Add orange percentage badge that slides in on hover
- Add empty row padding for consistent card height
2026-03-12 18:27:20 +01:00
Usman Baig
13f6f53868 fix: tooltip indicator dot not showing slice color
bg-[--color-bg] doesn't resolve in Tailwind v4 — needs var() wrapper.
Changed to bg-[var(--color-bg)] and border-[var(--color-border)].
2026-03-12 18:25:15 +01:00
Usman Baig
bf7fe87120 fix: use direct hex colors for pie chart tooltip and distinct color palette 2026-03-12 18:21:19 +01:00
Usman Baig
d4dc45e82b fix: align table headers with row data using CSS grid
- Switch FrustrationTable from flex to grid columns so headers
  and row cells share the same column widths
- Replace bar chart with pie chart for frustration trend
- Remove Card wrapper borders, footer line, and total signals text
- Change dead clicks color from yellow to darker orange
2026-03-12 18:16:12 +01:00
Usman Baig
0889079372 refactor: replace bar chart with pie chart for frustration trend 2026-03-12 18:09:34 +01:00
Usman Baig
2f01be1c67 feat: polish behavior page UI with 8 improvements
- Add column headers to rage/dead click tables
- Rich empty states with icons matching dashboard pattern
- Add frustration trend comparison chart (current vs previous period)
- Show "New" badge instead of misleading "+100%" when previous period is 0
- Click-to-copy on CSS selectors with toast feedback
- Normalize min-height to 270px for consistent card sizing
- Fix page title to include site domain (Behavior · domain | Pulse)
- Add "last seen" column with relative timestamps
2026-03-12 18:03:22 +01:00
Usman Baig
1f64bec46d fix: correct summary card label and skip MutationObserver on html/body 2026-03-12 17:02:52 +01:00
Usman Baig
062d0a2b44 feat: add frustration by page breakdown component 2026-03-12 16:55:01 +01:00
Usman Baig
46084b71a6 feat: add frustration table component with view-all modal 2026-03-12 16:54:38 +01:00
Usman Baig
a00042c557 feat: add frustration summary cards component 2026-03-12 16:53:47 +01:00
Usman Baig
c17a856224 feat: add Behavior tab to site navigation 2026-03-12 16:53:12 +01:00
Usman Baig
7e91e08532 feat: 2-hour bucket grid for larger square cells 2026-03-12 00:33:56 +01:00
Usman Baig
cb6c03432c fix: use CSS grid with aspect-square for square heatmap cells 2026-03-12 00:30:23 +01:00
Usman Baig
bc299fe9a0 fix: increase Peak Hours grid row height 2026-03-12 00:27:17 +01:00
Usman Baig
632530af7f feat: replace heatmap grid with CommitsGrid-style animated cells 2026-03-12 00:20:04 +01:00
Usman Baig
ffbfcf342f feat: fix cell visibility, add thermal blob mode & peak cell pulse 2026-03-12 00:13:47 +01:00
Usman Baig
602f7350b8 fix: remove row/column dim highlight on Peak Hours hover 2026-03-12 00:09:09 +01:00
Usman Baig
c15737b9c6 feat: interactive Peak Hours heatmap
- Row + column highlight on cell hover with dim effect
- Cell-anchored tooltip showing pageviews and % of week's traffic
- Best time callout: "Your busiest time is Xdays at Ypm"
- Staggered entrance animation on data load
2026-03-12 00:05:46 +01:00
Usman Baig
a189952fad feat: add Peak Hours heatmap dashboard panel 2026-03-11 23:59:22 +01:00
Usman Baig
956cfbcf35 feat: animate active metric indicator with spring slide 2026-03-11 23:38:04 +01:00
Usman Baig
b5dd5e7082 feat: add This week / This month period options and fix comparison labels 2026-03-11 23:33:24 +01:00
Usman Baig
34eca64967 fix: correct off-by-one in comparison period label 2026-03-11 23:23:39 +01:00