added favicon
@ -24,3 +24,8 @@ class Config:
|
|||||||
|
|
||||||
# Optional: absolute Pfade, falls du später Docker o.ä. nutzt
|
# Optional: absolute Pfade, falls du später Docker o.ä. nutzt
|
||||||
# CONFIG_DIR = os.path.join(os.path.dirname(__file__), 'configs')
|
# CONFIG_DIR = os.path.join(os.path.dirname(__file__), 'configs')
|
||||||
|
|
||||||
|
APP_NAME = "MK Sound & Control"
|
||||||
|
APP_NAME_SHORT = "MKSC" # für Tab-Titel, wenns kurz sein soll
|
||||||
|
APP_VERSION = "0.9.β"
|
||||||
|
APP_DESCRIPTION = "Websteuerung für MouldKing MK4/MK6-Hubs mit Soundboard"
|
||||||
|
|||||||
|
After Width: | Height: | Size: 100 KiB |
BIN
other/favicon.zip
Normal file
BIN
static/favicon/apple-touch-icon.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
static/favicon/favicon-96x96.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
static/favicon/favicon.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
17
static/favicon/favicon.svg
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
21
static/favicon/site.webmanifest
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"name": "MK Sound & Control",
|
||||||
|
"short_name": "MKSC",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "/web-app-manifest-192x192.png",
|
||||||
|
"sizes": "192x192",
|
||||||
|
"type": "image/png",
|
||||||
|
"purpose": "maskable"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "/web-app-manifest-512x512.png",
|
||||||
|
"sizes": "512x512",
|
||||||
|
"type": "image/png",
|
||||||
|
"purpose": "maskable"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"theme_color": "#950000",
|
||||||
|
"background_color": "#8a0000",
|
||||||
|
"display": "standalone"
|
||||||
|
}
|
||||||
BIN
static/favicon/web-app-manifest-192x192.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
static/favicon/web-app-manifest-512x512.png
Normal file
|
After Width: | Height: | Size: 188 KiB |
@ -3,22 +3,31 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<title>{% block title %}Mould King Control{% endblock %}</title>
|
<meta name="description" content="{{ config.APP_DESCRIPTION|default('MouldKing Modelle steuern & Sounds abspielen') }}">
|
||||||
|
<title>{{ config.APP_NAME }} – {{ title|default('Steuerung') }}</title>
|
||||||
|
|
||||||
<!-- Bootstrap 5.3 CSS CDN -->
|
<link rel="icon" href="{{ url_for('static', filename='favicon/favicon.ico') }}" sizes="any">
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
|
<link rel="icon" href="{{ url_for('static', filename='favicon/icon.svg') }}" type="image/svg+xml">
|
||||||
rel="stylesheet"
|
<link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='favicon/apple-touch-icon.png') }}">
|
||||||
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
|
<link rel="icon" type="image/png" sizes="32x32" href="{{ url_for('static', filename='favicon/favicon-32x32.png') }}">
|
||||||
crossorigin="anonymous">
|
<link rel="icon" type="image/png" sizes="16x16" href="{{ url_for('static', filename='favicon/favicon-16x16.png') }}">
|
||||||
|
<link rel="manifest" href="{{ url_for('static', filename='favicon/site.webmanifest') }}">
|
||||||
|
<meta name="theme-color" content="#950000">
|
||||||
|
|
||||||
<!-- highlight.js für Syntax-Highlighting in Logs -->
|
<!-- Bootstrap 5.3 CSS CDN -->
|
||||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/default.min.css') }}">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
|
||||||
<script src="{{ url_for('static', filename='js/highlight.min.js') }}"></script>
|
rel="stylesheet"
|
||||||
<script src="{{ url_for('static', filename='js/hljs-log.js') }}"></script>
|
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
|
||||||
<script>hljs.highlightAll();</script>
|
crossorigin="anonymous">
|
||||||
|
|
||||||
<!-- Eigenes CSS (optional – später erweitern) -->
|
<!-- highlight.js für Syntax-Highlighting in Logs -->
|
||||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/custom.css') }}">
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/default.min.css') }}">
|
||||||
|
<script src="{{ url_for('static', filename='js/highlight.min.js') }}"></script>
|
||||||
|
<script src="{{ url_for('static', filename='js/hljs-log.js') }}"></script>
|
||||||
|
<script>hljs.highlightAll();</script>
|
||||||
|
|
||||||
|
<!-- Eigenes CSS (optional – später erweitern) -->
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/custom.css') }}">
|
||||||
|
|
||||||
{% block head_extra %}{% endblock %}
|
{% block head_extra %}{% endblock %}
|
||||||
</head>
|
</head>
|
||||||
@ -39,24 +48,33 @@
|
|||||||
<a class="nav-link {% if request.path == url_for('main.index') %}active{% endif %}"
|
<a class="nav-link {% if request.path == url_for('main.index') %}active{% endif %}"
|
||||||
href="{{ url_for('main.index') }}">Home</a>
|
href="{{ url_for('main.index') }}">Home</a>
|
||||||
</li>
|
</li>
|
||||||
|
<!--
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link {% if 'control' in request.path %}active{% endif %}"
|
<a class="nav-link {% if 'control' in request.path %}active{% endif %}"
|
||||||
href="{{ url_for('main.index') }}">Steuerung</a>
|
href="{{ url_for('main.index') }}">Steuerung</a>
|
||||||
</li>
|
</li>
|
||||||
|
-->
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link {% if 'soundboard' in request.path %}active{% endif %}"
|
||||||
|
href="{{ url_for('main.soundboard') }}">Soundboard</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link {% if 'admin' in request.path %}active{% endif %}"
|
<a class="nav-link {% if 'admin' in request.path %}active{% endif %}"
|
||||||
href="{{ url_for('admin.admin') }}">Admin</a>
|
href="{{ url_for('admin.admin') }}">Admin</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link {% if 'soundboard' in request.path %}active{% endif %}"
|
|
||||||
href="{{ url_for('main.soundboard') }}">Soundboard</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<!-- Hauptinhalt -->
|
<!-- Hauptinhalt -->
|
||||||
|
<header>
|
||||||
|
<h1>{{ config.APP_NAME }}</h1>
|
||||||
|
<!-- oder als Logo + Slogan -->
|
||||||
|
</header>
|
||||||
|
|
||||||
<main class="flex-grow-1 py-4">
|
<main class="flex-grow-1 py-4">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
{% with messages = get_flashed_messages(with_categories=true) %}
|
{% with messages = get_flashed_messages(with_categories=true) %}
|
||||||
|
|||||||