fix(ui): okno postępu nad mapą, nie pod nią #22

Merged
gitea merged 1 commits from fix/progress-modal-position into master 2026-07-23 12:26:34 +00:00
Owner

Okno postępu przy pisaniu horoskopu renderowało się pod kontrolkami mapy —
przyciski zoomu i atrybucja OSM przebijały przez zaciemnione tło modala. Wyglądało,
jakby mapa była na wierzchu okna.

Przyczyna

Leaflet trzyma swoje kontrolki (.leaflet-top / .leaflet-bottom — zoom,
atrybucja) na z-index:1000, a .leaflet-container nie tworzy własnego
kontekstu stackowania
(position:relative bez z-index). Żaden przodek mapy
też go nie tworzy (form, .geo, .geo-map, .wrap — same marginesy/ramki, bez
transform/opacity/z-index). W efekcie te 1000 trafia wprost do korzenia,
a okno postępu miało z-index:50 — czyli lądowało pod mapą.

Kafelki mapy były akurat zasłonięte poprawnie (Leaflet nadaje transform
.leaflet-map-pane, co domyka je we własnym kontekście), ale kontrolki są jego
rodzeństwem i uciekały na wierzch.

Poprawka

Jedna wartość: z-index okna 50 → 1200 (zapas nad 1000).

Weryfikacja

Odtworzone w przeglądarce na prawdziwych arkuszach (leaflet.css + styles.css),
nie na zmyślonym CSS:

  • runtime, elementFromPoint w punkcie kontrolek zoomu: przed = na wierzchu
    element mapy („MAPA PRZYKRYWA MODAL"), po = na wierzchu overlay („MODAL NA
    WIERZCHU"
    );
  • wizualnie: przyciski +/− i © OSM przed poprawką jasne na wierzchu okna,
    po — przygaszone pod modalem.

17 passed (prezentacja).

Kolejność merge'a

Odbite od aktualnego mastera (który ma już okno postępu z #19). Nie rusza
niczego z PRE-16
— PRE-16 nie edytuje styles.css, więc trójstronny merge
zachowa tę zmianę bez konfliktu niezależnie od kolejności. Można (i warto, zgodnie
z prośbą) zmergeować przed PR-ami TLS/szyfrowania (#21 i deploy #4).

Okno postępu przy pisaniu horoskopu renderowało się **pod** kontrolkami mapy — przyciski zoomu i atrybucja OSM przebijały przez zaciemnione tło modala. Wyglądało, jakby mapa była na wierzchu okna. ## Przyczyna Leaflet trzyma swoje kontrolki (`.leaflet-top` / `.leaflet-bottom` — zoom, atrybucja) na **`z-index:1000`**, a `.leaflet-container` **nie tworzy własnego kontekstu stackowania** (`position:relative` bez `z-index`). Żaden przodek mapy też go nie tworzy (`form`, `.geo`, `.geo-map`, `.wrap` — same marginesy/ramki, bez `transform`/`opacity`/`z-index`). W efekcie te `1000` trafia **wprost do korzenia**, a okno postępu miało `z-index:50` — czyli lądowało pod mapą. Kafelki mapy były akurat zasłonięte poprawnie (Leaflet nadaje `transform` `.leaflet-map-pane`, co domyka je we własnym kontekście), ale kontrolki są jego rodzeństwem i uciekały na wierzch. ## Poprawka Jedna wartość: `z-index` okna **50 → 1200** (zapas nad 1000). ## Weryfikacja Odtworzone w przeglądarce na **prawdziwych** arkuszach (`leaflet.css` + `styles.css`), nie na zmyślonym CSS: - **runtime, `elementFromPoint`** w punkcie kontrolek zoomu: przed = na wierzchu element mapy (*„MAPA PRZYKRYWA MODAL"*), po = na wierzchu overlay (*„MODAL NA WIERZCHU"*); - **wizualnie**: przyciski `+/−` i `© OSM` przed poprawką jasne na wierzchu okna, po — przygaszone pod modalem. `17 passed` (prezentacja). ## Kolejność merge'a Odbite od aktualnego mastera (który ma już okno postępu z #19). **Nie rusza niczego z PRE-16** — PRE-16 nie edytuje `styles.css`, więc trójstronny merge zachowa tę zmianę bez konfliktu niezależnie od kolejności. Można (i warto, zgodnie z prośbą) zmergeować **przed** PR-ami TLS/szyfrowania (#21 i deploy #4).
gitea added 1 commit 2026-07-23 12:24:49 +00:00
fix(ui): okno postepu nad mapa, nie pod nia
Testy / Testy warstwy logicznej (silnik) (pull_request) Successful in 10m48s
Testy / Testy warstwy prezentacji (dostęp do baz) (pull_request) Successful in 10m1s
Testy / Build obrazu silnika B (swisseph) (pull_request) Successful in 42s
Testy / Kontrola składni wszystkich warstw (pull_request) Successful in 32s
build / build (push) Successful in 1m16s
Testy / Testy warstwy logicznej (silnik) (push) Successful in 10m54s
Testy / Testy warstwy prezentacji (dostęp do baz) (push) Successful in 9m55s
Testy / Build obrazu silnika B (swisseph) (push) Successful in 39s
Testy / Kontrola składni wszystkich warstw (push) Successful in 23s
929b691238
Modal postepu przy pisaniu horoskopu renderowal sie POD kontrolkami mapy —
przyciski zoomu i atrybucja OSM przebijaly przez zaciemnione tlo okna.

Przyczyna: Leaflet trzyma kontrolki (.leaflet-top/.leaflet-bottom) na
z-index:1000, a .leaflet-container NIE tworzy wlasnego kontekstu stackowania
(position:relative bez z-index), wiec te 1000 trafia wprost do korzenia. Zaden
przodek mapy (form, .geo, .geo-map, .wrap) tez kontekstu nie tworzy. Okno
postepu mialo z-index:50 — czyli ladowalo pod mapa.

Poprawka: z-index okna 50 -> 1200 (zapas nad 1000). Jedna wartosc.

Zweryfikowane w przegladarce na PRAWDZIWYCH arkuszach (leaflet.css + styles.css):
- runtime elementFromPoint w punkcie kontrolek zoomu: przed = element mapy na
  wierzchu („MAPA PRZYKRYWA MODAL"), po = overlay na wierzchu („MODAL NA WIERZCHU"),
- wizualnie: kontrolki zoomu i © OSM przed poprawka jasne na wierzchu, po —
  przygaszone pod modalem.

Niezalezne od PRE-16 (nie rusza styles.css) — mozna zmergeowac przed nim.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gitea merged commit 929b691238 into master 2026-07-23 12:26:34 +00:00
gitea deleted branch fix/progress-modal-position 2026-07-23 12:26:35 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gitea/astrololo#22