chore: release version 0.5.1
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
from flask import Flask
|
||||
@@ -22,6 +23,12 @@ def create_app(config_class: type[Config] = Config) -> Flask:
|
||||
app = Flask(__name__, static_folder="static", template_folder="templates")
|
||||
app.config.from_object(config_class)
|
||||
|
||||
manifest_path = Path(app.root_path).parent / "CloudronManifest.json"
|
||||
try:
|
||||
app.config["APP_VERSION"] = json.loads(manifest_path.read_text(encoding="utf-8")).get("version", "0.0.0")
|
||||
except FileNotFoundError:
|
||||
app.config["APP_VERSION"] = "0.0.0"
|
||||
|
||||
app.config["DATA_DIR"].mkdir(parents=True, exist_ok=True)
|
||||
app.config["UPLOAD_FOLDER"].mkdir(parents=True, exist_ok=True)
|
||||
|
||||
@@ -66,6 +73,7 @@ def create_app(config_class: type[Config] = Config) -> Flask:
|
||||
|
||||
return {
|
||||
"app_name": app.config["APP_NAME"],
|
||||
"app_version": app.config["APP_VERSION"],
|
||||
"nav_items": [
|
||||
("tasks.my_tasks", "Meine Aufgaben", "house"),
|
||||
("tasks.all_tasks", "Alle", "list"),
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
--font-body: "InterLocal", system-ui, sans-serif;
|
||||
--font-heading: "SpaceGroteskLocal", "InterLocal", sans-serif;
|
||||
--safe-bottom: max(24px, env(safe-area-inset-bottom));
|
||||
--mobile-nav-space: 138px;
|
||||
--body-radial-a: rgba(181, 210, 255, 0.85);
|
||||
--body-radial-b: rgba(255, 221, 196, 0.48);
|
||||
--body-linear-start: #f8fbff;
|
||||
@@ -147,7 +148,9 @@ p {
|
||||
|
||||
.page-shell {
|
||||
min-height: 100vh;
|
||||
padding: 24px 18px calc(100px + var(--safe-bottom));
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 24px 18px calc(var(--mobile-nav-space) + var(--safe-bottom));
|
||||
}
|
||||
|
||||
.topbar {
|
||||
@@ -179,6 +182,26 @@ p {
|
||||
display: grid;
|
||||
gap: 24px;
|
||||
min-width: 0;
|
||||
flex: 1 0 auto;
|
||||
}
|
||||
|
||||
.app-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
padding: 18px 0 8px;
|
||||
color: var(--muted);
|
||||
font-size: 0.88rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.app-footer a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.app-footer span {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.panel,
|
||||
|
||||
@@ -40,7 +40,6 @@
|
||||
<label class="checkbox">{{ form.remember_me() }} <span>Angemeldet bleiben</span></label>
|
||||
{{ form.submit(class_="button button--wide") }}
|
||||
</form>
|
||||
<p class="inline-note">Demo-Logins nach dem Seeden: `anna@putzliga.local` / `putzliga123` und `ben@putzliga.local` / `putzliga123`.</p>
|
||||
{% if registration_open %}
|
||||
<p class="inline-note">Es gibt noch keinen Nutzer. <a href="{{ url_for('auth.register') }}">Ersten Account anlegen</a></p>
|
||||
{% else %}
|
||||
|
||||
@@ -86,6 +86,12 @@
|
||||
|
||||
{% block content %}{% endblock %}
|
||||
</main>
|
||||
|
||||
<footer class="app-footer">
|
||||
<a href="https://git.hnz.io/hnzio/putzliga/releases" target="_blank" rel="noreferrer">Version {{ app_version }}</a>
|
||||
<span>·</span>
|
||||
<a href="https://hnz.io" target="_blank" rel="noreferrer">(c) 2026 @hnz.io</a>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user