Logi zmian
Przegląd funkcjonalności, usprawnień i poprawek. Skorzystaj z filtrów po miesiącach, typach wpisów i wyszukiwarki.
170
Suma wpisów
67
Nowe możliwości
68
Lepszy UX/Wydajność
26
Błędy usunięte
Tydzień 16, 13 kwi — 19 kwi
Rezerwacje uslug: wybor dnia i slotu, potwierdzenie oraz zapis do kalendarza
Produkty rezerwacyjne otrzymaly dedykowany przeplyw: zamiast dodawania do koszyka klient wybiera dzien i wolny slot, zapisuje rezerwacje i trafia na osobna strone potwierdzenia. Rezerwacja zapisuje sie w kalendarzu aplikacji, moze synchronizowac sie z Google Calendar oraz pozwala dodac termin do wlasnego kalendarza Google.
Zamowienia rezerwacyjne: status Nowe i automatyczne Zakonczone po terminie
Panel zamowien rozpoznaje teraz rezerwacje jako osobny typ procesu. Nowe rezerwacje startuja od statusu "Nowe", po dacie wizyty automatycznie przechodza na "Zakonczone", a w tabeli i podgladzie pokazywana jest prawidlowa data uslugi oraz metoda rozliczenia "Na miejscu".
Galeria produktu: szybsze miniatury, zoom i wiekszy modal
Przebudowano galerie na kartach produktow i stronie szczegolow: miniatury laduja lzejsze warianty obrazow, klikniecie miniatury przelacza glowny podglad, aktywne zdjecie otwiera slider od wybranego kadru, a sam modal zostal znacznie powiekszony na tabletach i desktopie. Dodano tez powiekszenie zdjec oraz dalsze optymalizacje LCP i lazy-load szczegolnie na mobile.
Ceny promocyjne i historia Omnibus na produktach
Wprowadzono pelna obsluge cen promocyjnych z historia zmian i najnizsza cena z 30 dni przed obnizka. Panel admina, listing, karta produktu, koszyk i checkout pokazuja juz rozbicie na cene regularna, promocyjna, poziom rabatu oraz informacje Omnibus zgodnie z ustawieniami produktu.
Produkty personalizowane i stany magazynowe z domyslnym limitem
Dodano nowy typ "Fizyczne personalizowane" z odpowiednim oznaczeniem na karcie produktu oraz obsluga zalacznika od klienta tylko dla tego typu pozycji. Rownolegle wdrozono stany magazynowe dla towarow, domyslny limit 999 przy braku wartosci, blokady ilosci w koszyku oraz automatyczne zmniejszanie stanu po oplaconym zamowieniu.
Google Calendar dla rezerwacji: lepsza diagnostyka i stabilniejsza synchronizacja
Rozszerzono integracje rezerwacji z Google Calendar: panel konfiguracji pokazuje czytelniejsze komunikaty o bledach, wspiera konto serwisowe, lepiej waliduje Calendar ID i rozpoznaje brak dostepu do kalendarza. Po ponownym podlaczeniu integracji synchronizacja jest tez poprawniej aktywowana i raportowana uzytkownikowi.
Base i Google Merchant Center: sterowanie darmowa dostawa per produkt
Na produktach pojawila sie osobna opcja przekazywania do Super Merchant Center w Base wraz z wymuszeniem darmowej dostawy. Dla takich produktow feedy eksportuja odpowiednie flagi, a koszyk i checkout nie pozwalaja naliczyc kosztu wysylki - zamiast wyboru przewoznika klient widzi informacje, ze dostawa jest darmowa, a firma dobierze metode wysylki.
Sklep i strona glowna: nowe sekcje, filtry oraz czytelniejsze wyniki
Rozbudowano widok sklepu i home o sekcje produktow w przedsprzedazy i promocji, sortowanie alfabetyczne, szybkie filtry po promocjach i przedsprzedazy, prezentacje aktywnych filtrow oraz liczbe wynikow na tle calej oferty. Niedostepne produkty pozostaja widoczne, ale trafiaja na koniec listy, a wyroznione siatki dostaly wieksze karty i lepsze odstepy.
Wlasny silnik SMTP do wysylki e-maili zamiast MailerSend
System pocztowy zostal przepisany na wlasny mechanizm SMTP dzialajacy bezposrednio po stronie aplikacji. Dodano nowe pola konfiguracji serwera pocztowego w panelu administracyjnym, zabezpieczono ich ukrywanie po stronie publicznej i podlaczono nowa wysylke do automatyzacji oraz endpointow e-mailowych.
Teksty sekcji strony edytowalne z panelu konfiguracji
Najwazniejsze naglowki i opisy na stronie glownej, w portfolio, sekcji "O nas" oraz w hero sliderze zostaly wyprowadzone do konfiguracji. Administrator moze teraz zarzadzac tym contentem bez recznej edycji kodu, a frontend korzysta z fallbackow, jesli ktoras wartosc pozostanie pusta.
Checkout: tylko realnie skonfigurowane platnosci i jasna informacja o braku integracji
Usunieto mylace pokazywanie PayU jako aktywnej metody przy braku pelnej konfiguracji. Checkout wyswietla teraz tylko faktycznie dostepne platnosci, a gdy system nie ma jeszcze skonfigurowanej bramki, klient dostaje komunikat, ze zakupy online sa chwilowo niedostepne.
Tydzień 15, 06 kwi — 12 kwi
Nowa warstwa sklepu i kategorii: odswiezony listing, home i taxonomie
Wiosenna wersja sklepu przyniosla duza aktualizacje warstwy frontendowej: dopracowano listing produktow, strony kategorii i sekcje strony glownej, poprawiono widoki sliderow, podglad wyszukiwania oraz SEO i sitemap dla taksonomii. Zmiany porzadkuja architekture sklepu i przygotowuja grunt pod kolejne funkcje sprzedazowe.
Tydzień 7, 09 lut — 15 lut
Produkt: widoczność nagłówków w opisach
Zwiększono czytelność nagłówków w opisach produktów: doprecyzowano hierarchię (H2/H3), wzmocniono kontrast i rozmiary, ujednolicono odstępy oraz zachowanie w trybie mobilnym, co poprawia skanowalność treści.
Karty produktów: przeniesienie chipów na podgląd
Etykiety (chipy) przeniesiono bezpośrednio na podgląd produktu/obrazu, dzięki czemu statusy i atrybuty są lepiej widoczne. Uporządkowano układ, zwiększono kontrast i zapewniono poprawną responsywność oraz dostępność.
Sklep: filtry po lewej i dopracowany widok listy produktów
Przebudowano layout widoku sklepu: panel filtrów został przeniesiony na lewą kolumnę (sticky na desktopie), siatka kart produktów otrzymała czytelniejsze odstępy i lepszą responsywność.
Karty produktów: poprawione wyświetlanie i płynne animacje
Ujednolicono wymiary obrazów, dodano subtelne animacje hover/focus (0.2–0.3s), wzmocniono kontrast cen i badge’y oraz zoptymalizowano lazy‑load, aby uniknąć migotania.
Ostatnio oglądane: minimum 4 pozycje i stabilny render
Sekcja ostatnio oglądanych pokazuje się tylko przy co najmniej 4 pozycjach (inaczej jest ukryta), zachowując porządek najnowsze → najstarsze oraz pomijając aktualnie oglądany produkt.
MiniCart: poprawiona widoczność i zachowanie
Naprawiono nakładanie i z‑index, dodano zamykanie klawiszem ESC, poprawiono focus‑trap i responsywność (mobile/desktop), co eliminuje przypadki „znikającego” koszyka.
GTM page_view: poprawne wywołanie przy paginacji
Dodano emitowanie page_view po zmianie strony listy produktów (paginacja, zmiana query/hash), z aktualnym page_location i page_title, bez podwójnych eventów.
Tydzień 49, 01 gru — 07 gru
Bestsellery (< 4 produkty): wyśrodkowanie siatki
Gdy produktów jest mniej niż 4, kontener siatki centruje karty, dzięki czemu nie przyklejają się do lewej krawędzi.
Admin: stały link „Strona główna” w prawym górnym rogu (layout)
Dodano widoczny w prawym górnym rogu przycisk „Strona główna” na stronach panelu administracyjnego. Link jest osadzony w layoucie widoków (m.in. /admin, /admin-finance, /admin-config, /portfolio-admin), dzięki czemu jest dostępny we wszystkich zakładkach, w tym na /admin?tab=0.
Admin (Tablica): nagłówek i opisy nie były widoczne na /admin?tab=0
Pierwsza zakładka w /admin renderowała wyłącznie komponent „DashboardView”, przez co nie wyświetlał się nagłówek i opisy z „AdminHeader”. Dodano renderowanie „<AdminHeader type='Tablica'/>” przed dashboardem w definicji zakładek, co przywraca pełny opis sekcji Tablica.
Deploy/PM2: konflikt portów (EADDRINUSE :::3000) — wymuszenie jednego portu
Na serwerze Next uruchamiał się na 3001, a jednocześnie próbowano nasłuchiwać na 3000 (EADDRINUSE). Zmieniono skrypt startowy tak, by zawsze uruchamiać Next na porcie z env PORT (domyślnie 3001). Zaktualizowano również fallback hosta w API Swagger i w generatorze sitemap, aby używały PORT, eliminując konflikty. (historyczny wpis — później domyślny port zmieniono na 3000, patrz wpis z 2025‑12‑02: „WWW 503”.)
WWW 503 (Apache proxy) — zgranie portu: domyślnie 3000
Serwer Apache (proxy) przekazywał ruch na 127.0.0.1:3000, a aplikacja startowała na 3001, co skutkowało 503 Service Unavailable. Ustalono domyślny port aplikacji na 3000 w skrypcie startowym (można nadpisać PORT). Zaktualizowano również fallback porty w Swagger API i generatorze sitemap do 3000. Po deployu/PM2 restart — strona www działa poprawnie.
Deploy/PM2: MODULE_NOT_FOUND start.js — powrót do „next start”
Na serwerze PM2 uruchamiał "node src/scripts/start.js", a w niektórych wdrożeniach plik nie był dostępny w ścieżce roboczej, co skutkowało MODULE_NOT_FOUND. Zmieniono skrypt npm start na standardowe "next start" (Next honoruje PORT i domyślnie używa 3000). Rozwiązanie eliminuje zależność od niestandardowego pliku startowego i naprawia błąd uruchomienia.
Social: „Dołącz do społeczności” — pokazuj tylko skonfigurowane linki
Sekcja SocialNewsletter filtruje teraz linki społecznościowe na podstawie konfiguracji klienta. Wartości puste, N/D ("__NA__"/"N/D") lub niepoprawne URL-e są ignorowane, dzięki czemu wyświetlane są wyłącznie faktycznie ustawione kanały. Dodatkowo normalizowane są adresy bez protokołu (dodawane https://).