-
Сделать форк этого репозитория в свой аккаунт (только 1 раз в самом начале).
-
Перед выполнением ДЗ сделайте пул мастера этого репозитория себе в форк (чтобы иметь актуальный код);
-
Обновить зависимости
yarn
илиnpm i
; -
Создайте новую ветку от актуального мастера для выполнения ДЗ;
-
Выполните ДЗ в этой ветке;
-
Сделайте Pull Request этой ветки в мастер моего репозитория;
-
Напишите мне ([email protected]) письмо со ссылкой на PR.
Важно! В результате всех этих манипуляций в вашем мастере должны быть только мои комиты, все ваши комиты должны быть в отдельных ветках под каждую домашку.
Дедлайн – 22:00 по Киеву/23:00 по Москве за день до занятия.
- Создать компонент Rate, который принимает рейтинг (число от 1 до 5) и отображает его используя SVG со звездочками. Например
<Rate value={3} />
. - Создать компонент Reviews, который принимает все ревью по одному ресторану и отображает имена и отзывы про ресторан, а так же рейтинг с помощью компонента Rate.
- Создать компонент Restaurant (рендерить там, где сейчас Menu). В Restaurant показывать Menu и Reviews. Так же в Restaurant посчитать средний рейтинг по этому ресторану и отобразить с помощью компоненты Rate.
- Покрыть PropTypes все компоненты (только то, что используется в компоненте).
- Написать тесты на уменьшение блюд (опционально - без клика по increment).
- Покрыть тестами Reviews (теститовать только разметку).
- Написать тесты на компоненты Review, Product и тестируем joinIngredients.
- В продукт добавить кнопку удаления продукта из корзины(совсем, выставление в 0).
- Подмодуль для пользователя, хранит состояние о текущем пользователе. Имеет возможность войти и выйти (установить текущего пользователя, выйти текущему пользователю). Сделать два компонента в разных местах интерфейса. 1 для отображения кнопок войти/выйти. И другой для отображения инфы о пользователе. Если пользователь есть, то отображаем кнопку выйти, если нет, то войти. По клику на войти помещаем инфу о пользователе в стор(инфу о пользователи придумать самому, структура любая).
- селектор для price, используем в компоненте busket
- Починить отображение Review компонента (взять данные из редьюсеров review и users)
- Реализовать добавление нового review и юзера в стор и показывать его (мы считаем, что на каждый новый отзыв у нас добавляется новый пользователь)
- Загрузить products, users, reviews через redux-thunk, грузить только для текущего ресторана. products и reviews грузим толкьо для конкретного ресторана.
'/api/products?id=...' '/api/reviews?id=...' '/api/users'
-
Полностью убрать fixtures из приложения (удалить все импорты и сам файл), все грузить с сервера
-
При загрузках показывать лоадеры, все грузить максимально низко, там где эти данные нужны
- Сделать страницу "Список блюд". Она доллжна быть на отдельном роуте. Отображаем на ней все продукты из всех ресторанов. Ссылку для перехода расположить в шапке. Переход должен быть клиентский.