2.4 KiB
Problemy i Wymagane Rozbudowy Pluginu ipal-kit
Zgodnie z zasadą A0b, poniżej znajduje się rejestr realnych braków i problemów napotkanych podczas integracji z @intecion/ipal-kit. Zgłoszenia te powinny docelowo trafić do autorów pluginu, a po ich wydaniu należy usunąć lokalne obejścia (workarounds).
1. Brak client-safe entry pointu dla i18n utils
Opis problemu:
Brak client-safe entry pointu dla i18n utils (switchLocalePath, getConfiguredLocales, buildLocalizedPath). Główny plik index.js ciągnie panelSmtpAdapter i inne zależności Node-only (fs, net, dns) do bundla klienckiego przez Webpacka. Użycie ich w komponentach z "use client" powoduje natychmiastowy błąd kompilacji.
Wymagane rozwiązanie:
Potrzebny jest nowy subpath, np. @intecion/ipal-kit/client (lub @intecion/ipal-kit/i18n), zawierający wyłącznie czyste, bezpieczne dla przeglądarki utilsy.
Obejście na ten moment:
Lokalna kopia logiki wyliczania ścieżek znajduje się w pliku src/utils/clientSwitchLocalePath.ts oraz kontekst LanguageSlugsProvider do przesyłania danych.
Akcja po naprawie pluginu: DO USUNIĘCIA clientSwitchLocalePath.ts i zamiana na bezpośredni import z nowo dodanego entry pointu ipal-kit.
2. Wymuszona klasa text-justify w fallbacku bannera cookies
Opis problemu:
Wtyczka @intecion/ipal-kit w awaryjnym (lub nieskonfigurowanym jeszcze w panelu) widoku bannera cookies (komponent <CookieBanner />) renderuje teksty używając twardo zakodowanej klasy text-justify (Tailwind). Powoduje to powstawanie wizualnych "rzek bieli" (tzw. antypattern justified-text bez hyphens: auto), których nie da się zmienić standardową konfiguracją z poziomu CMS-a ani nadpisać klasycznym props-em.
Wymagane rozwiązanie:
Autorzy pluginu powinni udostępnić możliwość customizacji klas Tailwind dla zawartości tekstowej bannera cookies, lub zrezygnować z wymuszonego text-justify jako domyślnego dla paragrafów fallback.
Obejście na ten moment:
Owijamy komponent <CookieBanner /> w src/app/(frontend)/[locale]/layout.tsx dodatkowym div z klasą ipal-banner-wrapper i wstrzykujemy globalną regułę CSS w src/app/globals.css, która zdejmuje to zachowanie:
.ipal-banner-wrapper p.text-justify {
text-align: left !important;
}
Akcja po naprawie pluginu: DO USUNIĘCIA powyższa reguła CSS oraz sam wrapper ipal-banner-wrapper z pliku layout.tsx.