Files

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.