Skip to content

Commit

Permalink
[FIX]: Starred coins were not saved anymore since rework (#6726)
Browse files Browse the repository at this point in the history
* [FIX]: Starred coins were not saved anymore since rework

* fix typecheck
  • Loading branch information
mcayuelas-ledger committed Apr 22, 2024
1 parent 07d85e8 commit 9593f88
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 42 deletions.
5 changes: 5 additions & 0 deletions .changeset/small-birds-remain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"ledger-live-desktop": patch
---

Fix starred coins in market
9 changes: 0 additions & 9 deletions apps/ledger-live-desktop/src/renderer/actions/market.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,6 @@ export const setMarketOptions = (payload: MarketListRequestParams) => ({
payload,
});

export const addStarredMarketCoins = (payload: string) => ({
type: "ADD_STARRED_MARKET_COINS",
payload,
});
export const removeStarredMarketCoins = (payload: string) => ({
type: "REMOVE_STARRED_MARKET_COINS",
payload,
});

export const setMarketCurrentPage = (payload: number) => ({
type: "MARKET_SET_CURRENT_PAGE",
payload,
Expand Down
9 changes: 9 additions & 0 deletions apps/ledger-live-desktop/src/renderer/actions/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -370,3 +370,12 @@ export const setAnonymousBrazeId = (payload: string) => ({
type: "SET_ANONYMOUS_BRAZE_ID",
payload,
});

export const addStarredMarketCoins = (payload: string) => ({
type: "ADD_STARRED_MARKET_COINS",
payload,
});
export const removeStarredMarketCoins = (payload: string) => ({
type: "REMOVE_STARRED_MARKET_COINS",
payload,
});
14 changes: 0 additions & 14 deletions apps/ledger-live-desktop/src/renderer/reducers/market.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { MarketListRequestParams } from "@ledgerhq/live-common/market/types";

export type MarketState = {
marketParams: MarketListRequestParams;
starredMarketCoins: string[];
currentPage: number;
};

Expand All @@ -22,13 +21,10 @@ const initialState: MarketState = {
counterCurrency: "usd",
},
currentPage: 1,
starredMarketCoins: [],
};

type HandlersPayloads = {
MARKET_SET_VALUES: MarketListRequestParams;
ADD_STARRED_MARKET_COINS: string;
REMOVE_STARRED_MARKET_COINS: string;
MARKET_SET_CURRENT_PAGE: number;
};

Expand All @@ -42,14 +38,6 @@ const handlers: MarketHandlers = {
...payload,
},
}),
ADD_STARRED_MARKET_COINS: (state: MarketState, { payload }: { payload: string }) => ({
...state,
starredMarketCoins: [...state.starredMarketCoins, payload],
}),
REMOVE_STARRED_MARKET_COINS: (state: MarketState, { payload }: { payload: string }) => ({
...state,
starredMarketCoins: state.starredMarketCoins.filter(id => id !== payload),
}),
MARKET_SET_CURRENT_PAGE: (state: MarketState, { payload }: { payload: number }) => ({
...state,
currentPage: payload,
Expand All @@ -59,8 +47,6 @@ const handlers: MarketHandlers = {
// Selectors

export const marketParamsSelector = (state: { market: MarketState }) => state.market.marketParams;
export const starredMarketCoinsSelector = (state: { market: MarketState }) =>
state.market.starredMarketCoins;
export const marketCurrentPageSelector = (state: { market: MarketState }) =>
state.market.currentPage;
// Exporting reducer
Expand Down
18 changes: 18 additions & 0 deletions apps/ledger-live-desktop/src/renderer/reducers/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ export type SettingsState = {
hasSeenAnalyticsOptInPrompt: boolean;
dismissedContentCards: { [key: string]: number };
anonymousBrazeId: string | null;
starredMarketCoins: string[];
};

export const getInitialLanguageAndLocale = (): { language: Language; locale: Locale } => {
Expand Down Expand Up @@ -197,6 +198,9 @@ const INITIAL_STATE: SettingsState = {
supportedCounterValues: [],
dismissedContentCards: {} as Record<string, number>,
anonymousBrazeId: null,

//MARKET
starredMarketCoins: [],
};

/* Handlers */
Expand Down Expand Up @@ -250,6 +254,8 @@ type HandlersPayloads = {
};
CLEAR_DISMISSED_CONTENT_CARDS: never;
SET_ANONYMOUS_BRAZE_ID: string;
ADD_STARRED_MARKET_COINS: string;
REMOVE_STARRED_MARKET_COINS: string;
};
type SettingsHandlers<PreciseKey = true> = Handlers<SettingsState, HandlersPayloads, PreciseKey>;

Expand Down Expand Up @@ -434,6 +440,14 @@ const handlers: SettingsHandlers = {
...state,
anonymousBrazeId: payload,
}),
ADD_STARRED_MARKET_COINS: (state: SettingsState, { payload }) => ({
...state,
starredMarketCoins: [...state.starredMarketCoins, payload],
}),
REMOVE_STARRED_MARKET_COINS: (state: SettingsState, { payload }) => ({
...state,
starredMarketCoins: state.starredMarketCoins.filter(id => id !== payload),
}),
};

export default handleActions<SettingsState, HandlersPayloads[keyof HandlersPayloads]>(
Expand Down Expand Up @@ -742,3 +756,7 @@ export const hasSeenAnalyticsOptInPromptSelector = (state: State) =>
state.settings.hasSeenAnalyticsOptInPrompt;
export const dismissedContentCardsSelector = (state: State) => state.settings.dismissedContentCards;
export const anonymousBrazeIdSelector = (state: State) => state.settings.anonymousBrazeId;

//MARKET

export const starredMarketCoinsSelector = (state: State) => state.settings.starredMarketCoins;
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,12 @@ import {
import { useCallback, useMemo } from "react";
import { useTranslation } from "react-i18next";
import { useDispatch, useSelector } from "react-redux";
import {
addStarredMarketCoins,
removeStarredMarketCoins,
setMarketCurrentPage,
setMarketOptions,
} from "~/renderer/actions/market";
import { setMarketCurrentPage, setMarketOptions } from "~/renderer/actions/market";
import { useInitSupportedCounterValues } from "~/renderer/hooks/useInitSupportedCounterValues";
import {
marketCurrentPageSelector,
marketParamsSelector,
starredMarketCoinsSelector,
} from "~/renderer/reducers/market";
import { localeSelector } from "~/renderer/reducers/settings";
import { marketCurrentPageSelector, marketParamsSelector } from "~/renderer/reducers/market";
import { localeSelector, starredMarketCoinsSelector } from "~/renderer/reducers/settings";
import { BASIC_REFETCH, REFETCH_TIME_ONE_MINUTE, getCurrentPage, isDataStale } from "../utils";
import { removeStarredMarketCoins, addStarredMarketCoins } from "~/renderer/actions/settings";

export function useMarket() {
const lldRefreshMarketDataFeature = useFeature("lldRefreshMarketData");
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useSelector, useDispatch } from "react-redux";
import { useParams } from "react-router-dom";
import { localeSelector } from "~/renderer/reducers/settings";
import { localeSelector, starredMarketCoinsSelector } from "~/renderer/reducers/settings";
import { useCallback, useMemo } from "react";
import { useTheme } from "styled-components";
import { getCurrencyColor } from "~/renderer/getCurrencyColor";
Expand All @@ -10,12 +10,9 @@ import {
useMarketDataProvider,
} from "@ledgerhq/live-common/market/v2/useMarketDataProvider";
import { Page, useMarketActions } from "./useMarketActions";
import {
removeStarredMarketCoins,
addStarredMarketCoins,
setMarketOptions,
} from "~/renderer/actions/market";
import { marketParamsSelector, starredMarketCoinsSelector } from "~/renderer/reducers/market";
import { setMarketOptions } from "~/renderer/actions/market";
import { marketParamsSelector } from "~/renderer/reducers/market";
import { removeStarredMarketCoins, addStarredMarketCoins } from "~/renderer/actions/settings";

export const useMarketCoin = () => {
const marketParams = useSelector(marketParamsSelector);
Expand Down

0 comments on commit 9593f88

Please sign in to comment.