amogaddy's picture
Fix build: ripristinate blog-site/tests/e2e/pro-test/convex (referenziate dagli script di build) (part 3)
ec8acdf verified
Raw
History Blame Contribute Delete
3.07 kB
import { ArrowRight, ChevronDown, Menu as MenuIcon } from 'lucide-react';
import { Logo } from '../components/Logo';
import { t } from '../i18n';
import { DASHBOARD_PATH } from '../routes';
const TABLET_MENU_ID = 'welcome-tablet-navigation';
const NAV_ITEMS = [
{ href: '#moments', labelKey: 'welcome.nav.useCases', accent: false },
{ href: '#first-five', labelKey: 'welcome.nav.firstFive', accent: false },
{ href: '#depth', labelKey: 'welcome.nav.depth', accent: false },
{ href: '/pro#pricing', labelKey: 'welcome.nav.pricing', accent: true },
{ href: '#faq', labelKey: 'welcome.nav.faq', accent: false },
{ href: '/blog/', labelKey: 'welcome.nav.blog', accent: false },
{ href: 'https://www.worldmonitor.app/docs', labelKey: 'welcome.nav.docs', accent: false },
] as const;
const NavItems = ({ compact = false }: { compact?: boolean }) => (
<>
{NAV_ITEMS.map(({ href, labelKey, accent }) => (
<a
key={href}
href={href}
className={compact
? `block px-4 py-2.5 hover:bg-white/5 transition-colors ${accent ? 'text-wm-green' : 'hover:text-wm-text'}`
: `transition-colors ${accent ? 'hover:text-wm-green' : 'hover:text-wm-text'}`}
onClick={compact
? () => document.getElementById(TABLET_MENU_ID)?.removeAttribute('open')
: undefined}
>
{t(labelKey)}
</a>
))}
</>
);
export const Nav = () => (
<nav className="fixed top-0 left-0 right-0 z-50 glass-panel border-b-0 border-x-0 rounded-none" aria-label="Main navigation">
<div className="max-w-7xl mx-auto px-4 sm:px-6 h-16 flex items-center justify-between gap-3">
<Logo />
<div className="hidden lg:flex items-center gap-8 text-sm font-mono text-wm-muted">
<NavItems />
</div>
<details id={TABLET_MENU_ID} className="group relative hidden md:block lg:hidden text-sm font-mono text-wm-muted">
<summary className="list-none cursor-pointer border border-wm-border bg-wm-card px-3 py-2 rounded-sm inline-flex items-center gap-2 hover:text-wm-text transition-colors [&::-webkit-details-marker]:hidden">
<MenuIcon className="w-4 h-4" aria-hidden="true" />
{t('welcome.nav.menu')}
<ChevronDown className="w-3 h-3 transition-transform group-open:rotate-180" aria-hidden="true" />
</summary>
<div className="absolute right-0 top-[calc(100%+0.5rem)] z-10 w-52 border border-wm-border bg-wm-card shadow-xl py-1">
<NavItems compact />
</div>
</details>
<a
href={`${DASHBOARD_PATH}?ref=welcome-nav`}
data-umami-event="welcome-cta"
data-umami-event-target="welcome-nav"
aria-label={t('welcome.nav.launch')}
className="shrink-0 bg-wm-green text-wm-bg px-3 sm:px-4 py-2 rounded-sm font-mono text-xs uppercase tracking-wide sm:tracking-wider font-bold hover:bg-green-400 transition-colors inline-flex items-center gap-1.5"
>
{t('welcome.nav.launch')} <ArrowRight className="w-3 h-3" aria-hidden="true" />
</a>
</div>
</nav>
);