mirror of
https://github.com/Dispatcharr/Dispatcharr.git
synced 2026-01-23 02:35:14 +00:00
Removed .DS_Store and added to gitignore M3U add created M3U delete fixed Removed unused files Django admin not so ugly now
202 lines
8.3 KiB
HTML
Executable file
202 lines
8.3 KiB
HTML
Executable file
{% load static %}
|
|
<!doctype html>
|
|
<html lang="en" data-bs-theme="light">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>{% block title %}Dispatcharr{% endblock %}</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
|
|
<!-- Fonts -->
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fontsource/source-sans-3@5.0.12/index.css" crossorigin="anonymous" />
|
|
<!-- Third Party Plugins -->
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.10.1/styles/overlayscrollbars.min.css" crossorigin="anonymous" />
|
|
<!-- Bootstrap Icons -->
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" crossorigin="anonymous" />
|
|
<!-- Font Awesome 6 -->
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
|
|
|
<!-- AdminLTE CSS -->
|
|
<link rel="stylesheet" href="{% static 'admin-lte/dist/css/adminlte.css' %}" />
|
|
<!-- ApexCharts and jsVectorMap CSS -->
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/apexcharts@3.37.1/dist/apexcharts.css" crossorigin="anonymous" />
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/jsvectormap@1.5.3/dist/css/jsvectormap.min.css" crossorigin="anonymous" />
|
|
{% block extra_css %}{% endblock %}
|
|
</head>
|
|
|
|
<body class="layout-fixed sidebar-expand-lg bg-body-tertiary">
|
|
<div class="app-wrapper">
|
|
<!-- Header / Navbar -->
|
|
<nav class="app-header navbar navbar-expand bg-body">
|
|
<div class="container-fluid">
|
|
<ul class="navbar-nav">
|
|
<li class="nav-item">
|
|
<a class="nav-link" data-lte-toggle="sidebar" href="#" role="button">
|
|
<i class="bi bi-list"></i>
|
|
</a>
|
|
</li>
|
|
<li class="nav-item d-none d-md-block">
|
|
<a href="{% url 'dashboard:dashboard' %}" class="nav-link">Home</a>
|
|
</li>
|
|
</ul>
|
|
<ul class="navbar-nav ms-auto">
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="/accounts/login/">Login</a>
|
|
</li>
|
|
|
|
<!-- Theme Switcher Dropdown -->
|
|
<li class="nav-item dropdown">
|
|
<button class="btn btn-link nav-link py-2 px-0 px-lg-2 dropdown-toggle d-flex align-items-center"
|
|
id="themeToggleBtn" type="button" aria-expanded="false"
|
|
data-bs-toggle="dropdown" data-bs-display="static">
|
|
<span class="theme-icon-active"><i class="bi bi-sun-fill my-1"></i></span>
|
|
<span class="d-lg-none ms-2" id="theme-toggle-text">Toggle theme</span>
|
|
</button>
|
|
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="themeToggleBtn" style="--bs-dropdown-min-width: 8rem;">
|
|
<li>
|
|
<button type="button" class="dropdown-item d-flex align-items-center active" data-bs-theme-value="light">
|
|
<i class="bi bi-sun-fill me-2"></i> Light
|
|
<i class="bi bi-check-lg ms-auto d-none"></i>
|
|
</button>
|
|
</li>
|
|
<li>
|
|
<button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="dark">
|
|
<i class="bi bi-moon-fill me-2"></i> Dark
|
|
<i class="bi bi-check-lg ms-auto d-none"></i>
|
|
</button>
|
|
</li>
|
|
<li>
|
|
<button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="auto">
|
|
<i class="bi bi-circle-half me-2"></i> Auto
|
|
<i class="bi bi-check-lg ms-auto d-none"></i>
|
|
</button>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</nav>
|
|
|
|
<!-- Sidebar -->
|
|
<aside class="app-sidebar bg-body-secondary shadow" data-bs-theme="dark">
|
|
<div class="sidebar-brand">
|
|
<a href="{% url 'dashboard:dashboard' %}" class="brand-link">
|
|
<img src="{% static 'admin-lte/dist/assets/img/logo.png' %}" alt="Dispatcharr Logo" class="brand-image opacity-75 shadow" />
|
|
<span class="brand-text fw-light">Dispatcharr</span>
|
|
</a>
|
|
</div>
|
|
<div class="sidebar-wrapper">
|
|
<nav class="mt-2">
|
|
<ul class="nav sidebar-menu flex-column" data-lte-toggle="treeview" role="menu" data-accordion="false">
|
|
<li class="nav-item">
|
|
<a href="{% url 'dashboard:dashboard' %}" class="nav-link">
|
|
<i class="nav-icon bi bi-speedometer"></i>
|
|
<p>Dashboard</p>
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a href="{% url 'channels:channels_dashboard' %}" class="nav-link">
|
|
<i class="nav-icon bi bi-tv"></i>
|
|
<p>Channels</p>
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a href="{% url 'm3u:m3u_dashboard' %}" class="nav-link">
|
|
<i class="nav-icon bi bi-file-earmark-text"></i>
|
|
<p>M3U</p>
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a href="{% url 'epg:epg_dashboard' %}" class="nav-link">
|
|
<i class="nav-icon bi bi-calendar3"></i>
|
|
<p>EPG</p>
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a href="{% url 'dashboard:settings' %}" class="nav-link">
|
|
<i class="nav-icon bi bi-gear"></i>
|
|
<p>Settings</p>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</aside>
|
|
|
|
|
|
<!-- Main Content -->
|
|
<main class="app-main">
|
|
<div class="app-content">
|
|
<div class="container-fluid">
|
|
|
|
<!-- Content Wrapper -->
|
|
<div class="content-wrapper">
|
|
<!-- Page Header -->
|
|
<section class="content-header">
|
|
<div class="container-fluid">
|
|
<div class="row mb-2">
|
|
<div class="col-sm-6">
|
|
<h1>{% block admin_title %}Admin{% endblock %}</h1>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<ol class="breadcrumb float-sm-right">
|
|
<li class="breadcrumb-item"><a href="/">Home</a></li>
|
|
<li class="breadcrumb-item active">{% block breadcrumb %}Admin{% endblock %}</li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Main Content -->
|
|
<section class="content">
|
|
<div class="container-fluid">
|
|
{% block content %}{% endblock %}
|
|
</div>
|
|
</section>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
<!-- Footer -->
|
|
<footer class="app-footer">
|
|
<div class="float-end d-none d-sm-inline">Anything you want</div>
|
|
<strong>© {{ current_year|default:"2025" }} Dispatcharr.</strong> All rights reserved.
|
|
</footer>
|
|
</div>
|
|
|
|
<!-- Scripts -->
|
|
<script src="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.10.1/browser/overlayscrollbars.browser.es6.min.js" crossorigin="anonymous"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js" crossorigin="anonymous"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" crossorigin="anonymous"></script>
|
|
<script src="{% static 'admin-lte/dist/js/adminlte.js' %}"></script>
|
|
{% block extra_js %}{% endblock %}
|
|
|
|
<!-- AdminLTE 4 Theme Toggle -->
|
|
<script>
|
|
(() => {
|
|
"use strict";
|
|
|
|
const storedTheme = localStorage.getItem("theme");
|
|
const getPreferredTheme = () => storedTheme || (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
|
|
|
|
const setTheme = (theme) => {
|
|
document.documentElement.setAttribute("data-bs-theme", theme);
|
|
};
|
|
|
|
setTheme(getPreferredTheme());
|
|
|
|
document.addEventListener("DOMContentLoaded", () => {
|
|
document.querySelectorAll("[data-bs-theme-value]").forEach(button => {
|
|
button.addEventListener("click", () => {
|
|
const theme = button.getAttribute("data-bs-theme-value");
|
|
localStorage.setItem("theme", theme);
|
|
setTheme(theme);
|
|
});
|
|
});
|
|
});
|
|
})();
|
|
</script>
|
|
</body>
|
|
</html>
|