Поиск
При взаимодействии с поиском меняется содержимое таблицы через скелетон. Он появляется при любой прогрузке данных.
Также меняется содержимое урла под идентификатором search.
Если нет результатов поиска - получаем экран “Не найдено”.
Категории
Категории зависят от того, какие монеты есть у пользователя. 100, 50, 25, 10- статичны, Фавориты и Портфолио зависят от того, добавлял ли пользователь монеты в один из списков. При выборе одной из них меняется список и меняется урл под идентификатором per_page.
Режим просмотра
Есть два режима - монеты и таблица. Текущий режим сохраняется в localStorage под индентификатором coinsViewType и сеттится при загрузке страницы.
Период
При изменении меняются процентные значения в change и не влияет на урл, но текущее значение сохраняется в localStorage под индентификатором coinsPeriod и сеттится по загрузке страницы.
Идентификаторы столбцов - фильтрация
При нажатии на любой идентификатор фильтруем таблицу по значению. В урле новое значение сеттится в урл под идентификатором sort_key.
Добавление в пользовательские списки
Пользователь может добавить/удалить монеты в списках Фаворитов и Портфолио.
Фавориты - монеты, за которыми пользователь может комфортно наблюдать выбрав их в списке категорий в таблице или на экране монет.
Портфолио - монеты, которые пользователь увидит как ассеты с нулевым балансом в своем портфолио если добавит их через страницу монеты или таблицу, или которые добавил в свое портфолио путем создания транзакций. Удаление ассета из портфолио означает удалить все транзакции с этим ассетом из портфолио.
При добавлении в одну из категорий иконка должна соотвественно поменяться с ➖ на➕.
По цветам соответсвенно: Портфолио - залитый бежевым фон, Фавориты - залитая оранжевым звезда.
В localStorage значения сохраняются: Фавориты - favorites , Портфолио - transactions.
Строка монеты
При нажатии на ссылку в любом месте переходим на страницу монеты, кроме нажатия на звездочку из пункта 6.
Пагинация
Пагинация сеттит значение в урле под идентификатором page, при загрузке так же подтягивается.