Поиск
Поиском смогут воспользоваться как авторизованные, так и неавторизованные пользователи.
Хороший референс того, что мы хотим, представлен здесь: https://auto.ru/cars/all/. В отличие от главной страницы, в поиске все результаты будут отображены в строчку.
Так как параметров поиска много, над кнопкой для показа результатов в блоке будет кликабельная надпись "Показать все параметры ↓", которая развернет все параметры. Когда человек начнёт заполнять параметры в блоке, появится ещё одна кликабельная надпись "🞪 Сбросить", при нажатии на неё все параметры фильтрации сбрасываются. В ходе заполнения параметров кнопка показа результатов будет менять их количество на действующее. Текст внутри кнопки будет звучать как "Показать N результатов".
По умолчанию результаты будут отсортированы по Дате публикации (от самых новых до самых старых). Имеется возможность сортировки по следующим критериям:
Результаты поиска будут показаны в виде инфинити-скролла.
Поиск можно осуществить по:
Само поле поиска выглядит как инпут с плейсхолдером(-ами) с маской "Имя | Фамилия". Пользователь может заполнить одно или оба поля, либо вовсе оставить их пустыми. Если пользователь вводит значение в инпуте "Имя" и нажимает пробел, фокус автоматически перемещается к инпуту "Фамилия". То же самое происходит и в обратную сторону, если пользователь удаляет введенное значение из инпута "Фамилия", удерживая клавишу Backspace.
- Возраст / Дата рождения — возраст будет отображён в виде ползунка "От (мин. доступный возраст из БД) - До (макс. доступный возраст из БД)". Дата рождения указывается в виде инпута с маской ДД.ММ.ГГГГ (в англ. локализации MM/DD/YYYY). Переключение происходит посредством Toggle.
- ☑ только с номером телефона
С возможностью выбора страны номера телефона из селектора и инпута с маской для отображения номера телефона в международном формате (пр. +7 (999) 999-99-99). Доступно только для авторизованных пользователей (неавторизованным этот параметр не виден). В день доступно N кол-во запросов для целевого поиска по номеру телефона. Когда лимит исчерпан, поле параметра становится серым и недоступным, и появляется уведомление, предлагающее перейти на /membership (подробнее об этом в Привилегии). Запрос списывается только после успешного поиска. При наличии определенной привилегии кол-во возможных запросов увеличивается. Также будет висеть следующее: ⓘ Подсказка: При наличии привилегии количество возможных запросов для целевого поиска увеличивается.
Доступно только для авторизованных пользователей (неавторизованным этот параметр не виден). В день доступно N кол-во запросов для целевого поиска по социальным сетям. Когда лимит исчерпан, поле параметра становится серым и недоступным, и появляется уведомление, предлагающее перейти на /membership (подробнее об этом в Привилегии). Запрос списывается только после успешного поиска. При наличии определенной привилегии кол-во возможных запросов увеличивается. Также будет висеть следующее: ⓘ Подсказка: При наличии привилегии количество возможных запросов для целевого поиска увеличивается.
Человек может за один запрос ввести и номер телефона, и даже одну социальную сеть (при желании лол). Если найдёт - ОТЛИЧНО, человек нажимает показать результаты и его запрос у него списывается. Но если человеку показывает 0 результаты, он может посидеть поперебирать как его душе угодно и сколько угодно, на это ограничений нет. Ограничение только на показ результатов.
- ☑ только со списком друзей
- Город — будет внутренний поисковик+селектор с теми городами, которые хотя бы один раз встречаются в анкетах.
- Район — появляется только если выбран "Город"
- Теги
При нажатии на поле вылезает селектор с внутренним поисковиком с тегами, которые можно добавить. В селекторе можно выбирать по несколько тегов, причем после выбора тега селектор не закроется - напротив тега лишь поставится галочка. В поле с тегами напротив каждого тега будет маленький крестик, который будет его удалять оттуда, это для того чтобы не открывать опять селектор и не искать этот тег чтобы кликнуть по нему снова. В селекторе показаны даже сколько не те теги, что созданы админами в панели управление Создание тегов, а те что встречаются в хотя бы одной анкете. Допустим, если указано два тега "тег1" и "тег2", и анкета имеет оба данных тега, то она будет отображена в результате лишь 1 раз, а не 2 ¯\_(ツ)_/¯
Если выключен - ползунок некликабельный. Если включен, ползунок становится кликабельным | От 1 До (макс. из БД) |
Если выключен - ползунок некликабельный. Если включен, ползунок становится кликабельным | От 1 До (макс. из БД) |
Если какой-либо параметр поиска не указан, результаты будут содержать как варианты с этим параметром, так и варианты без этого параметра.
Изначально на странице поиска /search нет никаких параметров в строке URL. После ввода имени, фамилии/указания параметров в блоке слева, в URL будут добавляться query-параметры, /search?.
Города, районы, теги имеют свои идентификаторы, и они будут отображены в URL в query-параметрах. Например, г. Москва - 1, район Академический - 89, тег "минет" - 3.