# SITEMAP — admin felület → screenek → organism-használat

**Forrás.** `uploads/urbino-docs/03_implementacios_terkep.md` (12 admin feature A1–A12),
`uploads/urbino-docs/00_terminologia.md`, az egyes feature-spec dokumentumok.

**Cél.** Egy helyen látni, **mit kell megépíteni** és **milyen sorrendben**:
- A 12 admin feature → konkrét screenek (URL-szinten)
- Minden screen → milyen organism-eket fogyaszt
- A mátrixból visszafejtve: melyik organism-et hány screenen használjuk

Az organism-katalógust és az építési sorrendet az `ORGANISMS.md` adja; ez a fájl
**csak a használat-leltár**.

---

## 1. A 12 admin feature → screen-térkép

| # | Feature | Spec-fájl | Screenek (URL-szinten) |
|---|---|---|---|
| **A1** | Bejelentés-lista és -adatlap | `10_bejelentes_lista_es_adatlap.md` | `/bejelentesek` lista · `/bejelentesek/details/<id>` adatlap |
| **A2** | Manuális bejelentés-nyitás | `00_architektura_v4.md` 6.1 | `/bejelentesek/uj` (külön oldal **vagy** modal — UX-döntés) |
| **A3** | Duplikáció-szűrő | `20_duplikacio_es_osszevonas.md` | nincs új URL — A1 adatlap kibővítése (`SimilarTicketsBox` + `MergeConfirmDialog`) |
| **A4** | Dashboard | `40_riport.md` 3. | `/fooldal` |
| **A5** | Heti PDF-riport | `40_riport.md` 4. | `/riportok` archívum · `/riportok/details/<id>` adatlap |
| **A6** | Beállítások / Kategóriák | `30_beallitasok.md` 4. | `/beallitasok/kategoriak` |
| **A7** | Beállítások / Csoportok | `30_beallitasok.md` 3. | `/beallitasok/csoportok` lista · adatlap (tagok) |
| **A8** | Beállítások / Felhasználók | `20_felhasznalokezeles.md` | `/beallitasok/felhasznalok` lista · adatlap · meghívó-dialog |
| **A9** | Beállítások / Általános | `30_beallitasok.md` 2. | `/beallitasok/altalanos` |
| **A10** | Tartalom / Hírek | `60_tartalom.md` 3.2 | `/hirek` lista · `/hirek/uj`/`<id>` szerkesztő |
| **A11** | Tartalom / Városi programok | `60_tartalom.md` 3.3 | `/programok` lista · szerkesztő |
| **A12** | Tartalom / Városi információk | `60_tartalom.md` 3.4 | `/cityinfo` lista · szerkesztő |

**Összesen 12 feature → kb. 19 distinct screen + 3-4 dialog-flow.**

---

## 2. A használat-mátrix

A sor egy organism; az oszlop egy admin feature. **●** = a screen-en megjelenik;
**(●)** = a feature kiterjeszti egy másik feature screen-jét; üres = nem.

