Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ plus the jobs the view enqueues (`send_invoice_email.delay`, `rebuild_ledger.sen

## App

`loadpath serve --port 7345` opens a local desktop-style UI: icon rail, labeled toolbar, merge-box confidence, and an inspectable impact graph. The same process hosts MCP at `/mcp` (OAuth). Tokens stay on the machine in `~/.loadpath/settings.json`. AI is used **only** for residual uncertainty the graph cannot close. A dozen themes (Obsidian, Nord, Solarized, Paper, high-contrast, …) live in Settings and `localStorage`. Last repo, git range, and SCM slug are remembered the same way. Copy the markdown brief, or post **one** PR comment (updated in place) from the Review tab. Keyboard: `1`–`5` switches tabs. Outside Settings and Pull requests, `⌘`/`Ctrl`+`Enter` runs a review.
`loadpath serve --port 7345` opens a local desktop-style UI: icon rail, labeled toolbar, merge-box confidence, and an inspectable impact graph. The same process hosts MCP at `/mcp` (OAuth). Tokens stay on the machine in `~/.loadpath/settings.json`. AI is used **only** for residual uncertainty the graph cannot close. Two dozen themes (Obsidian, Nord, Neon Noir, Synthwave, Phosphor, Sakura, Citrus, Paper, high-contrast, …) live in Settings and `localStorage`. Last repo, git range, and SCM slug are remembered the same way. Copy the markdown brief, or post **one** PR comment (updated in place) from the Review tab. Keyboard: `1`–`5` switches tabs. Outside Settings and Pull requests, `⌘`/`Ctrl`+`Enter` runs a review.

### Review

Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/loadpath/static/assets/index-BSKSsotG.css

Large diffs are not rendered by default.

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion src/loadpath/static/assets/index-fLLLv9tC.css

This file was deleted.

6 changes: 3 additions & 3 deletions src/loadpath/static/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@
try {
var t = localStorage.getItem("loadpath.theme");
if (t) document.documentElement.setAttribute("data-theme", t);
var light = { paper: 1, "solarized-light": 1, seafoam: 1, "high-contrast": 1 };
var light = { paper: 1, "solarized-light": 1, seafoam: 1, "high-contrast": 1, sakura: 1, citrus: 1, peach: 1, candy: 1, sky: 1, coral: 1 };
document.documentElement.style.colorScheme = light[t] ? "light" : "dark";
} catch (e) {}
})();
</script>
<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=IBM+Plex+Mono:wght@400;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap" rel="stylesheet" />
<script type="module" crossorigin src="./assets/index-aoV_COFI.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-fLLLv9tC.css">
<script type="module" crossorigin src="./assets/index-_7_dtN73.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-BSKSsotG.css">
</head>
<body>
<div id="root"></div>
Expand Down
2 changes: 1 addition & 1 deletion ui/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
try {
var t = localStorage.getItem("loadpath.theme");
if (t) document.documentElement.setAttribute("data-theme", t);
var light = { paper: 1, "solarized-light": 1, seafoam: 1, "high-contrast": 1 };
var light = { paper: 1, "solarized-light": 1, seafoam: 1, "high-contrast": 1, sakura: 1, citrus: 1, peach: 1, candy: 1, sky: 1, coral: 1 };
document.documentElement.style.colorScheme = light[t] ? "light" : "dark";
} catch (e) {}
})();
Expand Down
14 changes: 10 additions & 4 deletions ui/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -370,10 +370,14 @@ export function App() {
value={theme}
onChange={(e) => persistTheme(e.target.value as ThemeId)}
>
{THEMES.map((t) => (
<option key={t.id} value={t.id}>
{t.label}
</option>
{(["dark", "light"] as const).map((group) => (
<optgroup key={group} label={group === "dark" ? "Dark" : "Light"}>
{THEMES.filter((t) => t.group === group).map((t) => (
<option key={t.id} value={t.id}>
{t.label}
</option>
))}
</optgroup>
))}
</select>
</div>
Expand Down Expand Up @@ -707,10 +711,12 @@ export function App() {
<button
type="button"
key={t.id}
data-theme={t.id}
className={theme === t.id ? "theme-swatch active" : "theme-swatch"}
data-testid={`theme-${t.id}`}
onClick={() => persistTheme(t.id)}
>
<div className="swatch-bar" aria-hidden="true" />
<div className="name">{t.label}</div>
<div className="group">{t.group}</div>
</button>
Expand Down
Loading
Loading