8c977d6624
Introduce new design token set (paper/ink/line/accent + radius/shadow) with backward-compat aliases for legacy --surface/--navy/--text names. Swap DM Sans for Plus Jakarta Sans, add JetBrains Mono with tabular numerics. Replace .app-header with sticky .topbar partial (brand + segmented nav + Next update / Last refresh meta + Refresh all button). Add POST /api/refresh-all that runs refreshAllPlayersInDB() with an in-memory mutex and returns the rendered topbar so HTMX can swap it in. "Next update" is computed as first Tuesday of next month (approximation of PDGA's monthly cycle). "Last refresh" derives from MAX(players.last_updated).
42 lines
1.4 KiB
Plaintext
42 lines
1.4 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title><%= title %></title>
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
|
<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=Plus+Jakarta+Sans:ital,wght@0,300..700;1,300..700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet">
|
|
<script src="https://unpkg.com/htmx.org@2.0.4"></script>
|
|
<link rel="stylesheet" href="/css/shared.css">
|
|
<% if (typeof cssFiles !== 'undefined') { %>
|
|
<% cssFiles.forEach(function(file) { %>
|
|
<link rel="stylesheet" href="/css/<%= file %>">
|
|
<% }); %>
|
|
<% } %>
|
|
</head>
|
|
<body>
|
|
<%- include('../partials/topbar', { activePage, lastRefresh, nextUpdate }) %>
|
|
|
|
<div class="container">
|
|
<%- body %>
|
|
</div>
|
|
|
|
<% if (typeof modals !== 'undefined') { %>
|
|
<%- modals %>
|
|
<% } %>
|
|
|
|
<% if (typeof jsFiles !== 'undefined') { %>
|
|
<% jsFiles.forEach(function(file) { %>
|
|
<script src="/js/<%= file %>"></script>
|
|
<% }); %>
|
|
<% } %>
|
|
|
|
<% if (typeof initScript !== 'undefined') { %>
|
|
<script>
|
|
<%- initScript %>
|
|
</script>
|
|
<% } %>
|
|
</body>
|
|
</html> |