# Changelog – Racibórz Biz (katalog firm)

Zasady numeracji:
- zmiana (nowa funkcja, większa modyfikacja): podnosimy o **0.1** (np. 0.5 → 0.6),
- korekta (poprawka błędu, drobna zmiana): podnosimy ostatnią cyfrę o **0.0.1** (np. 0.5 → 0.5.1 → 0.5.2).

## v0.9 – 2026-10-05
Zmiany:
- Scraper pobiera dodatkowe dane z Google: status działalności (czynna, zamknięta tymczasowo, zamknięta na stałe), średnia ocena i liczba opinii, poziom cen, krótki opis Google, dodatkowe godziny (np. kuchnia, dostawa) oraz udogodnienia (piwo, wino, ogródek, muzyka na żywo, dostawa, na wynos, płatności kartą, parking, dostępność dla wózków i inne).
- Firmy zamknięte na stałe są automatycznie ukrywane w katalogu (można je przywrócić ręcznie w panelu). Dla firm zamkniętych tymczasowo strona pokazuje odpowiednią plakietkę.
- Nowy tryb scrapera `--odswiez`: uzupełnia i odświeża dane Google dla firm już w bazie (jedno zapytanie na firmę).
- Strona firmy: ocena z gwiazdką i linkiem do opinii w Google Maps, poziom cen, opis Google (gdy firma nie ma własnego opisu, z podaniem źródła), sekcja „Udogodnienia” pogrupowana tematycznie, dodatkowe godziny. Karty firm na listach pokazują ocenę.
- Panel: blok „Dane z Google” (tylko do odczytu) przy edycji firmy oraz znaczniki zamknięcia i oceny na liście firm.
- Ocena z Google może być wyłączona opcją `'oceny_google' => false` w sekcji `site` w `config.php`.
- Zabezpieczenie scrapera: jeśli Google odrzuci dodatkowe pola, scraper wraca do pól podstawowych, a zadanie się nie wysypuje.

Pliki: `v0.9.sql` (baza), `scraper/google_places.py`, `includes/google.php` (nowy), `includes/public.php`, `wizytowka.php`, `assets/katalog.css`, `panel/firma.php`, `panel/index.php`, `panel/style.css`, `CHANGELOG.md`.

## v0.8 – 2026-10-04
Zmiany:
- Strona firmy: interaktywna mapa (Leaflet + OpenStreetMap) w miejscu dotychczasowej grafiki nad nazwą. Mapę można przybliżać i przesuwać (przewijanie kółkiem działa dopiero po kliknięciu w mapę, żeby nie blokować przewijania strony).
- Pinezka w kolorze marki z okienkiem informacji (otwartym od razu): nazwa, kategoria, adres, telefon (link do połączenia), strona www, godziny otwarcia na dziś i link „Wyznacz trasę”.
- Firmy bez współrzędnych: statyczna mapa po adresie (bez okienka na pinezce); bez adresu: grafika jak wcześniej.
- Własne zdjęcie firmy (jeśli jest) pokazuje się niżej na stronie, w sekcji „Zdjęcie”. Usunięta osobna mapa obok godzin otwarcia.

Pliki: `wizytowka.php`, `assets/katalog.css`, `CHANGELOG.md`.

## v0.7.1 – 2026-10-04
Korekta:
- Panel: wersja w adresie arkusza stylów (`style.css?v=…`), dzięki czemu przeglądarka zawsze pobiera aktualny wygląd (poprzednio mogła pokazywać starą szerokość i przyciski bez kolorów).
- Lista firm: przycisk „Usuń” (trwałe usunięcie zaznaczonych firm razem ze zdjęciami, z ostrzeżeniem i potwierdzeniem), odsunięty od pozostałych przycisków.
- Lista firm: większe odstępy między przyciskami zbiorczymi, telefony i daty nie łamią się na dwie linie.

Pliki: `panel/index.php`, `panel/style.css`, `includes/bootstrap.php`, `CHANGELOG.md`.

## v0.7 – 2026-10-04
Zmiany:
- Panel: ekran na pełną szerokość okna (formularze edycji mają ograniczoną szerokość, żeby pola nie rozciągały się bez sensu).
- Lista firm: pole wyboru przy każdym wpisie, „zaznacz wszystkie” w nagłówku (na bieżącej stronie), licznik zaznaczonych i podświetlenie wybranych wierszy.
- Lista firm: przyciski zbiorcze „Zatwierdź”, „Ukryj”, „Do usunięcia” oraz „Przywróć jako nowa” (zmieniają status wszystkich zaznaczonych firm naraz; „Do usunięcia” pyta o potwierdzenie).

Pliki: `panel/index.php`, `panel/style.css`, `CHANGELOG.md`.

## v0.6.1 – 2026-10-04
Korekta:
- Nowe kategorie: Stolarze, Krawcy i szwaczki, Tapicerzy, Myjnie samochodowe, Auto detailing, Bary, Kluby, Dyskoteki, Puby.

