Избранное
Сердечко на карточке товара и на странице товара добавляет его в избранное. Список открывается ссылкой «Избранное» в шапке и одноимённым разделом личного кабинета.
Избранное требует аккаунта. Список хранится на сервере и привязан к покупателю, поэтому он виден с любого устройства, где выполнен вход.
Гость нажал сердечко
Гость, нажавший сердечко, не теряет своё действие: магазин запоминает, какой товар он хотел добавить, и предлагает войти. После входа товар добавляется сам, а покупатель возвращается на ту же страницу, с которой уходил.
Магазин временно сохраняет намерение «добавить этот товар» в браузере покупателя. Оно проверяется перед использованием: если запись повреждена, устарела или указывает на что-то кроме внутренней страницы магазина, магазин её просто игнорирует — лишний товар в избранном не появится и на посторонний сайт покупателя не перенаправит.
Список избранного
В разделе «Избранное» товары показываются страницами по 10 штук, с кнопками «Назад» и «Далее» и текстом, какая страница открыта сейчас.
Кнопка обновления списка заново запрашивает избранное с сервера — например, если товар добавили или убрали в другой вкладке или с телефона.
Удаление из избранного применяется сразу на экране, а подтверждение с сервера приходит следом. Если сервер ответил ошибкой, товар возвращается обратно в список, а покупатель видит сообщение об ошибке — то есть исчезновение карточки не окончательно, пока сервер не подтвердил удаление.
Если убрать последний товар со второй (или более поздней) страницы, магазин сам переключит список на предыдущую страницу — пустая страница не останется висеть.
Если список избранного пуст, вместо таблицы товаров показывается пояснение, что избранное пока пусто, со ссылкой на каталог.