Приложение для поиска и просмотра информации о покемонах с использованием PokeAPI.
-
Поиск покемонов
- Реализовать поиск покемонов по имени
- Поиск должен работать в реальном времени с задержкой 300мс
- Отображать максимум 5 результатов поиска
- При отсутствии результатов показывать сообщение об ошибке
-
Отображение информации о покемоне
- Показывать официальное изображение покемона
- Отображать имя покемона
- Показывать типы покемона с соответствующими цветами
- Отображать основные характеристики (HP, Attack, Defense, Speed)
- Показывать описание покемона из Pokedex
-
Интерфейс
- Реализовать современный плоский дизайн
- Добавить анимации при загрузке и взаимодействии
- Сделать адаптивный дизайн для разных размеров экрана
- Использовать градиентный фон
- Добавить индикатор загрузки
-
Архитектура
- Использовать чистый JavaScript (ES6+)
- Не использовать фреймворки
- Применять модульный подход
- Использовать современные возможности DOM API
-
Производительность
- Реализовать дебаунс для поиска
- Использовать ленивую загрузку изображений
- Оптимизировать запросы к API
- Кэшировать результаты поиска
-
Безопасность
- Не использовать innerHTML
- Валидировать входные данные
- Обрабатывать ошибки API
- Использовать безопасные методы манипуляции DOM
-
Стилизация
- Использовать CSS переменные
- Применять современные CSS свойства
- Реализовать плавные анимации
- Использовать flexbox и grid для верстки
-
Список покемонов
-
Информация о покемоне
-
Информация о виде покемона
const state = {
pokemonNames: [], // массив имен всех покемонов
loading: false // флаг загрузки
}-
Поиск
- Поле ввода с плейсхолдером
- Дебаунс 300мс
- Очистка результатов при пустом вводе
-
Карточка покемона
- Изображение
- Имя
- Бейджи типов
- Статистика с визуальными индикаторами
- Описание
-
Состояния
- Загрузка
- Ошибка
- Результаты поиска
-
Фон
- Плавный градиентный переход
-
Карточки
- Появление с анимацией fadeIn
- Эффект при наведении
- Пульсация изображения
-
Статистика
- Плавное заполнение индикаторов
-
Десктоп (>1024px)
- 4 карточки в ряд
- Большие изображения
-
Планшет (768px-1024px)
- 3 карточки в ряд
- Средние изображения
-
Мобильный (<768px)
- 1 карточка в ряд
- Маленькие изображения
- Оптимизированные отступы