| Organism | A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | **Σ** |
|---|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:---:|:---:|:---:|:---:|
| **Shell / chrome** | | | | | | | | | | | | | |
| `AppShell` | ● | ● |   | ● | ● | ● | ● | ● | ● | ● | ● | ● | **11** |
| `LeftNav` *(beágyazott AppShell-be)* | ● | ● |   | ● | ● | ● | ● | ● | ● | ● | ● | ● | **11** |
| `TopBar` + `Breadcrumb` | ● | ● |   | ● | ● | ● | ● | ● | ● | ● | ● | ● | **11** |
| `PageHeader` *(cím + meta + CTA)* | ● | ● |   | ● | ● | ● | ● | ● | ● | ● | ● | ● | **11** |
| `SettingsSubNav` |   |   |   |   |   | ● | ● | ● | ● |   |   |   | **4** |
| **Lista / tábla** | | | | | | | | | | | | | |
| `TabFilter` | ● |   |   |   |   |   |   | ● |   |   |   |   | **2** |
| `FilterPillBar` | ● |   |   |   | ● |   |   | ● |   | ● | ● |   | **5** |
| `DataTable` *(generikus tábla + pagination)* | ● |   |   |   | ● |   | ● | ● |   | ● | ● | ● | **7** |
| `EmptyState` | ● |   |   | ● | ● | ● | ● | ● | ● | ● | ● | ● | **11** |
| **Bejelentés-ág (A1 / A2 / A3)** | | | | | | | | | | | | | |
| `StatusTrack` *(4-step állapot-csík)* | ● |   |   |   |   |   |   |   |   |   |   |   | **1** ¹ |
| `TriageBar` *(4-mezős inline-szerkeszthető sáv)* | ● |   |   |   |   |   |   |   |   |   |   |   | **1** |
| `TicketMetaBar` *(cím + helyszín + bejelentő + beérkezve)* | ● | ● |   |   |   |   |   |   |   |   |   |   | **2** |
| `PhotoGallery` | ● |   |   |   |   |   |   |   |   |   |   |   | **1** |
| `PhotoUploader` |   | ● |   |   |   |   |   |   |   | ● | ● |   | **3** |
| `LocationPicker` *(GPS + utca + map)* |   | ● |   |   |   |   |   |   |   |   | ● |   | **2** |
| `ActivityTimeline` *(napló időrendben)* | ● |   | (●) |   |   |   |   |   |   |   |   |   | **1** |
| `InternalNotesPanel` *(jegyzet-történet)* | ● |   |   |   |   |   |   |   |   |   |   |   | **1** |
| `SimilarTicketsBox` *(üres / N találat)* |   |   | ● |   |   |   |   |   |   |   |   |   | **1** ² |
| `ActionBar` *(státusz-akciók adatlap alján)* | ● |   |   |   |   |   |   |   |   |   |   |   | **1** |
| `TicketCreateForm` |   | ● |   |   |   |   |   |   |   |   |   |   | **1** |
| **Riport-ág (A4 / A5)** | | | | | | | | | | | | | |
| `KpiCard` *(nagyméretű KPI tabular-nums-szal)* |   |   |   | ● | ● |   |   |   |   |   |   |   | **2** |
| `TeamPerformanceTable` *(Dashboard csapat-tábla)* |   |   |   | ● |   |   |   |   |   |   |   |   | **1** |
| `WeeklyReportCard` *(letöltés + meta + akciók)* |   |   |   |   | ● |   |   |   |   |   |   |   | **1** ⁴ |
| `PdfPreview` |   |   |   |   | ● |   |   |   |   |   |   |   | **1** |
| **Beállítás-ág (A6 / A7 / A8 / A9)** | | | | | | | | | | | | | |
| `SettingsSection` *(címsor + leírás + content)* |   |   |   |   |   | ● | ● | ● | ● |   |   |   | **4** |
| `CategoryTreeEditor` *(kétszintű fa)* |   |   |   |   |   | ● |   |   |   |   |   |   | **1** |
| `IconPicker` *(kategória-ikon)* |   |   |   |   |   | ● |   |   |   |   |   |   | **1** |
| `GroupMemberList` |   |   |   |   |   |   | ● |   |   |   |   |   | **1** |
| `UserPicker` *(n-n select)* |   |   |   |   |   |   | ● |   |   |   |   |   | **1** |
| `UserInviteDialog` |   |   |   |   |   |   |   | ● |   |   |   |   | **1** |
| `RoleChip` *(szerepkör címke)* |   |   |   |   |   |   | ● | ● |   |   |   |   | **2** |
| `RoleEditor` *(több szerepkör hozzárendelése)* |   |   |   |   |   |   |   | ● |   |   |   |   | **1** |
| `LogoUploader` |   |   |   |   |   |   |   |   | ● |   |   |   | **1** |
| `TenantInfoForm` |   |   |   |   |   |   |   |   | ● |   |   |   | **1** |
| `RecipientList` *(címzettek inline szerkesztéssel)* |   |   |   |   | (●) |   |   |   | ● |   |   |   | **1** ³ |
| **Tartalom-ág (A10 / A11 / A12)** | | | | | | | | | | | | | |
| `ContentEditor` *(rich-text + meta + publish)* |   |   |   |   |   |   |   |   |   | ● | ● | ● | **3** |
| `RichTextEditor` |   |   |   |   |   |   |   |   |   | ● | ● |   | **2** |
| `PublishStateChip` *(Vázlat / Publikált)* |   |   |   |   |   |   |   |   |   | ● | ● | ● | **3** |
| `CoverImageUploader` |   |   |   |   |   |   |   |   |   | ● | ● |   | **2** |
| `DateTimeRangePicker` *(kötelező időpont)* |   |   |   |   |   |   |   |   |   |   | ● |   | **1** |
| `LinkValidator` |   |   |   |   |   |   |   |   |   |   |   | ● | **1** |
| `ReorderableList` *(drag-drop rendezés)* |   |   |   |   |   |   |   |   |   |   |   | ● | **1** |
| **Cross-cutting** | | | | | | | | | | | | | |
| `ConfirmDialog` *(generikus megerősítés)* | ● | ● | ● |   | ● | ● | ● | ● |   | ● | ● | ● | **10** |
| `MergeConfirmDialog` *(spec: A3)* |   |   | ● |   |   |   |   |   |   |   |   |   | **1** |
| `RejectionDialog` *(strukturált indok + szöveg)* | ● |   |   |   |   |   |   |   |   |   |   |   | **1** |
| `ReopenDialog` *(visszanyitás-indoklás)* | ● |   |   |   |   |   |   |   |   |   |   |   | **1** |
| `UserChip` *(avatar + név + szerepkör)* | ● |   |   | ● |   |   | ● | ● |   |   |   |   | **4** |

