142 lines
5.7 KiB
HTML
142 lines
5.7 KiB
HTML
{{ define "layout" }}
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>DecyphArr - {{.Title}}</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css" rel="stylesheet">
|
|
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet"/>
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2-bootstrap-5-theme@1.3.0/dist/select2-bootstrap-5-theme.min.css"/>
|
|
<style>
|
|
:root {
|
|
--primary-color: #2563eb;
|
|
--secondary-color: #1e40af;
|
|
}
|
|
|
|
body {
|
|
background-color: #f8fafc;
|
|
}
|
|
|
|
.navbar {
|
|
padding: 1rem 0;
|
|
background: #fff !important;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.navbar-brand {
|
|
color: var(--primary-color) !important;
|
|
font-weight: 700;
|
|
font-size: 1.5rem;
|
|
}
|
|
|
|
.card {
|
|
border: none;
|
|
border-radius: 10px;
|
|
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.nav-link {
|
|
padding: 0.5rem 1rem;
|
|
color: #4b5563;
|
|
}
|
|
|
|
.nav-link.active {
|
|
color: var(--primary-color) !important;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.badge#channel-badge {
|
|
background-color: #0d6efd;
|
|
}
|
|
|
|
.badge#channel-badge.beta {
|
|
background-color: #fd7e14;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<nav class="navbar navbar-expand-lg navbar-light mb-4">
|
|
<div class="container">
|
|
<a class="navbar-brand" href="/">
|
|
<i class="bi bi-cloud-download me-2"></i>DecyphArr
|
|
</a>
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<div class="collapse navbar-collapse" id="navbarNav">
|
|
<ul class="navbar-nav me-auto">
|
|
<li class="nav-item">
|
|
<a class="nav-link {{if eq .Page "index"}}active{{end}}" href="/">
|
|
<i class="bi bi-table me-1"></i>Torrents
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link {{if eq .Page "download"}}active{{end}}" href="/download">
|
|
<i class="bi bi-cloud-download me-1"></i>Download
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link {{if eq .Page "repair"}}active{{end}}" href="/repair">
|
|
<i class="bi bi-tools me-1"></i>Repair
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link {{if eq .Page "config"}}active{{end}}" href="/config">
|
|
<i class="bi bi-gear me-1"></i>Config
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="/logs" target="_blank">
|
|
<i class="bi bi-journal me-1"></i>Logs
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
<div class="d-flex align-items-center">
|
|
<span class="badge me-2" id="channel-badge">Loading...</span>
|
|
<span class="badge bg-primary" id="version-badge">Loading...</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
{{ if eq .Page "index" }}
|
|
{{ template "index" . }}
|
|
{{ else if eq .Page "download" }}
|
|
{{ template "download" . }}
|
|
{{ else if eq .Page "repair" }}
|
|
{{ template "repair" . }}
|
|
{{ else if eq .Page "config" }}
|
|
{{ template "config" . }}
|
|
{{ end }}
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script>
|
|
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
fetch('/internal/version')
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
const versionBadge = document.getElementById('version-badge');
|
|
const channelBadge = document.getElementById('channel-badge');
|
|
|
|
// Add url to version badge
|
|
versionBadge.innerHTML = `<a href="https://github.com/sirrobot01/debrid-blackhole/releases/tag/${data.version}" target="_blank" class="text-white">${data.version}</a>`;
|
|
channelBadge.textContent = data.channel.charAt(0).toUpperCase() + data.channel.slice(1);
|
|
|
|
if (data.channel === 'beta') {
|
|
channelBadge.classList.add('beta');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
console.error('Error fetching version:', error);
|
|
document.getElementById('version-badge').textContent = 'Unknown';
|
|
document.getElementById('channel-badge').textContent = 'Unknown';
|
|
});
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|
|
{{ end }} |