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
5cff767e32
fix: org switch now updates auth context immediately — no stale org in header
2026-03-26 23:59:30 +01:00
Usman Baig
fba1f84ce5
fix: replace window.location.reload with router.refresh on org switch to prevent hydration errors
2026-03-26 23:25:49 +01:00
Usman Baig
742c24fa6b
fix: prevent auth flash on checkout, skip subscription guard on success return
2026-03-26 22:21:59 +01:00
Usman Baig
0f41eb4df4
fix: allow mollie.js in CSP, hide app header on checkout page
2026-03-26 21:38:47 +01:00
Usman Baig
6b33483c81
fix: remove SettingsModalProvider import and wrapper from layout
2026-03-26 10:53:48 +01:00
Usman Baig
0cb13e08fd
refactor(settings): wire all settings entry points to unified modal
2026-03-25 18:10:42 +01:00
Usman Baig
3c17895d64
feat(settings): unified settings modal with context switcher (Phase 1)
...
New unified settings modal accessible via `,` keyboard shortcut.
Three-context switcher: Site (with site dropdown), Workspace, Account.
Horizontal tabs per context with animated transitions.
Phase 1 tabs implemented:
- Site → General (name, timezone, domain, tracking script with copy)
- Site → Goals (CRUD with inline create/edit)
- Workspace → General (org name, slug, danger zone)
- Workspace → Billing (plan card, usage, cancel/resume, portal)
- Account → Profile (wraps existing ProfileSettings)
Phase 2 tabs show "Coming soon" placeholder:
- Site: Visibility, Privacy, Bot & Spam, Reports, Integrations
- Workspace: Members, Notifications, Audit Log
- Account: Security, Devices
Old settings pages and profile modal remain functional.
2026-03-23 20:57:20 +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
6fcb6df295
fix: widen collapsed sidebar to 64px, prevent header flash on refresh
...
Collapsed width 56px→64px to stop clipping site picker badge and icons.
Return null while auth is loading on site pages to prevent brief flash
of the public floating header before the sidebar layout renders.
2026-03-18 16:51:01 +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
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
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
Usman Baig
48cf9a1f62
feat: replace settings page with SettingsModal
...
- Add SettingsModalProvider context and SettingsModalWrapper
- Wire Header onOpenSettings callback via LayoutInner pattern
- Remove old /settings page and SettingsPageClient
- Bump @ciphera-net/ui to ^0.0.88
2026-03-05 22:16:36 +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
f933c2fb71
chore: update @ciphera-net/ui dependency to version 0.0.68 and update icon URLs in layout-content.tsx for improved asset management
2026-02-27 13:02:30 +01:00
Usman Baig
908b8c0900
chore: update CHANGELOG.md to include the addition of an App Switcher in the User Menu for easier navigation between Ciphera products, along with dependency updates for @ciphera-net/ui
2026-02-27 12:50:05 +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
c73c300620
feat: improve organization switching experience with a branded loading overlay and session management for smoother transitions
2026-02-22 20:48:09 +01:00
Usman Baig
4add41293b
fix: ensure safe handling of organizations and notifications data in LayoutContent and NotificationCenter components
2026-02-13 10:01:32 +01:00
Usman Baig
18a54401ef
chore: update CHANGELOG for version 0.6.0-alpha, add in-app notification center, and update package dependencies
2026-02-13 09:36:18 +01:00
Usman
48a27acebc
Merge branch 'main' into staging
2026-02-09 09:58:56 +01:00
Usman Baig
d35ef6e55a
refactor: update terminology in layout content and welcome page to replace 'workspace' with 'organization' for consistency
2026-02-09 09:54:20 +01:00
Usman Baig
03fcfba180
chore: update @ciphera-net/ui dependency to version 0.0.49 and refactor terminology in layout content for consistency
2026-02-09 09:51:19 +01:00
Usman Baig
ff456ef4d6
refactor: remove Tools page and associated link from layout, streamlining navigation
2026-02-08 21:27:42 +01:00
Usman Baig
34c854ed7c
chore: rename workspaces to organizations, bump ciphera-ui to 0.0.49
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-08 21:07:33 +01:00
Usman Baig
f734252fb1
feat: update navigation links to include 'Features' for unauthenticated users and maintain 'Tools' for authenticated users
2026-02-07 01:33:31 +01:00
Usman Baig
e9476219b1
Phase 2: Enhance footer with conditional comprehensive layout
2026-02-05 16:41:31 +01:00
Usman Baig
210ea7b754
feat: update version to 0.1.2 and upgrade @ciphera-net/ui to 0.0.44; refactor layout-content for improved navigation handling
2026-02-04 20:34:30 +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
0d16f3ba55
refactor: derive main padding from bar/header height constants
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-04 12:41:13 +01:00
Usman Baig
4d477110c8
refactor: enhance OfflineBanner to accept online status as a prop and update layout-content to pass isOnline state
2026-02-04 12:34:24 +01:00
Usman Baig
19f75b2f45
chore: update @ciphera-net/ui dependency to version 0.0.42 in package.json and package-lock.json; enhance OfflineBanner styling and layout in layout-content.tsx
2026-02-04 11:41:38 +01:00
Usman Baig
223c00a382
fix: conditionally render OfflineBanner and adjust main padding based on user authentication and online status
2026-02-04 11:32:14 +01:00
Usman Baig
cbd3c38f38
chore: update @ciphera-net/ui dependency to version 0.0.40 in package.json and package-lock.json; add useOnlineStatus hook to LayoutContent for dynamic padding adjustment
2026-02-04 11:17:18 +01:00
Usman Baig
a5f1d51f51
style: wrap OfflineBanner in a div with padding for improved layout spacing in LayoutContent
2026-02-04 11:07:56 +01:00
Usman Baig
2a0380189d
feat: add OfflineBanner component to LayoutContent for offline notifications and update styles in OfflineBanner
2026-02-04 11:00:21 +01:00
Usman Baig
e17c95b940
chore: update @ciphera-net/ui dependency to version 0.0.38; modify LayoutContent to include showSecurity prop
2026-01-31 22:52:20 +01:00
Usman Baig
c0adc7fd63
chore: update @ciphera-net/ui dependency to version 0.0.37 in package.json and package-lock.json; add showPricing prop to LayoutContent and Footer components
2026-01-30 20:27:50 +01:00
Usman Baig
6ffd5afc65
chore: update @ciphera-net/ui dependency to version 0.0.36 in package.json and package-lock.json; add showFaq and showSecurity props to LayoutContent component
2026-01-30 20:15:43 +01:00
Usman Baig
0263d85e50
chore: update @ciphera-net/ui dependency to version 0.0.34 in package.json and package-lock.json; refactor Footer component to simplify layout and remove WebsiteFooter
2026-01-30 19:47:48 +01:00
Usman Baig
6d69070f73
feat: conditionally render footer based on user authentication, displaying WebsiteFooter for unauthenticated users
2026-01-30 16:11:31 +01:00
Usman Baig
b3cafe77d9
fix: update footer year range from dynamic to fixed 2024-2026 for consistency
2026-01-30 15:40:32 +01:00
Usman Baig
bb1cfe44fe
fix: update footer year dynamically and refactor dashboard preview layout for improved responsiveness
2026-01-30 15:36:22 +01:00
Usman Baig
e6b66e7f97
fix: update handleSwitchWorkspace signature to accept null
2026-01-23 18:52:36 +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
794523fa81
refactor(layout): consolidate Footer component import into Header/Footer from '@ciphera-net/ui' and remove redundant Footer file
2026-01-23 17:33:38 +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