release nouri 0.5.0 shopping rhythm pwa and reminders
This commit is contained in:
+30
-10
@@ -4,12 +4,20 @@
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{% block title %}Nouri{% endblock %}</title>
|
||||
<meta name="theme-color" content="#efab72">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
||||
<meta name="apple-mobile-web-app-title" content="Nouri">
|
||||
<meta name="csrf-token" content="{{ csrf_token_value }}">
|
||||
<meta name="nouri-push-public-key" content="{{ push_public_key }}">
|
||||
<link rel="icon" type="image/svg+xml" href="{{ url_for('static', filename='brand/favicon.svg') }}">
|
||||
<link rel="apple-touch-icon" href="{{ url_for('static', filename='brand/pwa-192.png') }}">
|
||||
<link rel="manifest" href="{{ url_for('webmanifest') }}">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/styles.css') }}">
|
||||
<script defer src="{{ url_for('static', filename='js/theme.js') }}"></script>
|
||||
<script defer src="{{ url_for('static', filename='js/planner.js') }}"></script>
|
||||
<script defer src="{{ url_for('static', filename='js/ui.js') }}"></script>
|
||||
<script defer src="{{ url_for('static', filename='js/pwa.js') }}"></script>
|
||||
</head>
|
||||
<body class="{% if g.user %}has-mobile-nav{% endif %}">
|
||||
<div class="page-shell">
|
||||
@@ -33,12 +41,13 @@
|
||||
<a href="{{ url_for('main.home_view') }}" class="{{ 'active' if request.endpoint == 'main.home_view' else '' }}"><span class="nav-link-inner"><span class="ui-icon icon-house"></span><span>Zuhause</span></span></a>
|
||||
<a href="{{ url_for('main.item_list', kind='food') }}" class="{{ 'active' if request.endpoint == 'main.item_list' and request.view_args and request.view_args.get('kind') == 'food' else '' }}"><span class="nav-link-inner"><span class="ui-icon icon-utensils"></span><span>Lebensmittel</span></span></a>
|
||||
<a href="{{ url_for('main.item_list', kind='meal') }}" class="{{ 'active' if request.endpoint == 'main.item_list' and request.view_args and request.view_args.get('kind') == 'meal' else '' }}"><span class="nav-link-inner"><span class="ui-icon icon-bowl-food"></span><span>Mahlzeiten</span></span></a>
|
||||
<a href="{{ url_for('main.template_library') }}" class="{{ 'active' if (request.endpoint or '').startswith('main.day_template') or (request.endpoint or '').startswith('main.week_template') or (request.endpoint or '').startswith('main.item_set') or request.endpoint == 'main.template_library' else '' }}"><span class="nav-link-inner"><span class="ui-icon icon-layer-group"></span><span>Vorlagen</span></span></a>
|
||||
<a href="{{ url_for('main.template_library') }}" class="{{ 'active' if (request.endpoint or '').startswith('main.day_template') or (request.endpoint or '').startswith('main.week_template') or (request.endpoint or '').startswith('main.item_set') or request.endpoint == 'main.template_library' else '' }}"><span class="nav-link-inner"><span class="ui-icon icon-leaf"></span><span>Vorlagen</span></span></a>
|
||||
<a href="{{ url_for('main.archive_view') }}" class="{{ 'active' if request.endpoint == 'main.archive_view' else '' }}"><span class="nav-link-inner"><span class="ui-icon icon-archive"></span><span>Archiv</span></span></a>
|
||||
</nav>
|
||||
|
||||
<div class="header-actions desktop-actions">
|
||||
<button class="theme-toggle ghost-button" type="button" data-theme-toggle>Modus</button>
|
||||
<a class="ghost-button" href="{{ url_for('main.settings_view') }}">Optionen</a>
|
||||
<a class="user-chip" href="{{ url_for('auth.profile') }}">
|
||||
<span class="user-chip-title">{{ g.user.display_name or g.user.username }}</span>
|
||||
<small>{{ role_labels[g.user.role] }}</small>
|
||||
@@ -71,6 +80,16 @@
|
||||
|
||||
{% block content %}{% endblock %}
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="footer-copy">
|
||||
<span>Version {{ app_version }}</span>
|
||||
<span>Made with <span class="ui-icon icon-heart"></span> in Göttingen</span>
|
||||
</div>
|
||||
<div class="footer-copy">
|
||||
<span>© 2026 <a href="https://hnz.io" target="_blank" rel="noreferrer">@ hnz.io</a></span>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
{% if g.user %}
|
||||
@@ -83,16 +102,17 @@
|
||||
</div>
|
||||
<button class="ghost-button" type="button" data-mobile-sheet-close>Schließen</button>
|
||||
</div>
|
||||
<nav class="mobile-sheet-links">
|
||||
<a href="{{ url_for('main.item_list', kind='food') }}">Lebensmittel</a>
|
||||
<a href="{{ url_for('main.item_list', kind='meal') }}">Mahlzeiten</a>
|
||||
<a href="{{ url_for('main.home_view') }}">Zuhause</a>
|
||||
<a href="{{ url_for('main.archive_view') }}">Archiv</a>
|
||||
<a href="{{ url_for('main.template_library') }}">Vorlagen</a>
|
||||
<a href="{{ url_for('auth.profile') }}">Profil</a>
|
||||
<nav class="mobile-sheet-links card-link-grid">
|
||||
<a class="menu-card" href="{{ url_for('main.item_list', kind='food') }}"><span class="ui-icon icon-utensils"></span><span>Lebensmittel</span></a>
|
||||
<a class="menu-card" href="{{ url_for('main.item_list', kind='meal') }}"><span class="ui-icon icon-bowl-food"></span><span>Mahlzeiten</span></a>
|
||||
<a class="menu-card" href="{{ url_for('main.home_view') }}"><span class="ui-icon icon-house"></span><span>Zuhause</span></a>
|
||||
<a class="menu-card" href="{{ url_for('main.archive_view') }}"><span class="ui-icon icon-archive"></span><span>Archiv</span></a>
|
||||
<a class="menu-card" href="{{ url_for('main.template_library') }}"><span class="ui-icon icon-leaf"></span><span>Vorlagen</span></a>
|
||||
<a class="menu-card" href="{{ url_for('main.settings_view') }}"><span class="ui-icon icon-sliders"></span><span>Optionen</span></a>
|
||||
<a class="menu-card" href="{{ url_for('auth.profile') }}"><span class="ui-icon icon-heart"></span><span>Profil</span></a>
|
||||
{% if g.user.role == 'admin' %}
|
||||
<a href="{{ url_for('admin.user_list') }}">Nutzerverwaltung</a>
|
||||
<a href="{{ url_for('admin.category_settings') }}">Kategorien</a>
|
||||
<a class="menu-card" href="{{ url_for('admin.user_list') }}"><span class="ui-icon icon-sparkles"></span><span>Nutzer</span></a>
|
||||
<a class="menu-card" href="{{ url_for('admin.category_settings') }}"><span class="ui-icon icon-seedling"></span><span>Kategorien</span></a>
|
||||
{% endif %}
|
||||
</nav>
|
||||
<div class="mobile-sheet-actions">
|
||||
|
||||
Reference in New Issue
Block a user