- 3e4687e fix(game, ui): system trybów akcji jednostek + spójny system ikon i stanów disabled, zakończenie wojny (2026-03-31 22:31:51 +0200)
- wprowadzenie panelu trybów ataku (attack-modes-panel):
- obsługa wielu trybów (ostrzał główny, przeciwlotniczy, torpedy, sonar)
- dynamiczne generowanie trybów przez backend (attackModes)
- uporządkowanie logiki wyboru trybu ataku
- refaktoryzacja systemu akcji jednostek:
- ujednolicenie podejścia do canUse*/can* (single source of truth)
- rozdzielenie logiki akcji (canJump) od komunikatów (tooltipy)
- poprawa spójności między UI a backendem
- wprowadzenie systemu stanów UI:
- dodanie klasy .disabled dla zablokowanych akcji
- wizualne oznaczenie: opacity + cursor not-allowed
- zachowanie interakcji (tooltip zamiast blokady pointer-events)
- poprawa UX tooltipów:
- dynamiczne komunikaty zależne od przyczyny blokady
- eliminacja niespójności (UI vs logika akcji)
- przebudowa systemu ikon:
- wprowadzenie spójnego stylu ikon (okrąg + kolor tła + symbol)
- rozdzielenie kategorii (atak, budowa, transport, utility)
- uproszczenie ikon do stylu systemowego (bez nadmiaru detali)
- nowe ikonki:
- łączenie jednostek (węzeł + rozdzielone liny)
- załadunek na barkę desantową (statek + strzałka)
- budowa (cegły jako uniwersalny symbol akcji budowy)
- poprawa spójności wizualnej:
- ujednolicenie tła ikon między stanem default i hover
- eliminacja różnic kontrastu między stanami
- wprowadzenie zasady: hover zmienia stan, nie styl
- poprawki CSS:
- centrowanie panelu trybów względem przycisku
- poprawa hover area (utrzymanie panelu po najechaniu)
- uporządkowanie klas .attack-mode, .disabled, .unit-actions
- przygotowanie pod dalszą rozbudowę:
- skalowalny system akcji (engineer, paratrooper, naval)
- możliwość łatwego dodawania nowych trybów bez zmian w UI
- poprawa logiki liczenia stolic i warunku zakończenia wojny:
- naprawa zliczania dzielnic stolic po tactical_data_id
- usunięcie błędnego fallbacku opartego o owner_type=system
- poprawa warunku continue_battle
- eliminacja przypadków, w których wojna nie kończyła się mimo zniszczenia stolicy
- migracja klasyfikacji generalnej do systemu ranking:
- usunięcie bodyRow na rzecz nth-child
- dostosowanie do ranking-5
- ujednolicenie layoutu z pozostałymi rankingami
- 7df4465 console.log (2026-03-29 22:43:41 +0200)
- a1fa3bb refactor(units): dołączenie tactical_data do zapytań i przeniesienie capability jednostek (2026-03-29 22:42:17 +0200)
- dodanie joinów do tactical_data w baseUnitQuery
- wykorzystanie capability zamiast pól under_water i field_artillery
- uproszczenie logiki backendu i eliminacja zbędnych zapytań
- przygotowanie pod usunięcie legacy pól z tabeli units
- f0ee84a fix(battle): poprawne przypisywanie nation dla jednostek systemowych (2026-03-28 12:31:38 +0100)
- dodanie fallbacku nation na podstawie tactical_data_id
- obsługa miast systemowych bez rekordu w players
- naprawa błędu null nation w systemie walki
- umożliwienie niszczenia miast (stolic)