added files with prompts

This commit is contained in:
2026-06-12 12:54:10 +02:00
parent 0f791c3a90
commit 2cd8671014
21 changed files with 1517 additions and 0 deletions

84
docs/prompts/step11.md Normal file
View File

@ -0,0 +1,84 @@
# Krok 11 - Wizard - Moduly a Formulár (Krok 5)
## Kontext projektu
V poslednom kroku zberu dát si používateľ vyberá sekcie webu a konfiguruje kontaktný formulár (SMTP alebo lokálny mód).
## Pred implementáciou si preštuduj
- `docs/wizard.md` - Sekcia 6 (Krok 5 - Moduly webu a kontaktny formular).
- `docs/mvp.md` - Sekcia 9 (Kontaktny formular).
## Cieľ
Implementovať výber sekcií webu a konfiguráciu kontaktného formulára vrátane zabezpečeného uloženia hesla pre lokálny mód.
## Požadované zmeny
1. Na frontende (`index.html` + `wizard.js`):
- Checkboxy pre výber sekcií (Hero, O nás, Služby, Cenník, Galéria, FAQ, Kontakt).
- Prepínač pre kontaktný formulár (Zapnutý/Vypnutý).
- Výber módu formulára: SMTP alebo Lokálny.
- Polia pre SMTP (Host, Port, User, Pass, atď.).
- Pole pre heslo k lokálnemu módu.
2. Na backende (`ajax.php`):
- Implementácia validácie pre krok 5.
- Pri lokálnom móde: Heshovanie hesla pomocou `password_hash()` pred uložením do `wizard_data`.
- Uloženie do `wizard_data.modules`.
## Implementačné pravidlá
- Heslo pre lokálny mód sa nikdy neukladá v plain-texte.
- Sekcia "Hero" a "Kontakt" by mali byť predvolene vybrané.
## Súbory ktoré je potrebné vytvoriť
Žiadne.
## Súbory ktoré je potrebné upraviť
- `public/index.html` (DOM pre Krok 5)
- `public/js/wizard.js` (logika pre Krok 5)
- `public/ajax.php` (validácia a heshovanie hesla)
## API a dátové štruktúry
Payload pre `saveStep`:
```json
{
"step": 5,
"data": {
"modules": {
"pages": ["home"],
"sections": ["hero", "about", "services", "contact"],
"contact_form": {
"enabled": true,
"mode": "local",
"smtp": null,
"local_viewer": {
"password_hash": "..."
}
}
}
}
}
```
## Frontend požiadavky
- Podmienené zobrazenie polí pre SMTP vs Lokálny mód.
- Validácia sily hesla (voliteľne).
## Backend požiadavky
- Použitie `PASSWORD_DEFAULT` pre `password_hash`.
## Testovací scenár
1. Vyber sekcie "Hero", "O nás" a "Kontakt".
2. Zvoľ Lokálny mód formulára a zadaj heslo "mojeheslo123".
3. Klikni na "Pokračovať".
4. Over v JSONe projektu, či je v `contact_form.local_viewer.password_hash` uložený hash, nie plain-text.
## Definition of Done
- Konfigurácia modulov a formulára je uložená.
- Heslo pre lokálny prehliadač správ je bezpečne zaheshované.
- UI správne prepína medzi módmi formulára.
## Obmedzenia
- Žiadne odosielanie testovacích mailov v tomto kroku.
## Výstup
- zoznam vytvorených súborov
- zoznam upravených súborov
- stručné zhrnutie vykonaných zmien
- prípadné otvorené problémy