Pomoc z rysunkami ekranow, kafelki na cala szerokosc, kalkulator na danych GUS i Eurostatu
Deploy Polska Lokalnie / deploy (push) Successful in 22s

Pomoc i kontakt:
- kanaly kontaktu wypelniaja szerokosc panelu (auto-fit zamiast czterech kolumn)
- FAQ podzielone na cztery moduly, 21 pytan, ze schematycznymi rysunkami ekranow
  (inline SVG w helpIllustrations.tsx - nie zrzuty, wiec nie dezaktualizuja sie)
- menu konta nie przykleja sie juz nad trescia na telefonie i tablecie

Kafelki wyboru:
- kolumna nie schodzi ponizej czytelnej szerokosci, podpisy lamia sie miedzy slowami
  zamiast po literach (bylo widoczne na monitorach ok. 1440 px)

Kalkulator zdolnosci kredytowej:
- rodzaj oprocentowania decyduje o buforze: 2,5 p.p. przy stalym, 5 p.p. przy zmiennym
  (wczesniej zawsze 2,5 p.p., co zawyzalo zdolnosc przy zmiennej stopie o ok. 100 tys. zl)
- nowy modul market: przecietne wynagrodzenie z GUS BDL i stopa rynku pienieznego 3M
  z Eurostatu, odswiezane co tydzien, publiczny GET /api/market-indicators
