DRMDTool/templates/index

153 lines
4.4 KiB
Plaintext
Raw Normal View History

2024-09-03 23:06:15 +02:00
<!DOCTYPE html>
2024-09-06 18:31:42 +02:00
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Simple Downloader</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
background-color: #1e1e1e;
color: #d4d4d4;
line-height: 1.6;
padding: 20px;
max-width: 800px;
margin: 0 auto;
box-sizing: border-box;
}
h1, h2 {
border-bottom: 1px solid #333;
padding-bottom: 10px;
word-wrap: break-word;
}
form {
margin-bottom: 20px;
display: flex;
flex-direction: column;
}
input[type="file"], input[type="submit"] {
background-color: #2d2d2d;
color: #d4d4d4;
border: 1px solid #444;
padding: 8px 12px;
border-radius: 4px;
margin-bottom: 10px;
max-width: 100%;
}
input[type="submit"] {
cursor: pointer;
background-color: #4CAF50;
color: white;
}
input[type="submit"]:hover {
background-color: #45a049;
}
ul {
list-style-type: none;
padding: 0;
2024-09-13 22:57:55 +02:00
margin-bottom: 10px;
2024-09-06 18:31:42 +02:00
}
li {
background-color: #2d2d2d;
margin-bottom: 10px;
padding: 10px;
border-radius: 4px;
word-wrap: break-word;
}
.job-title {
font-size: 1.1em;
font-weight: bold;
margin-bottom: 5px;
}
.job-title a {
color: #58a6ff;
text-decoration: none;
}
.job-title a:hover {
text-decoration: underline;
}
.job-info {
font-size: 0.9em;
color: #a0a0a0;
}
.progress-text {
display: inline-block;
width: 5em;
}
2024-09-14 00:53:55 +02:00
.paused {
color: #ffa500;
}
2024-09-06 18:31:42 +02:00
@media (max-width: 600px) {
body {
padding: 10px;
}
h1, h2 {
font-size: 1.5em;
}
input[type="file"], input[type="submit"] {
font-size: 16px;
}
2024-09-13 22:57:55 +02:00
input[type="submit"], #clear-completed {
font-size: 16px;
}
}
input[type="submit"], #clear-completed {
cursor: pointer;
color: white;
border: 1px solid #444;
padding: 8px 12px;
border-radius: 4px;
margin-bottom: 10px;
max-width: 100%;
width: 100%;
}
#clear-completed {
background-color: #f44336;
}
#clear-completed:hover {
background-color: #d32f2f;
2024-09-06 18:31:42 +02:00
}
</style>
</head>
2024-09-03 23:06:15 +02:00
<body>
<h1>Simple Downloader</h1>
<form action="/upload" method="post" enctype="multipart/form-data">
2024-09-14 02:02:35 +02:00
<input type="file" name="files" accept=".drmd" multiple>
2024-09-03 23:06:15 +02:00
<input type="submit" value="Upload and Process">
</form>
<h2>Currently Running Jobs</h2>
<ul>
{{range $filename, $info := .Jobs}}
<li>
2024-09-06 18:31:42 +02:00
<div class="job-title">
<a href="/progress?filename={{$filename}}">{{$filename}}</a>
</div>
<div class="job-info">
2024-09-14 00:53:55 +02:00
Progress: <span class="progress-text">{{printf "%5.1f%%" $info.Percentage}}</span>
Current file: {{$info.CurrentFile}}
{{if $info.Paused}}
<span class="paused">(Paused)</span>
{{end}}
2024-09-06 18:31:42 +02:00
</div>
2024-09-03 23:06:15 +02:00
</li>
{{else}}
<li>No active jobs</li>
{{end}}
</ul>
2024-09-13 22:57:55 +02:00
<button id="clear-completed" onclick="clearCompleted()">Clear Completed Jobs</button>
<script>
function clearCompleted() {
fetch('/clear-completed', { method: 'POST' })
.then(response => response.json())
.then(data => {
if (data.success) {
location.reload();
} else {
alert('Failed to clear completed jobs');
}
});
}
</script>
2024-09-03 23:06:15 +02:00
</body>
</html>