Files
MeshTender/internal/core/templates/confirm.html
T
2026-07-02 11:23:03 -04:00

50 lines
2.4 KiB
HTML

{{define "title"}}Confirm {{.Repeater.Name}} · MeshTender{{end}}
{{define "header"}}
<div class="row g-2 align-items-center">
<div class="col">
<div class="page-pretitle">Confirm access</div>
<h2 class="page-title">{{.Repeater.Name}}</h2>
</div>
</div>
{{end}}
{{define "content"}}
<div class="card">
<div class="card-body">
<p class="text-secondary">
Plug a MeshCore <strong>KISS modem</strong> into this computer, then connect it below.
MeshTender will send a signed login to the repeater through your modem and read the reply
to verify it has access. This is optional — the repeater works either way.
</p>
<code class="pk">{{.Repeater.PublicKeyHex}}</code>
<div class="text-secondary small mt-2">{{mhz .Repeater.RadioFreqHz}} MHz · BW {{khz .Repeater.RadioBwHz}} · SF{{.Repeater.RadioSF}} · CR{{.Repeater.RadioCR}}</div>
<div id="unsupported" class="alert alert-danger mt-3" role="alert" hidden>
This browser does not support WebSerial. Use Chrome, Edge, or another Chromium-based browser over HTTPS or on localhost.
</div>
<div class="mt-3">
<label class="form-label" for="path">Path <span class="form-label-description">optional</span></label>
<input type="text" class="form-control font-monospace" id="path" placeholder="e.g. 11, 22, 33" autocomplete="off" spellcheck="false">
<small class="form-hint">Hex hops from your modem to the repeater, in order, same length each (e.g. <code>11, 22, 33</code>). Leave blank to reach it by flood.</small>
</div>
<button id="connect" class="btn btn-primary mt-3" type="button">{{template "icon-plug" "me-1"}}Connect modem &amp; confirm</button>
<ul id="log" class="evlog mt-3" role="log" aria-live="polite" aria-label="Confirmation activity"></ul>
<div class="mt-3 d-flex align-items-center">
<a class="back-link" href="/">{{template "icon-arrow-left" "me-1"}}Back to dashboard</a>
{{if .Debug}}
<a class="text-secondary ms-2" href="/repeaters/{{.Repeater.PublicID}}/confirm">Disable debug</a>
{{else}}
<a class="text-secondary ms-2" href="/repeaters/{{.Repeater.PublicID}}/confirm?debug=1">Debug: show raw frames</a>
{{end}}
</div>
</div>
</div>
<script nonce="{{.Nonce}}">
window.MESHTENDER_WS = (location.protocol === "https:" ? "wss://" : "ws://") + location.host + "/repeaters/{{.Repeater.PublicID}}/ws{{if .Debug}}?debug=1{{end}}";
</script>
<script src="/static/serial.js"></script>
{{end}}