--- tags: Temp --- # ПлюсАгент: Правки по лендингу от 15.05.2020 ### 1. Блок #4 "Лучшие агенты" #### 1.1. Убрать синюю рамку, оставить без рамки ![](https://i.imgur.com/wqpyxmA.png) #### 1.2. Убрать текст и вставить логотип Вместо текста "В данном блоке"... вставсить логотип компании агента. Путь к изображению с логотипом лежит в свойстве `logoUrl` серверного ответа с информацией об агенте. Пример размещения логотипа агента см. в компоненте `AgentPlank` (класс CSS `c-AgentPlank-Company-Logo`). В мобильной версии (когда карточки агентов размещаются в одну колонку) можно разместить логотип следующим образом (также реализовано в компоненте `AgentPlank`): ![](https://i.imgur.com/GpdDf3E.png) #### 1.3. Исправить баг с отображением счётчиков ![](https://i.imgur.com/TNhZjMZ.png) Данный баг присутствует в некоторых скриншотах; необходимо убедиться, что ошибка не проявляется ни при какой ширине экрана. #### 1.4. Получить с сервера настоящие данные Для получения данных использовать роут `GET /api/specialist/agent`. Выполнение данного запроса уже реализовано в классе `SpecialistApi`, см. соответствующий метод. **Не нужно писать новый запрос**, используйте существующий метод. #### 1.5. Увеличить количество отображаемых агентов в настольной версии В настольной версии отображается всего 3 агента. Необходимо увеличить это количество до 5 или 8. В мобильной версии можно оставить 3. #### 1.6. Убедиться, что при нажатии на "Присоединяйтесь" осуществляется скроллинг к блоку с преимуществами. Для осуществления плавного скроллинга **использовать существующую функцию** `scrollToElementTopByClass`, экспортируемая из файла `scroll-utils.ts`. ### 2. Блок #3 "Счётчики" #### 2.1. Получить реальные значения счётчиков из API Количество объектов можно получить, сделав следующий вызов: `RealtyApi.getObjectsByFilters({ cat: 'SELL', type: 'FLAT' })`. Этот вызов вернёт Promise; количество находится в свойстве `page.elements`. Количество агентов можно получить, сделав следующий вызов: `SpecialistApi.fetchAgentsIndex()`. Этот вызов вернёт Promise; количество находится в свойстве `page.elements`. #### 2.2. Реализовать накопление счётчиков Нужно, чтобы когда пользователь доскроллил до счётчиков, они накапливались с 0 до текущего значения. Пример: лендинг [Intrum CRM](https://www.intrumnet.com/). #### 2.3. Убедиться, что при нажатии на "Узнать больше" осуществляется скроллинг к блоку с преимуществами. См. пункт 1.6. ### 3. Блок #5 "Лучшие предложения" #### 3.1. Получить с сервера настоящие данные Нужные объекты можно получить, сделав следующий вызов: `RealtyApi.getObjectsByFilters({ cat: 'SELL', type: 'FLAT' })`. Этот вызов вернёт Promise; записи находятся в свойстве `items`. #### 3.2. Убедиться, что кнопки в карточке объекта работают должным образом. #### 3.3. Убедиться, что текст с адресом и цена хорошо читаются на различных фонах #### 3.4. Убедиться, что цвет цены правильно подсвечивается в соответствии с ликвидностью В зависимости от ликвидности объекта его цена должна подсвечиваться определенным образом. Реализацию см. в компоненте `ObjectCard` ### 4. Блок #6 "Преимущества" #### 4.1. Убедиться, что при нажатию на кнопку "Присоединиться" открывается модальная форма с регистрацией Пример, как открыть модальное окно с формой регистрации находится в компоненте `AppHeaderSpecialistMenu`, строка 34. Если пользователь уже осуществил вход (пример этой проверки также есть в компоненте `AppHeaderSpecialistMenu`), то вместо модального окна нужно показать сообщение `Спасибо! Вы уже зарегистрированы в системе` (для отправки сообщения использовать объект [message](https://ant.design/components/message/) из Ant Design). ### 5. Блок #1 "Поиск" #### 5.1. Оживить поле поиска По своей сути, данный компонент поиска является более упрощённой версией фильтров поиска, расположенной на странице "Недвижимость". Реализация расположена в компоненте `RealtyFilters`. Необходимо посмотреть, как там реализованы поля поиска по адресу (компонент `AddressFilter`), цене (компонент `PriceRangeFilter`) и количеству комнат (компонент `ObjectRoomFilter`) и перенести эту реализацию на строку поиска в первом блоке лендинга. #### 5.2. Выполнить поиск по нажатию на кнопку По нажатию на кнопку "Поиск" должен осуществляться переход на страницу "Недвижимость" с применением соответствующих фильтров (в фильтр `type` подставлять значение `FLAT`, в фильтр `category` подставлять `SELL`). Реализация такого поведения также есть в `RealtyFilters` (см. коллбек `onSearch`).