diff --git a/src/content/internet-telewizja/cards.yaml b/src/content/internet-telewizja/cards.yaml
index fa91cfc..eb966d1 100644
--- a/src/content/internet-telewizja/cards.yaml
+++ b/src/content/internet-telewizja/cards.yaml
@@ -3,8 +3,6 @@ opis: |
Wybierz rodzaj budynku i czas trwania umowy
cena_opis: "zł/mies."
-
-
grupy:
- id: "EVIO"
nazwa: "Evio"
diff --git a/src/content/internet-telewizja/tv-addons.yaml b/src/content/internet-telewizja/tv-addons.yaml
index a2d2537..5cd4a51 100644
--- a/src/content/internet-telewizja/tv-addons.yaml
+++ b/src/content/internet-telewizja/tv-addons.yaml
@@ -16,7 +16,12 @@ grupy:
canal_plus:
tytul: CANAL+
rejestracja:
- opis: Aby skorzystać z Platformy należy się zarejestrować
+ opis: |
+ Platforma CANAL+ jest dostępna za pośrednictwem strony internetowej, podłączonych telewizorów, aplikacji na smartfony i tablety, konsol do gier i urządzeń takich jak Apple TV i Google Chromecast.
+ Wszystkie obsługiwane urządzenia opisane są na stronie: canalplus.com
+
+ Aby skorzystać z Platformy należy się zarejestrować
+
label: Rejestracja CANAL+
href: "https://jambox.pl/cplus-rejestracja"
title: "Rejestracja w usłudze streamingowej"
@@ -63,9 +68,6 @@ dodatki:
opis: |
Pakiet sportowy Canal+ oraz dostęp do platformy streamingowej Canal+
- Platforma CANAL+ jest dostępna za pośrednictwem strony internetowej, podłączonych telewizorów, aplikacji na smartfony i tablety, konsol do gier i urządzeń takich jak Apple TV i Google Chromecast.
- Wszystkie obsługiwane urządzenia opisane są na stronie: canalplus.com
-
cena:
- pakiety:
- Smart
diff --git a/src/islands/Internet/InternetCards.jsx b/src/islands/Internet/InternetCards.jsx
index 103d100..f7dc375 100644
--- a/src/islands/Internet/InternetCards.jsx
+++ b/src/islands/Internet/InternetCards.jsx
@@ -4,21 +4,10 @@ import OffersSwitches from "../Switches.jsx";
import InternetAddonsModal from "./InternetAddonsModal.jsx";
import "../../styles/cards.css";
-function formatMoney(amount, currency = "PLN") {
- if (typeof amount !== "number" || Number.isNaN(amount)) return "";
- try {
- return new Intl.NumberFormat("pl-PL", {
- style: "",
- currency,
- maximumFractionDigits: 0,
- }).format(amount);
- } catch {
- return String(amount);
- }
-}
+import { moneyWithLabel, money } from "../../lib/money.js";
// ✅ mapper: InternetCard(YAML) + match + labels -> plan (dla modala)
-function mapCardToPlan(card, match, labels, waluta) {
+function mapCardToPlan(card, match, labels, cenaOpis) {
const baseParams = Array.isArray(card?.parametry) ? card.parametry : [];
const features = baseParams.map((p) => ({
@@ -30,8 +19,7 @@ function mapCardToPlan(card, match, labels, waluta) {
features.push({ label: "Umowa", value: labels?.umowa || "—" });
features.push({
label: "Aktywacja",
- value:
- typeof match?.aktywacja === "number" ? formatMoney(match.aktywacja, waluta) : "—",
+ value: typeof match?.aktywacja === "number" ? `${money(match.aktywacja)} zł` : "—",
});
return {
@@ -39,6 +27,7 @@ function mapCardToPlan(card, match, labels, waluta) {
price_monthly: typeof match?.miesiecznie === "number" ? match.miesiecznie : 0,
price_installation: typeof match?.aktywacja === "number" ? match.aktywacja : 0,
features,
+ cenaOpis,
};
}
@@ -52,23 +41,23 @@ function mapCardToPlan(card, match, labels, waluta) {
* phoneCards?: any[],
* addons?: any[],
* addonsCenaOpis?: string,
- * switches?: any[] // ✅ NOWE: przełączniki z YAML
+ * switches?: any[]
* }} props
*/
export default function InternetCards({
title = "",
description = "",
cards = [],
- waluta = "PLN",
+ waluta = "PLN", // zostawiamy, bo może się przydać dalej (np. w modalu), ale tu nie jest używana
cenaOpis = "zł/mies.",
phoneCards = [],
addons = [],
addonsCenaOpis = "zł/mies.",
- switches = [], // ✅ NOWE
+ switches = [],
}) {
const visibleCards = Array.isArray(cards) ? cards : [];
- // switch state (teraz idzie z OffersSwitches na podstawie YAML)
+ // switch state (idzie z OffersSwitches na podstawie YAML)
const [selected, setSelected] = useState({});
const [labels, setLabels] = useState({});
@@ -103,7 +92,6 @@ export default function InternetCards({
)}
- {/* ✅ TERAZ switcher dostaje dane z YAML */}
Brak dostępnych pakietów.
) : ( @@ -42,8 +47,8 @@ export default function PhoneDbOffersCards({ } function PhoneOfferCard({ card }) { - const price = card?.cena?.wartosc ?? ""; - const priceDesc = card?.cena?.opis ?? "zł/mies."; + const priceValue = card?.cena?.wartosc; + const priceLabel = card?.cena?.opis || "zł/mies."; const params = Array.isArray(card?.parametry) ? card.parametry : []; @@ -53,8 +58,11 @@ function PhoneOfferCard({ card }) {