feat: setup globals (Footer), sqlite migration, seed update and access rules

This commit is contained in:
MichalC
2026-08-31 22:37:06 +02:00
parent 5f2eaa0b37
commit 5a9128e2f5
31 changed files with 2281 additions and 362 deletions
+15
View File
@@ -0,0 +1,15 @@
# 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`.
+8
View File
@@ -0,0 +1,8 @@
---
description: Zasady dotyczące decyzji architektonicznych i infrastrukturalnych
---
# Zgłaszanie decyzji infrastrukturalnych
1. **Brak zgody na samowolkę architektoniczną**: Nigdy nie podejmuj decyzji o wyborze bazy danych (np. Postgres vs SQLite), usług hostingowych, czy providerów zewnętrznych (np. Resend vs SMTP) na podstawie własnych domysłów, nawet jeśli oficjalna dokumentacja wybranego stacku (np. Payload CMS, Next.js) mocno sugeruje dane rozwiązanie.
2. **Pytaj przed wdrożeniem**: Każdą nową decyzję infrastrukturalną lub wybór narzędzia/usługi trzeciej zawsze zasygnalizuj jako otwarte pytanie do użytkownika ZANIM wygenerujesz kod inicjalizacyjny (np. argumenty `create-payload-app`). Brak zakazu w briefie nie oznacza domyślnej zgody.