Autoryzacja, mapa i routing — warstwa techniczna AI-CARGO

Filip Borkowski, Backend/Frontend/Fullstack Engineer

Middleware — każda trasa chroniona

Zanim użytkownik zobaczy jakikolwiek panel, jego żądanie przechodzi przez middleware.js. Korzystamy z Supabase SSR: sesja odczytywana jest z ciasteczek, a jeśli token wygasł — odświeżany automatycznie. Niezalogowany użytkownik trafia na stronę logowania; zalogowany nie może wrócić na /login.

To podejście oznacza, że ochrona routingu jest scentralizowana w jednym miejscu — nie musimy dodawać sprawdzania sesji w każdym komponencie strony. Każda nowa trasa wewnątrz /dashboard/** jest automatycznie chroniona.

DEV_BYPASS — szybki dostęp bez Supabase

Podczas pracy lokalnej nieustanne logowanie przez Supabase spowalniało iteracje. Wprowadziliśmy DEV_BYPASS: zmienna środowiskowa DEV_BYPASS=true + specjalne hasło (AUTH_DEV_PASSWORD) pozwalają na natychmiastowe wejście do dashboardu bez konfigurowania konta w Supabase.

Mechanizm działa tylko po stronie serwera — klient widzi jedynie zmienną NEXT_PUBLIC_DEV_BYPASS, która jest ustawiana tylko w środowisku deweloperskim. W produkcji zmienna nie istnieje, więc obejście jest automatycznie wyłączone.

Mapa reagująca na motyw

Panel Mapa używa MapLibre GL JS z kafelkami CARTO. Gdy użytkownik przełącza motyw, mapa natychmiast zmienia styl bazowy: Positron (jasny) lub Dark Matter (ciemny). Kluczowy szczegół implementacyjny: markery muszą być ponownie dodane po zmianie stylu, bo setStyle() usuwa wszystkie warstwy.

Rozwiązanie: map.current.once('styledata', addMarkers) — funkcja addMarkers czeka na załadowanie nowego stylu, a dopiero potem nanosi punkty na mapę. Dzięki temu przełączenie motywu jest płynne i nie pozostawia mapy bez danych.

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