Files
mans 7efc16cf06
Build docker container / Build image (push) Successful in 5m27s
refactor: extract DRY template layout and add localized page titles
2026-08-05 17:43:40 +02:00

59 lines
2.0 KiB
HTML

{{ template "layout" . }}
{{ define "page_title" }}{{ .T.TitleHeaders }}{{ end }}
{{ define "extra_css" }}
body { font-size: 1.1rem; }
.container {
width: 100%;
max-width: 1200px;
display: grid;
grid-template-columns: 1fr;
gap: 40px;
}
.section { width: 100%; }
@media (min-width: 768px) {
body { font-size: 1.3rem; }
h2 { font-size: 1.6rem; }
}
{{ end }}
{{ define "content" }}
<div class="container">
<div class="section">
<h2>HTTP Headers</h2>
<ul id="headers-list">
{{ range .Headers }}
<li><span class="label">{{ .Name }}: </span><b>{{ .Value }}</b></li>
{{ end }}
</ul>
</div>
</div>
{{ end }}
{{ define "nav_links" }}
<a href="/" class="nav-link">{{ .T.SimpleView }}</a>
<span style="border-left: 1px solid var(--divider-color); height: 18px; margin: 0 15px;"></span>
<a href="/advanced" class="nav-link">{{ .T.AdvancedView }}</a>
<span style="border-left: 1px solid var(--divider-color); height: 18px; margin: 0 15px;"></span>
<a id="copy-btn" class="nav-link">{{ .T.CopyInfo }}</a>
{{ end }}
{{ define "extra_js" }}
document.getElementById('copy-btn').addEventListener('click', async (e) => {
e.preventDefault();
let info = [];
info.push("--- HTTP Headers ---");
document.querySelectorAll('#headers-list li').forEach(li => info.push(li.innerText));
try {
await navigator.clipboard.writeText(info.join('\n'));
const btn = document.getElementById('copy-btn');
btn.innerText = '{{ .T.Copied }}';
setTimeout(() => btn.innerText = '{{ .T.CopyInfo }}', 2000);
} catch (err) {
console.error('Failed to copy', err);
}
});
{{ end }}