**Lábjegyzetek**
1. **`StatusTrack`** csak az A1 adatlap-screenjén szerepel a táblában, de a `04-component-proposals.md` szerint **újrahasználható lesz** A5 (`WeeklyReport.generationStatus`) és A8 (`UserStatus`) adatlapon is — jelenleg ezek a screenek még nem szerepelnek a táblában. **Tervezzünk vele 3-4 használatra.**
2. **`SimilarTicketsBox`** csak A3-as feature-ben jön létre, de **az A1 adatlapon él** (A3 tölti fel tartalommal). Egy organism, két spec.
3. **`RecipientList`** A5-ön *fogyasztói olvasás* van *(címzettek megjelenítése a riport-adatlapon)*, A9-en *szerkesztés*. Ugyanaz az organism, két állapot.
4. **`WeeklyReportCard`** D-16 (2026.05.24) nyomán **NEM jelenik meg az A4 dashboard-on inline szekcióként** — a spec szerint a Dashboard a fejléc „Heti riport letöltése" CTA-ján át irányít a `/riportok/details/<currentId>` adatlapra, ahol a `WeeklyReportCard` az A5 adatlap fő szekciója.

---

## 3. Tier-besorolás — építési prioritás

> **2026.05.24 revízió.** A 8. lépés (screen-mock-ok) befejeztével a Tier-térkép
> az `ORGANISMS.md` szerint **5 szintre nőtt** (0/1/2/3/4 — eredetileg 4 szint
> volt; a DataTable saját Tier-2-be került D-2 alatt, és minden lefelé csúszott).
> Az alábbi tábla **az ORGANISMS.md tier-besorolását tükrözi**, ami a mátrix
> oszlopösszegeiből + fontos függőségekből + a 8. lépés audit-revíziójából
> alakult ki.

### Tier 0 — minden screenhez kell, semelyik más organism nem létezik nélkülük
*(11 használat)*
- `AppShell` (LeftNav + TopBar + content slot)
- `PageHeader`
- `EmptyState`

### Tier 1 — gyakori és cross-cutting
*(4–10 használat)*
- `ConfirmDialog` *(10 használat, generikus dialog-keret)* + `Rejection/Reopen/MergeBody` helperek
- `SettingsSection` *(4)*
- `SettingsSubNav` *(4 — D-14 nyomán a screen-mockok már nem fogyasztják, de a katalógus megőrzi)*
- `UserChip` *(4)*

### Tier 2 — lista-screen család (D-2)
*(2–7 használat)*
- `DataTable` *(7 — D-3 chevron-only, D-13 contract-bővítés)*
- `FilterPillBar` *(5)*
- `TabFilter` *(2)*

