Commit Graph

49 Commits

Author SHA1 Message Date
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
Usman Baig
9767d928ce feat(settings): implement organization settings page 2026-01-22 01:52:51 +01:00
Usman Baig
cbb2255024 fix: handle access_token only response from switchContext 2026-01-22 01:36:56 +01:00
Usman Baig
db4350097a feat: integrate workspace switcher in Pulse layout 2026-01-22 00:51:19 +01:00
Cursor Agent
6eff7ef09a Replace external Footer with local component to fix 'Why Drop' text
Co-authored-by: usman <usman@ciphera.net>
2026-01-21 12:16:49 +00:00
Usman Baig
035d78175f refactor: update branding from Ciphera Pulse to Pulse across the application for consistency and clarity 2026-01-19 16:58:09 +01:00
Usman Baig
15ac469e39 refactor: simplify appName in LayoutContent component to enhance branding consistency 2026-01-19 16:56:28 +01:00
Usman Baig
9dbe74fd9f refactor: update references from Ciphera Analytics to Ciphera Pulse across the application for consistent branding and messaging 2026-01-19 16:49:42 +01:00
Usman Baig
4c0e9920c2 chore: downgrade @ciphera-net/ui dependency to version 0.0.6 and update layout content for type compatibility 2026-01-19 00:48:10 +01:00
Usman Baig
82beccb24f style: update app name display in layout and loading overlay to enhance branding consistency 2026-01-19 00:42:07 +01:00
Usman Baig
a3fa97efa1 Refactor layout structure: Replace Header and Footer with LayoutContent component in RootLayout for improved organization. 2026-01-16 13:33:55 +01:00