From b7ab11d124abe582d7a45344e3bfc84f2c66094c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Gruszczy=C5=84ski?= Date: Thu, 28 Aug 2025 11:28:22 +0200 Subject: [PATCH] logo w navbarze lub tekst --- alters.txt | 22 +++++++- app.py | 16 +++++- templates/admin/ustawienia.html | 97 +++++++++++++++++++++++---------- templates/base.html | 22 +++++--- 4 files changed, 119 insertions(+), 38 deletions(-) diff --git a/alters.txt b/alters.txt index 75c9bd1..dc048b5 100644 --- a/alters.txt +++ b/alters.txt @@ -44,5 +44,25 @@ ALTER TABLE global_settings ADD COLUMN logo_url TEXT DEFAULT ''; ALTER TABLE global_settings ADD COLUMN site_title TEXT DEFAULT ''; ALTER TABLE global_settings ADD COLUMN show_logo_in_navbar BOOLEAN DEFAULT 0; + + COMMIT; -PRAGMA foreign_keys=ON; \ No newline at end of file +PRAGMA foreign_keys=ON; + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + +-- 1) Dodajemy nowe kolumny (SQLite pozwala tylko na ADD COLUMN) +ALTER TABLE global_settings ADD COLUMN navbar_brand_mode TEXT DEFAULT 'text'; +ALTER TABLE global_settings ADD COLUMN footer_brand_mode TEXT DEFAULT 'text'; +ALTER TABLE global_settings ADD COLUMN footer_text TEXT; + +-- 2) Backfill: zgodność wsteczna z show_logo_in_navbar +UPDATE global_settings +SET navbar_brand_mode = 'logo' +WHERE COALESCE(show_logo_in_navbar, 0) = 1; + +-- 3) Upewnij się, że wartości są ustawione (na wypadek NULL-i) +UPDATE global_settings +SET navbar_brand_mode = COALESCE(navbar_brand_mode, 'text'), + footer_brand_mode = COALESCE(footer_brand_mode, 'text'); \ No newline at end of file diff --git a/app.py b/app.py index ed70df4..9d5c3f7 100644 --- a/app.py +++ b/app.py @@ -88,7 +88,10 @@ class GlobalSettings(db.Model): logo_url = db.Column(db.String(255), nullable=True) site_title = db.Column(db.String(120), nullable=True) show_logo_in_navbar = db.Column(db.Boolean, default=False) - + show_logo_in_navbar = db.Column(db.Boolean, default=False) + navbar_brand_mode = db.Column(db.String(10), default="text") + footer_brand_mode = db.Column(db.String(10), default="text") + footer_text = db.Column(db.String(200), nullable=True) @login_manager.user_loader def load_user(user_id): @@ -479,7 +482,10 @@ def admin_ustawienia(): allowed_login_hosts = request.form.get("allowed_login_hosts") logo_url = request.form.get("logo_url") site_title = request.form.get("site_title") - show_logo_in_navbar = "show_logo_in_navbar" in request.form + navbar_brand_mode = request.form.get("navbar_brand_mode", "text") + footer_brand_mode = request.form.get("footer_brand_mode", "text") + footer_text = request.form.get("footer_text") or None + show_logo_in_navbar = (navbar_brand_mode == "logo") if settings is None: settings = GlobalSettings( @@ -489,6 +495,9 @@ def admin_ustawienia(): logo_url=logo_url, site_title=site_title, show_logo_in_navbar=show_logo_in_navbar, + navbar_brand_mode=navbar_brand_mode, + footer_brand_mode=footer_brand_mode, + footer_text=footer_text, ) db.session.add(settings) else: @@ -498,6 +507,9 @@ def admin_ustawienia(): settings.logo_url = logo_url settings.site_title = site_title settings.show_logo_in_navbar = show_logo_in_navbar + settings.navbar_brand_mode = navbar_brand_mode + settings.footer_brand_mode = footer_brand_mode + settings.footer_text = footer_text db.session.commit() flash("Ustawienia globalne zostały zaktualizowane", "success") diff --git a/templates/admin/ustawienia.html b/templates/admin/ustawienia.html index 3b7aed2..002a590 100644 --- a/templates/admin/ustawienia.html +++ b/templates/admin/ustawienia.html @@ -76,40 +76,81 @@ -
-
Branding
-
- -
- - -
Najlepiej transparentne, do 60px wysokości.
+ +
+
+

Branding

+ Logo i tytuły wyświetlane w menu i stopce +
+ +
+ +
+
+ + +
Transparentne, do ~60px wysokości.
+ {% if settings and settings.logo_url %} +
+ Logo preview +
+ {% endif %} +
+ +
+ + +
- -
- - +
+ + +
+
+
Menu (navbar)
+
+ + +
+
+ + +
+
Jeśli wybierzesz logo, użyjemy adresu z pola "Tytuł serwisu".
+
+ + +
+
Stopka
+
+ + +
+
+ + +
+ + + +
Pozostaw pusty, by użyć domyślnego.
+
- - -
- - -
- - {% if settings and settings.logo_url %} -
- Podgląd logo: - Logo preview -
- {% endif %}
+
Powrót diff --git a/templates/base.html b/templates/base.html index 429dd7d..a7b3631 100644 --- a/templates/base.html +++ b/templates/base.html @@ -13,11 +13,16 @@