Commit Graph

65 Commits

Author SHA1 Message Date
Usman Baig
2c82c1a52a fix: load full filter suggestions (up to 100) and fix Direct referrer duplicate
Filter dropdowns previously only showed ~10 values from cached dashboard
data. Now lazy-loads up to 100 values per dimension when the dropdown
opens. Also removes duplicate "Direct" entry from referrer suggestions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 23:27:54 +01:00
Usman Baig
7be30b57b5 refactor: condense filter chips into single button with dropdown
Replaces the 7-chip row with a single "+ Filter" button that opens a
compact popover: dimension list → operator + search + values. Much
cleaner default state, same functionality.
2026-03-06 23:02:35 +01:00
Usman Baig
386b4a8c44 feat: replace filter modal with chip-based dimension filter bar
Dimension chips (Page, Referrer, Country, Browser, OS, Device + More)
with popover dropdowns showing real values from current dashboard data
with counts. Operators inline, search/type custom values, click to apply.
2026-03-06 22:53:00 +01:00
Usman Baig
0809c37067 fix: prevent duplicate filters, support Direct referrer, pass filters to Campaigns
- Deduplicate filters so clicking the same item twice doesn't stack identical pills
- Normalize "Direct" referrer to empty string so direct traffic filtering works
- Pass active filters through to Campaigns component so it respects dashboard filters
2026-03-06 22:40:57 +01:00
Usman Baig
0865774686 feat: replace filter dropdown with modal, add click-to-filter on all panels
- Filter button is now a solid pill that opens a centered modal with
  dimension grid and operator/value selection
- Clicking any row in TopReferrers, TechSpecs, Locations, or ContentStats
  adds an "is" filter for that dimension and value
- ContentStats preserves the external link icon separately via stopPropagation
2026-03-06 21:15:27 +01:00
Usman Baig
5677f30f3b feat: add dashboard dimension filtering and custom event properties
Dashboard filtering: FilterBar pills, AddFilterDropdown with dimension/
operator/value steps, URL-serialized filters, all SWR hooks filter-aware.

Custom event properties: pulse.track() accepts props object, EventProperties
panel with auto-discovered key tabs and value bar charts, clickable goal rows.

Updated changelog with both features under v0.13.0-alpha.
2026-03-06 21:02:14 +01:00
Usman Baig
8b1d196812 feat: add automatic 404 detection, scroll depth tracking, and scroll depth dashboard card
- 404 detection: checks document.title for "404" or "not found", fires custom event, SPA-aware
- Scroll depth: passive scroll listener fires events at 25/50/75/100% thresholds
- ScrollDepth dashboard card: progress bar visualization showing % of visitors reaching each threshold
- Scroll events filtered out of GoalStats to avoid duplication
- Both features on by default, opt-out via data-no-404 / data-no-scroll
2026-03-06 20:00:22 +01:00
Usman Baig
8a7076ee1b refactor: migrate dashboard to SWR hooks, eliminate all any[] state
Replace 22 manual useState + useEffect + setInterval polling with 11
focused SWR hooks. Removes ~85 lines of polling/visibility logic that
SWR handles natively. All any[] types replaced with proper interfaces
(TopPage, CountryStat, BrowserStat, etc.). Organization state in layout
typed as OrganizationMember[].