- prog wyzszego DStI i podpowiadane oprocentowanie licza sie z tych wskaznikow,
  z podpisem zrodla i okresu; brak danych = wartosci zapasowe

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-25 12:13:10 +02:00
parent cf02f480ed
commit d9819d0488
13 changed files with 1494 additions and 60 deletions
+172 -20
View File
@@ -6214,12 +6214,14 @@ a.city-card:hover {
gap: 12px 16px;
}
/* Jak w kreatorze wyceny: kolumna nie schodzi ponizej czytelnej szerokosci, a nadmiar
kafelkow przechodzi do kolejnego wiersza. */
.media-option-grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.amenities-option-grid {
grid-template-columns: repeat(5, minmax(0, 1fr));
grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.extra-option-grid label {
@@ -8106,10 +8108,13 @@ a.city-card:hover {
grid-template-columns: minmax(0, 1fr) max-content;
}
/* auto-fit z minimalna szerokoscia kolumny zamiast sztywnych pieciu: na wezszym monitorze
kafelki schodza do kolejnego wiersza, zamiast sciskac sie do kilkudziesieciu pikseli
i lamac podpisy po literach. */
.valuation-condition-grid {
display: grid;
gap: 18px;
grid-template-columns: repeat(5, minmax(0, 1fr));
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.valuation-condition-grid button {
@@ -8162,7 +8167,7 @@ a.city-card:hover {
.valuation-amenity-grid {
display: grid;
gap: 16px 18px;
grid-template-columns: repeat(5, minmax(0, 1fr));
grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.valuation-amenity-grid button {
@@ -8189,7 +8194,9 @@ a.city-card:hover {
font-size: 12px;
font-weight: 950;
line-height: 1.25;
overflow-wrap: anywhere;
/* `break-word`, nie `anywhere`: podpisy to krotkie nazwy, wiec maja sie lamac miedzy
slowami. `anywhere` rozbijalo "Ogrzewanie podlogowe" na pojedyncze litery. */
overflow-wrap: break-word;
white-space: normal;
}
@@ -12568,11 +12575,6 @@ a.city-card:hover {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.valuation-condition-grid,
.valuation-amenity-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.valuation-benefit-grid {
grid-template-columns: 1fr;
}
@@ -13257,9 +13259,7 @@ a.city-card:hover {
gap: 10px;
}
.extra-details-grid,
.media-option-grid,
.amenities-option-grid {
.extra-details-grid {
grid-template-columns: 1fr;
}
@@ -13338,11 +13338,6 @@ a.city-card:hover {
width: 100%;
}
.valuation-condition-grid,
.valuation-amenity-grid {
grid-template-columns: 1fr;
}
.valuation-toggle-wide {
max-width: none;
}
@@ -15807,10 +15802,12 @@ a.city-card:hover {
margin: 0 0 14px;
}
/* auto-fit zamiast sztywnych czterech kolumn: trzy kanaly kontaktu rozkladaja sie na cala
szerokosc panelu, zamiast zostawiac pusta kolumne po prawej. */
.help-contact-channel-grid {
display: grid;
gap: 12px;
grid-template-columns: repeat(4, minmax(0, 1fr));
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.help-contact-channel-card {
@@ -16046,6 +16043,153 @@ a.city-card:hover {
margin: 0 0 12px;
}
/* --- FAQ po modulach serwisu --------------------------------------------------------- */
.help-faq-group + .help-faq-group {
margin-top: 18px;
}
.help-faq-group h3 {
align-items: center;
color: #1d2f49;
display: flex;
font-size: 15px;
gap: 8px;
margin: 0 0 8px;
}
.help-faq-group h3 svg {
color: #10a15e;
font-size: 18px;
}
.help-faq-answer {
color: #60748c;
font-size: 12.5px;
font-weight: 740;
line-height: 1.5;
padding-bottom: 12px;
}
.help-faq-answer a {
color: #0f9c5b;
font-weight: 850;
}
/* --- Schematyczne rysunki ekranow (helpIllustrations.tsx) ----------------------------- */
.help-figure {
margin: 12px 0 0;
}
.help-figure-frame {
background: #f7f9fc;
border: 1px solid #e3eaf2;
border-radius: 10px;
overflow-x: auto;
padding: 10px;
}
.help-figure svg {
display: block;
height: auto;
min-width: 460px;
width: 100%;
}
.help-figure figcaption {
color: #7d8da2;
font-size: 11px;
font-weight: 800;
line-height: 1.4;
margin-top: 6px;
}
/* Kolory rysunkow - jeden zestaw dla wszystkich ilustracji. Globalna regula `svg` ustawia
fill:none i stroke:currentColor, wiec kazda klasa musi podac swoje wypelnienie. */
.hf-box {
fill: #ffffff;
stroke: #d8e1ec;
}
.hf-box.hf-active {
fill: rgba(16, 161, 94, 0.08);
stroke: #10a15e;
}
.hf-fill-active {
fill: #10a15e;
stroke: none;
}
.hf-fill-ok {
fill: #16a765;
stroke: none;
}
.hf-fill-wait {
fill: #e0a32e;
stroke: none;
}
.hf-photo {
fill: #e6ecf4;
stroke: none;
}
.hf-line {
fill: #cfd9e5;
stroke: none;
}
.hf-dot {
fill: #cfd9e5;
stroke: none;
}
.hf-dot-active {
fill: #10a15e;
stroke: none;
}
.hf-knob {
fill: #ffffff;
stroke: none;
}
.hf-arrow {
fill: none;
stroke: #9fb0c4;
stroke-width: 1.6;
}
.hf-title {
fill: #1d2f49;
font-size: 11px;
font-weight: 900;
stroke: none;
}
.hf-label {
fill: #5b6d84;
font-size: 10.5px;
font-weight: 800;
stroke: none;
}
.hf-label-sm {
fill: #7d8da2;
font-size: 9.5px;
font-weight: 800;
stroke: none;
}
.hf-text-active {
fill: #0f8f55;
}
.hf-text-white {
fill: #ffffff;
}
.help-contact-form-card form {
display: grid;
gap: 10px;
@@ -16116,7 +16260,7 @@ a.city-card:hover {
.help-contact-more-grid {
display: grid;
gap: 12px;
grid-template-columns: repeat(4, minmax(0, 1fr));
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.help-contact-more-card {
@@ -19678,6 +19822,14 @@ a.city-card:hover {
grid-template-columns: 1fr;
}
/* W jednej kolumnie menu konta stoi nad trescia. Przyklejenie (sticky) trzymalo je
przy gornej krawedzi i zaslanialo to, co pod nim - z klikniecia w tresc robil sie
skok do innej zakladki. */
.account-sidebar {
position: static;
top: auto;
}
.account-grid {
grid-template-columns: 1fr;
}