From 11ef917e865a9a7bd6475b5c3a07440e672b50ef Mon Sep 17 00:00:00 2001 From: aizad-deriv Date: Fri, 27 Jan 2023 15:04:38 +0800 Subject: [PATCH 1/5] chore: migrated indicative cell to tsx --- ...ndicative-cell.jsx => indicative-cell.tsx} | 33 +++++++++++-------- .../src/Constants/data-table-constants.tsx | 2 +- 2 files changed, 21 insertions(+), 14 deletions(-) rename packages/reports/src/Components/{indicative-cell.jsx => indicative-cell.tsx} (77%) diff --git a/packages/reports/src/Components/indicative-cell.jsx b/packages/reports/src/Components/indicative-cell.tsx similarity index 77% rename from packages/reports/src/Components/indicative-cell.jsx rename to packages/reports/src/Components/indicative-cell.tsx index 622cab8bfc18..38ca2186d75a 100644 --- a/packages/reports/src/Components/indicative-cell.jsx +++ b/packages/reports/src/Components/indicative-cell.tsx @@ -1,10 +1,27 @@ -import PropTypes from 'prop-types'; import React from 'react'; import { Icon, Money, DesktopWrapper, ContractCard } from '@deriv/components'; import { getCardLabels } from '_common/contract'; import { connect } from 'Stores/connect'; +import { TRootStore } from 'Stores/index'; -const IndicativeCell = ({ amount, currency, contract_info, is_footer, onClickSell, is_sell_requested }) => { +type TIndicativeCell = { + amount: number; + contract_info: object; + currency: string; + status: string; + is_footer: boolean; + is_sell_requested: () => void; + onClickSell: () => void; +}; + +const IndicativeCell = ({ + amount, + currency, + contract_info, + is_footer, + onClickSell, + is_sell_requested, +}: TIndicativeCell) => { const [movement, setMovement] = React.useState(null); const [amount_state, setAmountState] = React.useState(0); @@ -40,16 +57,6 @@ const IndicativeCell = ({ amount, currency, contract_info, is_footer, onClickSel ); }; -IndicativeCell.propTypes = { - amount: PropTypes.number, - contract_info: PropTypes.object, - currency: PropTypes.string, - status: PropTypes.string, - is_footer: PropTypes.bool, - is_sell_requested: PropTypes.func, - onClickSell: PropTypes.func, -}; - -export default connect(({ portfolio }) => ({ +export default connect(({ portfolio }: TRootStore) => ({ onClickSell: portfolio.onClickSell, }))(IndicativeCell); diff --git a/packages/reports/src/Constants/data-table-constants.tsx b/packages/reports/src/Constants/data-table-constants.tsx index 01013820fa3f..e31ad0d7b0cd 100644 --- a/packages/reports/src/Constants/data-table-constants.tsx +++ b/packages/reports/src/Constants/data-table-constants.tsx @@ -7,7 +7,7 @@ import ProgressSliderStream from '../Containers/progress-slider-stream.jsx'; import { getCardLabels } from '_common/contract'; import { getProfitOrLoss } from '../Helpers/profit-loss'; -import IndicativeCell from '../Components/indicative-cell.jsx'; +import IndicativeCell from '../Components/indicative-cell'; import MarketSymbolIconRow from '../Components/market-symbol-icon-row'; import ProfitLossCell from '../Components/profit_loss_cell.jsx'; import CurrencyWrapper from '../Components/currency-wrapper'; From 73c175074acb8e515390f39cc28008cca61befbc Mon Sep 17 00:00:00 2001 From: aizad-deriv Date: Fri, 27 Jan 2023 15:21:26 +0800 Subject: [PATCH 2/5] fix: added types to usestate --- packages/reports/src/Components/indicative-cell.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/reports/src/Components/indicative-cell.tsx b/packages/reports/src/Components/indicative-cell.tsx index 38ca2186d75a..7636950042f4 100644 --- a/packages/reports/src/Components/indicative-cell.tsx +++ b/packages/reports/src/Components/indicative-cell.tsx @@ -22,7 +22,7 @@ const IndicativeCell = ({ onClickSell, is_sell_requested, }: TIndicativeCell) => { - const [movement, setMovement] = React.useState(null); + const [movement, setMovement] = React.useState(null); const [amount_state, setAmountState] = React.useState(0); React.useEffect(() => { From 78501cae4159bde48d2e5825d726b24678572eb2 Mon Sep 17 00:00:00 2001 From: aizad-deriv Date: Fri, 27 Jan 2023 16:29:24 +0800 Subject: [PATCH 3/5] fix: change type --- packages/reports/src/Components/indicative-cell.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/reports/src/Components/indicative-cell.tsx b/packages/reports/src/Components/indicative-cell.tsx index 7636950042f4..d945ce27a532 100644 --- a/packages/reports/src/Components/indicative-cell.tsx +++ b/packages/reports/src/Components/indicative-cell.tsx @@ -10,7 +10,7 @@ type TIndicativeCell = { currency: string; status: string; is_footer: boolean; - is_sell_requested: () => void; + is_sell_requested: () => boolean; onClickSell: () => void; }; From 93383f19097c116b2e949dcc1b01c6e6fd13c521 Mon Sep 17 00:00:00 2001 From: aizad-deriv Date: Fri, 27 Jan 2023 16:54:03 +0800 Subject: [PATCH 4/5] fix: change function type to boolean --- packages/reports/src/Components/indicative-cell.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/reports/src/Components/indicative-cell.tsx b/packages/reports/src/Components/indicative-cell.tsx index d945ce27a532..6bb9b02a4579 100644 --- a/packages/reports/src/Components/indicative-cell.tsx +++ b/packages/reports/src/Components/indicative-cell.tsx @@ -10,7 +10,7 @@ type TIndicativeCell = { currency: string; status: string; is_footer: boolean; - is_sell_requested: () => boolean; + is_sell_requested: boolean; onClickSell: () => void; }; From 8ce1a9f040f24a3d006edeefb3d6bbd10bc17202 Mon Sep 17 00:00:00 2001 From: aizad-deriv Date: Wed, 8 Feb 2023 11:00:28 +0800 Subject: [PATCH 5/5] fix: imported TContractInfo from shared file into indicative-cell --- packages/reports/src/Components/indicative-cell.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/reports/src/Components/indicative-cell.tsx b/packages/reports/src/Components/indicative-cell.tsx index 6bb9b02a4579..e291253310c5 100644 --- a/packages/reports/src/Components/indicative-cell.tsx +++ b/packages/reports/src/Components/indicative-cell.tsx @@ -3,10 +3,11 @@ import { Icon, Money, DesktopWrapper, ContractCard } from '@deriv/components'; import { getCardLabels } from '_common/contract'; import { connect } from 'Stores/connect'; import { TRootStore } from 'Stores/index'; +import { TContractInfo } from '@deriv/shared'; type TIndicativeCell = { amount: number; - contract_info: object; + contract_info: TContractInfo; currency: string; status: string; is_footer: boolean;