Komunikacja Realtime, Mapa etykiety, Parametry logiki

Filip Borkowski, Backend/Frontend/Fullstack Engineer

Mapa — etykiety, filtry i historia trasy

Nowe etykiety pojazdów na mapie

Markery pojazdów otrzymały nowy design etykiet w formie prostokątnych ramek z TAG firmy (ciemne tło) i numerem rejestracyjnym (białe tło). Etykiety automatycznie rozmieszczają się tak, aby nie nachodziły na siebie — w gęstych skupiskach ukrywane są mniej istotne etykiety (widoczne po najechaniu kursorem). Linie odnośników łączą etykiety z symbolami pojazdów, a algorytm zapobiega ich wzajemnemu przecinaniu.

Filtry typów pojazdów i statusu ruchu

  • Pojazdy (ciężarówki i ciągniki) — domyślnie włączone
  • Naczepy i Kontenery — domyślnie wyłączone
  • W ruchu (zielona kropka) — filtruje pojazdy z włączonym silnikiem
  • Stoi (szara kropka) — filtruje pojazdy z wyłączonym silnikiem

Historia trasy z przełącznikiem

Po kliknięciu pojazdu dane historii trasy (3 dni) ładują się automatycznie w tle. Obok przełącznika widoczny jest status: „Wczytywanie...", „Gotowe" lub „Brak danych". Trasa wyświetlana jest na mapie dopiero po włączeniu toggle — domyślnie widok jest wyłączony.

Kierowca na etykiecie i w popupie

Pod numerem rejestracyjnym na etykiecie wyświetla się imię i nazwisko aktualnie zalogowanego kierowcy. Dane pobierane są z GBOX API na podstawie numeru karty tachografu (cardNo). Nowy endpoint /api/gbox/drivers skanuje bazę kierowców GBOX i mapuje karty na nazwiska. Kierowca widoczny jest również w popupie i panelu szczegółów pojazdu.

Popup pojazdu — TAG podmiotu

Popup po kliknięciu markera wyświetla w nagłówku TAG podmiotu (np. UTB, TSR) zamiast generycznego „Pojazd" — dane pobierane z tabeli entities w Supabase.

Strona Zlecenia — kontakty i akcje

Wyszukiwarka kontaktów pracowników

Na stronie zlecenia kierowcy dodano wyszukiwarkę kontaktów z bazy pracowników firmy. Można szukać po nazwisku, stanowisku lub numerze telefonu, a następnie bezpośrednio zadzwonić lub wysłać SMS.

Przycisk „Dodaj Akcję" przy każdym kroku TimeLine

Każdy status na osi czasu zlecenia ma teraz przycisk dodania akcji — nie tylko aktywny krok, ale wszystkie etapy.

Historia trasy — checkboxy per dzień

Zamiast jednego przełącznika ON/OFF dla całej historii trasy, każdy dzień ma teraz osobny checkbox z kolorowym wskaźnikiem. Użytkownik może selektywnie włączać i wyłączać poszczególne dni. Naprawiono wyświetlanie daty (wcześniej „Invalid Date"). Pasek statusu na liście pojazdów pokazuje teraz „26 aktywnych połączeń" z zieloną animacją.

Fleet — status pojazdu z GPS

Kolumna Status w tabeli Park Maszyn pobiera teraz dane bezpośrednio z GPS (engineOn) — tak samo jak na Mapie. Aktywny pojazd oznaczony jest zieloną kropką z prędkością w km/h, nieaktywny szarą. Puste komórki tabeli wyświetlają czerwone migające „Brak danych".

WorkDesk — TAG podmiotu i kontrahent

Karty pojazdów w obszarze roboczym WorkDesk wyświetlają TAG podmiotu (np. UTB, TSR). Karty zleceń zawierają teraz kontrahenta w nagłówku.

Agent Query API

Nowy endpoint /api/agent/query umożliwia zunifikowany dostęp do wszystkich danych — 26 tabel Supabase (z filtrami, joinami, paginacją) oraz dane GPS z GBOX (pozycje, kierowcy, historia trasy).

Komunikacja — kanały i wiadomości w czasie rzeczywistym

Kanały komunikacyjne przeniesione z localStorage do Supabase. Wiadomości DM i kanałowe są teraz widoczne natychmiast u wszystkich użytkowników dzięki Supabase Realtime. Subskrypcje nasłuchują na 3 tabelach: internal_messages, channel_messages i channels. Naprawiono dostarczanie wiadomości do odbiorców — dynamiczny ID użytkownika zamiast zahardkodowanego identyfikatora DEV_BYPASS.

Mapa — nowy design etykiety pojazdu

Etykieta pojazdu na mapie otrzymała nowy prostokątny design: lewa część zawiera TAG podmiotu wyświetlany pionowo (litera pod literą, np. U/T/B) na czarnym tle, prawa część podzielona jest poziomo na numer rejestracyjny (góra) i nazwisko kierowcy (dół).

Parametry logiki — auto-layout diagramów

Diagramy w panelu Parametry logiki automatycznie rozmieszczają węzły z równymi odstępami. Algorytm oblicza wysokość poddrzewa każdego elementu i centruje go względem dzieci. Przycisk „Wyrównaj" w prawym górnym rogu resetuje pozycje do optymalnego układu.

Więcej artykułów

Naprawa OCR cron, dropdown statusu, animacje tabeli zleceń

Naprawa crona OCR, dropdown statusu z ustawieniami, logika Przetwarzanie AI → in Planing, animacje pulsacji wierszy i wykrzykniki brakujących danych.

Czytaj więcej

Akordeonowy widok korespondencji email i poprawki WorkDesk

Nowy wątkowy widok emaili z animowanymi akordeonami, podgląd treści wiadomości, poprawki WorkDesk i Biblioteki danych.

Czytaj więcej