just some movie DB API
// Комментарии к коду
// Заранее извиняюсь за лапшекод...
// Вы можете заметить, что я использовал другой API, более функциональный и показательный, // но в то же время ничуть не проще в реализации, так как он требует получение Токена и создания сессии. // Верстка идентичная макету, отличаются размеры изображений - API таких маленьких не выдает. // Помимо описанного в задании функционала, реализован быстрый просмотр и вывод видео, при его наличии в попапе. // Также, фильмы сортируются по рейтингу от большего к малому.
// Было желание сделать модульную структуру и использовать import/export, но сборщик стал сопротивляться // По хорошему, из функции init надо убрать лишнее. Например, слушателя событий на input лучше ставить сразу при генерации тега, // очистка рабочего поля тоже засоряет // Реализован поиск по вводу и по нажатию Enter, однако, поиск по вводу очень сырой, использовать его пока не стоит, // хотя попробовать можете // Поиск по вводу сделан при помощи таймаута в 1 секунду, и даже этого иногда мало. // Для защиты от перебора по X-Rate-Limit можно было бы посчитать задержку, гаранирующую вхождение в условия пользования сервисом. // Для мобильных устройств поиск по вводу выключен в целях экономии трафика.
// В Верстке использовал Гриды и флексы. идеальная парочка. Однако, для обратной совместимости оставил inline-block. // Верстку не тестировал на IE
// Баги: // Необходимо почистить код от повторов и глупого кода типа // "this.value != '' ? label.setAttribute('style','display:none') : label.removeAttribute('style','display:none')" // Кнопка показать больше... С ней было больше всего проблем, многие из которых остались.
// Что хотелось бы сделать // Определенно, сделал бы я это "приложение" на React или Vue, кода было бы в разы меньше. // Код стал бы красивым, легко читаемым и легко поддерживаемым.
Тоже самое, но с bootstrap и библиотекой (https://github.com/cavestri/themoviedb-javascript-library.git) https://codepen.io/videmann/pen/yLLqJKj