Files
GitManager/web/templates/index.html
T
TBNilles e30c3b632a Move domain config from .env to a private SQLite store
Forges (multi-host) + tokens, project directories, and git identity now live in a private SQLite config store (internal/store, modernc.org/sqlite) on a /data named volume that is not bind-mounted or exposed, so credentials aren't reachable outside the container. New Settings page (/settings) + <settings-panel> with /api/config CRUD. Scanner reads roots fresh from the store each cycle; service resolves forges per-repo from the store and reapplies per-forge git auth on change. First run seeds the store from .env. Overturns the old no-datastore/.env-config laws (AGENT.md updated). Verified live end-to-end.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-22 05:31:28 -04:00

62 lines
2.2 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>GitManager</title>
<link rel="stylesheet" href="/static/app.css">
<!-- Web components declare themselves; the page does not micro-manage them
(AGENT.md §1.1). Each fetches its own data on connect. -->
<script type="module" src="/components/repo-list/repo-list.js"></script>
<script type="module" src="/components/repo-detail/repo-detail.js"></script>
<script type="module" src="/components/activity-feed/activity-feed.js"></script>
<script type="module" src="/components/handoff-bar/handoff-bar.js"></script>
<script type="module" src="/components/pr-list/pr-list.js"></script>
<script type="module" src="/components/repo-menu/repo-menu.js"></script>
<script type="module" src="/components/toast-host/toast-host.js"></script>
<style>
header {
display: flex;
align-items: baseline;
gap: 16px;
padding: 12px 20px;
background: var(--surface-1);
border-bottom: 1px solid var(--border);
}
header h1 { margin: 0; font-size: 16px; }
header nav { margin-left: auto; }
/* Repo list docks LEFT, detail panel docks RIGHT by default (AGENT.md §4).
A real dockable layout is layered on later; this is the static default. */
main { padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.cols {
display: grid;
grid-template-columns: minmax(280px, 360px) 1fr;
gap: 16px;
align-items: start;
}
.right { display: grid; gap: 16px; }
@media (max-width: 720px) { .cols { grid-template-columns: 1fr; } }
</style>
</head>
<body>
<header>
<h1>GitManager</h1>
<span style="color: var(--color-fg-muted)">multi-repo dashboard</span>
<nav><a href="/settings">Settings</a> · <a href="/help">Help</a></nav>
</header>
<main>
<handoff-bar></handoff-bar>
<div class="cols">
<repo-list></repo-list>
<div class="right">
<repo-detail></repo-detail>
<pr-list hidden></pr-list>
</div>
</div>
<activity-feed></activity-feed>
</main>
<repo-menu></repo-menu>
<toast-host></toast-host>
</body>
</html>