The HTML for the browse view was inlined as a template literal in browse.ts, making it hard to edit and losing syntax highlighting. Move it to browse.html and use placeholder replacement instead. Also update branchDiff to accept the main branch as a parameter so the caller resolves it once and reuses it for diffStat too.
61 lines
2.6 KiB
HTML
61 lines
2.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>{{BRANCH}} — sandlot diff</title>
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/diff2html/bundles/css/diff2html.min.css">
|
|
<style>
|
|
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; margin: 0; padding: 0; background: #0d1117; color: #e6edf3; }
|
|
.header { padding: 24px 32px; border-bottom: 1px solid #30363d; }
|
|
.header h1 { margin: 0 0 8px; font-size: 24px; font-weight: 600; }
|
|
.header h1 code { background: #1f2937; padding: 2px 8px; border-radius: 6px; font-size: 22px; }
|
|
.prompt { color: #8b949e; margin: 0 0 16px; font-style: italic; }
|
|
.meta { display: flex; gap: 32px; }
|
|
.meta-section h3 { margin: 0 0 6px; font-size: 13px; text-transform: uppercase; color: #8b949e; letter-spacing: 0.05em; }
|
|
.meta-section pre { margin: 0; font-size: 13px; line-height: 1.5; color: #c9d1d9; white-space: pre-wrap; }
|
|
.diff-container { padding: 16px 32px; }
|
|
/* Override diff2html for dark theme */
|
|
.d2h-wrapper { background: #0d1117; }
|
|
.d2h-file-header { background: #161b22; border-color: #30363d; color: #e6edf3; }
|
|
.d2h-file-wrapper { border-color: #30363d; margin-bottom: 16px; border-radius: 6px; overflow: hidden; }
|
|
.d2h-code-linenumber { background: #161b22; color: #8b949e; border-color: #30363d; }
|
|
.d2h-code-line { background: #0d1117; color: #e6edf3; }
|
|
.d2h-code-side-line { background: #0d1117; }
|
|
.d2h-del { background: rgba(248,81,73,0.1); }
|
|
.d2h-ins { background: rgba(63,185,80,0.1); }
|
|
.d2h-del .d2h-code-line-ctn { background: rgba(248,81,73,0.15); }
|
|
.d2h-ins .d2h-code-line-ctn { background: rgba(63,185,80,0.15); }
|
|
.d2h-code-line-ctn { color: #e6edf3; }
|
|
.d2h-info { background: #161b22; color: #8b949e; border-color: #30363d; }
|
|
.d2h-tag { background: #1f6feb; color: #fff; }
|
|
.d2h-file-stats-wrapper { display: flex; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="header">
|
|
<h1><code>{{BRANCH}}</code></h1>
|
|
{{PROMPT_SECTION}}
|
|
<div class="meta">
|
|
{{LOG_SECTION}}
|
|
{{STAT_SECTION}}
|
|
</div>
|
|
</div>
|
|
<div class="diff-container" id="diff"></div>
|
|
<script src="https://cdn.jsdelivr.net/npm/diff2html/bundles/js/diff2html-ui.min.js"></script>
|
|
<script>
|
|
const diffString = {{DIFF_JSON}};
|
|
const targetElement = document.getElementById("diff");
|
|
const configuration = {
|
|
drawFileList: true,
|
|
matching: "lines",
|
|
outputFormat: "side-by-side",
|
|
highlight: true,
|
|
colorScheme: "dark",
|
|
};
|
|
const diff2htmlUi = new Diff2HtmlUI(targetElement, diffString, configuration);
|
|
diff2htmlUi.draw();
|
|
diff2htmlUi.highlightCode();
|
|
</script>
|
|
</body>
|
|
</html>
|