Rezygnacja z bazy, przeniesienie danych do plików yamla

This commit is contained in:
dm
2025-12-15 06:30:39 +01:00
parent 00d6a57d74
commit 0b6bbbdce7
55 changed files with 3558 additions and 1545 deletions

View File

@@ -13,7 +13,8 @@
.f-chsearch__input {
@apply w-full md:flex-1 px-4 py-3 rounded-xl border border-[--f-input-border] bg-[--f-background] text-[--f-text] outline-none focus:ring-2 focus:ring-[--btn-background];
padding-right: 2.75rem; /* miejsce na X */
padding-right: 2.75rem;
/* miejsce na X */
}
.f-chsearch__clear {
@@ -88,22 +89,28 @@
}
/* klikalny pakiet jak link */
.f-chsearch__pkg {
@apply inline;
.f-chsearch-pkg {
@apply inline-flex items-center justify-center gap-2 font-semibold rounded-lg px-2 py-0 ml-2
text-base transition-all duration-200 cursor-pointer select-none
focus:outline-none focus-visible:ring-2 focus-visible:ring-[--f-header] focus-visible:ring-offset-2 focus-visible:ring-offset-[--f-background];
@apply border border-transparent bg-[--btn-background] text-[--btn-text];
/* @apply inline
text-xl;
background: transparent;
border: 0;
padding: 0;
cursor: pointer;
font: inherit;
color: var(--f-link, var(--btn-background));
text-decoration: underline;
text-decoration: underline; */
}
.f-chsearch__pkg:hover {
text-decoration-thickness: 2px;
.f-chsearch-pkg:hover {
@apply bg-[--btn-background-hover] text-[--btn-text-hover];
/* text-decoration-thickness: 2px; */
}
.f-chsearch__pkgnum {
.f-chsearch-pkgnum {
@apply opacity-70;
}
@@ -115,13 +122,13 @@
}
.f-chsearch__input::-webkit-search-cancel-button {
-webkit-appearance: none;
}
-webkit-appearance: none;
}
.f-chsearch__input::-ms-clear {
display: none;
}
.f-chsearch__input::-ms-clear {
display: none;
}
.f-chsearch__input[type="search"] {
appearance: none;
}
.f-chsearch__input[type="search"] {
appearance: none;
}

View File

@@ -5,7 +5,7 @@
}
.fuz-markdown p {
@apply mb-4 text-2xl;
@apply text-2xl;
}
.fuz-markdown h1 {
@@ -51,4 +51,10 @@
.fuz-markdown strong {
@apply font-semibold;
}
.f-hl {
padding: 0 .15em;
border-radius: .35em;
background: rgba(255, 215, 0, 0.35);
}

View File

@@ -93,30 +93,54 @@
}
/* ===========================
DODATKI — KOLUMNOWA LISTA
DODATKI — KOLUMNOWA LISTA (GRID)
checkbox: checkbox | main | price
quantity: slot | main | qty | price
=========================== */
.f-addon-list {
@apply flex flex-col gap-2;
}
/* BAZA: checkbox | main | price */
.f-addon-item {
@apply grid items-center gap-3 px-3 py-2 rounded-xl border cursor-pointer;
@apply grid items-start gap-3 px-3 py-2 rounded-xl border cursor-pointer;
grid-template-columns: auto 1fr auto;
border-color: rgba(148, 163, 184, 0.5);
background: var(--f-background);
}
.f-addon-item:hover {
border-color: color-mix(
in srgb,
var(--fuz-accent, #2563eb) 70%,
rgba(148, 163, 184, 0.5) 30%
);
}
.f-addon-item input[type="checkbox"] {
@apply cursor-pointer;
}
/* kolumna 1 */
.f-addon-checkbox {
@apply flex items-center justify-center;
align-items: center;
margin-top: 0.1rem;
}
.f-addon-checkbox input[type="checkbox"] {
width: 1.05rem;
height: 1.05rem;
transform: scale(1.05);
accent-color: var(--fuz-accent, #2563eb);
cursor: pointer;
}
/* kolumna 2 */
.f-addon-main {
@apply flex flex-col gap-0.5;
min-width: 0;
}
.f-addon-name {
@@ -127,18 +151,69 @@
@apply text-sm opacity-85;
}
/* kolumna 3 (cena) */
.f-addon-price {
@apply font-semibold whitespace-nowrap;
justify-self: end;
text-align: right;
min-width: 140px; /* stała kolumna cen */
}
.f-addon-item:hover {
border-color: color-mix(
in srgb,
var(--fuz-accent, #2563eb) 70%,
rgba(148, 163, 184, 0.5) 30%
);
/* suma pod ceną (quantity) */
.f-addon-price-total {
margin-top: 0.15rem;
font-size: 0.9em;
font-weight: 600;
opacity: 0.85;
white-space: nowrap;
color: var(--fuz-accent, #2563eb);
}
/* WARIANT: quantity -> slot | main | qty | price */
.f-addon-item--qty {
grid-template-columns: auto 1fr auto auto;
align-items: start;
}
/* “pusty” slot w kolumnie 1 (żeby wyrównać do checkboxa) */
.f-addon-item--qty .f-addon-checkbox {
visibility: hidden; /* zajmuje miejsce, ale nie widać */
width: 1.05rem;
height: 1.05rem;
transform: scale(1.05);
}
/* kolumna qty (3) bliżej prawej */
.f-addon-item--qty .f-addon-qty {
justify-self: end;
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-top: 0.05rem;
}
/* wartość qty */
.f-addon-qty-value {
min-width: 2ch;
text-align: center;
}
/* mobile: w razie ciasnoty przenosimy qty pod main, cena zostaje po prawej */
@media (max-width: 640px) {
.f-addon-item--qty {
grid-template-columns: auto 1fr auto;
grid-template-areas:
"slot main price"
"slot qty price";
}
.f-addon-item--qty .f-addon-checkbox { grid-area: slot; }
.f-addon-item--qty .f-addon-main { grid-area: main; }
.f-addon-item--qty .f-addon-qty { grid-area: qty; justify-self: start; }
.f-addon-item--qty .f-addon-price { grid-area: price; }
}
/* ===========================
PODSUMOWANIE MIESIĘCZNE
=========================== */
@@ -246,3 +321,13 @@
font-size: 1rem;
}
}
.f-addon-price-total {
margin-top: 0.15rem;
font-size: 0.9em;
font-weight: 600;
opacity: 0.85;
white-space: nowrap;
color: var(--fuz-accent, #2563eb);
}

View File

@@ -20,7 +20,7 @@
.f-mobile-menu {
@apply fixed right-4 bg-[--f-background] border border-[--f-border-color] p-4 flex flex-col gap-2 opacity-0 scale-95 -translate-y-2 pointer-events-none transition duration-200 divide-y divide-[--f-border-color];
top: calc(var(--f-navbar-height, 64px) + 0.75rem);
top: calc(var(--f-navbar-height, 84px) + 0.75rem);
width: 18rem;
max-width: calc(100vw - 2rem);
z-index: 70;

View File

@@ -1,5 +1,5 @@
.f-switches-wrapper {
@apply flex flex-wrap justify-center gap-6;
@apply flex flex-wrap justify-center gap-6 mb-4;
}
.f-switch-group {

View File

@@ -2,25 +2,16 @@
@apply my-6;
}
/* GRID FLEX — zawsze centrowany */
.f-offers-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 2rem;
padding: 0 1rem;
@apply flex flex-wrap justify-center gap-8;
}
/* MOBILE: każda karta prawie pełna szerokość */
.f-card {
@apply bg-[--f-bg] text-[--f-text] border border-[--f-offers-border] rounded-2xl shadow-md p-6 relative flex flex-col gap-4;
/* przewijanie uwzględnia sticky navbar */
scroll-margin-top: calc(var(--f-navbar-height, 64px) + 16px);
scroll-margin-top: calc(var(--f-navbar-height, 84px) + 16px);
flex: 1 1 100%;
max-width: 26rem;
@apply bg-[--f-bg] text-[--f-text] border border-[--f-offers-border] rounded-2xl shadow-md p-6 relative flex flex-col gap-4;
transition: transform 220ms ease, box-shadow 220ms ease;
}
@@ -29,7 +20,7 @@
transform: translateY(-3px);
}
/* POPULARNY PLAN */
.f-card-popular {
border: 2px solid var(--f-offers-popular);
background: var(--f-offers-popular-bg);
@@ -58,12 +49,7 @@
}
.f-card-row {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 0.75rem;
padding: 0.5rem 0;
border-bottom: 1px solid var(--f-offers-border);
align-items: center;
@apply grid grid-cols-[2fr_1fr] gap-2 py-1 border-b border-[--f-offers-border] items-center;
}
.f-card-row:last-child {

View File

@@ -43,7 +43,7 @@
--link-hover-dark: hsla(45, 80%, 70%, 1);
--cookie-accept-dark: hsla(120, 60%, 45%, 1);
--f-navbar-height: 84px;
}
:root {