Tryb offline
ElectroBoard to progresywna aplikacja internetowa (PWA), więc po pierwszym odwiedzeniu może działać bez połączenia z internetem.
Jak to działa
Podczas pierwszej wizyty skrypt Service Worker zapisuje w pamięci podręcznej powłokę aplikacji oraz zasoby statyczne (HTML, CSS, JavaScript, czcionki, ikony). Po tym:
- Aplikacja ładuje się z pamięci podręcznej
- Projekty otwierają się z lokalnego magazynu przeglądarki (localStorage)
- Wszystkie zmiany są zapisywane lokalnie w czasie rzeczywistym
Jeśli spróbujesz otworzyć stronę, która nie została jeszcze zapisana w pamięci podręcznej (na przykład pierwsza próba otwarcia witryny bez sieci), zobaczysz stronę offline z przyciskiem Spróbuj ponownie.
Synchronizacja po powrocie do sieci
ElectroBoard używa systemu podwójnego zapisu: każdy zapis jest jednocześnie wykonywany w lokalnym magazynie przeglądarki oraz w chmurze (Supabase). Gdy jesteś offline, zmiany pozostają w lokalnym magazynie, a wskaźnik na pasku narzędzi może pokazywać 🔴 (brak połączenia z chmurą).
Po przywróceniu połączenia lokalne zmiany są automatycznie przesyłane do chmury. W przypadku wykrycia konfliktu (ten sam projekt został edytowany na innym urządzeniu), ElectroBoard nie nadpisuje Twoich zmian po cichu – wybierasz, którą wersję zachować.
⚠️ Ostrzeżenie: jeśli wyczyścisz dane przeglądarki (lokalny magazyn) przed synchronizacją, zmiany niezapisane w chmurze zostaną utracone.
Co działa offline
| Funkcja | Offline? |
|---|---|
| Otwieranie istniejących projektów | Tak |
| Edycja panelu, dodawanie urządzeń | Tak |
| Cofnij/Ponów | Tak |
| Eksport do PDF | Tak |
| Generowanie SLD | Tak |
| Tworzenie nowego projektu | Tak |
| Udostępnianie przez link | Nie (wymaga internetu) |
| Synchronizacja w chmurze | Nie (kolejkowane, synchronizowane po ponownym połączeniu) |
| Asystent AI | Nie (wymaga internetu) |
Zapisywanie do pliku
Aby zagwarantować przenośność offline, użyj pozycji „Zapisz .eboard” w menu projektu (kliknij nazwę projektu na pasku narzędzi), aby pobrać plik .eboard.
Bezpieczeństwo danych panelu
ElectroBoard chroni Twoje projekty w kilku przypadkach brzegowych. W dwóch pierwszych na górze edytora pojawia się pasek ostrzeżenia:
Panel zapisany przez nowszą wersję aplikacji. Jeśli otworzysz panel zapisany przez nowszą wersję ElectroBoard (na przykład zsynchronizowany z innego urządzenia, które już zostało zaktualizowane), otworzy się on tylko do odczytu. Możesz przeglądać i kopiować wartości, ale zmiany nie zostaną zapisane – starsza wersja nie może nadpisać nowszego formatu. Dla takiego panelu wyłączone są także sprawdzenia i obliczenia: starsza wersja nie zna reguł, według których panel został zbudowany, dlatego zamiast fałszywych wyników panel sprawdzeń pokazuje „Sprawdzenia niedostępne” z wyjaśnieniem. Przycisk „Zaktualizuj aplikację” natychmiast pobiera najnowszą wersję; po aktualizacji panel staje się ponownie edytowalny.
Uszkodzone dane panelu. Jeśli zapisane dane nie mogą zostać odczytane, ElectroBoard nie traci ich po cichu: przechowuje kopię zapasową uszkodzonych danych i otwiera nowy panel. Przycisk „Odrzuć i zacznij od nowa” potwierdza działanie i ponownie włącza zapisywanie. Jeśli kopia zapasowa nie mogła zostać zapisana (na przykład z powodu pełnego magazynu), osobna linia informuje o tym.
Nie udało się otworzyć projektu. Jeśli projektu nie udało się wczytać (na przykład przerwało się połączenie), edytor, strona eksportu i strona etykiet pokazują panel „Nie udało się otworzyć projektu”: żadne zmiany nie zostały wprowadzone. Przycisk „Spróbuj ponownie” ponawia wczytywanie, „Wróć do projektów” wraca do listy.
Pierwsza konfiguracja
Tryb offline aktywuje się po pierwszej wizycie online. Skrypt Service Worker automatycznie zapisuje aplikację w pamięci podręcznej w tle.