# PATCH-MANIFEST — Lezárás-fotó feature-patch

**Dátum.** 2026.07.07 · **Forrás-spec.** `20_admin_felulet/40_lezaras_foto.md` (v1.0) · **Döntés.** D-21
**Cél-repo.** Az urbino-docs projekt, amelyben a 2026.05.27-i Urbino Manager UI-átadási csomag (spec + `manager-system/` mock-réteg) él.

> **Claude Code-nak:** ez a patch a lezárás-fotó feature UI-mock-rétegét és kísérő
> dokumentumait adja. Első lépésként olvasd el a `HANDOFF-DELTA-lezaras-foto.md`-t
> (mit csinál a feature, PrimeNG/Angular cross-mapping), utána dolgozd be a fájlokat
> az alábbi A- vagy B-mód szerint.

---

## 1. Bedolgozási mód

**A-mód — overwrite (ajánlott).** Ha a cél-repo `manager-system/` rétege és
`i18n-keys-mgr.json`-ja a 2026.05.27-i csomag óta NEM módosult: másold a `files/`
mappa teljes tartalmát a repo gyökerére, útvonal-azonosan (felülírás). Kész.

**B-mód — merge.** Ha bármelyik érintett fájl módosult a cél-repóban:
- az **ÚJ** fájlokat (lásd 2. tábla) másold be változatlanul;
- `_styles.css` → fűzd a fájl VÉGÉRE a `fragments/_styles-append-lezaras-foto.css`
  tartalmát (a fejléc-komment nélkül);
- `i18n-keys-mgr.json` → illeszd be a `fragments/i18n-additions-lezaras-foto.json`
  két blokkját a `manager.ticket` alá, a `reopen` kulcs után;
- `icon.jsx` → a `MGR_ICONS` objektum végére (a `loader-2` után) vedd fel a 3 új ikont
  (lásd 4. szekció);
- `photo-uploader.jsx`, `a1-bejelentes-adatlap.html`, `SITEMAP.md`, `ORGANISMS.md`,
  `DECISIONS.md` → fájl-szintű összevetés kell (a változás-összefoglalót a 2. tábla adja).

## 2. Fájl-lista

| Útvonal (repo-relatív) | Státusz | Változás |
|---|---|---|
| `manager-system/organisms/ticket-resolve-dialog.jsx` | **ÚJ** | `TicketResolveDialog` organism — lezárás-dialógus footer-gate-tel |
| `manager-system/organisms/photo-uploader.jsx` | MÓDOSULT (v1.1) | +`accept`, `formatsLabel`, `error`, `fullText`, `disabled` propok; per-kép `status`/`progress`; betelt-zóna. **Visszafelé kompatibilis** — A2/A10/A11 renderelése változatlan |
| `manager-system/organisms/icon.jsx` | MÓDOSULT | +3 ikon: `check`, `camera`, `zoom-in` (MGR_ICONS vége) |
| `manager-system/organisms/_styles.css` | MÓDOSULT | +1 záró-szekció: „TICKET RESOLVE DIALOG + PhotoUploader v1.1" (`.mgr-resolve__*` + uploader-v1.1 osztályok). Append-only — korábbi szabály nem változott |
| `manager-system/preview/screens/a1-bejelentes-adatlap.html` | MÓDOSULT | +„Lezárás-fotó" DCSection (7 artboard) · StateResolved kiegészítve (`ResolutionDocs` + „Bejelentői fotók") · inline `PhotoGallery` üres-állapot-képes · screen-header spec/döntés-refek · +2 script-tag (photo-uploader, ticket-resolve-dialog) |
| `i18n-keys-mgr.json` | MÓDOSULT | +`manager.ticket.resolution.*` és `manager.ticket.error.*` (a `reopen` után) |
| `manager-system/SITEMAP.md` | MÓDOSULT | PhotoUploader A1-oszlop + Σ4 · +TicketResolveDialog sor · Tier-listák |
| `manager-system/ORGANISMS.md` | MÓDOSULT | PhotoUploader v1.1 API-tábla · +TicketResolveDialog szekció (teljes prop-API) |
| `manager-system/DECISIONS.md` | MÓDOSULT | +D-21 (6 aldöntés: LF-1..LF-6) |

## 3. Fájlon kívüli apró változás (nem része a `files/`-nak)

`Urbino Manager.html` (navigációs hub) — 1 szöveg-csere az A1 adatlap sorában:

```
- <strong>Bejelentés-adatlap</strong> (A3 beágyazva) ·
+ <strong>Bejelentés-adatlap</strong> (A3 + lezárás-fotó beágyazva) ·
```

## 4. icon.jsx merge-snippet (B-módhoz)

```jsx
  // Lezárás-fotó (D-21, 40_lezaras_foto.md — TicketResolveDialog + lezárás-dokumentáció)
  'check':         <polyline points="20 6 9 17 4 12"/>,
  'camera':        (<><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></>),
  'zoom-in':       (<><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/><line x1="11" y1="8" x2="11" y2="14"/><line x1="8" y1="11" x2="14" y2="11"/></>),
```

## 5. Ellenőrzés bedolgozás után

1. Nyisd meg böngészőben: `manager-system/preview/screens/a1-bejelentes-adatlap.html`
   — 3 szekció / 11 artboard, konzol-hiba nélkül.
2. A 6-os artboard élő: gépelésre / fotó-hozzáadásra a „Lezárás" gomb gate-je vált.
3. Regressziós gyors-check (PhotoUploader-fogyasztók változatlanok):
   `a2-uj-bejelentes.html`, `a10-hirek-szerkeszto.html`, `a11-programok-szerkeszto.html`.

## 6. Az Angular-implementáció

A `HANDOFF-DELTA-lezaras-foto.md` szerint (ebben a csomagban): végpontok
(`POST/DELETE /v1/tickets/{id}/resolution-photos`, `resolve` 5.2-validáció),
p-dialog-mapping, per-kép progress, 422/409-hibakezelés, `<app-gallery>`-lightbox.
Acceptance criteria: a spec §6 (AC-1..AC-13).

*— Urbino Manager UI-csapat · 2026.07.07*
