diff --git a/blueprints/public/routes.py b/blueprints/public/routes.py
index bf151a2..8adc336 100644
--- a/blueprints/public/routes.py
+++ b/blueprints/public/routes.py
@@ -1557,6 +1557,12 @@ def release_notes():
return render_template('release_notes.html', releases=releases, stats=stats)
+@bp.route('/zainstaluj-aplikacje')
+def pwa_install():
+ """Instrukcja instalacji PWA na telefonie."""
+ return render_template('pwa_install.html')
+
+
@bp.route('/robots.txt')
def robots_txt():
"""Robots.txt for search engine crawlers."""
@@ -1591,5 +1597,11 @@ def sitemap_xml():
Nie otrzymales emaila weryfikacyjnego?
Nie masz konta? Zarejestruj sie
+ + + {% endblock %} diff --git a/templates/base.html b/templates/base.html index addcd97..a3fc479 100755 --- a/templates/base.html +++ b/templates/base.html @@ -1272,6 +1272,109 @@ vertical-align: middle; } + /* ============================================================ + * PWA INSTALL BANNER (mobile-only) + * ============================================================ */ + .pwa-smart-banner { + display: none; + position: fixed; + bottom: 0; + left: 0; + right: 0; + background: var(--surface); + border-top: 1px solid var(--border); + box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1); + padding: 12px 16px; + z-index: 9999; + align-items: center; + gap: 12px; + transform: translateY(100%); + transition: transform 0.3s ease; + } + + .pwa-smart-banner.visible { + transform: translateY(0); + } + + .pwa-smart-banner-icon { + width: 40px; + height: 40px; + border-radius: 10px; + overflow: hidden; + flex-shrink: 0; + } + + .pwa-smart-banner-icon img { + width: 100%; + height: 100%; + object-fit: cover; + } + + .pwa-smart-banner-text { + flex: 1; + min-width: 0; + } + + .pwa-smart-banner-text strong { + display: block; + font-size: var(--font-size-sm); + color: var(--text-primary); + } + + .pwa-smart-banner-text span { + font-size: 12px; + color: var(--text-secondary); + } + + .pwa-smart-banner-action { + background: var(--primary); + color: white; + border: none; + border-radius: 20px; + padding: 8px 16px; + font-size: var(--font-size-sm); + font-weight: 600; + font-family: var(--font-family); + cursor: pointer; + text-decoration: none; + white-space: nowrap; + flex-shrink: 0; + } + + .pwa-smart-banner-close { + background: none; + border: none; + color: var(--text-secondary); + cursor: pointer; + padding: 4px; + flex-shrink: 0; + line-height: 1; + } + + /* Footer PWA link — mobile only */ + .footer-pwa-link { + display: none; + } + + @media (max-width: 768px) { + .pwa-smart-banner { + display: flex; + } + .footer-pwa-link { + display: block; + } + } + + /* Hide banner in standalone (already installed) */ + @media (display-mode: standalone) { + .pwa-smart-banner { + display: none !important; + } + .footer-pwa-link { + display: none !important; + } + } + {% block extra_css %}{% endblock %} @@ -1791,6 +1894,7 @@ Tablica B2B NordaGPT {% endif %} + 📱 Zainstaluj aplikację + + + diff --git a/templates/pwa_install.html b/templates/pwa_install.html new file mode 100644 index 0000000..b436b51 --- /dev/null +++ b/templates/pwa_install.html @@ -0,0 +1,529 @@ +{% extends "base.html" %} + +{% block title %}Zainstaluj aplikację - Norda Biznes Partner{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} +Norda Biznes Partner na ekranie Twojego telefonu
+Instrukcja instalacji jest przeznaczona dla urządzeń mobilnych. Wejdź na nordabiznes.pl/zainstaluj-aplikacje w przeglądarce na swoim telefonie.
+