Skip to content

Feature Stubs Clarity

TravelAgency Team Bot edited this page Oct 23, 2026 · 3 revisions

Фича: явные неготовые элементы интерфейса

Статус: в main. Подзадачи #259–#264 закрыты. Эпик: UX/UI аудит сайта. Задача: #253.

Единая подпись неготового элемента: «Появится позже».

Бизнес и сценарии

Гость, клиент, менеджер и администратор отличают работающее действие от того, чего на сайте ещё нет. Неготовое не выглядит настоящей кнопкой, формой, контактом, отзывом или оценкой. Подпись одна: «Появится позже». Такой элемент неактивен и не сообщает об успехе.

Простой пример: в подвале блок рассылки остаётся на месте, поле и кнопка не принимают email, тост «Спасибо за подписку!» не появляется, рядом написано «Появится позже».

  • Сценарии: гость на главной, в каталоге, на туре и на странице 404; клиент в кабинете, профиле и заявке; менеджер в заявке и чате; администратор открывает те же кабинет и панель менеджера, отдельного экрана администратора нет.
  • Входит: подпись и неактивность уже нарисованных неготовых элементов, замена вымышленных контактов, честный текст пустых отзывов, скрытие нулевой оценки, нейтральный фон направления без своего фото.
  • Не входит: рассылка, паспорт, аватар, счета, заметки, вложения, API отзывов, оплата; возврат снятых ссылок подвала; поиск на главной (#248); тексты преимуществ на главной (#222, #239); кнопка «Оплатить» и «Завершить» (#189); горящие предложения (#74).
  • Критерии приёмки (Дано / Когда / Тогда):
    • Дано: публичная страница. Когда: посетитель смотрит подвал. Тогда: почты и адреса агентства нет, телефон имеет вид +7 999 999-99-99 и подпись «Появится позже», рассылка не отправляется.
    • Дано: профиль. Когда: пользователь смотрит фото и паспорт. Тогда: оба элемента неактивны и подписаны «Появится позже», имя и телефон по-прежнему сохраняются.
    • Дано: заявка менеджера и чат. Когда: пользователь смотрит заметки, счёт и скрепку. Тогда: элементы неактивны, подпись «Появится позже», тост «Скоро» не появляется, текстовые сообщения отправляются.
    • Дано: главная, страница тура и заявка. Когда: пользователь открывает отзывы или оценку. Тогда: нет фразы про отсутствие отзывов у конкретного тура и нет оценки 0. Текст «Появится позже».
    • Дано: направление без фото. Когда: гость смотрит карточку на главной. Тогда: нет общего чужого кадра, название и переход в каталог на месте.

Архитектура

Новых сущностей, полей, миграций и методов API нет. Меняется только фронтенд: тексты, disabled, доступные имена и отсутствие успешного тоста. Запросы сохранения профиля, статуса заявки, предложения и текстового сообщения чата остаются прежними.

Маршруты (src/Frontend/travel-agency-frontend/src/App.tsx, строки 90-124):

  • Гость, PublicLayout (шапка и подвал): /, /tours, /tours/:id, неизвестный путь (404).
  • Клиент, менеджер и администратор, DashboardLayout (шапка, без подвала): /dashboard, /dashboard/bookings, /dashboard/bookings/:id, /dashboard/profile, /dashboard/favorites.
  • Менеджер и администратор, ManagerLayout (шапка, без подвала): /manager, /manager/bookings, /manager/bookings/:id, /manager/tours, /manager/tours/new, /manager/tours/:tourId, /manager/clients.

Правило подписи:

  • Нет данных и нет действия: видимый текст «Появится позже», контрол неактивен, успешного тоста нет.
  • Для вида нужен телефон: +7 999 999-99-99 и та же подпись, без ссылки tel:.
  • Рабочее ограничение (email только для чтения) эту подпись не получает.
  • Рабочая ссылка на существующий якорь остаётся.

Подвал

Файл: src/Frontend/travel-agency-frontend/src/components/layout/Footer.tsx. Подвал подключает PublicLayout.tsx.

Элемент Строки Сейчас Решение
Телефон +7 (800) 555-35-35 13 текст, похожий на номер 8 800 исправить: +7 999 999-99-99 и «Появится позже», не ссылка
Почта info@travelagency.ru 14 вымышленный адрес пометить: текст «Появится позже»
Адрес Москва, ул. Тверская 1 15 вымышленный адрес пометить: текст «Появится позже»
Строка сайта в подвале нет сайта нет оставить: строку не добавлять
Рассылка 21-25, 81-113 форма шлёт тост «Спасибо за подписку!» пометить: поле и кнопка неактивны, подпись «Появится позже», тоста нет
«Популярные туры», «Отзывы» 7-10 /tours, /#reviews оставить
«О нас», «Блог», «Карьера», «FAQ», соцсети в разметке нет, проверка в Footer.test.tsx 18-27 сняты в #182 оставить снятыми
«Направления» в разметке нет снято в #231 оставить снятым

Шапка (Header.tsx, строки 19-23): «Туры», «Отзывы», «Контакты» ведут на /tours, /#reviews, /#contacts. Якоря есть. Оставить.

Направления

getDestinations пишет в photo пустую строку (catalog.ts, строки 504-510): бэкенд фото не отдаёт. Карточка при пустом фото берёт общий кадр Unsplash (DestinationsGrid.tsx, строки 11 и 69). У разных направлений одна и та же чужая фотография. Название, страна и переход в каталог рабочие. Бейдж «N туров» уже скрыт при tourCount === 0 (строки 89-93).

Решение: исправить фон на нейтральную песочную плашку, как у тура без картинки. Подпись «Появится позже» на карточке не нужна.

Профиль

ProfilePage.tsx, маршрут /dashboard/profile.

Элемент Строки Сейчас Решение
Кнопка камеры 92-94 выглядит активной, обработчика нет пометить: неактивна, доступное имя «Появится позже»
Паспорт 131-137 неактивен, «Пока не поддерживается» только при пустом значении пометить: всегда виден текст «Появится позже», в сохранение не уходит
Email 125-129 неактивен, в сохранение не входит оставить
Имя, фамилия, телефон, «Сохранить» 46-61, 107-123, 140-143 сохраняются оставить

Загрузка фото, город и настройки остаются в #101. Эта фича их не реализует.

Заявка менеджера

ManagerBookingDetailPage.tsx, маршрут /manager/bookings/:id.

Элемент Строки Сейчас Решение
Заметки 244-260 поле активно, кнопка «Сохранить (скоро)» неактивна, title="Скоро" пометить: поле и кнопка неактивны, текст «Появится позже»
Счёт 399-408 кнопка активна, тост «Скоро» пометить: кнопка неактивна, тоста нет, текст «Появится позже»
Быстрые ответы 283-305 копируют текст в буфер оставить
Статус и предложение 324-356 работают оставить

Хранение заметок и выставление счетов в эту фичу не входят.

Чат

ChatWindow.tsx, строки 287-294. Компонент стоит на заявке клиента и на заявке менеджера. Скрепка неактивна, но об этом говорит только title="Скоро". Отправка текста работает.

Решение: пометить. Кнопка неактивна, текст «Появится позже» виден без наведения. Загрузка файлов не входит.

Отзывы и рейтинг

Списка отзывов в API нет. ReviewsSlider.tsx (строка 11) и TourTabs.tsx (строка 27) держат пустые константы.

Элемент Строки Сейчас Решение
Блок на главной ReviewsSlider.tsx 27 «Скоро здесь появятся отзывы», якорь reviews пометить: «Появится позже», якорь оставить
Вкладка на туре TourTabs.tsx 136-140 «Пока нет отзывов для этого тура» пометить: «Появится позже»
Оценка на заявке клиента BookingDetailPage.tsx 116-123, ноль задаёт catalog.ts 111-112 звёзды и «(0 отзывов)» пометить: нет оценки 0, текст «Появится позже» или блок скрыт
Оценка на заявке менеджера ManagerBookingDetailPage.tsx 381-388 заполненная звезда и прочерк, потому что 0 считается пустым пометить: нет звезды с пустой оценкой, «Появится позже» или строка скрыта

Ссылки шапки и подвала на /#reviews оставить. Карусель горящих предложений на главной не подключена (HomePage.tsx, строка 14, #74).

Вне этой фичи

Элемент Где Почему не здесь
«Оплатить» без обработчика BookingDetailPage.tsx 138-141 #189: скрыть до оплаты #145, вместо кнопки текст про связь с менеджером
«Завершить» у клиента BookingDetailPage.tsx 312-321 #189
Утверждения на главной HeroSection.tsx, WhyUsSection.tsx закрытые #222 и #239, не переоткрывать
Поиск на главной SearchBar закрытая #248
searchTours catalog.ts 539-546 в интерфейсе не вызывается, отдельная задача не нужна
HotDealsCarousel, TourFormModal, TourTableRow, TourMobileCard компоненты без маршрута на экранах нет, отдельная задача не нужна

Решения

Вопрос Варианты Выбрано Почему Дата
Единая подпись «Появится позже»; «Скоро»; «Пока не поддерживается»; разные формулировки по экранам «Появится позже» одна фраза на всех ролях, элемент при ней неактивен 2026-10-23
Телефон в подвале убрать строку; оставить 8 800; явный тестовый номер +7 999 999-99-99 и «Появится позже», без tel: номер нужен для вида, текущий похож на настоящий 2026-10-23
Почта, адрес, сайт вымышленные строки; подпись без данных; придумать сайт почта и адрес заменяются на «Появится позже», строку сайта не добавлять данных нет, новую пустую строку не рисовать 2026-10-23
Рассылка убрать блок; оставить рабочий тост; оставить блок неактивным блок остаётся, поле и кнопка неактивны, тоста успеха нет блок можно показать, действие обещать нельзя 2026-10-23
Снятые ссылки подвала вернуть страницами-заглушками; оставить снятыми оставить снятыми #182 и #231 закрыты 2026-10-23
Фото и паспорт сделать в рамках #101; только пометить пометить, #101 не реализовывать цель этой фичи: честный вид, не новый профиль 2026-10-23
Email в профиле подпись «Появится позже»; оставить тихим полем только для чтения оставить без подписи «Появится позже» это действующее ограничение, не отсутствующая функция 2026-10-23
Заметки и счёт спрятать; оставить тост «Скоро»; неактивная подпись неактивны, подпись «Появится позже», тоста нет клик с тостом выглядит как начало работы 2026-10-23
Скрепка спрятать; оставить только title; видимая подпись видимая «Появится позже», кнопка неактивна подсказка по наведению незаметна 2026-10-23
Пустые отзывы и оценка 0 «отзывов пока нет»; скрыть вкладку; подпись «Появится позже» подпись «Появится позже», оценку 0 не показывать пустой список выглядит как данные конкретного тура, 0 выглядит как оценка 2026-10-23
Фото направления общий кадр Unsplash; нейтральный фон нейтральный песочный фон один чужой кадр на все направления выглядит как фото места 2026-10-23
«Оплатить» пометить здесь; оставить #189 вне фичи у #189 уже есть свой текст и критерий скрытия 2026-10-23

Разбиение

#253 остаётся открытой родительской задачей, пока не закрыты подзадачи ниже.

Подзадача Раздел страницы Задача Статус
Контакты и рассылка в подвале Подвал #259 в очереди
Фото и паспорт в профиле Профиль #260 в очереди
Заметки и счёт менеджера Заявка менеджера #261 в очереди
Вложение в чате Чат #262 в очереди
Отзывы и нулевая оценка Отзывы и рейтинг #263 в очереди
Фон направления без фото Направления #264 в очереди

На подзадачах нужны метки bug и статус: очередь. На #253 нужны тип: родительская и статус: в работе вместо статус: очередь, иначе на доске две колонки статуса сразу.

Тест-кейсы

№ Предусловие Шаги Ожидаемый результат Уровень
ТК-1 публичная страница открыть подвал телефон +7 999 999-99-99 и «Появится позже»; почта и адрес равны «Появится позже»; нет info@travelagency.ru и «Тверская»; строки сайта нет unit
ТК-2 подвал попытка отправить рассылку поле и кнопка неактивны, тост «Спасибо за подписку!» не появляется, видна «Появится позже» unit
ТК-3 шапка и подвал открыть «Туры», «Популярные туры», «Отзывы», «Контакты» /tours, /tours, /#reviews, /#contacts; пунктов «О нас», «Блог», «Карьера», «FAQ», «Направления» нет unit
ТК-4 профиль клиента нажать камеру, прочитать паспорт, сохранить имя камера и паспорт неактивны и подписаны «Появится позже»; у email этой подписи нет; имя уходит в сохранение, паспорт нет unit
ТК-5 заявка менеджера заметки, счёт, статус, быстрый ответ заметки и счёт неактивны, подпись «Появится позже», тоста «Скоро» нет; статус и копирование ответа работают unit
ТК-6 чат клиента и чат менеджера скрепка и непустое сообщение скрепка неактивна, «Появится позже» видно без наведения; текст отправляется unit
ТК-7 главная и страница тура блок отзывов и вкладка «Отзывы» текст «Появится позже»; нет «Пока нет отзывов для этого тура»; якорь reviews на месте unit
ТК-8 заявка клиента и заявка менеджера блок оценки тура нет звёзд с оценкой 0 и нет «(0 отзывов)»; нет заполненной звезды с пустой оценкой unit
ТК-9 главная, направление с пустым photo карточка направления общего URL Unsplash нет; нейтральный фон; название, страна и переход в каталог на месте; бейдж числа туров при нуле скрыт unit
ТК-10 гость, клиент, менеджер, админ на dev пройти маршруты из раздела «Архитектура» неготовое подписано одинаково и неактивно; рабочие ссылки, сохранение профиля, статус, предложение и текст чата на месте вручную на dev

Главная

Действующая документация

Система

API

Сервисы

Как реализовано

Справочное

Фичи

Планы

Clone this wiki locally