# Funkcje zawieszenia konta użytkownika

## Aktualnie zaimplementowane
- Administrator może zawiesić konto użytkownika na określony czas lub bezterminowo
- Administrator podaje powód zawieszenia
- Użytkownik otrzymuje email z informacją o zawieszeniu (z powodem i czasem)
- Użytkownik może się nadal logować do serwisu
- Zawieszony użytkownik NIE MOŻE:
  - Zmieniać nazwy użytkownika
  - Zmieniać adresu email
  - Modyfikować ustawień konta ogólnie
- Administrator może odwiesić konto
- Użytkownik po odwieszeniu otrzymuje email
- Historia zawieszeń/odwieszeń jest zapisywana w tabeli user_account_history
- Panel admin > Użytkownicy > Ustawienia pokazuje listę aktualnie zawieszonych graczy z opcją odwieszenia
- Panel admin > Wszyscy użytkownicy > "Zarządzaj użytkownikiem" umożliwia zawieszenie/odwieszenie
- Panel admin > Wszyscy użytkownicy > "Historia użytkownika" pokazuje pełną historię konta

## Planowane w przyszłości
### Zawieszony użytkownik NIE MOŻE (do implementacji):
- Brać udziału w meczach (dołączać do istniejących stołów/meczów)
- Tworzyć nowych stołów do gry
- Tworzyć turniejów
- Dołączać do lig
- Dokonywać transakcji/wpłat

### Zawieszony użytkownik MOŻE (zawsze dozwolone):
- Logować się do serwisu
- Przeglądać mecze innych graczy (tryb widza)
- Przeglądać tabele ligowe
- Przeglądać wyniki turniejów
- Przeglądać swój profil

### Techniczne TODO:
- Middleware sprawdzający zawieszenie przy każdym żądaniu dotyczącym meczów/stołów
- Integracja z systemem meczów: sprawdzenie `account_suspended` przed dołączeniem do meczu
- Integracja z systemem turniejów: sprawdzenie `account_suspended` przed zapisem do turnieju
- Integracja z systemem lig: sprawdzenie `account_suspended` przed dołączeniem do ligi
- Automatyczne wygasanie zawieszeń (cron job) dla zawieszeń z datą końcową
- Frontend: wyświetlanie banera informującego zawieszonych użytkowników o statusie ich konta
