added files with prompts
This commit is contained in:
84
docs/prompts/step11.md
Normal file
84
docs/prompts/step11.md
Normal 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
|
||||
Reference in New Issue
Block a user