Задача «Саджест»
Мы очень хотим, чтобы код вы написали сами, а не пользовались внешними библиотеками.
Основное задание
Вам необходимо реализовать саджест. Если вы не знаете, что такое саджест, то это подсказки, которые появляются под инпутом при вводе слова, например, на yandex.ru.
Требования:
- саджест выводит предполагаемые города и коды аэропортов данных городов, найдите самостоятельно базу всех аэропортов мира
- саджест работает как по названиям городов, так и по кодам аэропортов
- навигация по пунктам саджеста должна работать не только мышью, но и с клавиатуры
- дозаполнение инпута (т.е. подстановка в инпут текста) происходит по клику/выбору пункта саджеста
- вёрстка на свой вкус, но если не можете придумать, то можете взять дизайн саджеста с travel.yandex.ru
Бонусные баллы
Если вы по-настоящему заботитесь о пользователе, то не ограничивайтесь только реализацией требований, подумайте как саджестом пользоваться было бы удобно. Мы знаем как минимум три дополнительные функциональности, которые можно реализовать. За каждую из них мы добавим по 0.2 балла первому, кто реализует какую-то из фишек в своём задании.
Доступные команды
Перед тем, как запускать приведенные ниже команды, необходимо установить зависимости с помощью команды
npm install
Запускаются так: npm run <command>
Команда | Действие |
---|---|
lint | Проверка кода линтером |
lint:html | Линтинг HTML |
lint:css | Линтинг CSS |
lint:js | Линтинг JavaScript |
format | Форматирование кода |