Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
54 lines (50 loc) · 2.32 KB
/
Copy pathindex.html
File metadata and controls
54 lines (50 loc) · 2.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<meta name="theme-color" content="#0b0d12" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap"
rel="stylesheet"
/>
<link rel="manifest" href="./manifest.webmanifest" />
<link rel="icon" type="image/png" href="./icons/icon-192.png" />
<link rel="apple-touch-icon" href="./icons/icon-192.png" />
<title>HabitLoop</title>
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<header class="app-header">
<h1 class="logo">Habit<span>Loop</span></h1>
<nav class="top-nav" aria-label="Primary">
<button data-view="today" class="nav-btn" aria-pressed="true">Today</button>
<button data-view="stats" class="nav-btn" aria-pressed="false">Stats</button>
<button data-view="insights" class="nav-btn" aria-pressed="false">Insights</button>
<button data-view="settings" class="nav-btn" aria-pressed="false">Settings</button>
</nav>
<div class="header-actions">
<span id="sync-status" class="sync-status" title="Sync status" aria-live="polite">offline</span>
<button id="theme-toggle" class="icon-btn" aria-label="Toggle theme">◐</button>
<button id="lang-toggle" class="icon-btn" aria-label="Toggle language">EN</button>
</div>
</header>
<main id="main" tabindex="-1">
<div id="view-root" aria-live="polite"></div>
</main>
<div id="modal-root"></div>
<div id="toast-root" class="toast-root" aria-live="assertive"></div>
<svg width="0" height="0" style="position:absolute" aria-hidden="true">
<defs>
<linearGradient id="loopGrad" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="var(--ring-a)" />
<stop offset="50%" stop-color="var(--ring-b)" />
<stop offset="100%" stop-color="var(--ring-c)" />
</linearGradient>
</defs>
</svg>
<script type="module" src="/src/main.js"></script>
</body>
</html>