Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kate/87536/add existing Duration & Amount(Stake) components to Turbos Trade params #78

Conversation

kate-deriv
Copy link
Collaborator

@kate-deriv kate-deriv commented Feb 7, 2023

Changes:

  • Add new TurbosInfo component, which is based on existing MultipliersInfo component. It was necessary to create a new component as MultipliersInfo has too much extra properties, functions and child components (tooltips and etc.). Only for desktop.
  • Add Min. stake and Max. stake values to the trade store, but they are temporary hardcoded as we should receive them from BE. Do not forget to clean them up in future!
  • Add tabs for ticks and stake for mobile version based in existing component.

What is negotiable:

  • In the existing code we have 'header_content' attribute for div tag, but this attribute do not exist in official documentation https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes. It's also not a custom attribute, as all of them should start with 'data-'. Suggestion: we should rename all custom tags according to international agreement (with 'data-' prefix).
    Example of usage:
    <div header_content={getHeaderContent('duration')}>

When you need to add unit test

  • If this change disrupt current flow
  • If this change is adding new flow

When you need to add integration test

  • If components from external libraries are being used to define the flow, e.g. @deriv/components
  • If it relies on a very specific set of props with no default behavior for the current component.

Test coverage checklist (for reviewer)

  • Ensure utility / function has a test case
  • Ensure all the tests are passing

Type of change

  • Bug fix
  • New feature
  • Update feature
  • Refactor code
  • Translation to code
  • Translation to crowdin
  • Script configuration
  • Improve performance
  • Style only
  • Dependency update
  • Documentation update
  • Release

</Text>
);

