feat: add MobileNav, SidebarNav, and UtilityBar widgets
TDD implementation of three navigation widgets: mobile overlay toggle, fixed sidebar with IntersectionObserver-driven active section tracking, and utility bar with contact info and CV download action.
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
'use client'
|
||||
|
||||
import { Button } from '$shared/ui'
|
||||
|
||||
/**
|
||||
* Fixed bottom utility bar with contact info and CV download.
|
||||
*/
|
||||
export function UtilityBar() {
|
||||
/**
|
||||
* Handles CV download action.
|
||||
*/
|
||||
function handleDownloadCV() {
|
||||
console.log('Downloading CV...')
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="fixed bottom-0 left-0 right-0 bg-ochre-clay brutal-border-top z-40">
|
||||
<div className="max-w-[2560px] mx-auto px-6 md:px-12 lg:px-16 py-4 flex items-center justify-between">
|
||||
<div className="flex items-center gap-4">
|
||||
<span className="text-sm uppercase tracking-wider">Contact</span>
|
||||
<a
|
||||
href="mailto:hello@allmy.work"
|
||||
className="text-base hover:text-burnt-oxide transition-colors"
|
||||
>
|
||||
hello@allmy.work
|
||||
</a>
|
||||
</div>
|
||||
<Button variant="primary" size="sm" onClick={handleDownloadCV}>
|
||||
Download CV
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user