Commit Graph

127 Commits

Author SHA1 Message Date
Usman Baig
b046978256 style: unify filter bar design — kill FILTERS label, solid orange pills
- Remove redundant "FILTERS" uppercase label
- Change pills from washed-out orange/10 border to solid brand-orange
  with white text for strong contrast in both light and dark mode
- Pills now use rounded-lg to match the Filter button shape
- FilterBar renders fragments (no wrapper div) so everything flows
  naturally in the parent flex row
2026-03-06 23:11:36 +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
34053004c0 style: use brand orange for hover percentage indicators 2026-03-06 22:43:05 +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
ec96fa8a0d feat: add hover percentage indicator on dashboard panel rows
Shows percentage of total pageviews on hover with a slide-in animation from right to left across all panels (Content, Locations, Technology, Top Referrers).
2026-03-06 22:25:15 +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
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
c9123832a5 fix: fix broken images from CSP, remove dead code, upgrade React types
- Add ciphera.net and *.gstatic.com to CSP img-src (fixes app switcher
  icons and site favicons blocked by Content Security Policy)
- Delete 6 unused component/utility files and orphaned test
- Upgrade @types/react and @types/react-dom to v19 (matches React 19 runtime)
- Fix logger test to use vi.stubEnv for React 19 type compatibility
2026-03-01 15:33:37 +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
8007900940 feat: enhance accessibility across the application by improving keyboard navigation and screen reader support for various components 2026-02-22 20:39:18 +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
94fb7c60e0 feat: optimize favicon loading across the application using Next.js image component for better performance and caching 2026-02-22 19:21:28 +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
2aedc656d7 feat: implement site statistics fetching and display in SiteList component 2026-02-22 00:20:54 +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
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
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
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
d25910ffc3 fix: update layout and styling in Chart component for improved readability and alignment 2026-02-11 21:27:23 +01:00
Usman Baig
9a2b3da8fd fix: refine layout and styling in Chart component for better visual alignment and consistency 2026-02-11 21:19:34 +01:00
Usman Baig
928d1571bd fix: adjust layout and styling in Chart component for improved visual consistency 2026-02-11 20:52:06 +01:00
Usman Baig
37257c40ad feat: add compact duration formatting for Y-axis ticks and improve trend display in Chart component 2026-02-11 20:16:07 +01:00
Usman Baig
c623ae1e9b chore: update CHANGELOG.md and bump version to 0.5.0-alpha, highlighting analytics chart improvements and new export functionality 2026-02-11 20:04:33 +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
16d8765f46 feat: enhance Top Referrers display by merging referrer rows and adding friendly names 2026-02-11 16:57:01 +01:00
Usman Baig
ddbb2494b1 feat: add getReferrerDisplayName utility to enhance referrer display in ExportModal and TopReferrers components 2026-02-11 16:43:35 +01:00
Usman Baig
51648c82c7 chore: update CHANGELOG.md for 0.3.0-alpha release and implement favicon support in Top Referrers component 2026-02-11 16:34:44 +01:00
Usman Baig
c9a9479598 TIER 3 - POLISH 2026-02-06 12:44:13 +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
Usman Baig
db4d7f6cde Phase 4: Additional fixes 2026-02-05 17:43:17 +01:00
Usman Baig
7e8dde88c9 Phase 4: Badge & Empty State Improvements 2026-02-05 17:35:32 +01:00
Usman Baig
a1447e98d9 Phase 2: Border Radius & Card Standardization 2026-02-05 17:21:51 +01:00
Usman Baig
159f514b71 feat: enhance UI components by updating button styles and improving layout in ToolsPage and Campaigns; refactor UtmBuilder for better input handling and user experience 2026-02-04 20:40:16 +01:00
Usman Baig
f2927098ac feat: update version to 0.1.1, upgrade @ciphera-net/ui to 0.0.43, and enhance Campaigns component with URL builder modal 2026-02-04 20:18:58 +01:00
Usman Baig
ecea9cd094 feat: update getCampaigns API to include limit parameter and adjust Campaigns component to utilize it for fetching data 2026-02-04 19:41:48 +01:00
Usman Baig
143561c4ab feat: enhance Campaigns component with loading state, user guidance, and documentation link for tracking marketing campaigns 2026-02-04 19:30:51 +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
c780d3a119 feat: add display name support in GoalStats and provide user guidance in SiteSettingsPage 2026-02-04 15:37:18 +01:00
Usman Baig
06dd4d3bd9 refactor: streamline GoalStats layout and improve user guidance for goal tracking 2026-02-04 15:04:13 +01:00
Usman Baig
11802cb558 feat: enhance GoalStats component with user guidance for tracking goals and add documentation link 2026-02-04 14:53:11 +01:00