Component Inventory
1. Přehled
Katalog unikátních UI komponent potřebných pro aplikaci Colosseum MA. Každá komponenta je mapována na obrazovky kde se používá a na fázi projektu, ve které je poprvé potřeba.
Celkem: ~65 unikátních komponent (včetně variant a stavů)
2. Kategorie komponent
2.1 Navigation (6 komponent)
| # | Komponenta | Varianty | Použití | Fáze |
|---|---|---|---|---|
| 1 | Bottom Tab Bar | 4 tabs, active/inactive, badge | P1, P7, P8, P9 (global) | MVP |
| 2 | App Bar / Top Navigation | Default, search, back, transparent (detail), modal close | MVP | |
| 3 | Back Button | Default, close (modal), transparent variant | MVP | |
| 4 | Stepper / Progress Indicator | 3-5 steps, active/completed/upcoming | MVP | |
| 5 | Breadcrumb / Location Trail | Text path | P2, S11 | MVP |
| 6 | Tab Switch | 2-3 segment toggle | MVP |
2.2 Buttons (8 komponent)
| # | Komponenta | Varianty | Použití | Fáze |
|---|---|---|---|---|
| 7 | Primary Button | Default, loading, disabled | MVP | |
| 8 | Secondary Button | Default, disabled | MVP | |
| 9 | Ghost/Text Button | Default, destructive (červená) | MVP | |
| 10 | Icon Button | Share, filter, close, settings, like | MVP | |
| 11 | FAB (Floating Action Button) | — | Vyhledávání (optional) | MVP |
| 12 | CTA Sticky Bar | Single CTA, price + CTA, countdown + CTA | MVP | |
| 13 | OAuth Button | Apple, Google, Facebook | MVP | |
| 14 | Chip / Filter Button | Selected/unselected, dismissible, icon+text | MVP |
2.3 Inputs (10 komponent)
| # | Komponenta | Varianty | Použití | Fáze |
|---|---|---|---|---|
| 15 | Text Input | Default, error, success, disabled, helper text | MVP | |
| 16 | Search Input | With icon, clear button, auto-suggest | MVP | |
| 17 | Password Input | Show/hide toggle, strength indicator | MVP | |
| 18 | Select / Dropdown | Single select, multi-select | MVP | |
| 19 | Checkbox | Default, with label, error | MVP | |
| 20 | Radio Button | Default, with description | P6 (platební metoda) | MVP |
| 21 | Toggle / Switch | On/off, with label | MVP | |
| 22 | Counter (+/-) | Numeric stepper | MVP | |
| 23 | Range Slider | Single value, dual range | MVP | |
| 24 | Date Range Picker | Calendar picker, range selection | MVP |
2.4 Cards (9 komponent)
| # | Komponenta | Varianty | Použití | Fáze |
|---|---|---|---|---|
| 25 | Event Card (small) | Horizontal, with thumbnail, status badge | MVP | |
| 26 | Event Card (large) | Vertical, hero image, full info | MVP | |
| 27 | Ticket Card | Active, used, expired, shared; QR preview | MVP | |
| 28 | Order Card | Status badge (paid/reserved/cancelled) | MVP | |
| 29 | Reward Card | Image, points price, available/claimed | P11 | F1 |
| 30 | Article Card | Featured (large), default (list) | S20 | F2+ |
| 31 | Venue Card | Mini card with map preview | MVP | |
| 32 | Organizer Card | Logo + name + event count | MVP | |
| 33 | Subscription Card | Grouped by organizer, discount info | MVP |
2.5 Lists (5 komponent)
| # | Komponenta | Varianty | Použití | Fáze |
|---|---|---|---|---|
| 34 | List Item | Icon + text, chevron, toggle, destructive | MVP | |
| 35 | Accordion / Expandable | Single expand, multi expand | MVP | |
| 36 | Section Header | Title + "Zobrazit vše" link | MVP | |
| 37 | Divider | Full width, inset | MVP | |
| 38 | Date Group Header | Date separator for chronological lists | MVP |
2.6 Feedback & Overlays (8 komponent)
| # | Komponenta | Varianty | Použití | Fáze |
|---|---|---|---|---|
| 39 | Toast / Snackbar | Success, error, info, with action | MVP | |
| 40 | Alert Dialog | Confirm/cancel, single action, destructive | MVP | |
| 41 | Bottom Sheet | Scrollable, fixed, with header/handle | S3, S1, seat detail, filter | MVP |
| 42 | Loading / Skeleton | Card skeleton, list skeleton, screen skeleton | MVP | |
| 43 | Empty State | Illustration + text + CTA | MVP | |
| 44 | Error State | Illustration + retry CTA | MVP | |
| 45 | Offline Banner | Persistent top banner | MVP | |
| 46 | Permission Dialog | Custom pre-prompt (notifikace, poloha) | MVP |
2.7 Specialized (8 komponent)
| # | Komponenta | Varianty | Použití | Fáze |
|---|---|---|---|---|
| 47 | Seat Map Viewport | Zoom/pan container, SVG renderer | MVP | |
| 48 | Seat Chip | Free, selected, sold, my-seat | P4 | MVP |
| 49 | Countdown Timer | Progress bar, text, warning state | MVP | |
| 50 | Price Summary | Line items, subtotal, discount, total | MVP | |
| 51 | QR Code Viewer | Large display, brightness boost | MVP | |
| 52 | Payment Method Card | Apple Pay, Google Pay, Card, Cash | MVP | |
| 53 | Notification Item | Read/unread, icon, timestamp, deep link | S19 | F1 |
| 54 | Watchdog Item | Event info, status, delete CTA | S10 | F1 |
2.8 Media (6 komponent)
| # | Komponenta | Varianty | Použití | Fáze |
|---|---|---|---|---|
| 55 | Image Gallery | Horizontal scroll, fullscreen viewer | MVP | |
| 56 | Video Player | Inline, fullscreen | MVP | |
| 57 | Avatar | Initials, image, small/medium/large | MVP | |
| 58 | Badge / Tag | Status (dostupné/málo/vyprodáno), genre, phase | MVP | |
| 59 | Hero Banner | Dark overlay, carousel, indicator dots | MVP | |
| 60 | Map View | Inline map with pin, tap-to-navigate | MVP |
2.9 Layout (5 komponent)
| # | Komponenta | Varianty | Použití | Fáze |
|---|---|---|---|---|
| 61 | Carousel / Horizontal Scroll | Cards, banners, dot indicator | MVP | |
| 62 | Pull-to-Refresh | Standard, custom animation | MVP | |
| 63 | Welcome Slide | Image + title + description, dots, skip | MVP | |
| 64 | Onboarding Step | Multi-select chips, progress, skip | S6 | F1 |
| 65 | Category Seat Legend | Color swatch + label + price | MVP |
3. Souhrn per fáze
| Fáze | Počet komponent | Nové | Rozšíření existujících |
|---|---|---|---|
| MVP | 57 | 57 | — |
| F1 | 4 | 4 (Reward Card, Notification Item, Watchdog Item, Onboarding Step) | 5 rozšíření (Tab Bar badge, List Item variants, Bottom Sheet variants, Event Card personalized, Price Summary + loyalty) |
| F2+ | 1 | 1 (Article Card) | 3 rozšíření (Search + geo, Map View + navigation, Bottom Sheet variants) |
| TBD | 3 | 3 (Ticket Swap Card, Ticket Swap Detail, Swap Confirmation) | — |
| Celkem | ~65 |
4. Stavovost komponent
Každá komponenta by měla mít definované:
- Default state
- Hover/pressed state (pro všechny interaktivní)
- Disabled state (pokud relevantní)
- Loading state (pokud má async data)
- Error state (pokud relevantní)
- Empty state (pokud zobrazuje kolekci)
5. Token dependencies
Komponenty vyžadují tyto DS tokeny:
- Barvy: primary, secondary, surface, error, success, warning, text (primary/secondary/disabled), border
- Typografie: heading (H1-H4), body (default/small), caption, label, CTA
- Spacing: 4px grid (4, 8, 12, 16, 20, 24, 32, 40, 48)
- Border radius: small (4), medium (8), large (12), pill (9999)
- Shadows: elevation-1 (cards), elevation-2 (modals), elevation-3 (FAB)
- Breakpoints: phone portrait (default), phone landscape (seat map), tablet (TBD)
6. Doporučení pro DS tým
- Atomické komponenty nejdřív — Buttons, Inputs, Typography, Icons, Colors
- Karty jako druhý krok — Event Card (nejvíc variantní), Ticket Card
- Specialized jako třetí — Seat Map, QR Viewer, Payment Method
- Feedback/overlay na konec — Bottom Sheet, Toast, Dialog (potřebují kontext)
- Dodávat s dokumentací — název, varianty, props, usage guidelines