bug: fix header
This commit is contained in:
parent
d2773ffd14
commit
4d1453a527
@ -68,6 +68,7 @@ export default function Header({ setGlobalLoggingOut }: HeaderProps) {
|
||||
const refreshAuthToken = useAuthStore(s => s.refreshAuthToken)
|
||||
const router = useRouter()
|
||||
const pathname = usePathname()
|
||||
const isHome = pathname === '/'
|
||||
|
||||
const [hasReferralPerm, setHasReferralPerm] = useState(false)
|
||||
const [adminMgmtOpen, setAdminMgmtOpen] = useState(false)
|
||||
@ -122,8 +123,8 @@ export default function Header({ setGlobalLoggingOut }: HeaderProps) {
|
||||
useEffect(() => {
|
||||
if (!mounted) return
|
||||
|
||||
if (pathname !== '/') {
|
||||
// non-home: header always visible
|
||||
if (!isHome) {
|
||||
// non-home: header always visible, no scroll listeners
|
||||
setScrollY(100)
|
||||
return
|
||||
}
|
||||
@ -148,7 +149,7 @@ export default function Header({ setGlobalLoggingOut }: HeaderProps) {
|
||||
window.removeEventListener('scroll', handleScroll)
|
||||
window.removeEventListener('wheel', handleWheel)
|
||||
}
|
||||
}, [mounted, pathname])
|
||||
}, [mounted, isHome])
|
||||
|
||||
// Fetch user permissions and set hasReferralPerm
|
||||
useEffect(() => {
|
||||
@ -307,15 +308,23 @@ export default function Header({ setGlobalLoggingOut }: HeaderProps) {
|
||||
((user as any)?.roles?.includes?.('admin'))
|
||||
)
|
||||
const isAdmin = mounted && rawIsAdmin
|
||||
const headerVisible = pathname !== '/' ? animateIn : animateIn && scrollY > 24
|
||||
const parallaxOffset = pathname === '/' ? Math.max(-16, -scrollY * 0.15) : 0
|
||||
|
||||
// Only gate visibility by scroll on home; elsewhere just use animateIn
|
||||
const headerVisible = isHome ? animateIn && scrollY > 24 : animateIn
|
||||
const parallaxOffset = isHome ? Math.max(-16, -scrollY * 0.15) : 0
|
||||
|
||||
return (
|
||||
<header
|
||||
className={`fixed top-0 left-0 w-full isolate z-10 shadow-lg shadow-black/30 after:pointer-events-none after:absolute after:inset-0 after:-z-10 after:bg-[radial-gradient(circle_at_20%_20%,rgba(56,124,255,0.18),transparent_55%),radial-gradient(circle_at_80%_35%,rgba(139,92,246,0.16),transparent_60%)] ${isAdmin ? '' : 'border-b border-white/10'} ${headerVisible ? 'opacity-100 translate-y-0' : 'opacity-0 -translate-y-6 pointer-events-none'} transition-all duration-500 ease-out`}
|
||||
className={`${
|
||||
isHome ? 'fixed top-0 left-0 w-full' : 'relative'
|
||||
} isolate z-10 shadow-lg shadow-black/30 after:pointer-events-none after:absolute after:inset-0 after:-z-10 after:bg-[radial-gradient(circle_at_20%_20%,rgba(56,124,255,0.18),transparent_55%),radial-gradient(circle_at_80%_35%,rgba(139,92,246,0.16),transparent_60%)] ${
|
||||
isAdmin ? '' : 'border-b border-white/10'
|
||||
} ${
|
||||
headerVisible ? 'opacity-100 translate-y-0' : 'opacity-0 -translate-y-6 pointer-events-none'
|
||||
} transition-all duration-500 ease-out`}
|
||||
style={{
|
||||
background: 'linear-gradient(135deg, #0F1D37 0%, #0A162A 50%, #081224 100%)',
|
||||
transform: `translateY(${parallaxOffset}px)`,
|
||||
...(isHome ? { transform: `translateY(${parallaxOffset}px)` } : {}),
|
||||
}}
|
||||
>
|
||||
<nav
|
||||
|
||||
Loading…
Reference in New Issue
Block a user