feat: add Facebook connection troubleshooting info in UI
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions

- Expandable help section on Integracje page explaining when connection
  may stop working (password change, app removal, role loss)
- Troubleshooting link on Social Publisher stats panel
- Actionable error message on failed posts pointing to Integracje

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Maciej Pienczyn 2026-02-19 16:07:05 +01:00
parent 8f689dd4b9
commit f8891d6f28
3 changed files with 22 additions and 1 deletions

View File

@ -502,6 +502,22 @@
Rozłącz
</button>
</div>
<details class="fb-connection-help" style="margin-top: 10px;">
<summary style="cursor: pointer; font-size: 0.82rem; color: var(--text-secondary); user-select: none;">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="width: 14px; height: 14px; vertical-align: -2px; margin-right: 4px;"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>
Kiedy połączenie może przestać działać?
</summary>
<div style="margin-top: 8px; padding: 10px 12px; background: var(--background); border-radius: var(--radius); font-size: 0.8rem; color: var(--text-secondary); line-height: 1.5;">
<p style="margin: 0 0 8px 0;"><strong>Połączenie może wymagać odnowienia, gdy:</strong></p>
<ul style="margin: 0 0 8px 0; padding-left: 18px;">
<li>Zmienisz hasło do konta Facebook</li>
<li>Usuniesz aplikację NordaBiz z ustawień Facebooka (Ustawienia &rarr; Aplikacje i strony)</li>
<li>Stracisz rolę administratora strony na Facebooku</li>
<li>Facebook zmieni zasady dostępu do API</li>
</ul>
<p style="margin: 0;"><strong>Co zrobić:</strong> Kliknij <em>Rozłącz</em>, następnie <em>Połącz konto</em> i ponownie wybierz stronę Facebook. Publikowanie postów i statystyki wrócą do normy.</p>
</div>
</details>
{% elif oauth_available.get('meta') %}
<div class="oauth-card-actions">
<button class="btn-oauth connect" onclick="connectOAuth('meta', 'facebook')">

View File

@ -298,6 +298,10 @@
{% if fb.last_checked_at %}
<div style="margin-top: var(--spacing-sm); font-size: 11px; opacity: 0.6;">Ostatnia synchronizacja: {{ fb.last_checked_at.strftime('%d.%m.%Y %H:%M') }}</div>
{% endif %}
<div style="margin-top: var(--spacing-sm); font-size: 11px; opacity: 0.5;">
Publikowanie nie działa? Zmiana hasła FB lub usunięcie aplikacji wymaga ponownego połączenia w
<a href="{{ url_for('auth.account_integrations') }}" style="color: white; text-decoration: underline;">Integracje</a>.
</div>
</div>
{% endfor %}
{% endif %}

View File

@ -482,7 +482,8 @@
{% elif post.status == 'approved' %}Zatwierdzony
{% elif post.status == 'scheduled' %}Zaplanowany
{% elif post.status == 'published' %}Opublikowany
{% elif post.status == 'failed' %}Błąd
{% elif post.status == 'failed' %}<span style="color: var(--error);">Błąd publikacji</span>
— sprawdź połączenie z Facebookiem w <a href="{{ url_for('auth.account_integrations') }}">Integracje</a>. Jeśli połączenie działa, kliknij "Spróbuj ponownie".
{% else %}{{ post.status }}{% endif %}
{% if post.creator %}
| <strong>Autor:</strong> {{ post.creator.name }}