release nouri 0.3 household sharing and mobile polish

This commit is contained in:
2026-04-12 13:15:33 +02:00
parent a4e7292930
commit b68ed62887
27 changed files with 1929 additions and 553 deletions
+2 -2
View File
@@ -5,12 +5,12 @@
<div class="auth-card">
<p class="eyebrow">Willkommen zurück</p>
<h1>Ruhig wieder einsteigen</h1>
<p class="lead">Nouri hilft beim Erinnern, Sichtbar-Machen und Planen. Ohne Zahlen, ohne Druck.</p>
<p class="lead">Nouri bleibt ein kleiner, freundlicher Ort für euren Alltag rund um Essen, Einkauf und Planung.</p>
<form method="post" class="stack-form">
{{ csrf_input() }}
<label>
Benutzername
Benutzername oder E-Mail
<input type="text" name="username" autocomplete="username" required>
</label>
<label>
+63
View File
@@ -0,0 +1,63 @@
{% extends "base.html" %}
{% block title %}Mein Profil | Nouri{% endblock %}
{% block content %}
<section class="page-intro">
<div>
<p class="eyebrow">Mein Profil</p>
<h1>{{ g.user.display_name or g.user.username }}</h1>
<p class="lead">Dein Zugang bleibt bewusst schlicht. Hier kannst du Namen, Login-Daten und Passwort pflegen.</p>
</div>
<div class="intro-pills">
<span class="status-pill">{{ role_labels[g.user.role] }}</span>
{% if g.user.household_name %}
<span class="status-pill status-soft">{{ g.user.household_name }}</span>
{% endif %}
</div>
</section>
<section class="two-column">
<article class="panel">
<div class="panel-head">
<h2>Basisdaten</h2>
</div>
<form method="post" class="stack-form">
{{ csrf_input() }}
<label>
Anzeigename
<input type="text" name="display_name" value="{{ g.user.display_name or '' }}" autocomplete="name">
</label>
<label>
Benutzername
<input type="text" name="username" value="{{ g.user.username }}" autocomplete="username" required>
</label>
<label>
E-Mail
<input type="email" name="email" value="{{ g.user.email or '' }}" autocomplete="email">
</label>
<button type="submit">Speichern</button>
</form>
</article>
<article class="panel">
<div class="panel-head">
<h2>Passwort ändern</h2>
</div>
<form method="post" action="{{ url_for('auth.change_password') }}" class="stack-form">
{{ csrf_input() }}
<label>
Aktuelles Passwort
<input type="password" name="current_password" autocomplete="current-password" required>
</label>
<label>
Neues Passwort
<input type="password" name="new_password" autocomplete="new-password" required>
</label>
<label>
Neues Passwort wiederholen
<input type="password" name="new_password_repeat" autocomplete="new-password" required>
</label>
<button type="submit">Passwort ändern</button>
</form>
</article>
</section>
{% endblock %}
+9 -1
View File
@@ -5,14 +5,22 @@
<div class="auth-card">
<p class="eyebrow">Erster Start</p>
<h1>Den ersten Haushalt-Zugang anlegen</h1>
<p class="lead">Danach könnt ihr die App gemeinsam nutzen. Die Daten bleiben lokal in dieser Installation.</p>
<p class="lead">Danach könnt ihr Nouri gemeinsam nutzen. Persönliche und gemeinsame Einträge lassen sich später ruhig auseinanderhalten.</p>
<form method="post" class="stack-form">
{{ csrf_input() }}
<label>
Haushaltsname
<input type="text" name="household_name" autocomplete="organization" placeholder="z. B. Zuhause">
</label>
<label>
Benutzername
<input type="text" name="username" autocomplete="username" required>
</label>
<label>
E-Mail
<input type="email" name="email" autocomplete="email" placeholder="Optional">
</label>
<label>
Anzeigename
<input type="text" name="display_name" autocomplete="name" placeholder="z. B. Heinz">