# Cleverphant — UPDATE (esamos instaliacijos atnaujinimas)

> Kaip atnaujinti **jau įdiegtą** Cleverphant instaliaciją po dev serverio užduočių.
> **Fresh install** → žr. [`INSTALL.md`](INSTALL.md). Paketai ateina iš Satis (`^1.0` semver tag'ai).
> Šitas failas ateina su paketu → consumer'yje skaitomas per `vendor/va-themes/cleverphant/UPDATE.md`.

---

## ⚠️ Update metu NENAUDOK `cleverphant:install`

`cleverphant:install` **PIRMA IŠVALO** esamą web turinį (Pages/News/FAQ/Menus per `CleverphantContentWiper`) — jis skirtas TIK first-install / eksplicitiniam reset'ui. Update'ui naudok **`cleverphant:upgrade`** (idempotent, content-safe).

> Ta pati taisyklė galioja ir kitų temų clean-slate flagams — jie visi install/reset-only, NIEKADA update'ui: Florial `florial:seed-content --fresh`, Seglo `seglo:install --wipe-foreign`. Update'ui naudok atitinkamai `florial:upgrade` / `seglo:upgrade` (be jokio wipe flago).

---

## Standartinis update

```bash
# 1) Paketai (Satis rebuild OPS pusėje turi būti įvykęs)
composer clearcache
composer update va-themes/cleverphant "va-core/*" "va-modules/*" -W

# 2) DB migracijos — pasiima naujas struktūrines migracijas
#    (pvz. 2026-08: Naujienlaiškio „Prenumeratoriai" punktas → admin sidebar DB meniu)
php artisan migrate --force

# 3) Content-safe sync: FORMOS + tema + permissions (idempotent)
php artisan cleverphant:upgrade --force --force-forms
#    --force        : praleidžia patvirtinimą (deploy/CI)
#    --force-forms  : PERRAŠO contact/lead/newsletter formų definicijas dabartine
#                     paketo versija. BŪTINA kai užduotis pakeitė formos laukus
#                     (pvz. 2026-08 kontaktų forma: „Kada" + „Kaip apie mus"
#                     radio'ai, be collapsible, be poreikis/kita_data). BE šito
#                     esamos formos LIEKA su sena definicija (firstOrCreate).
#                     Pateikimai (form_submissions) NIEKADA neliečiami.

# 4) Web meniu (kol cleverphant:upgrade neapima web.main — žr. žemiau)
php artisan db:seed --class="ViartasThemes\Cleverphant\Database\Seeders\CleverphantMenusSeeder" --force
#    Perseed'ina web.main → Cleverphant nav. SAUGU (liečia TIK meniu, ne turinį).

# 5) Frontend (Node/npm NEREIKIA — pre-built)
#    themes:publish-assets kopijuoja VISĄ paketo public/: build + img + FONTS + favicon.
php artisan themes:publish-assets
php artisan vendor:publish --tag=package-assets --force
php artisan optimize:clear
```

> Turinį iš naujo užsėti (SĄMONINGAI, ištrinant esamą) reikia TIK pilnam reset'ui:
> `php artisan cleverphant:install --force` — **ištrins admin-redaguotą turinį**.

---

## Ką atneša 2026-08 update (kontekstas)

| Sritis | Kas pasikeitė | Kaip pasiima |
|---|---|---|
| **Formos render** | Viešos formos (kontaktai/pradeti) dabar renderinamos per `va-core/form-builder` (native 2-stulpeliai `col-md-6`, `input_type` email/url/date) | `composer update` (`va-core/form-builder` + `va-modules/forms`) |
| **Kontaktų/lead laukai** | 10 matomų laukų kaip cleverphant.lt: `Kada` + `Kaip apie mus sužinojote?` radio'ai; NUIMTA collapsible „daugiau", `kita_data`, `poreikis`, post-submit | **`cleverphant:upgrade --force-forms`** |
| **Notifikacijos laiškas** | `forms::mail.submission` → tvarkingas HTML (buvo raw Markdown); radio reikšmės → žmogiški label'ai | `composer update` (`va-modules/forms`) |
| **Naujienlaiškis admin** | „Prenumeratoriai" (`/admin/newsletter`, sąrašas + CSV eksportas) pridėtas į admin sidebar DB meniu | **`php artisan migrate`** (nauja migracija) |
| **Šriftai + favicon** | Self-host Inter 3.019 TTF + Cleverphant favicon | `themes:publish-assets` (kopijuoja public/fonts + public/img) |
| **Mokyklos šablonas** | Kortelių repeteris admin „Šablonas" tab'e | `composer update` (blade + inline JS, jokio publish) |

Detaliau — [`CHANGELOG.md`](CHANGELOG.md).

---

## Smoke po update
- `/` → 200, turinys IŠLIKĘS (ne ištrintas).
- `/kontaktai` → 2 stulpelių forma, 10 laukų (vardas|pavardė, pareigos|įstaiga, svetainė|el.paštas, **Kada**|**Kaip apie mus**, žinutė, GDPR). Vienas smėlinis fonas. Favicon skirtuke.
- `/admin` login → kairėje po „Turinio valdymas" matosi **Prenumeratoriai**.
- Pateik `/kontaktai` tuščią → klaidos **inline po laukais** (ne viena raudona dėžė).
- Laiškai keliauja į sukonfigūruotą SMTP (dev: MailHog/Mailpit `MAIL_PORT=1025`).

---

## Jei neatsinaujina
- Paketas senas → Satis rebuild neįvyko arba `composer clearcache` praleistas.
- Formos liko su senais laukais → praleidai **`--force-forms`**.
- „Prenumeratoriai" nesimato meniu → `php artisan migrate` nebuvo paleistas, arba meniu dar neseed'intas (tada MenusSeeder jį įtraukia).
- Turinys dingo → per klaidą paleistas `cleverphant:install` (žr. įspėjimą viršuje).
