Фильтрация данных на стороне клиента
При запросе к серверу за фильмами на странице «Фильмы» вы получаете сразу все данные и сохраняете их. При этом вам потребуется отсортировать результат по тексту запроса, который ввёл пользователь, и чекбоксу для короткометражных фильмов:
image
При фильтрации по тексту запроса нужно проверять, есть ли введенные слова в названиях фильма на русском и английском — поля nameRU и nameEN. При этом на поиск не должен влиять регистр символов.
Короткометражки фильтруются по длительности фильма — до 40 минут включительно. Если чекбокс короткометражек не отмечен, в результатах отображаются все фильмы, которые подходят под введённый запрос, в том числе и короткометражки. Если чекбокс отмечен, в результатах запроса отображаются только короткометражные фильмы.
Если карточки уже были отображены на странице в блоке результатов, то клик по чекбоксу «Короткометражки» должен приводить к новой фильтрации всех фильмов с учётом нового состояния чекбокса и введённого текста запроса в форме поиска.
Для фильтрации данных и отображения нужных фильмов вы можете создать набор утилитарных функций или отдельный компонент. Мы не рекомендуем хранить эту логику непосредственно в компоненте MoviesCardList или схожих компонентах.
Поиск на странице «Сохранённые фильмы» аналогичен поиску на главной, но данные у вас будут ещё до поиска — при запросе к вашему API на роут /movies для получения сохранённых фильмов.
Фильтрация данных на стороне клиента При запросе к серверу за фильмами на странице «Фильмы» вы получаете сразу все данные и сохраняете их. При этом вам потребуется отсортировать результат по тексту запроса, который ввёл пользователь, и чекбоксу для короткометражных фильмов: image При фильтрации по тексту запроса нужно проверять, есть ли введенные слова в названиях фильма на русском и английском — поля nameRU и nameEN. При этом на поиск не должен влиять регистр символов. Короткометражки фильтруются по длительности фильма — до 40 минут включительно. Если чекбокс короткометражек не отмечен, в результатах отображаются все фильмы, которые подходят под введённый запрос, в том числе и короткометражки. Если чекбокс отмечен, в результатах запроса отображаются только короткометражные фильмы. Если карточки уже были отображены на странице в блоке результатов, то клик по чекбоксу «Короткометражки» должен приводить к новой фильтрации всех фильмов с учётом нового состояния чекбокса и введённого текста запроса в форме поиска. Для фильтрации данных и отображения нужных фильмов вы можете создать набор утилитарных функций или отдельный компонент. Мы не рекомендуем хранить эту логику непосредственно в компоненте MoviesCardList или схожих компонентах. Поиск на странице «Сохранённые фильмы» аналогичен поиску на главной, но данные у вас будут ещё до поиска — при запросе к вашему API на роут /movies для получения сохранённых фильмов.