294 Commits

Author SHA1 Message Date
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
fd1386b80d fix: replace index-based React keys with stable data keys (F-9)
Use page paths, referrer URLs, item names, and composite location
keys instead of array indices. Prevents stale-row glitches when
lists are filtered or reordered.
2026-03-01 21:15:09 +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
837c677b51 fix: update dark mode support for uptime chart tooltips to align with user theme preferences 2026-02-22 20:53:21 +01:00
Usman Baig
06f54176f1 refactor: enhance type safety by replacing any types with stricter types across the codebase, improving error handling and reducing potential bugs 2026-02-22 20:29:16 +01:00
Usman Baig
acac536590 feat: enforce tighter character limits for site, funnel, and monitor names to improve UI consistency and usability 2026-02-22 20:07:00 +01:00
Usman Baig
da0366603e feat: improve form usability with auto-focus, character limits, and unsaved changes warnings for better user experience 2026-02-22 20:02:50 +01:00
Usman Baig
e0bae5a728 feat: add graceful error recovery with user-friendly error screens and retry options for improved user experience 2026-02-22 19:49:27 +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
4dead4b399 style: standardize gap sizes across multiple components for improved visual consistency 2026-02-21 23:48:03 +01:00
Usman Baig
d08c8f00a0 style: add transition effects to shadow properties across multiple components for improved visual feedback 2026-02-21 23:42:12 +01:00
Usman Baig
0b68db58be style: standardize min-width values across multiple components for improved layout consistency 2026-02-21 23:39:29 +01:00
Usman Baig
8f8761ed3d style: standardize padding across multiple components for improved layout consistency 2026-02-21 23:29:50 +01:00
Usman Baig
65ba7ccba2 style: enhance dark mode support by updating text colors across multiple components for improved readability 2026-02-21 23:13:52 +01:00
Usman Baig
f1e6d5a48e style: refactor chart color variables across multiple components to use CSS variables for improved theming consistency 2026-02-21 23:09:34 +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
23ba5f77a9 refactor: replace button elements with a unified Button component in SiteSettingsPage and VerificationModal for consistency and improved styling 2026-02-21 22:41:43 +01:00
Usman Baig
d1d82f5b3c feat: refine data retention adjustment logic in SiteSettingsPage to snap to nearest valid option upon subscription load 2026-02-21 19:58:48 +01:00
Usman Baig
98eef9c366 feat: adjust default data retention to 6 months in SiteSettingsPage and add error handling for subscription loading failures 2026-02-21 19:50:27 +01:00
Usman Baig
5c0babe273 feat: implement data retention clamping in SiteSettingsPage to ensure user settings align with subscription plan limits 2026-02-21 19:45:35 +01:00
Usman Baig
1ae20dba4c feat: add data retention settings to SiteSettingsPage, including subscription-based options and UI updates for user interaction 2026-02-21 18:21:43 +01:00
Usman Baig
826dbdbe63 feat: implement site limits based on subscription plans across dashboard and new site creation; enhance UI feedback for plan limits 2026-02-20 02:46:23 +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
ada99c2ba9 chore: update @ciphera-net/ui dependency to version 0.0.56 in package.json and package-lock.json; adjust color variables in ResponseTimeChart and DESIGN_SYSTEM.md for consistency 2026-02-17 20:36:58 +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
bd2aca7a76 feat: integrate ScriptSetupBlock component for improved site setup instructions and tracking script functionality across pages 2026-02-08 15:18:33 +01:00
Usman Baig
39e90f4f09 feat: implement site creation confirmation with integration options and script copying functionality 2026-02-08 15:09:17 +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
8424863a18 refactor: simplify protocol handling in MonitorForm by deriving protocol directly from formData.url 2026-02-07 23:09:37 +01:00
Usman Baig
0887e24546 fix: handle non-array uptime data for monitors and improve mouse leave behavior in UptimeStatusBar 2026-02-07 23:06:12 +01:00
Usman Baig
027d2f50b6 fix: improve uptime data refresh error handling and confirm dialog for monitor deletion 2026-02-07 23:01:38 +01:00
Usman Baig
6040b5b27f feat: implement uptime status visualization with tooltip and response time chart components 2026-02-07 22:46:07 +01:00
Usman Baig
a26092d227 refactor: replace 'size' prop with 'className' for button styling consistency in MonitorCard 2026-02-07 12:23:45 +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
c9a9479598 TIER 3 - POLISH 2026-02-06 12:44:13 +01:00
Usman Baig
9a5a2c5f3c TIER 2 - Design Consistency 2026-02-06 12:35:56 +01:00
Usman Baig
bfe0559a8c TIER 1 - BLOCKING (Accessibility & Usability Failures) 2026-02-06 12:29:12 +01:00
Usman Baig
b47f3a2986 Phase 5: Animations & Final Polish 2026-02-05 17:54:04 +01:00