-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtasks.todo
18 lines (17 loc) · 3.18 KB
/
tasks.todo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[HW]:
- Сделать карточку информации об одном товаре;
- Портировать кнопки "Add to cart" & "Remove to cart" на эту страницу;
- Нужна механика, позволяющая получить из хранилища информацию о товаре по id, используя параметризованные геттеры;
- Продумать случай, если товара в хранилище не будет или будет битая ссылка на него, т.е. вывод E404;
- Вывести в шапке информацию о итоговой стоимости добавленных в корзину товаров (это уже не так сложно сделать, т.к. перед этим мы уже сделали такой геттер);
- В компоненте корзины вывести сводную таблицу, в которую попадают данные из двух модулей: данные о названии товара, его кол-ве в корзине и интерфейс для работы с этим товаром (кнопки "+", "-" и "remove");
- Сделать эмуляцию асинхронности для экшенов "add" & "remove" (с помощью setTimeout) и сделать блокировку кнопкам, пока они находятся в "inProcess" (см. notes.todo);
- [vue-3-course\07\src\App.vue] вывести total price через mapGetters;
- (vue-3-course\07\src\components\ProductsList.vue)[ln7] Отрефакторить, чтобы циклом размножалась не вёрстка, а отдельный компонент productCard;
- (vue-3-course\07\src\store\cart.js)[ln45] Реализовать механику с массивом "inProcess";
- Добавить в архитектуру проекта views для компонентов страниц;
[cart]:
- Смена кол-ва (метод setCnt);
- Очистка корзины;
- Пока в приложении, если сервер будет какое-то время отвечать запрос, то пользователь в это время может много раз нажать на кнопку "Add to cart" и, хотя это ничего не сломает, но тогда на сервер пойдёт больше запросов, чем нужно. Это поможет решить какой-то лоадер, в модуле корзины сделать доп. массив, который будет содержать id товаров, которые находятся в процессе обработки, а также делается ещё один геттер, что товар в обработке и пока этот товар в обработке кнопки этих товаров получают атрибут "disabled" или ещё какая-то анимация-лоадер появляется на этой карточке;
- Сделать страницу заказа, которая обращается к методу API очистки корзины;