# Instrukcja migracji Lovable → PageDev CMS (ogólna)

## Technologie docelowe
- HTML (pełny dokument w polu `pp_layouts.html`)
- SCSS → kompilowany do CSS (plik na serwerze)
- Vanilla JS (navbar scroll + mobile menu) + AOS (animacje)
- BEZ Tailwind, BEZ React, BEZ frameworków JS

## Animacje scroll
- Biblioteka: AOS (Animate on Scroll) z CDN
- CDN CSS: https://unpkg.com/aos@2.3.1/dist/aos.css
- CDN JS: https://unpkg.com/aos@2.3.1/dist/aos.js
- Inicjalizacja: AOS.init({ once: true, duration: 600 })
- Atrybuty na elementach: data-aos="fade-up", data-aos-delay="150" itp.

## Pliki statyczne
- Logo, video, obrazki → upload/filemanager/ na serwerze
- Ścieżka w HTML: /upload/filemanager/nazwa-pliku
- ZAWSZE kopiować samodzielnie jako część migracji — nie czekać na polecenie

## Struktura SCSS
- Plik: layout/style-scss/style.scss (nadpisujemy istniejący)
- Skompilowany: layout/style-css/style.css
- Mixins w: layout/style-scss/_mixins.scss (nie ruszamy)
- Kompilacja lokalna: sass layout/style-scss/style.scss layout/style-css/style.css

## Struktura pp_layouts (pola w bazie)
- `html` – kompletny dokument HTML z placeholderami CMS
- `css` – tagi `<link>` do CSS (Google Fonts, AOS, nasz style.css)
- `js` – tagi `<script>` (AOS JS + nasz inicjalizacyjny script)
- Skrypty/style z `class="footer"` są przenoszone przez CMS na koniec `<body>`
- Nasze style.css LEPIEJ bez class="footer" (żeby nie było FOUC)

## Kluczowe placeholdery CMS w HTML layoutu
- `[TITLE]` – tytuł strony
- `[META_KEYWORDS]` – meta keywords
- `[META_DESCRIPTION]` – meta description
- `[META_INDEX]` – meta robots
- `[CSS]` – tutaj wstawiany jest content pola `css`
- `[JAVA_SCRIPT]` – tutaj wstawiany jest content pola `js`
- `[STRONA_GLOWNA]` – URL strony głównej

## Ikony
Używamy inline SVG (Lucide SVG skopiowane do HTML). Nie CDN.

## Baza danych - co tworzyć

### pp_pages (strona Home)
```sql
INSERT INTO pp_pages (menu_id, page_type, sort_type, articles_limit, show_title, status, o, parent_id, start, cache)
VALUES (1, 1, 1, 10, 0, 1, 0, NULL, 1, 0);
```
- `start=1` → strona główna
- `show_title=0` → tytuł nie wyświetla się (layout ma swój)
- `menu_id=1` → "menu główne"

### pp_pages_langs (dane językowe strony)
```sql
INSERT INTO pp_pages_langs (page_id, lang_id, title, meta_description, meta_title, seo_link)
VALUES ({page_id}, 'pl', 'Strona główna', '{opis}', '{tytuł SEO}', '');
```

### pp_layouts (szablon)
```sql
INSERT INTO pp_layouts (name, html, css, js, status)
VALUES ('{NazwaProjektu} OnePage', '{html}', '{css_links}', '{js_scripts}', 1);
```

### pp_layouts_pages (powiązanie)
```sql
INSERT INTO pp_layouts_pages (layout_id, page_id) VALUES ({layout_id}, {page_id});
```

## Kolejność kroków migracji
1. Napisz SCSS → style.scss
2. Przygotuj HTML layoutu (kompletny dokument)
3. Przygotuj CSS field (linki) i JS field (skrypty + init)
4. INSERT do pp_pages → pobierz wygenerowane ID
5. INSERT do pp_pages_langs
6. INSERT do pp_layouts → pobierz ID
7. INSERT do pp_layouts_pages
8. Poinformuj użytkownika o plikach do wgrania na serwer (logo, video, obrazki)
