Commit Graph

707 Commits

Author SHA1 Message Date
Usman Baig
198bd3b00f feat(sidebar): extract SidebarContent to proper React component
Convert the sidebarContent(isMobile) closure function to a proper
SidebarContent component with explicit props, enabling correct React
reconciliation for both desktop and mobile sidebar instances.
2026-03-23 15:15:28 +01:00
Usman Baig
55a08301f4 fix(build): extract FAVICON_SERVICE_URL to prevent server-side createContext error
The share/[id] layout is a server component that imported FAVICON_SERVICE_URL
from icons.tsx, pulling in the entire React icon registry and triggering
createContext on the server. Moved the constant to its own favicon.ts module.
2026-03-23 13:29:53 +01:00
Usman Baig
508bb006a8 fix(referrers): replace low-res Google favicon globe with proper icons
Detect Google's 16x16 default globe fallback via naturalWidth on load
and fall back to Phosphor icons. Add Chrome icon for googlechrome.github.io,
CursorClick for Direct, and abbreviation support (ig, fb, yt).
2026-03-23 12:23:10 +01:00
Usman Baig
8b95620ec1 polish(pagespeed): mini gauges, animated tab switcher, filmstrip title
- Replace compact dot+number scores with 64px ScoreGauge circles
- ScoreGauge scales font/stroke/spacing for small sizes
- Add "Page Load Timeline" header to filmstrip section
- Replace pill toggle with animated underline tabs (matches dashboard)
2026-03-22 20:43:11 +01:00
Usman Baig
6b00b8b04a redesign(pagespeed): full page redesign inspired by pagespeed.web.dev
- Hero card: large performance gauge + compact inline scores + screenshot
- Single metrics card with 2x3 grid and colored status dots
- Flat diagnostics list sorted by impact with severity indicators
- ScoreGauge accepts size prop for flexible gauge sizing
- Unicode severity markers (triangle/square/circle) per audit
2026-03-22 19:10:47 +01:00
Usman Baig
52906344cf feat(pagespeed): add PageSpeed page with gauges, CWV cards, chart, and diagnostics
- ScoreGauge SVG component with color-coded circular arcs
- Full page: disabled state, score overview, CWV metrics, trend chart
- Diagnostics accordion with opportunities/diagnostics/passed groups
- Mobile/desktop strategy toggle, manual check trigger
- Loading skeleton, frequency selector
2026-03-22 18:13:08 +01:00
Usman Baig
780dd464a1 feat(pagespeed): add API client, SWR hooks, and sidebar navigation
- PageSpeed API client with types for config, checks, and audits
- SWR hooks: usePageSpeedConfig, usePageSpeedLatest, usePageSpeedHistory
- GaugeIcon added to sidebar under Infrastructure group
2026-03-22 18:05:17 +01:00
Usman Baig
b7e92abb40 feat: persist script feature toggles to backend
Features (scroll, 404, outbound, downloads, frustration, storage, ttl)
are saved to site.script_features JSONB column on every toggle change.
Values are read from the site object on load.
2026-03-22 15:31:45 +01:00
Usman Baig
e626350f14 fix: use UTC hours for intra-day chart labels to match server timezone buckets
Backend returns timestamps already bucketed in site timezone but as
UTC values. Using getUTCHours/getUTCMinutes prevents the browser
from adding its local timezone offset.
2026-03-22 15:16:20 +01:00
Usman Baig
bd023e76f5 fix: use European date/time formats (en-GB) and guard against undefined dateObj 2026-03-22 15:04:11 +01:00
Usman Baig
c85f305f1e fix: show time labels on X-axis and tooltip for intra-day chart views
Added formatLabel prop to XAxis component. When viewing Today (hour
or minute interval), X-axis shows "2:00 PM" instead of "Mar 22".
Tooltip shows time for intra-day, date for multi-day.
2026-03-22 14:59:24 +01:00
Usman Baig
4043a678db fix: add proper empty state to Peak Hours with icon and description 2026-03-22 00:16:17 +01:00
Usman Baig
9d253523e2 fix: remove bar chart toggle, keep area chart only 2026-03-21 23:05:41 +01:00
Usman Baig
d4e4ca819c fix: add numeric Y-axis to bar chart view 2026-03-21 22:59:41 +01:00
Usman Baig
830da49c5f feat: add bar chart toggle to dashboard
Added visx bar chart component with rounded corners and grow animation.
Dashboard now has area/bar toggle buttons next to the export icon.
2026-03-21 22:55:19 +01:00
Usman Baig
9e128c4945 fix: remove pattern fill from dashboard chart, use gradient only 2026-03-21 22:49:43 +01:00
Usman Baig
1270aa99a9 feat: add diagonal pattern fill to dashboard area chart 2026-03-21 22:44:14 +01:00
Usman Baig
1c7667562c feat: replace Recharts dashboard chart with visx area chart
Integrated 21st.dev AreaChart component with animated crosshair,
spring-based tooltip, and date ticker. Uses brand orange for the
line/fill with dark-only CSS variables.
2026-03-21 22:39:51 +01:00
Usman Baig
24fa01dd25 fix: reduce funnel segment thickness (0.44 -> 0.3) 2026-03-21 22:30:50 +01:00
Usman Baig
4ef92b9e3a fix: use monotone interpolation for smooth dashboard chart curves 2026-03-21 22:12:30 +01:00
Usman Baig
93347f6454 fix: revert outer container size, increase inner padding to show more bg 2026-03-21 21:05:46 +01:00
Usman Baig
b3bb0685f9 fix: smooth chart curve data, translucent dashboard, smaller demo container 2026-03-21 21:02:35 +01:00
Usman Baig
9ce272d3e5 fix: smooth chart data and increase outer frame padding for more visible gradient 2026-03-21 20:57:10 +01:00
Usman Baig
0bd2f94dd7 fix: fix div nesting in DashboardDemo 2026-03-21 20:53:04 +01:00
Usman Baig
af62532615 fix: showcase bg as outer frame, solid dark background for dashboard content 2026-03-21 20:50:21 +01:00
Usman Baig
39cd1c596c fix: move showcase bg to outer container, increase overlay opacity for card contrast 2026-03-21 20:46:16 +01:00
Usman Baig
941782efe1 fix: remove browser chrome, make dashboard scrollable, add showcase gradient bg 2026-03-21 20:41:02 +01:00
Usman Baig
ca199b59fd feat: replace fake LiveDemo with real dashboard components and fake data 2026-03-21 20:36:55 +01:00
Usman Baig
536bb8c872 feat: add live demo dashboard to landing page hero 2026-03-21 20:26:23 +01:00
Usman Baig
911704cff2 feat: port website header with mega-menu, add showcase bg to hero, fix carousel container size 2026-03-21 20:12:01 +01:00
Usman Baig
4afaf32e58 feat: add showcase background image to feature section mockup containers 2026-03-21 20:02:22 +01:00
Usman Baig
74a48299ab fix: replace lucide-react with phosphor-icons in FAQ component 2026-03-21 19:56:30 +01:00
Usman Baig
a361649e60 feat: add tabbed FAQ, polish installation code blocks, refine integration styling 2026-03-21 19:52:32 +01:00
Usman Baig
e789fb525b feat: port interactive mockups from website and wire into feature sections 2026-03-21 19:49:19 +01:00
Usman Baig
0b7c4d528a feat: add feature sections, comparison cards, and CTA components for landing page 2026-03-21 19:46:20 +01:00
Usman Baig
3710f081a6 feat: dark-only cleanup for marketing pages and authenticated landing view 2026-03-21 19:39:01 +01:00
Usman Baig
7bf7e5cc3d feat: glass treatment + dark-only cleanup for dashboard components and navigation 2026-03-21 19:26:25 +01:00
Usman Baig
64b245caca feat: update card component to glass treatment 2026-03-21 19:13:00 +01:00
Usman Baig
8fdb8c4a2f fix: remove orange glow orb backgrounds from marketing pages 2026-03-21 18:17:27 +01:00
Usman Baig
4b46bba883 feat: redesign Search dashboard card to match Pulse design language
Add proportional impression bars, color-coded position badges,
animated Queries/Pages tabs, hover percentage reveals, and
searchable expand modal — bringing Search to parity with other
dashboard cards.
2026-03-19 17:23:57 +01:00
Usman Baig
09b4266a49 feat: add 5-level intensity heatmap to Peak Hours
Replace binary on/off coloring with 6 opacity levels (transparent,
0.15, 0.35, 0.60, 0.82, solid) based on percentage of max visitors.
Zero-traffic cells are now visually empty. Adds a GitHub-style
"Less → More" legend strip below the grid.
2026-03-19 15:12:07 +01:00
Usman Baig
7cbfbc54ca fix: tighten dashboard vertical spacing
Reduce spacing now that top header is removed:
- Main content top padding: pt-6 → pt-4
- Header section: mb-8 → mb-6
- Chart section: mb-8 → mb-6
- Grid sections: mb-8 → mb-6
- Site name margin: mb-2 → mb-1
- Header inner gap: mb-4 → mb-3
2026-03-19 12:10:30 +01:00
Usman Baig
dc7bffdf56 fix: remove globe tab from locations, default to countries
Remove the 3D globe visualization tab and set Countries as the
default tab when visiting the dashboard.
2026-03-19 12:01:23 +01:00
Usman Baig
6b1e6876c6 fix: preserve intentional OS name casing (macOS, iOS, webOS)
Skip capitalize() for names with mixed casing to prevent
macOS→MacOS, iOS→IOS, webOS→WebOS, ChromeOS→Chromeos etc.
2026-03-19 11:32:36 +01:00
Usman Baig
177c33830c fix: add tooltips to notifications and profile when sidebar collapsed 2026-03-19 01:02:16 +01:00
Usman Baig
dd76aed157 fix: use bottom positioning for notification dropdown
Instead of measuring panel height with unreliable RAF timing, use
CSS bottom positioning when the button is in the lower half of the
viewport. The dropdown grows upward, no measurement needed.
2026-03-19 00:54:50 +01:00
Usman Baig
a31f183b7b fix: recalculate notification dropdown position after content loads
The dropdown position was only clamped on initial render when the panel
was empty. After async notifications loaded and the panel grew taller,
the position was never recalculated. Add an effect that re-clamps when
notifications or loading state changes.
2026-03-19 00:48:46 +01:00
Usman Baig
89343caf65 fix: clamp notification dropdown to viewport, bump ui to 0.2.15
Apply viewport clamping to NotificationCenter dropdown positioning
and bump @ciphera-net/ui to 0.2.15 which clamps AppLauncher and
UserMenu dropdowns the same way.
2026-03-19 00:43:58 +01:00
Usman Baig
1755dcb9dc fix: portal sidebar dropdowns to escape backdrop-filter clipping
Bump @ciphera-net/ui to 0.2.14 which portals AppLauncher and UserMenu
dropdowns via createPortal when anchor="right". Apply the same fix to
NotificationCenter. This escapes the sidebar's backdrop-filter
containing block that was clipping all fixed-positioned dropdowns.
2026-03-19 00:35:51 +01:00
Usman Baig
3e67af5646 fix: sidebar dropdown clipping, settings placement, and theme removal
- Add relative z-10 to sidebar aside to fix dropdowns (AppSwitcher,
  Notifications, UserMenu) rendering behind content area due to
  backdrop-blur-xl creating a stacking context
- Move Site Settings from bottom utility section into Infrastructure
  nav group where it logically belongs
- Remove ThemeToggle from sidebar (available in user settings)
- Rename Settings to Site Settings for clarity
2026-03-19 00:23:08 +01:00