Commit Graph

79 Commits

Author SHA1 Message Date
Usman Baig
25210013d3 feat: centralise date/time formatting with European conventions
All dates now use day-first ordering (14 Mar 2025) and 24-hour time
(14:30) via a single formatDate.ts module, replacing scattered inline
toLocaleDateString/toLocaleTimeString calls across 12 files.
2026-03-14 13:31:30 +01:00
Usman Baig
f7bd61187a style: make verified state match button shape of unverified state 2026-03-13 16:46:51 +01:00
Usman Baig
344838e0cd style: use subtle inline text for verified status in settings 2026-03-13 16:44:00 +01:00
Usman Baig
e336d2c7e5 feat: show verification status in site settings page 2026-03-13 16:40:37 +01:00
Usman Baig
8c4bb8f861 style: add fade-in transition from skeleton to content
Smooth out the jarring visual pop when loading skeletons are replaced
by real content. Only animates after an actual skeleton was shown —
cached data still renders instantly with no delay.
2026-03-13 12:45:48 +01:00
Usman Baig
6380f216aa perf: migrate Settings, Funnels, and Uptime to SWR data fetching
Replace manual useState/useEffect fetch patterns with SWR hooks so
cached data renders instantly on tab revisit. Skeleton loading now
only appears on the initial cold load, not every navigation.

New hooks: useFunnels, useUptimeStatus, useGoals, useReportSchedules,
useSubscription — all with background revalidation.
2026-03-13 12:21:55 +01:00
Usman Baig
27a9836d5a feat: add time-of-day controls to scheduled reports UI
Add send hour, day of week/month selectors to report schedule modal.
Schedule cards now show descriptive delivery times like
"Every Monday at 9:00 AM (UTC)". Timezone picker moved into modal.
2026-03-12 15:17:46 +01:00
Usman Baig
31aff95552 feat: add Reports tab to site settings with schedule CRUD 2026-03-12 14:33:05 +01:00
Usman Baig
2776c803f1 fix: use focus-visible for all button/tab/link focus rings across app
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 00:08:09 +01:00
Usman Baig
330cc134aa feat: instant tab navigation by moving SiteNav to shared layout
SiteNav now lives in the [id] layout instead of each page, so it stays
mounted during route transitions. Switching between Dashboard, Uptime,
Funnels, and Settings no longer flashes a full-page skeleton.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 23:35:06 +01:00
Usman Baig
a05e2e94b8 feat: add hide unknown locations toggle in site settings
Adds toggle in Data & Privacy > Filtering section to exclude entries
where geographic data could not be resolved from location stats.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 02:26:15 +01:00
Usman Baig
cc268c320e feat: replace ghost buttons with underline tab bar for site navigation
Dashboard, Uptime, Funnels, and Settings now use a consistent
underline tab bar with orange active indicator, matching the
existing panel tab design language.
2026-03-07 19:10:23 +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
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
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
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
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
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
8eaa05a847 Phase 3: Fixed the rest of border radius & card standardization 2026-02-05 17:29:28 +01:00
Usman Baig
2ab98ca0a7 fix: update user guidance for event name formatting in SiteSettingsPage to clarify valid characters and restrictions 2026-02-04 16:00:30 +01:00
Usman Baig
14f3fe7fbb feat: add duplicate event name validation in SiteSettingsPage and update user guidance for event name changes 2026-02-04 15:56:25 +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
97df5ee99b feat: add validation for event name length in SiteSettingsPage to ensure it does not exceed 64 characters 2026-02-04 15:32:00 +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
1114b0d27a refactor: use custom toast from @ciphera-net/ui 2026-01-27 21:52:11 +01:00
Usman Baig
0394fc337c chore: replace CopyIcon and ExternalLinkIcon with SVG implementations in SiteSettingsPage and VerificationModal components 2026-01-24 12:56:27 +01:00
Usman Baig
240a9bde8f chore: replace FileTextIcon with SettingsIcon in SiteSettingsPage component 2026-01-24 12:54:44 +01:00
Usman Baig
0e280e4118 chore: replace LightningIcon with ZapIcon across multiple components 2026-01-24 12:53:10 +01:00
Usman Baig
5857a2ea15 chore: upgrade @ciphera-net/ui to v0.0.18 and refactor icon imports across components 2026-01-24 12:50:43 +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
390ca429d9 fix: update PasswordInput onChange handlers to accept event 2026-01-23 18:47:14 +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
e75d70269f refactor(replay): remove session replay functionality and related components to streamline codebase 2026-01-23 18:21:50 +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