Кейс: афиша с фильтрами

Список событий, отбор по разделу, страница события и кнопка «Записаться».

Афиша в превью: экраны, билеты и мои билеты.
Афиша в превью: экраны, билеты и мои билеты.
  1. Таблица. «События» со столбцами: title (текст), start (дата и время), price (число), image (картинка), category (список — «Концерт, Театр, Спорт»), seats (число).
  2. Площадки отдельно. Вторая таблица «Площадки» с адресом, а в «Событиях» столбец venue типа «Связь». Адрес правится один раз и подтягивается во все события.
  3. Список. На главном экране — повторитель с источником «События», сортировка по start по возрастанию. Внутри карточки: {{item.image}}, {{item.title}}, {{item.start}}, {{item.venue.title}}.
  4. Фильтр. Над списком — «Фильтр кнопками», выбор запоминается под именем category, варианты из столбца category, чип «Все». У повторителя: фильтр по полю category, значение {{category}}.
  5. Только будущие. Второй фильтр повторителя: поле start, «позже чем», значение {{now}}.
  6. Страница события. Карточке дайте «Запомнить нажатую строку» под именем selected и переход на экран «Событие». Там всё читается как {{selected.title}}, {{selected.venue.address}}.
  7. Запись. Форма с именем и телефоном, кнопка с «Отправить форму». Плашка «Мест нет» — условие показа: {{selected.seats}} равно 0; кнопку записи при этом скрыть тем же условием.

Читать дальше