Место - это интерактивная страница, на которой пользователи могут делиться фотографиями, удалять их и ставить лайки.
- Хэдер, в котором размещен логотип сервиса.
- Краткая информация о пользователе и заглавное изображение профиля.
- Фотогалерея, выполненная в виде мозаики из карточек. Вверху каждой карточки размещена кнопка для ее удаления, внизу - кнопка "Мне нравится".
- Футер с информацией об авторских правах.
- Форма для установки нового изображения пользователя. Открыть форму можно нажав на установленное на текущий момент изображение.
- Форма для редактирования раздела с информацией о пользователе. Форма открывается нажатием расположенной в разделе кнопки. При открытии в поля формы вносятся текущие пользовательские данные. Подтверждение изменений обновляет содержимое и заголовок страницы и закрывает форму.
- Форма для добавления в галерею нового изображения. Кнопка для открытия формы находится в разделе с информацией о пользователе. После внесения названия и ссылки на изображение и нажатия на кнопку "Создать" карточка с новым изображением добавляется в начало фотогалереи.
- Окно для просмотра изображения в большом размере. Окно открывается при нажатии на любое изображение в галерее.
- HTML5;
- CSS3:
- Flexbox;
- Grid Layout;
- Positioning;
- Adaptive UI;
- Media Queries;
- Методология БЭМ;
- Файловая структура Nested БЭМ;
- JavaScript:
- Стиль CamelCase;
- Объектно-ориентированное программирование;
- Промисы (Promise);
- Асинхронность и оптимизация;
- API (Application Programming Interface);
- Webpack;
- Семантическая верстка.
- Редактирование аватара и профиля;
- Добавление фотографии и лайков;
- Удаление фотографии и лайков;
- Открытие фотографии в полном размере;
- Валидация формы «Редактировать профиль»
- оба поля обязательные;
- поле «Имя» от 2 до 40 символов;
- поле «О себе» от 2 до 200 символов;
- Валидация формы «Новое место»
- оба поля обязательные;
- поле «Название » от 2 до 40 символов;
- поле «Ссылка» проверяет, что ввели именно ссылку
- Закрытие попапов кликом на оверлей и клавишей Esc
- Применена стандартная валидация через HTML и CSS
- Настроена сборка webpack-ом
- Загрузка информации о пользователе с сервера
- Загрузка карточек с сервера
- Редактирование профиля
- Добавление новой карточки
- Отображение количества лайков карточки
- Попап удаления карточки
- Постановка и снятие лайка
- Обновление аватара пользователя
- Улучшенный UX всех форм
JavaScript
Figma
Картинки
Использована программа Оптимизатор картинок для более быстрой загрузки сайта