Commit Graph

33 Commits

Author SHA1 Message Date
Usman Baig
9feffa5cc6 feat: add breadcrumb navigation to GlassTopBar
Site pages show: Your Sites > site-name > Page Title
Each segment is clickable for navigation back.
Home/non-site pages show plain title as before.
2026-03-28 20:04:51 +01:00
Usman Baig
c36c1b0696 feat: wrap all authenticated pages in DashboardShell, fix site card actions
- Move DashboardShell wrapping to layout-content.tsx for all dashboard
  pages (home, integrations, pricing) instead of per-page
- GlassTopBar derives page title from pathname (Integrations, Pricing)
- Site card: gear icon now opens site settings, separate trash icon for delete
2026-03-28 19:35:23 +01:00
Usman Baig
a6054469ee feat: wrap home page in DashboardShell, remove stat cards
Home page now uses the same sidebar layout as dashboard pages.
Sidebar shows simplified home mode (logo, app switcher, profile)
without site-specific nav groups. Stat cards removed — plan info
lives in settings, site count is self-evident from the list.
2026-03-28 19:12:45 +01:00
Usman Baig
b78f5d4b96 fix: add parens around nullish coalescing mixed with logical OR 2026-03-25 17:07:55 +01:00
Usman Baig
1aeb9cf275 feat: page title in top bar next to collapse toggle 2026-03-25 17:06:21 +01:00
Usman Baig
e39c10d50f fix: reduce top bar padding — pt-1.5 instead of pt-3 2026-03-25 16:44:42 +01:00
Usman Baig
953d828cd9 fix: align collapse toggle with sidebar AppLauncher row (Dokploy-style) 2026-03-25 16:39:53 +01:00
Usman Baig
9aacd63d1d fix: collapse toggle back in glass top bar, removed from sidebar 2026-03-24 23:53:44 +01:00
Usman Baig
132afa749c fix: collapse toggle as first sidebar item, realtime stays in glass bar
Collapse icon at top of sidebar (aligned with all icons). Glass top
bar now only shows realtime indicator on the right.
2026-03-24 23:44:49 +01:00
Usman Baig
4e5dd6e3f3 fix: collapse icon uses negative margin to align with sidebar icons 2026-03-24 23:40:16 +01:00
Usman Baig
4702bb91b9 fix: top bar spans full width — collapse icon aligns above sidebar 2026-03-24 23:38:13 +01:00
Usman Baig
5eabc52133 fix: sidebar collapse icon bigger (18px) and brighter (neutral-400) 2026-03-24 23:29:37 +01:00
Usman Baig
bb55782dba fix: restore scrolling — overflow-clip was blocking overflow-y-auto 2026-03-24 23:06:44 +01:00
Usman Baig
0f462314e2 fix: move collapse toggle + realtime to glass area above content panel
GlassTopBar in the margin strip — SidebarSimple icon (phosphor) on
left, "Live · Xs ago" on right. ContentHeader reverted to mobile-only.
2026-03-24 23:02:52 +01:00
Usman Baig
102551b1ce feat: content header with collapse toggle + realtime indicator
- New SidebarProvider context for shared collapse state
- ContentHeader visible on desktop: collapse icon left, "Live" right
- Collapse button removed from sidebar bottom (moved to header)
- Keyboard shortcut [ handled by context, not sidebar
- Realtime indicator polls every 5s, ticks every 1s for freshness
2026-03-24 22:57:41 +01:00
Usman Baig
f3d72c9841 fix: move glassmorphism to shell level, sidebar becomes transparent
Shell now has the glass treatment so sidebar and surrounding area
are one seamless surface. No more visible line between sidebar
and content panel. Desktop sidebar is transparent over the shell.
Mobile sidebar keeps its own glass since it overlays independently.
2026-03-24 22:28:18 +01:00
Usman Baig
505454b7d6 fix: remove gradient behind sidebar 2026-03-24 22:22:44 +01:00
Usman Baig
14e0c9b4dc feat: subtle gradient behind sidebar for glass depth + fix scrollbar clip
- Shell bg changed to neutral-950 (darker, better contrast)
- Warm-to-cool gradient behind sidebar area (orange top, blue bottom)
- Gives the glassmorphic sidebar something to diffuse through
- overflow-clip + isolate on content panel for scrollbar corner clipping
2026-03-24 22:19:43 +01:00
Usman Baig
ca2f1ce19d fix(dashboard): content panel as rounded card, sidebar border removed
- Content panel: bg-neutral-950, rounded-2xl, border, margin on top/right/bottom
- Sidebar: removed border-r — content panel's left border acts as separator
- Outer shell: bg-neutral-900 matches sidebar, creating "floating panel" effect
2026-03-23 19:59:56 +01:00
Usman Baig
6521b694f4 fix: replace motion/react imports with framer-motion + rounded content panel
- 4 files imported from 'motion/react' which was the removed 'motion' package.
  Replaced with 'framer-motion' (the package actually installed).
- Dashboard content area now has rounded corners, subtle border, and inset
  margin creating a "panel inside shell" visual separation from the sidebar.
2026-03-23 19:54:44 +01:00
Usman Baig
9510e2da8c feat(sidebar): fix backdrop fade transition, add shimmer to SSR placeholder
Use opacity instead of bg-color swap for proper transition-opacity
animation on mobile backdrop. Add shimmer gradient to the sidebar
loading placeholder in DashboardShell.
2026-03-23 15:28:03 +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
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
6d649d8dc4 fix: reserve sidebar space with placeholder during SSR
With ssr:false, the sidebar rendered nothing in server HTML, so the
content area took full width and page content (site name "Ciphera")
appeared in the sidebar zone. Now the dynamic import has a loading
placeholder — a 64px div with matching border/background that reserves
the sidebar space in the server HTML. Content area never occupies the
sidebar zone. Sidebar replaces the placeholder on client mount.
2026-03-18 20:01:01 +01:00
Usman Baig
7ed04fb85c fix: load Sidebar with ssr:false — zero server-rendered content
The sidebar now uses next/dynamic with ssr:false, meaning it renders
NOTHING in the server HTML. No DOM content = no possible flash of
"Ci" or any text during SSR-to-hydration gap. The sidebar only mounts
on the client where localStorage is immediately available, so
collapsed state is correct from the very first render.
2026-03-18 19:42:14 +01:00
Usman Baig
9f8a6606bb fix: add pt-6 top padding to main content area 2026-03-18 17:12:53 +01:00
Usman Baig
2474d6558f feat: Linear-style sidebar with explicit toggle
Rewrite sidebar from scratch: 256px expanded, 56px collapsed via
click toggle + [ keyboard shortcut. Two-phase CSS transitions (labels
fade then width contracts). Contextual ContentHeader replaces
UtilityBar (no logo, just actions). Remove framer-motion sidebar
primitive, hover-to-expand, and sidebar-context.
2026-03-18 16:33:35 +01:00
Usman Baig
db5cd4cbcb feat: replace sidebar with 21st.dev hover-to-expand component
Use framer-motion animated sidebar from 21st.dev — collapses to icons,
expands on hover. Phosphor icons instead of lucide. Remove old manual
collapse/expand and sidebar-context. Top bar has Pulse logo + user
actions, sidebar below with site picker and nav groups.
2026-03-18 16:20:32 +01:00
Usman Baig
66a70f676f fix: full-width top bar with logo, sidebar below
Restructure layout: top bar spans full width (Pulse logo left, user
actions right) with continuous bottom border. Sidebar sits below with
no vertical border collision. Remove logo from sidebar. Remove all
transition-colors from nav items to prevent white flash on click.
2026-03-18 16:12:20 +01:00
Usman Baig
1d25368292 feat: Dokploy-style sidebar layout for site pages
Sidebar takes full viewport height with Pulse logo at top. No Header
on site pages — UtilityBar in content area provides theme toggle, app
launcher, notifications, and user menu. Non-site authenticated pages
keep static Header. No footer on dashboard pages.
2026-03-18 15:58:06 +01:00
Usman Baig
7ae5facd0c fix: proper dashboard layout — header + sidebar + content fill viewport
Use h-screen overflow-hidden on the root container for authenticated
views. Sidebar and content fill the remaining height below the header.
Remove footer from dashboard pages. Content scrolls inside its own
container, sidebar stays fixed in place.
2026-03-18 15:38:58 +01:00
Usman Baig
61ce505ee5 fix: pin sidebar to viewport with sticky positioning
Sidebar was scrolling with page content. Fix by adding sticky top-0
h-screen. Widen collapsed width to 68px to prevent icon clipping.
2026-03-18 15:34:48 +01:00
Usman Baig
80ae8311dc feat: static header + collapsible sidebar navigation
Replace floating pill header with static variant for authenticated
views. Add collapsible sidebar with site picker, grouped navigation
(Analytics/Infrastructure), and mobile overlay drawer. Remove
horizontal SiteNav tab bar.
2026-03-18 15:30:27 +01:00