const max_stake_text = (
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it will be possible to reuse min_stake_text for max_stake_text, so I'm going to improve it today

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because the only difference between them is default text and amount

justify-content: center;

.trade-container__turbos-trade-info {
width: 240px;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use rem

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No problem, I've just tried to do as in code above, where for width and height % or px were used

import { connect } from 'Stores/connect';

const TurbosInfo = ({ className, currency, has_stop_loss, max_stake = 100, min_stake = 1 }) => {
const getTextForStake = (text, amount_of_stake) => (
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can even move this outside of TurbosInfo to line no.7

Copy link
Collaborator Author

@kate-deriv kate-deriv Feb 8, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed function and make it pure, thank you for suggestion

Copy link
Owner

@maryia-deriv maryia-deriv Feb 8, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@matin-deriv @kate-deriv it might not update its translation when it's moved outside and the user is changing the platform language. faced it earlier. please check by adding some existing translated string and switching the language while the component is outside.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We check it up with Maryia, everything works as it should be

import { Localize } from '@deriv/translations';
import { connect } from 'Stores/connect';

const TurbosInfo = ({ className, currency, has_stop_loss, max_stake = 100, min_stake = 1 }) => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you define the variables in the store and give them a default value in the props?
Keep them in one place only to have only a single source or truth.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because currently we do not get these values from BE, so I hardcoded them in store and also add default value in component just to be sure. When we able to get those values from BE, I'll remove all hard coded parts, but it a good idea to clean up default props values right now

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok then leave a todo comment to update it once you get the values from BE

Copy link

@yashim-deriv yashim-deriv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

comments

import { Localize } from '@deriv/translations';
import { connect } from 'Stores/connect';

const getTextForStake = (amount_of_stake, className, currency, text) => (

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
const getTextForStake = (amount_of_stake, className, currency, text) => (
const TextStake = ({ amount_of_stake, className, currency, text }) => (

This should be a component.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll rebuild it in component

const TurbosInfo = ({ className, currency, has_stop_loss, max_stake, min_stake }) => {
return (
<div className={classNames('turbos-trade-info', className)}>
{getTextForStake(min_stake, className, currency, 'Min. stake <0/>')}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{getTextForStake(min_stake, className, currency, 'Min. stake <0/>')}
{<TextForStake amount_of_stake={min_stake} className={className} currency={currency} text="Min. stake <0/>" />}

I think it looks better as a component

};

export default connect(({ modules }, props) => ({
amount: props.amount ?? modules.trade.amount,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why there's a fallback here? Default fallback should be done on the component for better readability.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I cleaned all the unnecessary props

Comment on lines 46 to 47
max_stake: props.max_stake ?? modules.trade.max_stake,
min_stake: props.min_stake ?? modules.trade.min_stake,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here. There's already a default value set in the trader-store 🤔 Is this fallback necessary?

currency={currency}
min={min_amount}
is_currency
render={({ value: v, className }) => {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
render={({ value: v, className }) => {
render={({ value, className }) => {

I think using value is more readable than v ✌🏼

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, sorry, it was in original code, I'll remove it

&__amount,
&__stake {
&-container {
margin: 0.4rem 0 -0.7rem;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
margin: 0.4rem 0 -0.7rem;
margin: 0.4rem 0 -0.7rem;

👀 negative rem? why? can it be solved by using a positive value on opposite side?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm sorry, but below there is a trade-params__amount-keypad with margin-top 0.8 rem and I can't change this value as it will affect all trade types on mobile with this keypad (because in all the other trade types keypad will be closure to the top, then it should be)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah i see. LGTM

@maryia-deriv maryia-deriv merged commit 8e7b984 into maryia-deriv:maryia/87354/task-add-turbos Feb 8, 2023
maryia-deriv pushed a commit that referenced this pull request Jun 12, 2023
…-com#8270)

* chore: add useTraderStores

* chore: add trader-providers

* refactor: replace MobxContentProvider with TraderProviders

* chore: update trader to trade

* refactor: replace connect in Trader package v1.0 (#76)

* refactor: contract-replay, contract-drawer and contract-drawer-card to use useStore (#77)

* Jim/93585/replace connect with usestore in market countdown timer market unavailable trade modals unsupported contract modal (#79)

* refactor: remove connect from market-countdown-timer

* refactor: remove connect from market-unavailable

* refactor: remove connect from trade-modals

* refactor: move is_visible prop to market-unavailable

* refactor: remove connect from unsupported-contract-modal

* Hamza/93474/replace connect with use trader store (#78)

* refactor: replace connect in Trader package v1.0

* refactor: replace connect with useTraderStore v1.2

* refactor: replace connect with useTraderStore v1.2.1

* refactor: replace connect with useTraderStore v1.2.2

* refactor: replace connect with useTraderStore v1.2.3

* Hamza/93474/replace connect with use trader store (#80)

* refactor: replace connect in Trader package v1.0

* refactor: replace connect with useTraderStore v1.2

* refactor: replace connect with useTraderStore v1.2.1

* refactor: replace connect with useTraderStore v1.2.2

* refactor: replace connect with useTraderStore v1.2.3

* refactor: replace connect with useTraderStore v1.3

* refactor: replace connect with useTraderStore v1.4

* Jim/93604/replace connect with use store in positions drawer positions modal card toggle positions mobile time picker populate header (#81)

* refactor: remove connect from positions-drawer

* refactor: remove connect from positions-modal-card

* refactor: remove connect from toggle-positions-mobile

* refactor: remove connect from time-picker

* refactor: remove connect from populate-header

* Jim/93667/replace connect with use store in trade header extensions trade settings extensions progress slider stream routes (#83)

* refactor: remove connect from positions-drawer

* refactor: remove connect from positions-modal-card

* refactor: remove connect from toggle-positions-mobile

* refactor: remove connect from time-picker

* refactor: remove connect from populate-header

* refactor: remove connect from trade-footer-extensions

* refactor: migrate trade-header-extensions to ts and remove connect from it

* refactor: migrate trade-settings-extensions to ts and remove connect from it

* refactor: remove connect from progress-slider-stream and routes

* chore: update mocstore with new fields

* Hamza/93474/replace connect with use trader store (#82)

* refactor: replace connect in Trader package v1.0

* refactor: replace connect with useTraderStore v1.2

* refactor: replace connect with useTraderStore v1.2.1

* refactor: replace connect with useTraderStore v1.2.2

* refactor: replace connect with useTraderStore v1.2.3

* refactor: replace connect with useTraderStore v1.3

* refactor: replace connect with useTraderStore v1.4

* refactor: replace connect with useTraderStore v1.5

* refactor: replace connect with useTraderStore v1.5.1

* refactor: replace connect with useTraderStore v1.5.2

* refactor: replace connect with useTraderStore v1.5.3 test failing fixed

* refactor: replace connect with useTraderStore v1.5.4

* Jim/88556/replace connect with use store in settings chart accumulators stats contract replay widget contract and toolbar widgets (#84)

* chore: removeconnectsettings-chart/accumulators-stats/contract-replay-widget/contracttoolbar-widgets

* refactor: remove connect from accumulators-stats.spec

* refactor: replace connect in top-widgets_cancel-deal-mobile_risk-management-info_mobile-widget

* Hamza/93474/replace connect with use trader store (#85)

* refactor: replace connect in Trader package v1.0

* refactor: replace connect with useTraderStore v1.2

* refactor: replace connect with useTraderStore v1.2.1

* refactor: replace connect with useTraderStore v1.2.2

* refactor: replace connect with useTraderStore v1.2.3

* refactor: replace connect with useTraderStore v1.3

* refactor: replace connect with useTraderStore v1.4

* refactor: replace connect with useTraderStore v1.5

* refactor: replace connect with useTraderStore v1.5.1

* refactor: replace connect with useTraderStore v1.5.2

* refactor: replace connect with useTraderStore v1.5.3 test failing fixed

* refactor: replace connect with useTraderStore v1.5.4

* refactor: replace the connect with useStore v1.6

* fix: reverted the duration-wrapper

* fix: the duration-wrapper

* refactor: replace connect in top-widgets_cancel-deal-mobile_risk-management-info_mobile-widget (#86)

* refactor: restore component structure to its original form

* refactor: remove MobxContentProvider

* refactor: replace connect in strike, vanilla-trade-type, screen-small, chart-widgets, and test

* Jim/93866/replace_connect_with_usestore_in_strike_vanilla-trade-type_screen-small_chart-widgets_and_test (#87)

* refactor: replace connect in top-widgets_cancel-deal-mobile_risk-management-info_mobile-widget

* refactor: restore component structure to its original form

* refactor: remove MobxContentProvider

* refactor: replace connect in strike, vanilla-trade-type, screen-small, chart-widgets, and test

* Hamza/93474/replace connect with use trader store (#88)

* refactor: replace connect in Trader package v1.0

* refactor: replace connect with useTraderStore v1.2

* refactor: replace connect with useTraderStore v1.2.1

* refactor: replace connect with useTraderStore v1.2.2

* refactor: replace connect with useTraderStore v1.2.3

* refactor: replace connect with useTraderStore v1.3

* refactor: replace connect with useTraderStore v1.4

* refactor: replace connect with useTraderStore v1.5

* refactor: replace connect with useTraderStore v1.5.1

* refactor: replace connect with useTraderStore v1.5.2

* refactor: replace connect with useTraderStore v1.5.3 test failing fixed

* refactor: replace connect with useTraderStore v1.5.4

* refactor: replace the connect with useStore v1.6

* fix: reverted the duration-wrapper

* fix: the duration-wrapper

* fix: contract not bought error config missing from props

* refactor: remove connect function definition and connectwithcontractupdates

* Jim/93908/remove-connect-and-connect-with-contract-updates-definitions from trader (#89)

* refactor: replace connect in top-widgets_cancel-deal-mobile_risk-management-info_mobile-widget

* refactor: restore component structure to its original form

* refactor: remove MobxContentProvider

* refactor: replace connect in strike, vanilla-trade-type, screen-small, chart-widgets, and test

* refactor: remove connect function definition and connectwithcontractupdates

* refactor: address whitespace comments, type exportsclear

* chore: remove unused invalid import

* chore: add type keyword on import statement

* chore: add whitespace

* refactor: remove passthrough.root_store

* chore: restore props

* chore: remove sonarcloud bug

* refactor: wrap allowequalsmobile in a div to make it collapsible

---------

Co-authored-by: Muhammad Hamza <120543468+hamza-deriv@users.noreply.github.com>
maryia-deriv added a commit that referenced this pull request Aug 10, 2023
* feat: connect turbos contracts_for & take barrier_choices

* chore: add barrier count to turbos config

* chore: connected proposal API + added Stake header + updated purchase button (#75)

* Kate/87485/add Turbos to the Trade types list (#74)

* feat: add turbos to trade types

* feat: add icon for description

* refactor: separate trade types description, change svg and make info icons being visible for mob

* fix: replace icons name to proper define

* fix: correct spelling for turbos icon

* Kate/87510/add existing Take Profit component to Turbos Trade params (#77)

* refactor: add existing take profit component for turbos

* refactor: unite condition for riskmanagmentinfo component for multiplier and turbos

* fix: maryia/hide info from purchase button correctly

* hamza/ feat: Barrier Line Colors depend upon the contract type (#80)

* feat: Barrier Line Colors depend upon the contract type

* chore: Reafctor Barrier Line Colors depend upon the contract type v1.2

* chore: Reafctor Barrier Line Colors depend upon the contract type v1.3

* hamza/dynamic Turbos purchase button with icons (#79)

* feat: Dynamics Buttons Desktop + Responsive

* chore: refactor the code

* chore: refactor chnages v1.2

* chore: refactor css

* chore: refactor css v1.3

* chore: removed the function and moved to helpers

* chore: removed the function and moved to helpers v1.1

* chore: removed the function and moved to helpers renamed v1.2

* Kate/87536/add existing Duration & Amount(Stake) components to Turbos Trade params (#78)

* feat: create turbos info componenet, based on existing multiplier component

* refactor: add duration and stake for turbos mobile based on existing component

* refactor: unite two similar text components in one function, correct spelling in store

* refactor: remove fuction from component and make it pure, change px to rem in styles

* refactor: turn function into component and clean up props values

* refactor: add todo comment

* hamza/88083/To Adjust the purchase button styles including animation (#83)

* chore: style changes v1.0

* fix: styling animation

* fix: button styling responsive

* fix: button styling responsive v1.3

* Kate/87506/To implement Turbos Contract card in Recent Positions drawer and Contract Details (#82)

* feat: add proper type name for turbos in recent positions

* refactor: extend getcontracttypedisplay function, do decomposing

* refactor: config files for recent positions card

* feat: add recent position card for desktop and plug in min and max stake

* feat: add card for recent positions for mobile

* fix: delete extra properties

* refactor: add react fragment and shrink arrow function

* fix: spelling in trade type

* feat: add turbos contract card for contract details page for desktop

* feat: add turbos card for details page mobile

* refactor: replace wrong contracts type to turbos

* refactor: add nested styles, rename variables

* refactor: shrink styles for contract card

* fix: status timer style

* refactor: cleared classname

* fix: change px to rem

* Hamza / 87508/feat:To add Turbos to Open Positions page [Desktop & Responsive] (#85)

* feat: desktop view added in reports open positions

* chore: desktop view tweaks v1.1

* chore: open positions v1.3

* chore: Mobile Css v1.4

* fix: mobile responsive v1.5

* chore: open positions turbos and multipliers v1.6

* chore: open positions turbos and multipliers commented code v1.7

* refactor: UI Changes as per Figma and refactor Css

* fix: Recent Positions and refactor Css v1.8

* fix: Recent Positions and refactor Css v1.9

* fix: Recent Positions and refactor Css v1.10

* fix: Recent Positions and refactor Css v1.11

* Kate/87395/add turbos barriers component (#87)

* feat: init barriers components file

* feat: add BrriersTable component with base styles

* refactor: config files, fix css for card details and add toggle func for new comp

* feat: add state for condition of rendering barrierstable component, add animation

* feat: implement function for setting new barrier value

* feat: add new component for list and list-item, refactor css and store function

* feat: add new observable and set func to the store for hover value, add scroll comp

* refactor: rename barriers component, restructured it, change type of mouse events, delete utilit

* refactor: exclude extra component renders

* feat: add collapsed barriers

* refactor: rename params and remove a helper function to a separate file

* chore: empty commit to triger tests

* refactor: incapsulate logic of event handlers inside barriers-list component, replace input comp

* refactor: change the structure of header_tooltip_text

* refactor: replace header_tooltip_text with Localize component

* refactor: change the structure of event handlers

* refactor: delete extra class for hover

* refactor: delete event handler

* Kate/87397/[Responsive]: To add Collapsed Turbos barriers in Trade params (#91)

* feat: add barrier collapsed for mobile, refactor css for trade type info card

* fix: forgot call function

* refactor: change style of payout per point in mobile acc to design

* Hamza/ 88943 /feat: add Long & Short Tabs to trade params for desktop  (#90)

* feat: trade params turbos desktop v1.0

* feat: trade params turbos desktop v1.1

* feat: trade params turbos desktop tabs working v1.2

* fix: turbos short long tabs

* fix: turbos short long tabs v1.4

* fix: turbos short long tabs v1.5

* fix: turbos short long tabs v1.6

* fix: turbos short long tabs v1.7

* fix: turbos short long tabs v1.8

* fix: turbos short long v1.9

* fix: turbos short long v1.10

* Kate/87400/add Expanded view for Turbos Barriers opening in a MobileDialog to Trade params (#93)

* feat: add barriers expanded version for mobile

* refactor: disabled btn if the selected barrier is the same

* refactor: change scss selector and cover tooltip into div

* refactor: cover header mobile in order to simplify css style

* refactor: delete state for button and chnge styles for dark mode

* refactor: increase the usage of text component

* refactor: replace the rest of the text by Text component

* refactor: add ternal operator

* refactor: change the structure of barrier list and replace li with text

* refactor: unite trade type info description for turbos

* refactor: delete extra brakets

Co-authored-by: Maryia <103177211+maryia-deriv@users.noreply.github.com>

---------

Co-authored-by: Maryia <103177211+maryia-deriv@users.noreply.github.com>

* Hamza/89706/test cases of new features (#96)

* feat: trade type tabs test case added

* feat: trade type tabs test case added v1.2

* feat: trade type tabs test case added v1.2.1

* feat: trade type tabs test case added v1.3

* feat: trade type tabs test case added v1.4

* feat: trade type tabs test case added v1.4.1

* feat: trade type tabs test case added v1.5

* feat: trade type tabs test case added v1.5.1

* feat: trade type tabs test case added v1.6

* feat: trade type tabs test case added v1.7

* feat: trade type tabs test case added v1.8

* fix: component test fix

* fix: jest mock function removed

* fix: string literals

* Hamza/87396/feat: responsive trade type tabs (#98)

* feat: responsive trade type tabs v1.0

* feat: responsive trade type tabs v1.1

* feat: responsive trade type tabs v1.2

* feat: responsive trade type tabs v1.3

* feat: responsive trade type tabs v1.4

* refactor: tradetypetabs integration into barrier selector

* refactor: tradetypetabs integration into barrier selector v1.2

* Apply suggestions from code review

---------

Co-authored-by: Maryia <103177211+maryia-deriv@users.noreply.github.com>

* Kate/89669/tests for turbos (#97)

* refactor: add tests for new components

* refactor: add tests for new components

* chore: correct spelling

* refactor: remove duplicated classnames into a sep constant

* refactor: delete extra test-id, which were in the comp by default

* refactor: remove has_stop_loss from mock_props

* refactor: add has_stop_loss to mock_props

* refactor: implemented suggestions

* refactor: delete extra backticks

* refactor: add more tests and delete extra property

* fix: change style for turbos contract card (#100)

* refactor: maryia/refactored TurbosInfo, tests & OpenPositions

* Kate/90808/90829/ To migrate turbos-card-body, turbos-trade-description, barrier-selector and barrier-list to TS together with their tests  (#102)

* refactor: ts migration of new components for turbos with tests

* refactor: migrate BarrierSelector to TS, update tests

* refactor: translate TurbosCardBody to TS

* refactor: translate TurbosCardBody tests

* refactor: deal with ts errors in logic.ts

* refactor: update packege json for trader by adding more test dependen

* refactor: migrate turbos-card-body test to ts

* refactor: delete extra pass of properties in test TurbosCardBody

* refactor: migrate barrier-utils and add test

* refactor: delete extra portals in test

* refactor: delete extra type

* refactor: translate tradeTypeTabs to ts with tests and apply recent design changes

* Update packages/trader/src/Modules/Trading/Components/Form/TradeParams/Turbos/barrier-selector.tsx

---------

Co-authored-by: Maryia <103177211+maryia-deriv@users.noreply.github.com>

* Kate/90812/To migrate turbos-info and payout-per-point to TS together with their tests + add tests for payout-per-point (#104)

* refactor: migrate to TS PayoutPerPoint and TurbosInfo with tests

* Update packages/trader/src/Modules/Trading/Components/Elements/Turbos/payout-per-point.tsx

* Apply suggestions from code review

Co-authored-by: Matin shafiei <matin@binary.com>

---------

Co-authored-by: Maryia <103177211+maryia-deriv@users.noreply.github.com>
Co-authored-by: Matin shafiei <matin@binary.com>

* refactor: update function for turbos cards filtration (#105)

* chore: vanilla+turbos adjustment

* chore: integrate turbos into options in open positions

* chore: maryia/design adjustments

* Kate/87523/Make barriers and payout per point collapsible in responsive (#106)

* feat: make barriers and payout collapsible

* refactor: change getTurbosSubtype function and add cards filtration for mobile

* refactor: lift up the mobile chart for turbos

* feat: add more details in tooltip

* refactor: shrink getTurbosSubtype function

* feat: update charts version

* chore: add package lock file

* fix: add flags for vanillas

* Kate/91508/To finalize Payout per point component and its tooltip (#110)

* refactor: expand getContractSubtype function

* refactor: delete round for turbos payout per point

* fix: change test case

* refactor: replace base tags with text tag and add duration text function (#111)

* Kate/91602/Display Long and Short open contracts in DTrader chart simultaneously (#112)

* feat: show both long and short recent contracts on chart

* refactor: add short and long options for barrier in store in order to display correct val

* Apply suggestions from code review

---------

Co-authored-by: Maryia <103177211+maryia-deriv@users.noreply.github.com>

* refactor: maryia/rounding payout per point + refactoring

* Kate/91815/Final checks and adjustments (#113)

* refactor: delete decimals for payout per point in Turbos

* refactor: minor changes and add arrow in payout per point

* fix: add arrow for mobile payout per point turbos

* refactor: add longcode as info in contract details for vanillas

* chore: change btn name

* refactor: reused MinMaxStakeInfo & PayoutPerPointMobile for vanillas and turbos + improvements

* Kate/91999/Technical debt: To reuse Vanillas & Turbos common UI elements (#114)

* refactor: apply trade type tabs to vanilla

* refactor: apply barriers list for vanilla

* refactor: remove bode list to a separate components

* chore: small changes according to pr suggestions

* fix: return undefind for amount and fieldset

* Apply suggestions from code review

---------

Co-authored-by: Maryia <103177211+maryia-deriv@users.noreply.github.com>

* refactor: barriers-list and its body & trade-type-tabs

* refactor: address review comments

* refactor: address review comments

* refactor: remove getTurbosDurationText

* refactor: old getDurationUnitText to reduce cognitive complexity

* fix: address review comments

* fix: conditional rendering of total profit/loss

* fix: replace time and add comment (#116)

* Kate/refactor after last review (#117)

* refactor: delete extra filed in object

* refactor: add storeProvider and mockStore for tests

* chore: optimise code size

* fix: bug with contract info slider

* fix: bug with contract info and refactor widget component

* chore: rename constant for tests

* refactor: add T prefix

* chore: remove extra const

* fix: filter turbos cards in responsive & reports popover text

* refactor: address review comments

* refactor: TurbosTradeDescription content

* Merge branch master of github.com:binary-com/deriv-app into maryia/87354/task-add-turbos

* chore: caching barrier choices and selected barrier for turbos

* fix: add response check (#118)

* Kate/92888/turbos content update (#119)

* refactor: update content for contract type and payout per point

* chore: update text in contract type info test

* Kate/93137/Profit value is not displayed right in the contract details page (#120)

* fix: add profit for turbos card after contract is sold

* chore: update unit tests for turbos card body

* chore: add optional chaining for response error check

* chore: remove rounding for barrier in contract card

* refactor: change formatting for barrier in turbos card

* chore: add ternary operator for formating

* chore: remove extra sign

* refactor: make first barrier chosen by default

* refactor: delete extra optional chaning

* fix: bug with barriers in contract details (#121)

* fix: maryia/93143/chart markers count in contract details + refactoring

* revert: unnecessary change to chart markers count for turbos

* Kate/93403/Payout per point is not displayed in contract detail page (#122)

* feat: add payout per point for turbos contract details

* fix: replace reg exp for turbos and vanillas

* refactor: minor refactoring

* revert: no longer needed changes in useStore.tsx

* Kate/93332/CD: [Change Request] replace contract card fields by new ones (#123)

* refactor: change turbos details

* feat: add third row to contract card with new values and rewrite tests

* refactor: make total profit loss always visible for turbos card

* chore: rename classname

* fix: change style for turbos mobile (#124)

* Kate/Barrier text in the section is not aligned properly (#125)

* fix: change aligment for turbos Vanillas and Accum fieldset titles

* refactor: replace px by rem

* build: fix types

* fix: imports for new tsx files

* refactor: replace old turbo icons (#126)

* fix: types + localization + reverted Vanillas tooltip text changes

* fix: add icon for turbos long

* chore: update icon bundle

* refactor: use number of contracts instead of shortcode

* refactor: sonarcloud + tests

* fix: conflicts + address review

* refactor: as per reviews

* fix: apply gradient style to all contracts (#132)

* chore: improve types as per reviews

* chore: address reviews

* refactor: sonarcloud warnings

* build: trigger build

* refactor: rename number of contracts (#134)

* Kate / Apply suggestions from last code review (#135)

* refactor: delete duplicared file and add constants for turbos names

* refactor: apply suggestions from review

* fix: address review comments

* test: fix tests

* fix: types

* fix: sonarcloud warnings

* build: trigger checks

* fix: remove barrier shade

* fix: contract card values alignment

* fix: missing colon after Barrier

* chore: add vanilla header with timer to turbos contract card in mobile reports

* fix: sonarcloud warning

* chore: show full title only in open positions

* build: trigger build

* fix: types in open-positions

* fix: address review comments about types

* refactor: type

* build: empty commit

---------

Co-authored-by: kate-deriv <121025168+kate-deriv@users.noreply.github.com>
Co-authored-by: Muhammad Hamza <120543468+hamza-deriv@users.noreply.github.com>
Co-authored-by: Matin shafiei <matin@binary.com>
Co-authored-by: kate-deriv <kate@regentmarkets.com>
maryia-deriv added a commit that referenced this pull request Jun 5, 2024
* chore: empty commit

* feat: tabs + background + initialized EmptyMessage component

* Maryia/Positions-redesign/improve EmptyMessage component + add tests (#50)

* feat: redirect to trade upon button click on the empty page

* test: EmptyMessage

* chore: empty commit

* DTRA-1279 / Kate / Filter [WIP] (#51)

* feat: add dropdowm and action sheet

* feat: add apply functionality

* chore: remove unused functionality

* refactor: separate apply logic

* feat: add clear all functionality

* feat: apply filtration logic

* fix: filtration bug

* chore: rename variables

* refactor: extract filtration logic into a util function

* chore: empty commit

* fix: sonarcloud issues

* chore: empty commit

* chore: add modules store  and useclosedposition hook (#52)

* refactor: remove todo and change some prop based on quill updates (#54)

* DTRA-1279 / Kate / Use hook for real data (#55)

* feat: use hook for real data

* refactor: apply suggestions

* Maryia/positions-redesign/Contract cards [WIP] (#53)

* feat: init ContractCard

* feat: Contract cards

* feat: use ReportsStoreProvider

* style: remove unnecessary comment

* fix: key

* fix: remove old card styles

* fix: types

* fix: use contract_info in filterPositions

* fix: do not show buttons for sold contracts

* DTRA-1279 / Kate / Refactor handling open and closed positions and their filtration (#56)

* refactor: move stor values to poitions content file

* chore: remove code smell

* Maryia/positions-redesign/Contract cards improvements + fetching Open positions + formatProfitTableTransactions TS migration (#58)

* refactor: contract-card-list and card

* feat: buttons demo + animation improvements

* feat: finilize Duration component for the card

* chore: ts migration for closed positions

* fix: console error with remaining time & showing empty message only when empty

* feat: connect real open postions + style and filter fixes

* fix: style

* DTRA-1279/ Kate / Create filter component  (#57)

* feat: create new filter component

* feat: apply radio button

* refactor: default time filter logic

* feat: add time filtration

* refactor: remove unused css

* DTRA-1279 / Kate / Refactor: add new content for empty page (#59)

* refactor: add new content for empty page

* chore: test text update

* Maryia/positions-redesign/Contract cards data update fix (#61)

* fix: Accumulators tick passed count

* fix: contract cards update

* fix: show loading only when should not show empty message or cards

* chore: update quill version (#63)

* Maryia/positions-redesign/Contract card loading state and status timer updates + EmptyPositions update (#64)

* feat: loading functionality + fix for status timer

* chore: update copy for empty-positions

* revert: use hasActionButtons prop instead of impicit onClose

* DTRA-1279/ Kate/ Feat: add Date picker (#62)

* feat: add second action sheet

* feat: add date range formatting and refactored existing code

* feat: add range selection filtration

* refactor: chip and time filter

* fix: empty posituions after filtration

* refactor: do clean up

* chore: rename variables

* chore: localization

* DTRA-1279 / Kate/ Add filtration hooks  (#65)

* feat: create hooks

* refactor: rename methods

* DTRA-1279 / Kate / Add tests  (#66)

* refactor: add tests for chip component

* refactor: add tests for date picker

* refactor: add tests for contract type filter

* refactor: add tests for custom time filter button

* refactor: add tests for positions utils

* DTRA-1279 / Kate / Double filtration and extra filter options (#67)

* fix: filtration for today and yersterday

* fix: double filter

* refactor: change style after design confirmation and sort props

* refactor: start adding tets for time filter

* chore: apply suggestions

* chore: update quill and token library version

* DTRA-1279 / Kate / Add section separator  (#68)

* feat: add sections with date

* feat: make filter always visible

* refactor: style for date separator

* refactor: format time function

* refactor: add tests

* chore: remove unused wrapper

* chore: apply suggestions

* DTRA-1279 / Kate / Tech Debt (#69)

* refactor: add more test cases for time-filter

* refactor: add tests for hooks

* refactor: removed some todos

* Maryia/positions-redesign/finilise contract card + add total profit loss + initiate pagination in closed positions (#70)

* refactor: utilize Tag in ContractCardStatusTimer

* chore: add opacity transition to buttons when revealing/hiding them

* feat: add total profit + improve card

* fix: card deletion transition + total pnl positioning

* feat: add pagination on scroll (initial version)

* fix: loading state and loading more on infinite scroll in Closed tab (#71)

* DTRA-1279 / Kate / Tech Debt part 2 [WIP] (#72)

* refactor: add tests for utils functions + removed unused hook

* refactor: move total profit loss to a separate folder and add  tests

* refactor: add tests for positions

* refactor: add tests for position content file

* Maryia/positions-redesign/test contract card + fix scroll behavior, dates formatting, and filtering Closed positions (#73)

* test: contract-card

* fix: hide filters on scroll + utilize moment for formatting date in closed tab

* refactor: update quill version and refactor

* refactor: chip component (#74)

* refactor: position content page

* Maryia/positions-redesign/test: ContractCardList, ContractCardStatusTimer, PositionsStore, getCurrentTick() + refactoring (#75)

* test: contract-card-list

* test: ContractCardStatusTimer

* test: getCurrentTick() in contract.tsx in shared

* test: PositionsStore

* test: add more tests to ContractCardList

* refactor: desctructure props in mocked component

* Maryia/positions-redesign/fix: tests + address sonarcloud + use clsx (#76)

* fix: tests + address sonarcloud

* refactor: use clsx instead of classnames

* refactor: sonarcloud - reduce complexity

* fix: cards filtering in PositionsContent + tests + style+bug fixes

* build: trigger checks

* fix: hasNoActiveFilters condition

* fix: update package version and remove prop from action sheet

* chore: rename function

* Maryia/positions-redesign/feat: display correct active positions count (#77)

* feat: display correct active positions count

* fix: BottomNav tests

* refactor: filter behaviour

* chore: add padding

* fix: positions count in footer to not show 0 (#78)

* refactor: total profit loss

* chore: add tests for tpl and refactor date picker

* refactor: add loadre inside of empty positions

* fix: tests

* Maryia/positions-redesign/fix: loader on infinite scroll in Closed tab + make redirectTo prop optional in ContractCard (#79)

* fix: place loading after contract cards sections

* chore: make redirection optional when clicking on contract card

* chore: rename timet

* DTRA-1279 / Kate / Add a single date selection (#80)

* feat: add partial range

* refactor: tests

* refactor: callback

---------

Co-authored-by: kate-deriv <kate@regentmarkets.com>
Co-authored-by: kate-deriv <121025168+kate-deriv@users.noreply.github.com>
Co-authored-by: balakrishna-deriv <56330681+balakrishna-deriv@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants