feat: port website header with mega-menu, add showcase bg to hero, fix carousel container size

This commit is contained in:
Usman Baig
2026-03-21 20:12:01 +01:00
parent 4afaf32e58
commit 911704cff2
9 changed files with 761 additions and 39 deletions

View File

@@ -3,6 +3,7 @@
import { OfflineBanner } from '@/components/OfflineBanner'
import { Footer } from '@/components/Footer'
import { Header, type CipheraApp } from '@ciphera-net/ui'
import { Header as MarketingHeader } from '@/components/marketing/Header'
import NotificationCenter from '@/components/notifications/NotificationCenter'
import { useAuth } from '@/lib/auth/context'
import { useOnlineStatus } from '@/lib/hooks/useOnlineStatus'
@@ -144,31 +145,11 @@ function LayoutInner({ children }: { children: React.ReactNode }) {
)
}
// Public/marketing: floating header + footer
// Public/marketing: sticky header + footer
return (
<div className="flex flex-col min-h-screen">
<Header
auth={auth}
LinkComponent={Link}
logoSrc="/pulse_icon_no_margins.png"
appName="Pulse"
variant="floating"
showFaq={false}
showSecurity={false}
showPricing={true}
topOffset={showOfflineBar ? '2.5rem' : undefined}
apps={CIPHERA_APPS}
currentAppId="pulse"
customNavItems={
<Link
href="/features"
className="px-4 py-2 text-sm font-medium text-neutral-600 dark:text-neutral-400 hover:text-neutral-900 dark:hover:text-white rounded-lg hover:bg-neutral-100/50 dark:hover:bg-neutral-800/50 transition-all duration-200"
>
Features
</Link>
}
/>
<main className="flex-1 pb-8 pt-24">
<MarketingHeader />
<main className="flex-1 pb-8">
{children}
</main>
<Footer

View File

@@ -151,12 +151,9 @@ export default function HomePage() {
return (
<>
{/* HERO — full viewport */}
<div className="relative -mt-[88px] min-h-screen flex items-center pt-[88px] pb-20 lg:pb-32 overflow-hidden">
{/* Background atmosphere */}
<div className="absolute inset-0 -z-10 pointer-events-none">
<div className="absolute top-0 left-1/4 w-[800px] h-[800px] bg-brand-orange/5 rounded-full blur-[200px]" />
<div className="absolute bottom-0 right-1/4 w-[600px] h-[600px] bg-neutral-500/5 rounded-full blur-[150px]" />
</div>
<div className="relative -mt-[88px] min-h-screen flex items-center pt-[88px] pb-20 lg:pb-32 bg-neutral-950 overflow-hidden">
<img src="/pulse-showcase-bg.png" alt="" className="absolute inset-0 w-full h-full object-cover" />
<div className="absolute inset-0 bg-black/60" />
<div className="absolute bottom-0 left-0 right-0 h-48 bg-gradient-to-t from-neutral-950 to-transparent" />
<div className="relative z-10 w-full max-w-6xl mx-auto px-6">