Результаты выполнения

  • Создан репозиторий goit-react-hw-01-components.
  • Компоненты всех заданий рендерятся на одной странице, внутри общего контейнера - корневого компонента <App>.
  • В шапке репозитория есть ссылка на живую страницу на GitHub pages.
  • Для каждого компонента есть отдельная папка с файлом React-компонента и файлом стилей.
  • Для компонентов описаны propTypes, и, где необходимо, defaultProps.
  • Все что компонент ожидает в виде пропсов, передается ему при вызове.
  • Стилизация делается CSS-модулями.
  • Добавлена базовая стилизация приложения.

Профиль социальной сети

  • Создан компонент <Profile>, с помощью которого отображаем информацию о пользователе социальной сети. Данные о пользователе лежат в файле user.json.
  • Компонент принимает несколько пропсов с информацией о пользователе:
    1. name — имя пользователя
    2. tag — тег в социальной сети без @
    3. location — город и страна
    4. avatar — url на изображение
    5. stats — объект с информацией об активности

Секция статистики

  • Создан компонет <Statistics>, который отображает статистику по переданным пропам. К примеру загрузки в облако по типу файлов, посещение веб-страницы пользователями разных стран, финансовые траты и т. п. Данные о статистике лежат в файле statistical-data.json.
  • Компонент принимает два пропа title и stats, в которых указывается заголовок и объект статистики.
    1. title - не обязателен, и если он не передан, не рендериться разметка заголовка <h2>.
    2. stats - массив объектов содержащих информацию о элементе статистики. Может иметь произвольное кол-во элементов.
    3. Для цвета фона элемента статистики в оформлении создана функция для генерации случайного цвета.

Список друзей

  • Создан компонент <FriendList>, с помощью которого отображается информацию о друзьях пользователя. Информация о друзьях хранится в файле friends.json.
  • Компонент <FriendList> принимает один проп friends - массив объектов друзей.
  • Создан компонент <FriendListItem>, с помощью которого отображается информацию о конкретном элементе списка друзей.
  • Компонент <FriendListItem> принимает несколько пропов:
    1. avatar - ссылка на аватар
    2. name - имя друга
    3. isOnline - буль сигнализирующий о состоянии друга, в сети или нет. В зависимости от пропа isOnline меняется цвет фона span.status.

История транзакций

  • Создан компонент <TransactionHistory> принимающий один проп items - массив объектов транзакций из transactions.json. Компонент создает разметку таблицы. Каждая транзакция это строка таблицы.
  • Данные для списка доступны в формате JSON в файле transactions.json. Это массив объектов, каждый объект описывает одну транзакцию со следующими свойствами:
    1. id — уникальный идентификатор транзакции
    2. type — тип транзакции
    3. amount - сумма транзакции
    4. currency - тип валюты