feat(prezentacja): zakładka „Skompiluj” — zbiorczy raport (PRE-23) #31
Reference in New Issue
Block a user
Delete Branch "feat/pre23-compile-tab"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Czwarta wskazówka partnerów. Nowa zakładka składa w jedno trzy kawałki liczone
w różnych miejscach: policzony horoskop, interpretację natalną z AI i wszystkie
zapamiętane predykcje okresowe.
Układ raportu — dokładnie wg prośby
imię i nazwisko → wprowadzone dane → rysunek kosmogramu → interpretacja
natalna → predykcje okresowe. Test pilnuje tej kolejności: to jedyna rzecz,
którą łatwo przestawić przy refaktorze, a partnerzy podali ją wprost.
Skąd materiał
Horoskop liczymy tu na nowo z danych formularza, zamiast go zapamiętywać. To
czysta funkcja wejścia — tanio powtórzyć, a odpada trzymanie w przeglądarce dużego
wyniku, który mógłby się rozjechać z aktualnym formularzem.
Interpretacja natalna — nowy
natal.js, odpowiednikpredictions.js. Natalnajest jedna (dotyczy momentu urodzenia, nie okresu), więc ponowne wygenerowanie
podmienia slot zamiast dokładać wpis.
Predykcje — z magazynu z PRE-22.
compile.jsczyta magazyny przez ich API (window.astrololoNatal/astrololoPredictions), a nie sięgając wprost do localStorage — format danych majednego właściciela: moduł, który je zapisuje. Test tego pilnuje.
Zakładka mówi, czego brakuje
Panel gotowości z trzema pozycjami i podpowiedzią, na której zakładce uzupełnić.
Bez tego użytkownik złożyłby niekompletny raport i dowiedział się o tym dopiero
po otwarciu PDF-a.
Bezpieczeństwo
Treść od modelu jest eskejpowana przed wstawieniem do DOM — to tekst
z zewnątrz, więc bez tego mielibyśmy wektor wstrzyknięcia.
Weryfikacja na żywej aplikacji
Dwie predykcje zapisane w Kalendarzu → natalna w Interpretacjach → obie odczytane
na Skompiluj (panel: brak horoskopu na żółto, dwa pozostałe na zielono) → po
złożeniu wszystkie trzy zielone, raport zaczyna się od „Jan Kowalski".
Kolejność sekcji sprawdzona na wyrenderowanym HTML: nagłówek 2931 < dane 3033
< kosmogram 3158 < natalna 26544 < predykcje 26575.
16 nowych testów. Poprawiłem też trzy własne, które łapały nazwy plików
w komentarzach zamiast w tagach skryptów. Całość: prezentacja 117 passed.
Zostaje ostatni punkt
PRE-24 — PDF przez LaTeX jako osobna usługa
render. Zakładka jest gotowa,dojdzie do niej przycisk generowania.