Initial commit

This commit is contained in:
Magnus Åhall 2025-11-10 08:18:54 +01:00
commit b7cd308016
7 changed files with 400 additions and 0 deletions

40
static/css/main.css Normal file
View file

@ -0,0 +1,40 @@
body {
font-family: sans-serif;
margin: 32px;
}
input {
font-size: 1em;
}
.new {
width: 400px;
}
.sites {
display: grid;
grid-template-columns: repeat(3, min-content);
grid-gap: 8px 16px;
margin-top: 32px;
div {
white-space: nowrap;
&.dead {
color: #aaa;
}
}
.header {
font-weight: bold;
}
.line {
grid-column: 1 / -1;
border-bottom: 1px solid #ccc;
}
.stop {
cursor: pointer;
}
}

63
static/html/index.html Normal file
View file

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<link rel="stylesheet" type="text/css" href="/css/main.css">
</head>
<script>
function newSite() {
const url = document.querySelector('.new.url').value
const watch = document.querySelector('.new.watch').value
fetch('/start', {
method: 'POST',
body: JSON.stringify({url, watch}),
})
.then(() => location.reload())
}
function stopSite(uuid) {
fetch(`/stop/${uuid}`)
.then(() => location.reload())
}
function siteStatus() {
fetch('/sites')
.then(data => data.json())
.then(json => {
for (const uuid of Object.keys(json.Sites)) {
const site = json.Sites[uuid]
if (site.StopLoop) {
document.querySelector(`.url[data-uuid="${uuid}"]`)?.classList.add('dead')
document.querySelector(`.watch[data-uuid="${uuid}"]`)?.classList.add('dead')
}
}
})
}
setInterval(siteStatus, 2000)
</script>
<body>
<input type="text" class="new url" placeholder="https://example.com" value="https://scan.euterm.n44.se">
<input type="text" class="new watch" placeholder="~/example.com/css/"
value="/home/magnus/repo/euterm/euscan/static/css">
<button onclick="newSite()">Start</button>
<div class="sites">
<div class="header">UUID</div>
<div class="header">URL</div>
<div class="header"></div>
{{ range . }}
<div class="line"></div>
<div class="url {{ if .StopLoop }}dead{{ end }}" data-uuid="{{ .UUID }}">{{ .URL }}</div>
<div class="watch {{ if .StopLoop }}dead{{ end }}" data-uuid="{{ .UUID }}">{{ .Watch }}</div>
<div class="stop" onclick="stopSite('{{ .UUID }}')"></div>
{{ end }}
</div>
</body>
</html>