Pliki: `v0.6.1.sql` (baza), `CHANGELOG.md`.

## v0.6 – 2026-10-04
Zmiany:
- Menu publiczne: link „Logowanie” prowadzący do panelu (oznaczony `nofollow`, a `/panel/` pozostaje wyłączony w robots.txt).
- Logowanie: limit nieudanych prób osobno na adres IP (domyślnie 5 w 15 min) i na konto (10 w 15 min, z dowolnych adresów), z opóźnieniem po każdej błędnej próbie. Hasło jest sprawdzane także dla nieistniejącego loginu, więc czas odpowiedzi nie zdradza, czy konto istnieje.
- Weryfikacja dwuetapowa (2FA, kody TOTP z aplikacji typu Google Authenticator, Aegis, 2FAS), 8 jednorazowych kodów zapasowych, ochrona przed ponownym użyciem tego samego kodu.
- Nowa strona panelu „Bezpieczeństwo”: włączanie i wyłączanie 2FA, nowe kody zapasowe, zmiana hasła (min. 12 znaków), lista ostatnich nieudanych prób logowania.
- Sesja: wygasa po 30 min bezczynności lub po 8 godzinach, jest unieważniana przy zmianie przeglądarki; cookie z `SameSite=Strict`; nagłówki `X-Frame-Options`, `no-store`, `noindex` na stronach panelu.
- Opcje w `config.php` (sekcja `app`, wszystkie opcjonalne): `max_prob_na_konto`, `sesja_bezczynnosc_min`, `sesja_max_godzin`, `ip_naglowek`, `panel_ip_dozwolone`.

Pliki: `v0.6.sql` (baza), `includes/auth.php` (nowy), `includes/bootstrap.php`, `includes/public.php`, `panel/login.php`, `panel/bezpieczenstwo.php` (nowy), `CHANGELOG.md`.

## v0.5 – 2026-10-04
Zmiany:
- Strona główna: gdy nie ma własnego zdjęcia (`assets/hero.jpg`), pod półprzezroczystym panelem pojawia się wbudowana ilustracja stylizowanej panoramy miasta nad rzeką (`assets/hero-default.svg`, ma wariant jasny i ciemny). Własne zdjęcie ma pierwszeństwo.
- Kafelki kategorii: kolorowy pasek z lewej, plakietka z pierwszą literą nazwy, delikatny akcent w rogu, strzałka i uniesienie po najechaniu. Kolory kafelków zmieniają się w cyklu (teal, bursztyn, koral, fiolet, zieleń, błękit).

Pliki: `index.php`, `assets/katalog.css`, `assets/hero-default.svg`, `CHANGELOG.md`.

## v0.4 – 2026-10-04
Zmiany:
- Strona główna: zdjęcie Raciborza w tle sekcji z wyszukiwarką. Panel z tytułem i wyszukiwarką jest półprzezroczysty (rozmyte tło), a zdjęcie widać wokół i pod nim.
- Zdjęcie wgrywasz jako `assets/hero.jpg` (lub `.webp`, `.png`). Bez pliku strona wygląda jak wcześniej. Opcjonalny podpis/autor w `assets/hero-podpis.txt` (pokazuje się w rogu zdjęcia).

Pliki: `index.php`, `assets/katalog.css`, `CHANGELOG.md`.

## v0.3 – 2026-10-04
Zmiany:
- Numer wersji (np. v0.3) obok logo i nazwy strony w nagłówku oraz w stopce. Kliknięcie otwiera okno z listą zmian (na każdej podstronie). Treść okna jest czytana na żywo z `CHANGELOG.md`, a numer wersji bierze się z najnowszego wpisu.
- Stopka: „© 2026 Racibórz Biz – katalog firm by macabrismix”.

Pliki: `includes/public.php`, `assets/katalog.css`, `CHANGELOG.md`.

## v0.2 – 2026-10-04
Zmiany:
- Układ strony na pełną szerokość ekranu (usunięty limit 1120 px, marginesy skalują się z szerokością okna).
- Strona firmy: adres strony www wyświetlany bezpośrednio pod telefonem w danych kontaktowych.
- Strona firmy: mapa osadzona obok godzin otwarcia (OpenStreetMap, gdy firma ma współrzędne, w innym razie Google Maps po adresie). Na telefonie mapa przechodzi pod godziny.
- Kolumna danych kontaktowych nieco szersza (380 px).

Pliki: `wizytowka.php`, `assets/katalog.css`, `CHANGELOG.md`.

## v0.1 – 2026-10-04
Wersja startowa.
- Panel administracyjny (logowanie, firmy, kategorie i miasta, zgłoszenia RODO).
- Scraper Google Places z kolejką zadań.
- Publiczny katalog: strona główna, listy kategorii i miast, wyszukiwarka, wizytówki firm, dane strukturalne SEO, sitemap i robots.
- Zdjęcia firm z możliwością podmiany i zdjęcia domyślne kategorii.
- Formularz zgłoszeń RODO i szablon polityki prywatności.