Resolves F-7, F-8, F-15 from audit report.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 18:42:14 +01:00
Usman Baig
3efd23b386 chore: update CHANGELOG.md to include enhancements for dashboard performance, including smarter updates, real-time visitor tracking, and faster event processing 2026-02-27 09:10:08 +01:00
Usman Baig
2d0307d328 fix: enhance error logging by replacing console.error with a centralized logger across the application to improve security and maintainability 2026-02-22 20:57:21 +01:00
Usman Baig
5c148a0547 feat: enhance page titles and link previews for improved user experience and sharing capabilities 2026-02-22 19:40:00 +01:00
Usman Baig
156d9986df fix: improve error messaging for various components to provide clearer feedback on failures 2026-02-22 19:17:20 +01:00
Usman Baig
d571b6156f refactor: integrate useMinimumLoading hook for enhanced loading state management across multiple pages 2026-02-22 18:38:35 +01:00
Usman Baig
c100277955 refactor: replace loading overlays with skeleton components for improved user experience across various pages 2026-02-22 18:01:45 +01:00
Usman Baig
72c06816fe style: update layout of multiple pages to use consistent max-width and padding for improved responsiveness 2026-02-21 22:53:26 +01:00
Usman Baig
ae91147b6c chore: update @ciphera-net/ui dependency to version 0.0.57 in package.json and package-lock.json; refactor imports across multiple components for consistency 2026-02-17 20:49:55 +01:00
Usman Baig
081a67eeaa fix: reorganize data loading and auto-refresh logic in SiteDashboardPage for improved clarity and maintainability 2026-02-12 08:59:45 +01:00
Usman Baig
213e337940 refactor: optimize data loading and auto-refresh logic in dashboard components, and enhance performance with useCallback for better efficiency 2026-02-12 08:50:10 +01:00
Usman Baig
fc56cbd661 refactor: update tick interval for real-time display in dashboard components and enhance live indicator in Chart component 2026-02-12 08:30:58 +01:00
Usman Baig
9b95ead6ba feat: implement last updated timestamp display in dashboard components for improved data freshness indication 2026-02-12 08:24:55 +01:00
Usman Baig
4aefca7118 feat: add "Updated X ago" display for realtime indicators and implement auto-refresh tick functionality 2026-02-11 20:49:09 +01:00
Usman Baig
a390fb2129 feat: enhance Campaigns component with sortable columns, export functionality, and improved loading state 2026-02-11 19:46:12 +01:00
Usman Baig
6d5c2d401a refactor: update layout and styling of site dashboard buttons and date range selector for improved usability 2026-02-08 13:40:11 +01:00
Usman Baig
f382bab647 feat: add 'Uptime' button to site dashboard for quick access to uptime metrics 2026-02-07 12:20:06 +01:00
Usman Baig
9a5a2c5f3c TIER 2 - Design Consistency 2026-02-06 12:35:56 +01:00
Usman Baig
b47f3a2986 Phase 5: Animations & Final Polish 2026-02-05 17:54:04 +01:00
Usman Baig
db4d7f6cde Phase 4: Additional fixes 2026-02-05 17:43:17 +01:00
Usman Baig
9ec441c932 Phase 1: Fix remaining button inconsistencies across all pages 2026-02-05 16:33:36 +01:00
Usman Baig
3f99bc81cc feat: add button to navigate to Funnels page in SiteDashboardPage for improved user navigation 2026-02-04 21:49:23 +01:00
Usman Baig
d5ea1a793b feat: add Campaigns component and API integration for campaign statistics in SiteDashboardPage 2026-02-04 19:11:03 +01:00
Usman Baig
5c3f6f8516 refactor: simplify GoalStats component by removing unused props and updating SiteDashboardPage accordingly 2026-02-04 15:49:07 +01:00
Usman Baig
90a743c170 feat: implement custom events tracking and goals management in the dashboard 2026-02-04 14:33:06 +01:00
Usman Baig
eaf02c853f fix: improve error handling across various components; utilize getAuthErrorMessage for consistent user-facing error messages 2026-02-03 19:31:26 +01:00
Usman Baig
7a8264cc41 feat: implement localStorage settings management for dashboard, including loading and saving date ranges and intervals 2026-01-30 14:42:10 +01:00
Usman Baig
62904298b9 feat: integrate interval selection for dashboard charts based on date range 2026-01-30 14:28:26 +01:00
Usman Baig
90a18c2ba2 feat: add export button to private dashboard 2026-01-30 14:21:30 +01:00
Usman Baig
415f1675a9 feat: enhance dashboard components with siteId and dateRange props for improved data fetching and display 2026-01-30 13:33:04 +01:00
Usman Baig
1114b0d27a refactor: use custom toast from @ciphera-net/ui 2026-01-27 21:52:11 +01:00
Usman Baig
33779ebf77 chore: upgrade @ciphera-net/ui to v0.0.14 and refactor component imports 2026-01-24 11:42:19 +01:00
Usman Baig
aaf224a278 refactor: migrate UI components to @ciphera-net/ui v0.0.11 2026-01-23 18:35:17 +01:00
Usman Baig
1be2c95046 fix(branding): update logo references from 'ciphera_icon_no_margins.png' to 'pulse_icon_no_margins.png' across the application for consistent branding 2026-01-23 11:38:05 +01:00
Usman Baig
3996c2550e feat(auth): implement role-based access control in SiteDashboard and SiteSettings, enhancing user experience with edit permissions 2026-01-22 20:28:44 +01:00
Usman Baig
3629f11661 feat: add multi-day interval selection for dashboard data display in PublicDashboardPage and SiteDashboardPage 2026-01-19 18:37:59 +01:00
Usman Baig
035d78175f refactor: update branding from Ciphera Pulse to Pulse across the application for consistency and clarity 2026-01-19 16:58:09 +01:00
Usman Baig
9dbe74fd9f refactor: update references from Ciphera Analytics to Ciphera Pulse across the application for consistent branding and messaging 2026-01-19 16:49:42 +01:00
Usman Baig
088e22512a feat: add performance insights feature with toggle in settings and conditional rendering in dashboard pages 2026-01-19 14:40:42 +01:00
Usman Baig
c8695ff964 fix: Enhance dashboard components with site settings for data collection options 2026-01-19 12:10:44 +01:00
Usman Baig
c69b263cdc feat: Add 1 min and 1 hour interval selection for Today view in analytics dashboard 2026-01-19 11:00:55 +01:00
Usman Baig
dcfead33d6 fix: show performance stats card even when empty 2026-01-18 17:59:17 +01:00
Usman Baig
ba1e5c1885 feat: add web vitals tracking script and performance dashboard UI 2026-01-18 17:52:53 +01:00