43 lines
1.5 KiB
HTML
43 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
|
<meta name="color-scheme" content="light dark">
|
|
<meta name="theme-color" content="#2f6f4e">
|
|
<title>Einkaufsliste</title>
|
|
|
|
<link rel="manifest" href="/manifest.webmanifest">
|
|
<link rel="icon" href="/icons/favicon.ico" sizes="any">
|
|
<link rel="icon" href="/icons/icon.svg" type="image/svg+xml">
|
|
<link rel="apple-touch-icon" href="/icons/apple-touch-icon.png">
|
|
<link rel="stylesheet" href="/app.css">
|
|
|
|
<!-- Ohne diese Zeile öffnet iOS die App vom Startbildschirm im Safari-Rahmen -->
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
<!-- Wird beim Start aus /api/config überschrieben. -->
|
|
<meta name="apple-mobile-web-app-title" content="Einkaufsliste">
|
|
</head>
|
|
<body>
|
|
<main id="app">
|
|
<p class="loading">Wird geladen …</p>
|
|
</main>
|
|
|
|
<noscript>
|
|
<p class="error">Diese App benötigt JavaScript.</p>
|
|
</noscript>
|
|
|
|
<!-- Außerhalb von #app: Die Ansichten tauschen nur den Inhalt von #app
|
|
aus, die Fußzeile bleibt dadurch überall stehen - auch auf der
|
|
Anmeldeseite und in der öffentlichen Listenansicht. -->
|
|
<footer class="app-footer">
|
|
<a href="/impressum.html">Impressum</a>
|
|
<span aria-hidden="true">·</span>
|
|
<a href="/datenschutz.html">Datenschutz</a>
|
|
</footer>
|
|
|
|
<script type="module" src="/js/app.js"></script>
|
|
</body>
|
|
</html>
|