123 lines
6.2 KiB
HTML
123 lines
6.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>sofarr - Your Downloads Dashboard</title>
|
|
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32.png">
|
|
<link rel="apple-touch-icon" sizes="192x192" href="favicon-192.png">
|
|
<meta name="theme-color" content="#1a1a2e">
|
|
<link rel="stylesheet" href="style.css">
|
|
</head>
|
|
<body>
|
|
<!-- Splash Screen -->
|
|
<div id="splash-screen" class="splash-screen">
|
|
<img src="images/sofarr-flashscreen.png" alt="sofarr" class="splash-logo">
|
|
</div>
|
|
|
|
<div class="app">
|
|
<!-- Login Form -->
|
|
<div id="login-container" class="login-container" style="display: none;">
|
|
<div class="login-box">
|
|
<img src="images/sofarr-flashscreen.png" alt="sofarr" class="login-logo">
|
|
<p class="login-subtitle">Login with your Emby credentials</p>
|
|
<form id="login-form">
|
|
<div class="form-group">
|
|
<label for="username">Username:</label>
|
|
<input type="text" id="username" name="username" required>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="password">Password:</label>
|
|
<input type="password" id="password" name="password" required>
|
|
</div>
|
|
<div class="form-group form-group--checkbox">
|
|
<label class="checkbox-label">
|
|
<input type="checkbox" id="remember-me" name="rememberMe">
|
|
<span>Keep me logged in</span>
|
|
</label>
|
|
</div>
|
|
<button type="submit" class="login-btn">Login</button>
|
|
</form>
|
|
<div id="login-error" class="error-message" style="display: none;"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Dashboard -->
|
|
<div id="dashboard-container" class="dashboard-container" style="display: none;">
|
|
<header class="app-header">
|
|
<h1><a href="https://git.i3omb.com/Gandalf/sofarr" target="_blank" rel="noopener noreferrer" class="title-link"><img src="favicon-32.png" alt="" class="title-logo">sofarr</a></h1>
|
|
<div class="header-controls">
|
|
<div class="theme-switcher">
|
|
<button class="theme-btn active" data-theme="light">Light</button>
|
|
<button class="theme-btn" data-theme="dark">Dark</button>
|
|
<button class="theme-btn" data-theme="mono">Mono</button>
|
|
</div>
|
|
<div id="admin-controls" class="admin-controls" style="display: none;">
|
|
<label class="toggle-label">
|
|
<input type="checkbox" id="show-all-toggle">
|
|
<span>Show all users</span>
|
|
</label>
|
|
<button id="status-btn" class="status-btn">Status</button>
|
|
</div>
|
|
<div class="user-info">
|
|
<span class="user-label">Current User:</span>
|
|
<span class="user-name" id="currentUser">-</span>
|
|
<button id="logout-btn" class="logout-btn">Logout</button>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<div id="status-panel" class="status-panel" style="display: none;"></div>
|
|
|
|
<div id="error-message" class="error-message" style="display: none;"></div>
|
|
|
|
<div id="loading" class="loading" style="display: none;">Loading downloads...</div>
|
|
|
|
<div class="main-tabs">
|
|
<div class="tab-bar">
|
|
<button class="tab-btn active" data-tab="downloads">Active Downloads</button>
|
|
<button class="tab-btn" data-tab="history">Recently Completed</button>
|
|
</div>
|
|
|
|
<div class="tab-panel" id="tab-downloads">
|
|
<div class="downloads-container">
|
|
<div id="no-downloads" class="no-downloads" style="display: none;">
|
|
<p>No downloads found for your user.</p>
|
|
<p>Make sure your shows and movies are tagged with your username in Sonarr/Radarr.</p>
|
|
</div>
|
|
<div id="downloads-list" class="downloads-list"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="tab-panel" id="tab-history" style="display: none;">
|
|
<div class="history-container" id="history-container">
|
|
<div class="history-header">
|
|
<div class="history-controls">
|
|
<label class="history-days-label" for="history-days">Last</label>
|
|
<input type="number" id="history-days" class="history-days-input" value="7" min="1" max="90">
|
|
<span class="history-days-label">days</span>
|
|
<button id="history-refresh-btn" class="history-refresh-btn" title="Refresh history">↻</button>
|
|
</div>
|
|
</div>
|
|
<div id="history-loading" class="history-loading" style="display: none;">Loading history...</div>
|
|
<div id="history-error" class="history-error" style="display: none;"></div>
|
|
<div id="no-history" class="no-history" style="display: none;">
|
|
<p>No completed downloads found in this period.</p>
|
|
</div>
|
|
<div id="history-list" class="history-list"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<footer class="app-footer">
|
|
<p>Ensure your media is tagged with your username in Sonarr/Radarr to match downloads to users.</p>
|
|
<p class="app-version" id="app-version"></p>
|
|
</footer>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="app.js"></script>
|
|
</body>
|
|
</html>
|