Files
wyszynskiego12.pagedev.pl/wp-content/plugins/elementor-addon/assets/css/main.scss
Jacek Pyziak 972c69b136 feat(v0.1): historia cen + jawnosc cen — milestone Initial Release
Historia cen:
- Tabela wp_price_history z WP Cronem dziennym (snapshot cen)
- AJAX endpoint apartamenty_get_price_history (zabezpieczony nonce)
- Popup "Historia cen" w widgecie — vanilla JS, modal zgodny z projektem

Jawnosc cen:
- Endpointy /ceny-mieszkan.xml + /dane-gov-pl.xml (XSD-compliant)
- Pliki MD5 dla obu XML
- Strona admina: Narzedzia -> Jawnosc Cen z URL-ami do Ministerstwa
- Transient cache 1h z inwalidacja przez cron

Dokumentacja: docs/readme.md + docs/jawnosc-cen.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 15:40:29 +01:00

389 lines
7.2 KiB
SCSS

.apartaments {
.apartament-card {
&__wrapper {
position: relative;
width: 100%;
max-width: 1264px;
margin: 0 auto;
padding: 93px 126px 26px;
border: 4px solid #192c44;
@media (max-width: 992px) {
padding: 80px 70px 20px;
}
@media (max-width: 768px) {
padding: 0;
border: 0;
}
.apartament-card__title {
background: #192c44;
@media (min-width: 769px) {
position: absolute;
left: 50%;
top: 0;
transform: translateX(-50%);
}
@media (max-width: 768px) {
display: flex;
align-items: center;
justify-content: center;
margin: 0 25px 25px;
}
h2 {
color: #ffffff;
font-family: 'Barlow', sans-serif;
font-weight: 500;
font-size: 32px;
line-height: 1.3;
text-align: center;
margin: 0;
padding: 5px 70px 8px;
min-width: max-content;
@media (max-width: 768px) {
font-size: 24px;
}
}
}
.apartament-card__gallery {
position: relative;
line-height: 0;
margin-bottom: 17px;
@media (max-width: 768px) {
margin-bottom: 26px;
}
.swiper-button-prev {
left: 0;
transform: translateX(calc(-100% - 30px));
width: 43px;
height: 119px;
@media (max-width: 768px) {
width: 27px;
height: 70px;
transform: none;
left: 8px;
svg {
path {
fill: #fff;
}
}
}
}
.swiper-button-next {
right: 0;
transform: translateX(calc(100% + 30px));
width: 43px;
height: 119px;
@media (max-width: 768px) {
width: 27px;
height: 70px;
transform: none;
right: 8px;
svg {
path {
fill: #fff;
}
}
}
}
img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}
}
.apartament-card__info {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 26px;
margin-bottom: 15px;
@media (max-width: 768px) {
grid-template-columns: 1fr;
margin-left: 25px;
margin-right: 25px;
}
.apartament-card__info_col1 {
border: 4px solid #192c44;
padding: 25px 10% 10px;
table,
tr,
td {
border: none;
padding: 0;
margin: 0;
background: transparent;
}
table {
tr {
&.apartament-card__status {
td {
span {
position: relative;
display: inline-block;
&::before {
content: '';
position: absolute;
inset: 0 -8px;
z-index: -1;
}
&.available {
&::before {
background: #c1e8a8;
}
}
&.reserved {
&::before {
background: #f4eba8;
}
}
&.sold {
&::before {
background: #f54040;
}
}
}
}
}
&.apartament-card__price-history {
.apartament-card__info_table-value {
font-weight: 600;
font-size: 14px;
line-height: 26px;
display: inline-flex;
width: 100%;
align-items: center;
gap: 7px;
padding-top: 10px;
cursor: pointer;
svg {
margin-bottom: 4px;
}
}
}
td {
width: 50%;
color: #192c44;
font-family: 'Barlow', sans-serif;
font-weight: 400;
font-size: 22px;
line-height: 1.2;
}
}
}
}
.apartament-card__info_col2 {
border: 4px solid #192c44;
padding: 25px 10% 10px;
align-content: center;
.card__info_col2__img {
margin-bottom: 40px;
img {
width: 100%;
max-width: fit-content;
}
}
.card__info_col2__data {
a {
color: #192c44;
font-family: 'Barlow', sans-serif;
font-weight: 600;
font-size: 14px;
line-height: 1.8;
display: inline-flex;
justify-content: center;
align-items: center;
gap: 7px;
width: 100%;
cursor: pointer;
svg {
margin-bottom: 4px;
}
}
}
}
}
.apartament-card__desc {
@media (max-width: 768px) {
margin-left: 25px;
margin-right: 25px;
}
p {
color: #192c44;
font-family: 'Barlow', sans-serif;
font-weight: 500;
font-size: 20px;
line-height: 1.05;
}
ul {
padding: 0;
margin: 0;
list-style: none;
li {
position: relative;
padding-left: 25px;
color: #192c44;
font-family: 'Barlow', sans-serif;
font-weight: 400;
font-size: 20px;
line-height: 30px;
&::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 9px;
height: 13px;
background-image: url('/wp-content/uploads/2026/03/Polygon-2.svg');
background-position: center;
background-size: contain;
background-repeat: no-repeat;
}
}
}
}
}
}
}
// Historia cen — popup overlay
.price-history-overlay {
display: none;
position: fixed;
inset: 0;
z-index: 99999;
background: rgba(25, 44, 68, 0.55);
align-items: center;
justify-content: center;
padding: 20px;
&.is-open {
display: flex;
}
}
.price-history-modal {
position: relative;
background: #fff;
border: 4px solid #192c44;
padding: 32px 36px 28px;
max-width: 560px;
width: 100%;
font-family: 'Barlow', sans-serif;
color: #192c44;
@media (max-width: 600px) {
padding: 24px 20px 20px;
}
&__close {
position: absolute;
top: 14px;
right: 14px;
background: none;
border: 2px solid #192c44;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
padding: 0;
line-height: 1;
}
&__title {
font-size: 22px;
font-weight: 700;
margin: 0 0 18px;
padding-right: 40px;
color: #192c44;
}
&__current {
margin-bottom: 16px;
}
&__row {
display: flex;
justify-content: space-between;
font-size: 18px;
line-height: 1.5;
color: #192c44;
&--bold {
font-weight: 700;
}
}
&__val {
text-align: right;
}
&__table-wrap {
border-top: 1px solid #192c44;
padding-top: 12px;
margin-top: 4px;
max-height: 40vh;
overflow-y: auto;
}
&__table {
width: 100%;
border-collapse: collapse;
tr {
border: none;
background: transparent;
td {
padding: 4px 0;
font-size: 15px;
color: #192c44;
font-family: 'Barlow', sans-serif;
font-weight: 400;
border: none;
background: transparent;
&:last-child {
text-align: right;
}
&:nth-child(2) {
text-align: center;
}
}
}
}
}