blob: 65e1e15e5284f97fecd89be5a37a0f159898e36b [file] [log] [blame]
{{ define "task" }}
{{ range . }}
<li aria-busy="{{ eq .Status 1 }}">
{{ .Title }}{{ if .Err }} - {{ .Err.Error }} {{ end }}
{{ if .Subtasks }}
<ul>
{{ template "task" .Subtasks }}
</ul>
{{ end }}
</li>
{{ end }}
{{ end }}
{{ define "main" }}
<div class="grid contents-header">
<div style="border-width: 1px; border-right-style: solid;">
setup
</div>
<div>
information
</div>
</div>
<div id="contents" class="grid env-status">
<div>
<ul class="progress">
{{ template "task" .Root.Subtasks }}
</ul>
</div>
<div id="create-instance-form">
{{ if .DNSRecords }}
<form action="" method="POST">
<p>You will have to publish following DNS records via your domain registrar.</p>
<textarea rows="7" disabled>{{ .DNSRecords }}</textarea>
<label for="domain-registrar">Domain Registrar</label>
<select id="domain-registrar" required tabindex="1">
<option value="" selected>Select registrar</option>
<option value="gandi">Gandi</option>
<option value="namecheap">Namecheap</option>
</select>
<label for="api-token">API Token</label>
<input
type="text"
id="api-token"
name="api-token"
required
autofocus
tabindex="2"
/>
<button type="submit" tabindex="3">Update</button>
</form>
{{ else if .EnvInfo }}
<p>{{ .EnvInfo }}</p>
{{ end }}
</div>
</div>
<script type="text/javascript">
async function refresh() {
const resp = await fetch(window.location.href);
if (resp.ok) {
var tmp = document.createElement("html");
tmp.innerHTML = await resp.text();
document.getElementById("contents").innerHTML = tmp.getElementsByClassName("env-status")[0].innerHTML;
}
setTimeout(refresh, 5000);
}
setTimeout(refresh, 5000);
</script>
{{ end }}