--- phase: 89-allegro-info-page plan: 01 type: execute wave: 1 depends_on: ["88-01"] files_modified: [routes/web.php, src/Modules/Info/InfoController.php, resources/views/info/allegro.php, resources/views/layouts/public.php] autonomous: false delegation: off --- ## Goal Utworzenie publicznej podstrony informacyjnej `/info` wymaganej przez Allegro w nagłówku User-Agent. Strona musi prezentować cel i opis aplikacji orderPRO dla administratorów zewnętrznych. ## Purpose Allegro wymaga w User-Agent URL do strony informacyjnej aplikacji. Strona musi istnieć pod adresem skonfigurowanym w ALLEGRO_USER_AGENT_URL (domyślnie https://orderpro.pl/info). ## Output Publiczna strona `/info` bez wymagania logowania, z opisem aplikacji orderPRO. ## Project Context @.paul/PROJECT.md @.paul/ROADMAP.md @.paul/STATE.md ## Prior Work @.paul/phases/88-allegro-user-agent/88-01-SUMMARY.md — User-Agent header z URL do tej strony ## Source Files @routes/web.php — routing (publiczne trasy bez middleware) @src/Modules/Auth/AuthController.php — wzorzec kontrolera publicznej strony @resources/views/layouts/auth.php — layout publicznych stron (bez sidebara) ## AC-1: Strona /info dostepna publicznie ```gherkin Given uzytkownik niezalogowany When odwiedza /info w przegladarce Then widzi strone informacyjna o aplikacji orderPRO (bez przekierowania na login) ``` ## AC-2: Tresc strony zgodna z wymaganiami Allegro ```gherkin Given administrator zewnetrzny (np. Allegro) odwiedza strone /info When czyta zawartosc Then widzi: nazwe aplikacji, opis celu dzialania, informacje o integracji z Allegro API, dane kontaktowe ``` ## AC-3: Strona wyglada profesjonalnie ```gherkin Given uzytkownik odwiedza /info When strona sie laduje Then widzi czysty, profesjonalny layout (bez sidebara/nawigacji aplikacji, minimalistyczny design) ``` Task 1: Kontroler i routing strony /info src/Modules/Info/InfoController.php, routes/web.php 1. Utworzyc `src/Modules/Info/InfoController.php`: - Klasa `final class InfoController` w namespace `App\Modules\Info` - Metoda `show(Request $request): Response` - Renderowanie widoku `info/allegro` z layoutem `layouts/public` - Przekazac do widoku: APP_NAME, APP_VERSION z getenv() 2. W `routes/web.php`: - Dodac `use App\Modules\Info\InfoController;` - Utworzyc instancje `$infoController = new InfoController($template);` - Dodac route BEZ middleware: `$router->get('/info', [$infoController, 'show']);` - Umiescic blisko innych publicznych tras (login, health) Route /info zdefiniowana bez authMiddleware w routes/web.php AC-1 satisfied: strona /info dostepna bez logowania Task 2: Layout publiczny i widok strony informacyjnej resources/views/layouts/public.php, resources/views/info/allegro.php 1. Utworzyc `resources/views/layouts/public.php`: - Minimalistyczny layout HTML5 (bez sidebara, nawigacji, ani elementow aplikacji) - Meta viewport dla mobile - Inline style lub link do istniejacego CSS (uzyc minimalnych styli) - Sekcja `` na tresc 2. Utworzyc `resources/views/info/allegro.php`: - Tresc strony informacyjnej: - **Nazwa aplikacji:** orderPRO - **Wersja:** dynamicznie z przekazanej zmiennej - **Opis:** "orderPRO to aplikacja do zarzadzania zamowieniami z wielu kanalow sprzedazy (Allegro, sklepy internetowe). Umozliwia centralne przetwarzanie zamowien, generowanie etykiet przewozowych i sledzenie przesylek." - **Integracja z Allegro:** "Aplikacja korzysta z Allegro REST API do importu zamowien, zarzadzania przesylkami oraz synchronizacji statusow." - **Kontakt:** email kontaktowy (uzyc zmiennej lub hardcode) - Profesjonalny, minimalistyczny design - Jezyk strony: polski - Escape wszystkich zmiennych przez $e() Pliki istnieja: resources/views/layouts/public.php i resources/views/info/allegro.php AC-2 i AC-3 satisfied: tresc informacyjna i profesjonalny wyglad Publiczna strona /info z opisem aplikacji orderPRO 1. Uruchom aplikacje lokalnie 2. Odwiedz: http://localhost:8000/info (lub odpowiedni URL) 3. Sprawdz: strona laduje sie BEZ logowania 4. Sprawdz: widoczna nazwa aplikacji, opis, informacja o Allegro API 5. Sprawdz: wyglad profesjonalny i czytelny 6. Sprawdz: na mobile (zmniejsz okno) strona jest responsywna Type "approved" to continue, or describe issues to fix ## DO NOT CHANGE - src/Modules/Auth/* (system autoryzacji) - resources/views/layouts/app.php (layout aplikacji) - Istniejace publiczne trasy (login, health, cron) ## SCOPE LIMITS - Tylko jedna strona /info — bez podstron - Nie dodawac nowych zaleznosci CSS/JS - Nie tworzyc systemu CMS — statyczna tresc w widoku Before declaring plan complete: - [ ] GET /info zwraca 200 bez zalogowania - [ ] Strona zawiera nazwe, opis i informacje o Allegro API - [ ] Layout nie zawiera elementow aplikacji (sidebar, nawigacja) - [ ] Brak regresji w istniejacych trasach - Strona /info dostepna publicznie pod URL z User-Agent - Tresc zgodna z wymaganiami Allegro (cel aplikacji, dane kontaktowe) - Profesjonalny wyglad bez elementow wewnetrznych aplikacji After completion, create `.paul/phases/89-allegro-info-page/89-01-SUMMARY.md`