Usman Baig
df10d4e747
feat: add actionable CTAs to all dashboard empty states
...
- Campaigns: "Build a UTM URL" opens UTM builder modal directly
- Pages/Referrers/Locations/Technology: "Install tracking script"
links to /installation
- Matches existing CTA pattern from GoalStats
2026-03-15 22:00:58 +01:00
Usman Baig
c21d7b9073
feat: add animated number transitions to dashboard stats
...
Numbers smoothly count up/down when switching date ranges,
applying filters, or as real-time visitor count changes.
Uses framer-motion useSpring for natural spring physics.
2026-03-15 21:37:11 +01:00
Usman Baig
df2b3cadd7
feat: add inline bar charts to all dashboard list components
...
Add proportional background bars (brand-orange) to Pages,
Referrers, Locations, Technology, and Campaigns tables.
Bars scale relative to the top item in each list.
2026-03-15 20:39:25 +01:00
Usman Baig
4f4f2f4f9a
refactor: redesign top paths table to match Pulse patterns
...
- Replace card-per-row with compact list rows + background bars
- Drop rank badges (order already communicates rank)
- Inline path sequence + stats into single row
- Truncate sequences longer than 7 steps (first 3 + … + last 2)
- Duration shows on hover with slide-in animation
- Use brand-orange bars proportional to top path count
2026-03-15 20:31:57 +01:00
Usman Baig
d864d951f9
fix: rebuild depth slider from scratch
...
- Use min=2 max=10 directly on range input (no array index mapping)
- Debounce via useEffect instead of manual timer refs
- Always render Reset button with opacity transition (no layout shift)
- Immediate setCommittedDepth on reset for instant response
2026-03-15 20:08:15 +01:00
Usman Baig
d5b48ac985
fix: rebuild depth slider with single state + debounce
...
Replace dual-state (depth/displayDepth) with a single depth state
and a debounced value for API calls. Eliminates glitchy reset button
and simplifies the slider to just onChange.
2026-03-15 20:04:36 +01:00
Usman Baig
3c9d5b47be
fix: show reset button while dragging depth slider
2026-03-15 20:00:51 +01:00
Usman Baig
0ea9b31b63
style: make journey exit row a full red block matching other rows
2026-03-15 19:53:10 +01:00
Usman Baig
25f4cd5eb9
fix: move border-b inside scrollable nav to prevent orange indicator clipping
2026-03-15 19:45:42 +01:00
Usman Baig
2068f839fd
fix: restore brand orange tab indicator clipped by overflow-x-auto
2026-03-15 19:41:28 +01:00
Usman Baig
76248233b9
fix: revalidate funnels list after creating a new funnel
...
Mutate the SWR funnels cache key before navigating back so the
list page shows the newly created funnel without requiring a refresh.
2026-03-15 18:38:51 +01:00
Usman Baig
849986edf1
fix: restore active tab indicator in scrollable SiteNav
...
Move overflow-x-auto to the outer border-b container and use min-w-max
on the nav so the framer-motion layoutId indicator is not clipped.
2026-03-15 18:37:40 +01:00
Usman Baig
220d3905be
fix: use 0-based step order when creating funnels
...
Backend expects sequential order starting from 0 (0, 1, 2, ...),
but the frontend was sending 1-based order (1, 2, 3, ...).
2026-03-15 18:33:30 +01:00
Usman Baig
6d6c1ee8f6
fix: prevent grid children from overflowing on mobile
...
Add [&>*]:min-w-0 to lg:grid-cols-2 grids so widget cards
respect the grid track width instead of expanding to content size.
2026-03-15 18:20:08 +01:00
Usman Baig
24c71f7991
fix: mobile responsiveness across all pages
...
- SiteNav: add horizontal scroll for 8 tabs on mobile
- NotificationCenter: full-width dropdown on mobile
- ContentStats/Locations/TechSpecs: scrollable tab bars
- FrustrationTable: fix selector text overflow
- FrustrationByPageTable: horizontal scroll on mobile
- CDN: better stat card grid breakpoints
- Home: reduce stat card height, prevent button wrap
- Billing: shorter invoice labels on mobile
- Bump @ciphera-net/ui to 0.2.6 (AppLauncher mobile fix)
2026-03-15 18:15:06 +01:00
Usman Baig
7103a39273
fix: increase column padding for bar chart breathing room
2026-03-15 13:48:19 +01:00
Usman Baig
3c8904ffe4
fix: remove overflow-hidden clipping bar chart left rounding
2026-03-15 13:45:29 +01:00
Usman Baig
aba67592bb
fix: bar chart left rounding by using width calc instead of scaleX
2026-03-15 13:42:41 +01:00
Usman Baig
e7907d68bf
fix: default depth 10, bar rounding, exit row height, connection line reach
2026-03-15 13:39:41 +01:00
Usman Baig
342bf46946
fix: bar chart overflow by using scaleX instead of width percentage
2026-03-15 13:33:10 +01:00
Usman Baig
de16991bb3
fix: inset bar chart so left rounding is visible
2026-03-15 13:30:20 +01:00
Usman Baig
3954ee0a97
refactor: restyle journey columns to match Pulse native patterns
2026-03-15 13:27:20 +01:00
Usman Baig
b000d0e1f7
fix: replace horizontal dashed lines with solid vertical column dividers
2026-03-15 13:20:57 +01:00
Usman Baig
58272f3fb5
fix: remove scroll fade gradient that was overlapping column content
2026-03-15 13:15:42 +01:00
Usman Baig
722b5de88d
feat: polish journey columns with bar charts, count pills, colored selection, dotted connectors
2026-03-15 13:12:17 +01:00
Usman Baig
ada2c65d8f
fix: show exit as red card in next column instead of SVG text hack
2026-03-15 13:03:06 +01:00
Usman Baig
b10abd38fc
feat: show exit count when selecting a page, fix scroll fade overlay
2026-03-15 12:56:59 +01:00
Usman Baig
9f9f4286b7
fix: selections only show connection lines, no longer filter column data
2026-03-15 12:46:48 +01:00
Usman Baig
a7e9f7c998
fix: cascade column selection filter downstream, trim empty columns, add scroll fade
2026-03-15 12:42:49 +01:00
Usman Baig
4103014cdb
fix: restyle journey columns to match Pirsch card-based design
2026-03-15 12:28:43 +01:00
Usman Baig
9528eca443
fix: handle 204 No Content responses in API client
...
Prevent error toasts on successful delete operations by checking for
204 status before attempting to parse response body as JSON.
2026-03-15 12:23:05 +01:00
Usman Baig
e8f00e06ec
feat: replace sankey chart with column-based journey visualization
2026-03-15 12:17:48 +01:00
Usman Baig
1e147c955b
fix: improve visit duration reliability with pagehide fallback and dedup guard
2026-03-15 11:58:33 +01:00
Usman Baig
7e30d04df3
feat: redesign top paths as breadcrumb cards with icons
2026-03-15 11:47:52 +01:00
Usman Baig
47d884e47b
fix: remove focus ring from depth slider, debounce API calls until drag ends
2026-03-15 11:43:04 +01:00
Usman Baig
f858bb7811
refactor: remake journeys page with pricing-style slider, remove top paths table
2026-03-15 11:39:33 +01:00
Usman Baig
302e683b32
feat: increase journey depth slider max from 5 to 10
2026-03-15 11:27:18 +01:00
Usman Baig
20cda8d464
docs: add CDN refresh interval changelog entry
2026-03-14 23:38:46 +01:00
Usman Baig
bc2534a22b
fix: reduce false positives in rage click and dead click detection
...
- Skip rage clicks when text is selected (triple-click to select)
- Exclude tabindex="-1" elements from dead click interactive selector
- Observe document.body for DOM changes (modals, drawers, overlays)
- Listen for popstate/hashchange to detect SPA navigations
2026-03-14 23:32:31 +01:00
Usman Baig
b305b5345b
refactor: remove performance insights (Web Vitals) feature entirely
...
Remove Performance tab, PerformanceStats component, settings toggle,
Web Vitals observers from tracking script, and all related API types
and SWR hooks. Duration tracking is preserved.
2026-03-14 22:47:33 +01:00
Usman Baig
7247281ce2
feat: move performance to dedicated tab, fix 0/99999 metrics bug
...
Performance metrics moved from dashboard into a new Performance tab.
Fixed null handling so "No data" shows instead of misleading zeros.
Script no longer sends INP=0 when no interaction occurred.
2026-03-14 22:01:44 +01:00
Usman Baig
f278aada7a
fix: use flag icons, show per-datacenter dots on map, format tooltip as bytes
2026-03-14 21:35:26 +01:00
Usman Baig
1e61926bc6
fix: parse bunnycdn datacenter codes to ISO country codes for map dots and flags
2026-03-14 21:26:51 +01:00
Usman Baig
77b280341b
fix: use official bunnycdn logo, redesign traffic distribution with map and country grid
2026-03-14 21:21:53 +01:00
Usman Baig
d9c01b9b06
feat: add traffic distribution dotted map to CDN tab
2026-03-14 21:12:07 +01:00
Usman Baig
2512be0d57
fix: bunnycdn logo and api key security
2026-03-14 21:08:42 +01:00
Usman Baig
fb85c431f0
feat: add BunnyCDN integration
2026-03-14 20:46:26 +01:00
Usman Baig
a8fe171c8c
fix: use ShieldCheck icon for Data & Privacy settings tab
2026-03-14 18:30:41 +01:00
Usman Baig
4ceb33b946
feat: add header icons to all dashboard panels
...
Consistent icon treatment across Pages, Referrers, Locations,
Technology, Campaigns, Peak Hours, Goals, and Search panels.
2026-03-14 18:27:12 +01:00
Usman Baig
4d869d8cb1
fix: place Search and Goals side by side in two-column grid
2026-03-14 18:13:07 +01:00