### Tier 3 — ág-specifikus, többször használt vagy 1× de összetett
*(1–3 használat)*
- `StatusTrack` *(1, várhatóan 3-4 ha a riport/user-adatlap is használja)*
- `KpiCard` *(2, A4 + A5)*
- `WeeklyReportCard` *(2, A4 + A5)*
- `ContentEditor` + `PublishStateChip` *(3, tartalom-ág)*
- `RichTextEditor` *(2, A10 + A11)*
- `CoverImageUploader` *(2, A10 + A11)*
- `PhotoUploader` *(3, A2 + A10 + A11)*
- `PhotoGallery` *(1, A1)*
- `LocationPicker` *(2, A2 + A11)*
- `MapWidget` *(Tier-3.5 cross-cutting, LocationPicker függés)*
- `RecipientList` *(2, A5 + A9)*
- `DateTimeRangePicker` *(1, A11 — D-15)*
- `LinkValidator` *(1, A12)*

### Tier 4 — egyszer szerepel, screen-specifikus
*(1 használat)*
- **Bejelentés-ág** *(A1/A2/A3)*: `TriageBar`, `TicketMetaBar`, `ActivityTimeline`,
  `InternalNotesPanel`, `SimilarTicketsBox`, `ActionBar`, `TicketCreateForm`
- **Riport-ág** *(A4/A5)*: `TeamPerformanceTable`, `PdfPreview` *(explicit kihagyva — `<iframe>`)*
- **Beállítás-ág** *(A6/A7/A8/A9)*: `CategoryTreeEditor`, `IconPicker`,
  `CategoryImportDialog`, `GroupMemberList`, `UserPicker`, `UserInviteDialog`,
  `RoleEditor`, `LogoUploader`, `TenantInfoForm`
- **Cross-cutting**: `RejectionBody`, `ReopenBody`, `MergeBody`
  (ConfirmDialog body-helperek, nem önálló organism)
- **Explicit kihagyott**: `ReorderableList` (a `CategoryTreeEditor` absorbeálta);
  `MergeConfirmDialog` (= `ConfirmDialog` + `MergeBody`); `RoleChip` (DS-chip-variant).

Ezek **akkor** épülnek, amikor a screen, amelyhez tartoznak. A Tier-4
organism-eket is `manager-system/organisms/`-ban tartjuk, nem screen-en
belül inline — egyetlen használat is megérdemli a separation-of-concerns-t.

**Összesen.** 42 organism-fájl a `manager-system/organisms/`-ban a 8. lépés
végén — ehhez jön a 9. lépés (átadási csomag) PrimeNG-mapping táblázata.

---

## 4. Mi NEM organism

Néhány dolog első ránézésre organism-nek tűnhet, de valójában lejjebb él:

- **`StatusChip`** *(státusz-pill 5 állapottal)* — **DS molecule.** A
  `components/chip.css`-ben a status-variant + a primitív `--u-status-*-bg/fg/dot`
  tokenek.
- **`PriorityChip`** — **DS molecule** (chip-variant).
- **`Avatar`** — **DS molecule** (`components/avatar.css` már létezik).
- **`Breadcrumb`** — **DS molecule** (`components/breadcrumb.css`). Az `AppShell`
  TopBar-jában fogyasztott.
- **`Toolbar`** — **DS organism-scaffold** (`components/layout.css` `.u-toolbar`).
- **`Tabs`** — **DS molecule** (`components/tabs.css`); a `TabFilter` az ezt
  *fogyasztó* organism, ami count-badge-eket és overdue-jelzőt rak hozzá.

A `manager-system/organisms/` **kizárólag** olyat tartalmaz, ami a fenti listán
nem szerepel, vagyis manager-specifikus kompozíció.

---

## 5. Mi NEM screen

A `04-component-proposals.md` 3 javasolt komponensét **nem ide** sorolom, hanem:
- `u-status-track` → DS-promóció *(több screen használja)*.
- `u-kpi-card` → DS-promóció *(több screen használja)*.
- `u-tabs--underline` → DS-promóció *(tabs.css variant)*.

Ezek a `manager-system/`-ben **élő jelöltek**: itt épülnek meg először mint
`StatusTrack` / `KpiCard` / `TabFilter` organism-ek, és **ha** a használat
gyakorisága + a két-world-érintettség indokolja, **akkor** promotálódnak a
DS-be a `ds-patch/` mintával.

---

## 6. Mit ad ez a fájl, amit más NEM

Ez egy **leltár**, nem terv. A `ORGANISMS.md` veszi át innen a fonalat:
építési sorrend, organism-API, állapot-variációk, melyik DS-elemekből épül.
