SpotiFile/templates/index.html

75 wiersze
3.5 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/static/css/base.css">
<title>SpotiFile</title>
<script>
let offset = 0;
const interval = setInterval(async function() {
const response = await fetch(`/info/console/?offset=${offset}`);
const data = await response.json();
offset = data['offset'];
for (let i = 0; i < data['logs'].length; ++i)
{
let log_line = document.createElement('p');
log_line.innerHTML = `${data['logs'][i]['time']} | ${data['logs'][i]['value']}`;
log_line.style.color = data['logs'][i]['color'];
document.getElementById('console-output').appendChild(log_line);
}
if (document.getElementById('autoscroll').checked) {
document.getElementById('console-output').scrollTop = 999999999999999999999999;
}
}, 1000);
let settings_visible = true;
function toggle_settings_visibility() {
if (settings_visible) {
document.getElementById('settings-container').setAttribute('hidden', '')
} else {
document.getElementById('settings-container').removeAttribute('hidden')
};
settings_visible = !settings_visible;
};
</script>
</head>
<body class="dark-mode center-all">
<div id="download-selector">
<form id="download-form" action="/actions/download/" method="POST" target="dummy-frame">
<input type="text" id="flink" name="flink" placeholder="https://open.spotify.com/..." style="width:30em;">
<input type="submit" value="Download"/><br>
<div style="display:flex;justify-content:center;"><div style="display:flex;flex-direction:column;width:fit-content;">
<div class="single-line"><label>Recursive: </label><input type="checkbox" name="recursive"></div>
<div class="single-line"><label>Recusive Album: </label><input type="checkbox" name="recursive-album"></div>
<div class="single-line"><label>Recusive Artist: </label><input type="checkbox" name="recursive-artist"></div>
</div></div>
</form>
<form id="category-download-form" action="/actions/download/categories" method="POST" target="dummy-frame">
<input type="text" id="query" name="query" placeholder="Category query (e.g. 'pop')" style="width:30em;">
<input type="submit" value="Download"/><br>
</form>
</div>
<div>
<div style="display:inline-flex;align-items:baseline;"><label>Show settings: </label><input type="checkbox" checked onchange="toggle_settings_visibility();"></div>
<div id="settings-container" style="display:block;" name="Settings">
<form action="/settings/" method="POST" target="dummy-frame" style="width:100%;">
<input name="download-dir" placeholder="Download directory" value="{{settings.DEFAULT_DOWNLOAD_DIRECTORY}}">
<input type="Submit" value="Save">
</form>
</div>
</div>
<div style="display:inline-flex;align-items:baseline;"><label>Autoscroll: </label><input id="autoscroll" type="checkbox" checked></div>
<div id="console-output" class="align-bottom scrollable">
</div>
<iframe id="dummy-frame" name="dummy-frame" style="display:none;"></iframe>
</body>
</html>