← back to Lifestyle Asset Intel
views/partials/head.ejs
47 lines
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><%= title %></title>
<!-- anti-flash dark/light: apply theme before paint -->
<script>(function(){try{var t=localStorage.getItem('lai-theme');if(t==='dark')document.documentElement.dataset.theme='dark';}catch(e){}})();</script>
<link rel="stylesheet" href="/css/app.css">
<script type="application/ld+json">
{ "@context":"https://schema.org","@type":"WebSite","name":"Lifestyle Asset Intelligence",
"url":"<%= publicUrl %>","description":"Valuation, liquidity, and ownership-cost intelligence for luxury secondary-market assets." }
</script>
</head>
<body>
<header class="topbar">
<button class="hamburger" aria-label="Menu" aria-expanded="false" id="navToggle">
<span></span><span></span><span></span>
</button>
<a class="brand" href="/">LAI <span class="brand-sub">Lifestyle Asset Intel</span></a>
<nav class="topnav" id="topnav">
<a href="/" class="<%= path === '/' ? 'active' : '' %>">Console</a>
<a href="/family" class="<%= path === '/family' ? 'active' : '' %>">Families</a>
<a href="/family/birkin" class="<%= path === '/family/birkin' ? 'active' : '' %>">Birkin</a>
<a href="/family/kelly" class="<%= path === '/family/kelly' ? 'active' : '' %>">Kelly</a>
<a href="/indices/birkin-30-togo-neutral" class="<%= path && path.indexOf('/indices') === 0 ? 'active' : '' %>">Indices</a>
<a href="/portfolio" class="<%= path && path.indexOf('/portfolio') === 0 ? 'active' : '' %>">Portfolio</a>
<a href="/methodology" class="<%= path === '/methodology' ? 'active' : '' %>">Methodology</a>
<a href="/api/sources" target="_blank" rel="noopener noreferrer">Sources</a>
<a href="/api/openapi.json" target="_blank" rel="noopener noreferrer">OpenAPI</a>
<a href="/api/health" target="_blank" rel="noopener noreferrer">API</a>
</nav>
<button class="theme-toggle" id="themeToggle" aria-label="Toggle dark mode" title="Toggle dark mode">
<svg class="icon-sun" viewBox="0 0 24 24" width="18" height="18" aria-hidden="true">
<circle cx="12" cy="12" r="4" fill="currentColor"/>
<g stroke="currentColor" stroke-width="2" stroke-linecap="round">
<path d="M12 2v3"/><path d="M12 19v3"/><path d="M2 12h3"/><path d="M19 12h3"/>
<path d="M4.2 4.2l2.1 2.1"/><path d="M17.7 17.7l2.1 2.1"/>
<path d="M19.8 4.2l-2.1 2.1"/><path d="M6.3 17.7l-2.1 2.1"/>
</g>
</svg>
<svg class="icon-moon" viewBox="0 0 24 24" width="18" height="18" aria-hidden="true">
<path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z" fill="currentColor"/>
</svg>
</button>
</header>