← back to AbramsOS

views/partials/header.ejs

58 lines

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title><%= typeof title !== 'undefined' ? title + ' · AbramsOS' : 'AbramsOS' %></title>
  <link rel="stylesheet" href="/css/app.css">
  <script>
    (function () {
      try {
        var t = localStorage.getItem('theme') || 'dark';
        document.documentElement.dataset.theme = t;
      } catch (e) { document.documentElement.dataset.theme = 'dark'; }
    })();
  </script>
</head>
<body>
  <header class="topbar glass">
    <div class="brand">
      <a href="/">AbramsOS</a>
      <span class="version">v0.1</span>
    </div>
    <nav>
      <a href="/">Home</a>
      <a href="/deadlines">Deadlines</a>
      <a href="/bills">Bills</a>
      <a href="/assets">Assets</a>
      <a href="/neighborhood">Watch</a>
      <a href="/warranties">Warranties</a>
      <a href="/reorders">Reorders</a>
      <a href="/savings">Savings</a>
      <a href="/health">Health</a>
      <a href="/biometrics">Biometrics</a>
      <a href="/medications">Meds</a>
      <a href="/prescriptions">Rx</a>
      <a href="/household">Household</a>
      <a href="/purchases">Purchases</a>
      <a href="/claims">Claims</a>
      <a href="/recalls">Recalls</a>
      <a href="/import">Import</a>
      <a href="/connectors">Connectors</a>
      <a href="/audit">Audit</a>
    </nav>
    <% if (typeof userId !== 'undefined' && userId) { %>
      <form method="post" action="/signout" style="margin:0">
        <input type="hidden" name="_csrf" value="<%= csrfToken %>">
        <button class="signout-btn" type="submit">Sign out</button>
      </form>
    <% } %>
    <button id="themeToggle" class="theme-toggle" aria-label="Toggle theme" title="Toggle dark/light">
      <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <circle cx="12" cy="12" r="4"></circle>
        <path d="M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M4.93 19.07l1.41-1.41m11.32-11.32l1.41-1.41"></path>
      </svg>
    </button>
  </header>
  <main>