2026-03-16 19:19:22 +01:00
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html lang="en">
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
|
<meta name="theme-color" content="#000000">
|
|
|
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
|
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
|
|
|
<meta name="apple-mobile-web-app-title" content="diora">
|
|
|
|
|
<meta name="description" content="Internet radio player">
|
2026-03-19 21:29:51 +01:00
|
|
|
{% if user.is_authenticated %}<meta name="username" content="{{ user.username }}">{% endif %}
|
2026-03-16 19:19:22 +01:00
|
|
|
<link rel="manifest" href="/static/manifest.json">
|
|
|
|
|
<link rel="apple-touch-icon" href="/static/icon-192.png">
|
|
|
|
|
<link rel="stylesheet" href="/static/css/app.css">
|
|
|
|
|
<title>{% block title %}diora{% endblock %}</title>
|
2026-04-04 21:05:51 +02:00
|
|
|
<script>const DIORA_CONFIG = { ebookMaxBytes: {{ EBOOK_MAX_BYTES }}, bgMaxBytes: {{ BG_MAX_BYTES }} };</script>
|
2026-03-19 13:39:59 +01:00
|
|
|
{% if encrypted_bg_json %}
|
|
|
|
|
<script>const ENCRYPTED_BG = {{ encrypted_bg_json|safe }};</script>
|
2026-03-16 19:19:22 +01:00
|
|
|
{% endif %}
|
|
|
|
|
</head>
|
2026-03-19 13:39:59 +01:00
|
|
|
<body>
|
2026-03-16 19:19:22 +01:00
|
|
|
<nav class="navbar">
|
|
|
|
|
<a href="/" class="navbar-brand">diora</a>
|
|
|
|
|
<div class="navbar-links">
|
|
|
|
|
<button class="btn-icon contrast-toggle" id="contrast-toggle" onclick="toggleContrast()" title="Toggle contrast mode">◑</button>
|
|
|
|
|
{% if user.is_authenticated %}
|
|
|
|
|
<span class="navbar-user">{{ user.username }}</span>
|
|
|
|
|
<a href="{% url 'settings' %}">Settings</a>
|
|
|
|
|
<form method="post" action="{% url 'logout' %}" class="inline-form">
|
|
|
|
|
{% csrf_token %}
|
|
|
|
|
<button type="submit" class="btn-link">Logout</button>
|
|
|
|
|
</form>
|
|
|
|
|
{% else %}
|
|
|
|
|
<a href="{% url 'login' %}">Login</a>
|
|
|
|
|
<a href="{% url 'register' %}">Register</a>
|
|
|
|
|
{% endif %}
|
|
|
|
|
</div>
|
|
|
|
|
</nav>
|
|
|
|
|
|
|
|
|
|
<main class="main-content">
|
|
|
|
|
{% if messages %}
|
|
|
|
|
<div class="messages">
|
|
|
|
|
{% for message in messages %}
|
|
|
|
|
<div class="message message-{{ message.tags }}">{{ message }}</div>
|
|
|
|
|
{% endfor %}
|
|
|
|
|
</div>
|
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
|
|
{% block content %}{% endblock %}
|
|
|
|
|
</main>
|
|
|
|
|
|
2026-03-19 21:35:41 +01:00
|
|
|
{% if BUILD_TIME %}<span class="build-time">{{ BUILD_TIME|slice:":16"|cut:"T" }}</span>{% endif %}
|
2026-03-19 13:39:59 +01:00
|
|
|
<script src="/static/js/jszip.min.js"></script>
|
|
|
|
|
<script src="/static/js/pdf.min.js"></script>
|
2026-03-16 19:19:22 +01:00
|
|
|
{% block extra_js %}{% endblock %}
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|