Skip to content

Commit

Permalink
Sync with master (#6219)
Browse files Browse the repository at this point in the history
* chore: update charts (#6028)

* Matin/ Hirad/ Amina/ Maryia-task_push_labuan_bvi_vanuatu (#5697)

* Added add account buttons

* Fixed add button issues

* Added disabled

* feat: sorry amina

* Changed the condition of add account button

* Added condition for add account

* Renamed add account button and fixes its condition

* Revert "feat: sorry amina"

This reverts commit ca7bc6c330973d95fd836b6f0ac999341871e471.

* Fixed the undefined issue in disabled cards

* Fixed the issue of undefined data

* Added condition for failed POI and POA

* Maryia/Fix: for tests and add buttons (#15)

* Maryia/fix for tests and account buttons

* Fix: removed duplication for ModalCheckbox

* poa_error_msg

* Changed the conditions of POI and POA failed

* Pulled from master

* Added conditional modal button function

* Maryia/fix: jurisdiction modal next button enabling (#16)

* Maryia/fix: jurisdiction modal next buton enabling

* refactoring

* Fixed buttonText conditions

* Chore: MT5 Trade Modal implementation

* Maryia/used local state for setting selected card & updated flow (#17)

* Maryia/used local state for setting selected card & updated flow

* fix: for tests

* Added the compare accounts add button integration

* Pulled from master

* Added box shadow hover to jurisdiction card

* Chore: Account signup flow improvement

* Chore: code cleanup

* Fixed some of the stylings of MT5 cards

* Fixed the mobile banner issue

* Maryia/Fix: CFDPersonalDetails styles & logics + refactoring (#18)

* Maryia/Fix: synthetic flow + refactoring

* Maryia/Fix: CFDPersonalDetails styles + refactoring

* Maryia/Fix: for Labuan footnote to not appear when pending status is visible

* Chore: small bug fixes

* Added three new conditions for modal footnote

* Pulled from master

* Maryia/fix: quick fix for failed & pending statuses (#19)

* fix for pending statuses

* showing status when the card is selected

* quick fix for poi/poa failed statuses & footnotes

* Maryia/used shortcode + updated mt5_new_account request & cfd personal account modal (#20)

* Maryia/used shortcode + updated mt5_new_account request & cfd personal account modal

* commented out personal details form tests temporarily

* Revert "Maryia/used shortcode + updated mt5_new_account request & cfd personal account modal (#20)" (#21)

This reverts commit 05bd322f35c328ee663d426379ecb88021a8fdda.

* Maryia/used shortcode + updated mt5_new_account request (#23)

* Maryia/using shortcode + mt5_new_account request + updated cfd personal account modal

* commented out personal details form tests temporarily

* revert personal details form

* revert tests for cfd personal detail form

* revert cfd personal details modal

* revert prop types

* prevent memory leak in cfd personal details modal

* Chore: update jurisdiction cards style

* Chore: Fixed bug on CFD card banners

* Fixed poa failed and poi failed conditions

* Changed is pending footnote condition

* Maryia/fix: next button for failed+pending (#24)

* Fixed the texts of jurisdiction cards

* style fix for poi-poa

* style fix for poi-poa

* Added condition for Account added

* maltainvest

* Finished DXTrade styling

* Pulled from main branch

* Maryia/fix: state for failed+none (#25)

* Maryia/fix: state for failed+none

* getting settings in jurisdiction modal to check if the client has already submitted personal details

* fix: statuses for failed + none

* Fixes some styling issues

* Fixed some stylings

* Fixed paddings of verification statuses

* Chore: Fix trade modal heading title

* Fixes some of our issues

* Maryia/fix: jurisdiction modal styles & open account request (financial flow check) (#26)

* Maryia/fix: tnc agreement footnote

* Maryia/fixed styles & added more data to open account request

* fix: remove used classname

* Chore: Fix logged out MT5 dashboard bug

* Chore: Hide adding account from compare accounts modal when logged out

* Chore: Huawei appgallery - CFD dashboard style updates

* Chore: Huawei on mobile

* Chore: Fix a tiny bug

* Added seperator to the modal footer

* Fixed console warning issues

* Maryia/Merged from master & resolved conflicts + small style fix for dmt5 dashboard (#27)

* Niloofar / Indicators documentation review (#5825)

* indicators documentation review

* resolved review comment

Co-authored-by: Yashim Wong <75345074+yashim-deriv@users.noreply.github.com>

* Niloofar / Trader documentation review (#5792)

* edit some parts of trader docs

* remove extra information from traders docs

Co-authored-by: Yashim Wong <75345074+yashim-deriv@users.noreply.github.com>

* shayan / cfd documentation updated (#5800)

* docs/ cfd readme.md updated

* Update README.md

* docs/ Readme file updated

* docs/ readme file updated

* docs/ Update packages/cfd/README.md

Co-authored-by: Yashim Wong <75345074+yashim-deriv@users.noreply.github.com>

* docs/ Update packages/cfd/README.md

Co-authored-by: Yashim Wong <75345074+yashim-deriv@users.noreply.github.com>

* docs /Update packages/cfd/README.md

Co-authored-by: Yashim Wong <75345074+yashim-deriv@users.noreply.github.com>

* docs/ update readme file

* doc/ updated readme file

* doc/ updated readme file

* doc/ updated readme file

Co-authored-by: Yashim Wong <75345074+yashim-deriv@users.noreply.github.com>

* yauheni / Notify users about sharing tokens with admin scope selected (#5741)

* yauheni / Notify users about sharing tokens with admin scope selected, added note

* tests fix

* created token scope styling

* deleted option test fix

* token value fild markup

* clipboard with warning dialog implemented

* responsive version done, tests refactoring

* dialog fix for admin scope

* check commit after rebuild

* css fixes, refactor after review

* svg icon fill color fix

* inline note fix

* Delete package-lock.json

* fix commit

* fix

* dots component placing fix

* dialog fixes

* api token tests fix

* css fix for token table

* review fixes

* naming fix, close delete dialog timeout deleted

* testcase fix

* localize fix

* admin note message change

* copy token hover message fix

* token alignment eye button fix

* ok button capital letters fix

* delete button hover fix, clipboard refactor

Co-authored-by: “yauheni-kryzhyk-deriv” <“yauheni@deriv.me”>

* farrah/ fixed cfd lint errors (#5607)

* ci/ exclude dist files from eslint scan

* ci/ disable spaced-comment

* ci/ exclude lib dir from eslint scan

* fixed cfd eslint errors

* renamed variables and fixed types

* fixed missing return function

* refactor code

* fixed cleanup function

* fixed invalid property document_file on submit

Co-authored-by: Ali(Ako) Hosseini <ali.hosseini@firstsource.tech>

* yashim/feat: add TTI Measurement  (#5764)

* feat: add TTI Measurement

* fix: security error

* fix: add regex to fire only in specific domain

* chore: remove console log

* fix: remove TTI script. Offload to GTM

* chore: revert gtm loading changes

* translations: 📚 sync translations with crowdin (#5965)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* chore: removed unused prop from jurisdiction card

* fix for dmt5 server maintenance & download center styles

Co-authored-by: Niloofar Sadeghi <93518187+niloo-fs@users.noreply.github.com>
Co-authored-by: Yashim Wong <75345074+yashim-deriv@users.noreply.github.com>
Co-authored-by: Shayan Khaleghparast <100833613+iman-fs@users.noreply.github.com>
Co-authored-by: yauheni-kryzhyk-deriv <103182683+yauheni-kryzhyk-deriv@users.noreply.github.com>
Co-authored-by: “yauheni-kryzhyk-deriv” <“yauheni@deriv.me”>
Co-authored-by: Farrah Mae Ochoa <82315152+farrah-deriv@users.noreply.github.com>
Co-authored-by: Ali(Ako) Hosseini <ali.hosseini@firstsource.tech>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* eu-cfd-modal

* Fixed compare accounts modal account creation issues

* Added financial in front of the malatinvest for Adding account

* Maryia/updated t&c links and improved jurisdiction modal (#29)

* modal

* modal- style

* add account fix

* Chore: hide compare accounts button

* Chore: Display all MT5 accounts created

* vanuatu-only-onfido

* Fixed the issue where modal goes to the left

* banner condition changes

* Fixed the issue where selected card was showing wrong data

* Pulled from main branch

* Fixed the real mt5 account top up button issue

* onfido failed

* Fixed existing financial_stp account not being shown

* real-account-under-virtual deriv

* Increased the delay before closing and opening of modals

* Fixed the sliding of the compare accounts modal

* Account transfer will show the landing company to the end of accounts name

* Added some more timeout function to prevent sliding modal to the left

* Added timeout for all of toggle modals

* Fixed POI acknowledged issue

* Fixed can have more real synthetic mt5 condition to hide add account button if we do not have any more accounts to create

* notifications

* remove duplicate notifications

* Changed the styling of disabled account

* Made banners text capitalization exactly like the design

* Account switcher add button won't show up when we cannot create anymore accounts

* Maryia/fix: showing only available accounts in CompareAccountsModal (#30)

* Maryia/fix: showing only available accounts in CompareAccountsModal

* fix: getting complete content for all available accounts + removed unused has_cfd_account

* Maryia/finalized CompareAccountsModal table

* Merge branch master of github.com:binary-com/deriv-app into task_push_labuan_bvi_vanuatu

* cfd-personal-details

* Chore: JY's requests reflected.

* Maryia/Refactor: compare account modal content + improvements (#32)

* Maryia/refactoring compare accounts modal content

* added a case for 0 financial or 0 synthetic accounts count

* improved synthetic & financial header style loop

* Chore: cfd card height update

* svg routing

* Added new conditions for add account button

* Fixed the capital letter demonstration of SVG and BVI banner texts

* Fixed the TTradingPlatfromAvailabeAccount Type

* Fixed CodeCov error

* svg routing

* Fixed labuan account creation bug

* Fixed Code Cov errors

* Fixed demo account dashboard error and hid the add button for it

* compare account fix

* compare account fix

* poi-poa-mobile-style-fixes

* Changed over header color

* Fixed the issue where server name was shown for BVI, Labuan and ...

* Fixed compare accounts account creation flow

* Added new styling for demo accounts

* poa-fix

* Added login id to demo accounts

* Fixed the account transfer text upper and lower cases

* account swtcher fix

* region in account switcher

* overheader change in jurisdiction

* Fixed eu password manager modal header title

* Fixed eu user cfd icon color and trading account label

* Fixed the add account buttun issue where having more than one account with same landing_company_shortcode hides the button

* Fixed the redirected account to reset password errors

* Fixed demo accounts backward compatibility

* Fixed EU demo account text in account switcher

* Chore: Resolve SonarCloud bug

* server name for account switcher

* server name for account switcher

* Fixed account switcher bug which shows add button even when we have accounts created

* revert-last commit

* Fixed the issue where add button in account switcher was shown even after having all of the accounts created

* Chore: login id padding issues fixed for Demo

* Chore: Small padding update for Labuan clients

* Fixed derivx account name in cashier transfer

* tnc fix

* Fixed POIPOA submited text

* remove equities

* Fixed the checkbox issue in mobile mode

* Fixed account switcher issues

* labuan -compare-accounts-modal-content-update

* Fixed the font size of Proof of identity and address are required in verification statuses

* Changed the straight through processing text style

* Fixed account switcher bug

* fix in tnc checkbox

* Consolidated the responsive design

* separator line in demo account switcher

* Maryia/Fixed modals sliding to the left using styles

* compare modal

* Fixed the issue of account switcher for backward compatibility

* Fixed the mt5-trade-modal title for eu users

* Chore: added tooltip info to jurisdiction modal for Financial Labuan account

* fix loading

* Fixed the grammatical issue of MT5 server maintenance message

* Fixed mt5 trade modal header title for eu accounts

* compare account fix

* compare accout fix

* Added malta invest footnote

* Fixed the text color of one of jurisdiction footnotes

* Maryia/fix: add buttons + accounts switcher + only svg available to add in demo (#35)

* Maryia/fix: add buttons + accounts switcher + only svg available for demo

* showing company shortcode for added demo accounts

* show company shortcode in demo only for financial labuan

* fix: setting company code for demo account opening request

* fix for tests

* Fixed the issue where jurisdiction cards were linked in responsive design

* Fixed sonar cloud issue

* Sonar cloud fix

* Fixed sonar cloud issue

* Sonar cloud issue

* Maryia/fix: sliding trade modal & compare accounts modal (#36)

* Sonar cloud issue

* Checking sonar cloud issue

* Fixed MT5 success dialog icon

* Maryia/fix add buttons for multiple real accounts

* Fixed server tag for account switcher

* Maryia/fix: CompareAccountsModal Add button to open real account needed modal (#37)

* Maryia/fix showing real acc needed when adding acc from compare acc modal

* fixed compare accounts modal for logged out clients

* removed unused loading state from poi/poa

* vanuatu flow from compare accounts modal

* Maryia/fix: console TS warning for exit_classname type

* Fix: Display popovers on top of Trade modal

* Fixed the issue where server name was shown for bvi accounts as well

* Maryia/fix: setting account type in compare accounts modal

* next button logic

* vanuatu flow

* Fix: title update and css changes

* app crash issue

* vanuatu banner and next button labels

* Fixed the issue where server banner was shown even for accounts with 1 synthetic svg account in account switcher

* onfido blank screen check

* Maryia/fix: avoided state update on unmounted CFDFinancialStpRealAccountSignup + removed unused setSubmitting

* fix for loading

* mt5 add g

* Maryia/fix: Trade modal for demo to display only STP shortcode

* update branch with master

* typo fix

* checkbox missing issue

* maltainvest

* Maryia/fix: responsive CompareAccountsModal

* code cleanup in packages/account/src/Components/poi-poa-docs-submitted

Co-authored-by: hirad-rework <hirad@re-work.dev>
Co-authored-by: yashim-deriv <yashim@deriv.com>
Co-authored-by: Yashim Wong <75345074+yashim-deriv@users.noreply.github.com>
Co-authored-by: Maryia <103177211+maryia-binary@users.noreply.github.com>
Co-authored-by: Matin-binary <matin@deriv.com>
Co-authored-by: Niloofar Sadeghi <93518187+niloo-fs@users.noreply.github.com>
Co-authored-by: Shayan Khaleghparast <100833613+iman-fs@users.noreply.github.com>
Co-authored-by: yauheni-kryzhyk-deriv <103182683+yauheni-kryzhyk-deriv@users.noreply.github.com>
Co-authored-by: “yauheni-kryzhyk-deriv” <“yauheni@deriv.me”>
Co-authored-by: Farrah Mae Ochoa <82315152+farrah-deriv@users.noreply.github.com>
Co-authored-by: Ali(Ako) Hosseini <ali.hosseini@firstsource.tech>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>
Co-authored-by: maryia-binary <maryia@binary.com>
Co-authored-by: Matin shafiei <matin@binary.com>

* Updated MT5 windows app url (#6055)

* translations: 📚 sync translations with crowdin (#6065)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* investor (#6066)

* translations: 📚 sync translations with crowdin (#6067)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* Use context instead repository defined environment variables (#6070)

* Jim / Resolve Eslint errors in components package (#5943)

* ci/ exclude dist files from eslint scan

* ci/ disable spaced-comment

* ci/ exclude lib dir from eslint scan

* chore: add auto-generated icon.js file to packages/components/.eslintignore

* fix: resolve eslint errors

* Resolve conflicts

* fix: eslint error fix

* chore: add support for webpack aliases

* refactor: change relative paths to aliases

* refactor: add new line

* chore: remove changes for file outside components package

Co-authored-by: Ali(Ako) Hosseini <ali.hosseini@firstsource.tech>

* Shayan / 65941 / Fixed eslint errors and warnings for core workspace (#5902)

* ci/ exclude dist files from eslint scan

* ci/ disable spaced-comment

* ci/ exclude lib dir from eslint scan

* unnecessary escape character warning fixed

* removed .js on file importing

* unexpected semicolon error fixed

* fixed inline export error in Redirect

* working on unexpected semicolon error in progress

* fix/ fixed some eslint warning related to PropTypes

* fix/ fixed eslint warnings

* fix/ all eslint warnings fixed

* refactor/ changed settings_extension type

* fix/ fixed some errors that caused console errors

* refactor / revert commenting out key in propTypes

* build / extend added to core package.json

* fix/ updated hasNoAvailableCrypto type

* fix/ fixed some new eslint errors

Co-authored-by: Ali(Ako) Hosseini <ali.hosseini@firstsource.tech>
Co-authored-by: Farrah Mae Ochoa <farrah@deriv.com>

* review core readme && core docs (#5927)

* review core readme && core docs

* review core readme && core docs

* core docs review

* fix cname description

* fix core-readme

* add some points

* add some points

* add some points

* add some points

* fix Folder Structure

Co-authored-by: Yashim Wong <yashim@deriv.com>

* Niloofar/ Translation documentation update (#6026)

* translation documentation review

* resolve pr comments

* docs: add more details to translation's documentation

Co-authored-by: Yashim Wong <yashim@deriv.com>

* Termsandconditionslink (#5873)

* add terms and conditions link to the error message

* changed the name and added jsx

* mobile view fix

* added full stop

Co-authored-by: Thisyahlen <thisyahlen@Thisyahlens-MacBook-Pro.local>
Co-authored-by: balakrishna-binary <56330681+balakrishna-binary@users.noreply.github.com>

* yashim/chore: upgrade onfido (#5653)

* chore: upgrade onfido package

* chore: upgrade onfido + hoist changes to package lock

* chore: exact versioning. remove package lock

* chore: update main package lock

* feat: bump onfido packages

* chore: update package lock

* style(payment agent transfer): change the width of the submit button in responsive view (#6043)

* shayan / 67210/ p2p documentation updated (#5829)

* docs/ updated readme for p2p

* docs/ readme file updated

* docs/ readme updated

* docs/ readme updated

* docs / updated readme file

* docx/ update readme

* docs/ updated readme file

* Shayan/69364/fix eslint errors for p2p (#5942)

* fix/ fixed some warnings and errors

* fix/ fixed some eslint errors

* fix / all eslint errors e=returned by test:eslint fixed

* fix/ disabled eslint for jest expect().to.be.empty

* fix/ removed unnecessary lines

* fix/ disable eslint for useEffect empty dependency list

* fix/ changed function name

* Update packages/p2p/src/components/buy-sell/filter-modal/filter-modal.jsx

Co-authored-by: Carol Sachdeva <58209918+carol-binary@users.noreply.github.com>

* fix / review fixes

Co-authored-by: Carol Sachdeva <58209918+carol-binary@users.noreply.github.com>

* fixed component eslint errors (#6088)

* translations: 📚 sync translations with crowdin (#6089)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* trade-modal-fix (#6090)

* translations: 📚 sync translations with crowdin (#6091)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* ci/ enable eslint on ts files globally (#6045)

* translations: 📚 sync translations with crowdin (#6105)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* Convert string into integer (#6101)

* Maryia/fix: eliminated DataListRow infinite update + console warning (#6096)

* fixed trackjs connection error (#6022)

* Added scroll on the y axis for mt5-trade-modal (#6102)

* Farzin/72134/Spacing is less comparing to design in DMT5 account creation page (#6072)

* fix(cfd): :lipstick: fix DMT5 account creation footer spacing issue on mobile

* style(cfd): :lipstick: use `px` instead of `rem` for `box-shadow`

* fixed typo error in price rate validation message (#6057)

* george / rm71464 / align api token (#6056)

* style(api token): align api token

* style(api token): align rows in api token details

* added space between the buttons (#6053)

* fix profit_loss color in profit table of reports (#6050)

* Make cashier-onboarding-detail card full-width (#6033)

* Message validation first name (#6051)

* Regex edited for validLetterSymbol

* Update Regex Rules

* Update REGX for address and phone

* Update Regex for phone number

* Mahdiyeh/ Fix: show barrier price when hover on open positions cards (#6025)

* show barrier price when hover on open positions cards

* pass symbol as a props instead of getting from localStorage

* thisyahlen/changed expiry box and tooltip date format (#6052)

* changed expiry box and tooltip date format

* fixed expiry tooltip for mobile

* changed text for pop up message

Co-authored-by: Yashim Wong <yashim@deriv.com>

* fix: notification counter style (#5925)

* Akmal / update: Add document upload for Nigerian clients (#4198)

* Static navigation for unsupported countries

* Fix mobile for icon uploads

* WIP separating components

* WIP separating components

* wipe: add steps

* wipe: add steps

* wip: add upload documents

* wip: fix ui

* wip: fix ui

* wip: add api

* wip: add api

* wip: add manual upload

* wip; add new design

* wip: add new filedrop design

* wip: add validation for files

* wip: add selfie step

* add error handling

* update: add lifetime_valid

* remove extra files

* fix: optimize svgs

* fix: add localize, use classNames instead of cn

* fix: add asterisk to mandatory fields, fix font color, fix preview image glitch

* fix: don't accept less that 6 month for expiry date

* Add back button icon

* Update text content

* Update nimc UI

* Update nimc styles

* Fix next/back buttons logic

* Fix websocket unresolved import

* Fix POA upload failure

* Fix next button issue

* Update messages

* Fix POI uploaded nessage

* Fix document_id, document_type and lifetime_valid

* test

* temp commit

* Temp commit

* Fix nigerian onfido flow

* Fix issues

* Temp commit

* Merge latest

* Merge unsupported

* Add semicolon

* Add console logs

* Fix formatting

* Update pre-commit

* Update idv.jsx

* Update constants.js

* Update proof-of-identity-container.jsx

* Fix import paths

* Delete old test

* Add continue trading feature

* Remove unused properties

* Remove extra function

* Empty-Commit

* Fix cfd poi issues

* Remove no longer valid test case

* Fix next button state behavior

* Merge with master

* Change message to longer timeframe

* Prioritise pending status from BO

* Fix selfie upload issue after response error

* Fix infinite uploading for files

* Fix merge conflicts

* Remove old test cases

Co-authored-by: Mohammadreza Ghorbani <reza@firstsource.email>
Co-authored-by: Amir Ghadimi <amir.ghadimi@firstsource.tech>
Co-authored-by: Yashim Wong <yashim@deriv.com>

* translations: 📚 sync translations with crowdin (#6130)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* translations: 📚 sync translations with crowdin (#6131)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* translations: 📚 sync translations with crowdin (#6132)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* translations: 📚 sync translations with crowdin (#6133)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* fixed town/city validation (#6134)

* Suisin/Update validation rules (#6145)

* update letter symbol rules

* new rulels

* Update declarative-validation-rules.js

* Suisin/Renew validation rules (#6147)

* update letter symbol rules

* new rulels

* Updated Rules

* edited rules

* Update rules to accept multiple space

* translations: 📚 sync translations with crowdin (#6158)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* remove personal-details-step-from-financial-svg (#6135)

* TS migration of cashier UI components (#5947)

* added ts related change required for migrating all components (#5760)

* ts-migration-crypto-fiat-converter (#5796)

* Trigger build

* Update package-lock

* ts-migration-cashier-notifications (#5765)

* bahar/funds_protection_component-ts-migration (#5756)

* funds_protection_component-ts-migration

* remove_extra_type_file

* fix_merge_issue

* hamid/migrate-transfer-confirm-to-ts (#5815)

* Migrate TransferConfirm to TS

* Rename component in test file

* Replace Confirm with TransferConfirm in PAs

* Enhance Tests

* ts-migration-page-404 (#5766)

* Vinu/converted percentage-selector component into typescript (#5785)

* converted percentage-selector component into typescript

* changed the name of test_ids in percentage-selector spec file as per new guidlines

* updated with latest upstream branch

* added reactMouse event in props.types.ts

* Vinu/migrated recent-transaction component to typescript (#5791)

* migrated recent-transaction component to typescript

* fixed Rootsore path in recent-transaction

* tsconfig.json change in types path

* ts-migration-verification-email (#5769)

* bahar/Ts migration no balance (#5774)

* ts-migration-no-balance

* fix_merge_issue

* Vinu/migrating cashier-container into ts (#5780)

* migrting cashier-container into ts WIP

* added type in virtual.tsx

* changed test-ids in cashier-container

* updated the branch with latest upstream branch

* fixed Rootsore path in cashier-container

* tsconfig.json change in types path

* Vinu/Ts cashier error dialog (#5820)

* migrated error-dialog to typescript

* removed proptypes from error-dialog

* added appropriate types to message variable in error-dialog

* updated code with latest upstream branch

* fixed type of rootstore in error-dialog

* fixed Rootsore path in error dialog

* added type for ReactElement in props.types.ts cashier

* Vinu/migration of crypto-transaction-history component into typescript (#5834)

* migration of crypto-transaction-history component into typescript

* Trigger Build

* Trigger Build

* fixed Rootstore path in crypto-transactions-history

* added type for crypto-transaction-details

* added ReactMouseEvent in prop.types

* added data-testid's in crypto-transaction-renderer component

* Migrate CashierLocked to TS (#5959)

* Fix security hotspot reported by sonarcloud

Co-authored-by: vinu-deriv <100689171+vinu-deriv@users.noreply.github.com>
Co-authored-by: Bahar <bahar@firstsource.tech>
Co-authored-by: Hamid <hamid@re-work.dev>

* limit the number of chunks creating by webpack (#6040)

* limit the number of chunks creating by webpack

* webpack chunk strategy try 2

* webpack optmzn try 3

* add minchunks count as 30

* webpack max chunks set as 10

* chunk strategy maxchunks updated to 10

* webpack strat minsize rule

* webpack strat update try 5

* webpack strat update try6

* Revert "MaryiaF/fix: P/L is not getting updated when a contract is terminated… (#6024)" (#6034)

This reverts commit ba506880a588f34b911c9acf85829975b1c48f57.

* translations: 📚 sync translations with crowdin (#6037)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* p2p/Floating rate feature (#5494)

* Merge branch 'binary-com:master' into floating_rate (#5080)

* Nijil / DBot - Add multipliers (#4172)

* Retrigger vercel deployment

* Init dbot multiplier

* Fix es-lint issues

* Add contract update dialog validations

* logic added to hasAllRequiredBlocks for multipliers

* Fix es-lint errors

* Update stop loss block description and label

* Filter out multipliers in quick-strategy

* Fix incorrect rendering of duration/multiplier blocks on workspace when they're dragged out from toolbox

* Fix typos

* Add missing proptypes and other minor refactors

* Fix minor issues + logic

* Fix: trade option block not changing according to the selected trade type once it is dragged to workspace first and then plugged to the trade parameters block

* Fix: Disable trade option block when plugged inside trade parameters

* Remove connection to next statement in trade_defintion_restartonerror block

* Make multiplier_stop_loss and multiplier_take_profit independant blocks + other UX improvement

Description \n1.Make multiplier_stop_loss and multiplier_take_profit input field shadow blocks.  \n2. Add check such that duplicate multiplier_take_profit and multiplier_stop_loss cannot be added to trade_definition_multiplier block. \n3.Show amount limits in trade_definition_multiplier block.

* Cleanup workspace when switching between multiplier and other trade options

* Remove extensice validation for multiplier_stop_loss block

* Show dialog for multiplier contract on stop button click + minor cleanups

* Update stop multiplier dialog content

* Update stop multiplier dialog content and button actions

* Minor bug fix

* Fix stop multiplier dialog buttons styling

* fix: multiplier contract not bought even after disabling TP/SL block inside multiiplier block

* Disable stray blocks and their optional children recursively

* fix: recover all pending transactions on page refresh or if client left page mid-contract

* Restrict TP/SL blocks to multiplier block + add close button logic for dialog component

* Fix profit not showing when it's zero

* Add condition for restricted blocks to enable/disable stack option in context menu

* Optimised proposal_open_contract call on mount of transaction tab

* fix es-lint error

* Update logic for recovering open contracts

* Fix no-unused-vars error

* Refactor code for readability

* Refactor code for readability

* Add logic to handle action of reset button in toolbar

* Remove condition where it enabled the button in run panel while the contract is still closing

* Fix default-case expected test error

* Add note for multiplier block

* Add condition to disable run panel button when multiplier contract is closing

* Fix issue where connectWithContractUpdate tried to destructure undefined at first render

* Add Learn more help content for multiplier trade option block

* Minor change in toggle-card-dialog.jsx file

* Refractored help-content from bot-skeleton to bot-web-ui package and updated help content for multiplier trade option block

* Fix missing key prop error

* Minor change in fix where connectWithContractUpdate tried to destructure undefined

* Show banner for bot MF Real & VRTC

Co-authored-by: Matin shafiei <70938039+matin-binary@users.noreply.github.com>
Co-authored-by: Salar Hafezi <salar@re-work.dev>
Co-authored-by: Matin shafiei <matin@binary.com>

* Hirad/Cfd reset password modal js to ts (#4706)

* Changed cfd-reset-password-modal container from js to ts

* fix--Auto styling is done on the components

* fix--Separated types from component

* fix--Auto styling is done on the components

* fix--Added a separate type for errors and Changed the type of current_list

* Auto styling is done on the components

* fix--Used Record utility type to improve readability

* fix--Removed redundant imports and duplicate types

* Pulled the latest changes from master

* fix--Replaced ReactElement with ReactNode

* Pulled from master

* Made some changes to pass the tests

* fix--Changed ReactNode to ReactElement to pass the tests

* fix--Shortened one of the types

* Fixed the conflicts

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

* Chore: Added NIN option in IDV dropdown for ng clients (#4970)

* fix: payment info issue (#4978)

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

* Bala/Cleanup dashboard (#4967)

* refactor: change folder name to appstore

* chore: cleanup dashboard svgs

* refactor: rename to appstore

* remove separate build for dashboard

* refactor: rename to appstore

* cleanup build

* remove appstore assets

* fix: api-types auto generation

* chore: cleanup dashboard

* chore: cleanup appstore build

* chore: fix appstore main file path

* chore: use consistent configs

* chore: refactor store usage to be consistent

* chore: cleanup dist and routes

* chore: remove old routes config

* cleanup routes config

* setup trading-hub path

* cleanup asset_path

* cleanup redirects

* fix ts lint issues

* fix lint issues

* fix lint issue

* fix test issues

* update tsconfig path

* update codeowners

* chore: added a space

* Update README.md

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

* Maryia/TrackJS_Avoiding_Pushwoosh_Failed_to_fetch_error (#4894)

* Maryia/Checking network status before initializing Pushwoosh

* Maryia/refactoring

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

* translations: 📚 sync translations with crowdin (#4987)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* salar / Hotfix/multiplier eu (#4989)

* Add helper function for EU countries

* Show digital options banner to VRTC-only EU clients

* Add comment to remove duplicate code

* Fix: apply more compliance conditions

* Fix issue for EU residence

* Apply prettier

* Fix mobx issue for residence

* Fix: prevent calls on undefined

* Fix: check for blockly div first

* Apply prettier

* export_components_which_needed_to_be_used_in_app_store (#4972)

* refactor_payment_agent_component_for_app_store (#4968)

* translations: 📚 sync translations with crowdin (#5005)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* refactor: investor password (#4992)

* Nuri/Refactor: Refactor compare account (#4969)

* refactor compare account

* retrigger circleci

* retrigger deployment

* removed unused text

* likhith/OrderConfirmCompleted error status displayed on slow n/w (#4832)

* Resolved: #56123 - OrderConfirmCompleted error status displayed on slow n/w

* Refactored code

* Fixed lint errors

* implemented review comment

* Resolved eslint issues

* Resolved Console.log error

* Added comments to changes

* Resolved lint errors

* Removed unwanted component

* fix storybook build (#4997)

* MaryiaF/fix: TrackJS error - i.resetVirtualBalance is not a function (#4892)

* MaryiaF/fix: TrackJS error - i.resetVirtualBalance is not a function

* MaryiaF/fix: TrackJS error - i.resetVirtualBalance is not a function

* Maryia/Fix for styles of POI & POA steps in Settings and CFD modals (#4761)

* Maryia/fixed styles of poa upload block

* Maryia/fixed cfd poa modal for responsive mode

* Maryia/fix for POI step style in CFD modal

* Maryia/fixed style of upload criteria in CFD modal POA step

* Maryia/refactoring as per deriv app code standard

* Maryia/replaced px with rem

* Maryia/fix for the upload box style requiring nesting inside list

* Maryia/fixed POI styles

* Hirad/Cfd dashboard container JS to TS (#4941)

* Changed cfd-dashboard container from javascript to typescript

* fix--Fixed the default export of the cfd-dashboard

* Pulled from master

* fix--Invisible tab menu should be fixed

* Auto styling is done

* IDV notification changes and refactoring (#5001)

* Akmal / Add trustpilot notification (#4974)

* Add trustpilot notification

* Fix formatting

* Add undefined check

* Vijayasree/Manage Account modal from Cashier Onboarding links are broken on iphoneSE (#4948)

* Manage Account modal from Cashier Onboarding links are broken on iphone SE

* Manage Account modal from Cashier Onboarding links are broken on iphone SE

* Manage Account modal from Cashier Onboarding links are broken on iphoneSE

* Update account-wizard.scss

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

* likhith/Added jest config and test cases for App-Content component (#4876)

* Added jest config and test cases for App-Content component

* Added test cases for App Content component

* Fixed lint errors

* Removed lint errors and configured webpack

* Reordered webpack extension array

* Implemented review comments

* implemented review comments

* george / added test for "PaymentAgentList" component (#4825)

* added test for "PaymentAgentList" component

* fixed a spelling error

* refactored code, changed query method

* code refactoring

* george / added tests for OnRampProviderCard (#4880)

* added tests for OnRampProviderCard

* code refactoring (add data-testid into Icon component)

* naming refactoring data-testid

* naming refactoring

* add new prop (data_testid) to Icon component

* code refactoring using icon prop data_testid

* add prop types for data_testid

* likhith/Removed unused functions from Cashier container and added test cases (#4821)

* likhith/added testcases to cashier-container

* added loader check test case

* Variable change

* Fixed variable scoping

* Refactored code inline with  naming conventions

* Removed code smells

* Improved code visibility

* Removed unused functionality in CashierComponent

* Removed unused imports

* Removed unused property and improved test cases

* modified input data

* Incorporated review comments

* Incorporated review comments

* Added test cases to order and order-table (#4916)

* fix test cases because of refactoring the component (#5029)

* Nijil/Pass correct value to SelectNative value prop from PA dropdown (#5034)

* fix: pass correct value to SelectNative value prop

* minor refactor

* translations: 📚 sync translations with crowdin (#5039)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* MaryiaF/fix: bold the menu option when the user has gone by the child… (#4965)

* MaryiaF/fix: bold the menu option when the user has gone by the child menu items and then navigated one of them to the corresponding page

* MaryiaF/refactor:  solution with switching to the bold menu item

* MaryiaF/chore: revert intent

* MaryiaF/refactor: use Text component instead of spane in toggle-menu-drawer file

* MaryiaF/refactor: remove unuseful  style and change import

* Merge branch 'master' of github.com:binary-com/deriv-app into 57685_2

* MaryiaF/fix: all the sub menus are not supposed to be in bold in first visit, 1 of the sub menu should be bold during the visit

* MaryiaF/fix: condition when the menu item should be bold

* MaryiaF/fix: remove console.log

* Revert "Merge branch 'master' of github.com:binary-com/deriv-app into 57685_2"

This reverts commit 2c19bed858d09d2dee7b4ffb939f80617a91972e.

Co-authored-by: Carol Sachdeva <58209918+carol-binary@users.noreply.github.com>

* <SearchBox /> test coverage (#4900)

Co-authored-by: Carol Sachdeva <58209918+carol-binary@users.noreply.github.com>

* Artsem / <Verification /> test coverage (#4890)

* <Verification /> test coverage

* remove redundant import

* fix testid naming

* fix testid and elements naming

* remove redundant mockProps()

Co-authored-by: Carol Sachdeva <58209918+carol-binary@users.noreply.github.com>

* Amina/test_coverage_for_poi-verified_component_in_account_package (#5006)

* poi-verified-spec

* poi-verified-spec

Co-authored-by: Carol Sachdeva <58209918+carol-binary@users.noreply.github.com>

* Amina/test_coverage_for_poa_unverified_component_in_account_package (#4993)

* unverified-spec

* poa-unverified

Co-authored-by: Carol Sachdeva <58209918+carol-binary@users.noreply.github.com>

* Amina/test coverage for poa-submitted (#4990)

* test_coverage_for_poa_submitted

* fix

Co-authored-by: Carol Sachdeva <58209918+carol-binary@users.noreply.github.com>

* george / test coverage for "recent transaction" component (#4838)

* added tests for RecentTransaction component

* fixed condition for cashier transaction icon

* removed code duplication

* refactored code

* code refactoring (add data-testid into Item component)

* code refactoring

* naming refactoring data-testid

* naming refactoring

* add new prop (data_testid) to Icon component

* code refactoring using icon prop data_testid

* add prop types for data_testid

Co-authored-by: Carol Sachdeva <58209918+carol-binary@users.noreply.github.com>

* translations: 📚 sync translations with crowdin (#5048)

Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>

* update branch with master (#5010)

* Maryia/Set notifications together with each handling of notifications (#4958)

* Maryia/Set notifications before each handling of notifications

* Maryia/style fix to fit in long FR, ES & PT text on the notification button

* Fix design for DMT5 investor password reset modal (#4942)

* Ako/ Codecov integration (#5053)

* build/ add test:ci script to run tests in the ci with different config

* ci/ add codecov github action

* ci/ workflow update

* ci/ update coverage path

* ci/ get coverage over all of the files

* ci/ get coverage on pull request

* Revert "build/ add test:ci script to run tests in the ci with different config"

This reverts commit 2771958602f5af3048c334e28868d05f9ff4f6cd.

* doc/ add codecov badge to readme file

* Vijayasree/Crypto icon in withdrawal page is not shown for specific device IOS (#4976)

* Crypto icon in withdrawal page is not shown for specific device IOS

* Crypto icon in withdrawal page is not shown for specific device IOS

* Crypto icon in withdrawal page is not shown for specific device IOS

* re-trigger build

* re-trigger build

* Crypto icon in withdrawal page is not shown for specific device IOS

* Crypto icon in withdrawal page is not shown for specific device IOS

* Crypto icon in withdrawal page is not shown for specific device IOS

* Crypto icon in withdrawal page is not shown for specific device IOS

* Crypto icon in withdrawal page is not shown for specific device IOS

* Crypto icon in withdrawal page is not shown for specific device IOS

* Crypto icon in withdrawal page is not shown for specific device IOS

* Crypto icon in withdrawal page is not shown for specific device IOS

* Crypto icon in withdrawal page is not shown for specific device IOS

* Crypto icon in withdrawal page is not shown for specific device IOS

* Sara / Fixed issue with error handling (#4966)

* Fixed issue with error handling

* Removed extra code

* fixed issue with aggregation methods

* MaryiaF/chore: remove consoles (#5059)

* Matin/Add: TS files for translation extraction (#5073)

* remove appstore package from translations (#5075)

Co-authored-by: Matin shafiei <70938039+matin-binary@users.noreply.github.com>
Co-authored-by: Salar Hafezi <salar@re-work.dev>
Co-authored-by: Matin shafiei <matin@binary.com>
Co-authored-by: hirad-rewok <91878582+hirad-rewok@users.noreply.github.com>
Co-authored-by: Carol Sachdeva <58209918+carol-binary@users.noreply.github.com>
Co-authored-by: balakrishna-binary <56330681+balakrishna-binary@users.noreply.github.com>
Co-authored-by: Maryia <87321516+maryia-deriv@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com>
Co-authored-by: Salar Hafezi <76559464+salarhfz-fs@users.noreply.github.com>
Co-authored-by: Bahar <bahar@firstsource.tech>
Co-authored-by: njazuli-deriv <78890281+njazuli-deriv@users.noreply.github.com>
Co-authored-by: Likhith Kolayari <98398322+likhith-deriv@users.noreply.github.com>
Co-authored-by: Maryia Frantsava <88426229+maryiafrantsava-deriv@users.noreply.github.com>
Co-authored-by: Akmal Djumakhodjaev <akmal@binary.com>
Co-authored-by: vijayasree-deriv <98810931+vijayasree-deriv@users.noreply.github.com>
Co-authored-by: george-usynin-deriv <89790856+george-usynin-deriv@users.noreply.github.com>
Co-authored-by: Artsem Kavaleu <88381164+artsemkavaleu-deriv@users.noreply.github.com>
Co-authored-by: amina-deriv <84661147+amina-deriv@users.noreply.github.com>
Co-authored-by: Niloofar Sadeghi <93518187+niloo-fs@users.noreply.github.com>
Co-authored-by: mitra-fs <64970259+mitra-fs@users.noreply.github.com>
Co-authored-by: Ali(Ako) Hosseini <ali.hosseini@firstsource.tech>
Co-authored-by: sara-fs <55442058+sara-fs@users.noreply.github.com>
Co-authored-by: Matin shafiei <matin@deriv.com>

* Revert "Merge branch 'binary-com:master' into floating_rate (#5080)" (#5081)

This reverts commit 725636b267eb434a278976b67c3461ccc2130338.

* Artsem / Floating rate banner and warning for existing ads (#4975)

* Add floating rate enable banner and warning icon

* remove extra function call

* remove deprecated conditions

* remove conditional render, add todo comment

* fix Localize settings

* likhith/Created Floating rate custom component (#4971)

* Created Floating rate custom component

* Removed hardcoded values

* Incorporated review comments

* Reordered functions as per style guide

* Replaced Css units

* Incorporated review comments

* Empty commit

* Minor bug fix

* Renamed functions appropriately

* Incorporated review comments

* Fetching floating rate status from const

* Resolved lint errors

* Incorporated review comments

* incoeporated review comments

* Added syles as per UX

* Added a comment to explian props

* Changed CSS as per BEM standard

* Changes naming conventions

* Implemented review comments

* Refactored code as per comments

* Fixed eslint errors

* Reverted the changes made

* Minor bug fixes

* Added currecnt_focus prop

* likhith/create floating-rate ad (#4964)

* Floating-rate Ui created

* Added validations to floating-rate component

* Implemented Floating rate component

* Added default values for floating rates based on ad type

* fixed lint issues

* Minor bug fixes

* Added store subscriptions

* Enhanced InputField component and added floating rate store

* Resolved lint errors

* Added changes for My Ad screen

* Added floate-rate

* Added exisiting user update

* Added reaction to my-ad store

* Edit form

* Added edit ad section

* Added switch rate modal

* Added switch ad dialog

* Added banner condition

* Added banner condition

* Empty commit

* Minor bug fixes

* Minor bug fixes

* removed console logs

* Incorporated API changes

* Incorporated review comments

* Removed duplication

* Integrated API with create floting rate ad

* Incorporated review comments

* Added floating rate error messages

* Resolved lint error

* Added styling as per UX

* Minor bug fix in create ad form

* Changes CSS as per BEM

* Resolved lint error

* Added current_focus to input field

* Minor bug fixes for Create ad

* Incorporated review comments

* Minor bug fix

* Removed empty structure

* Removed additional switch state

* Fixed issue with date banner

* Added test cases for Floating rate component

* Removed the empty element and replaced with null

* Incorporated the changes

* fixed incorrect file name

* Trigger Build

* Added as per naming

* Removed localize of 1

* Added review comments

* Incorporated changes

* Replaced string with constant

* Incorporated review comments

* Removed un-necessary div

* Removed css

* Renamed function

* Minor bug fixes and incorporated comments

* Added fallback

* alphabetize observables

* Replaced CSS for Ad status

* Resoled CSS and functionality bugs

* Fixed lint errors

* Resolved lint erros

* Incorporated review comments

* Reduced spacing between the banner

* Formatted user input

* Fixed failing test case

* Added comments to explain functionality

* Fetching date and time from server

* Renamed function

* Refactored code

* Added review comments

* Resolved decimal round off issue

* Fixed Rounding off of decimal digits

* Regex change in psoitive integer check

* Resolved issue with round off to decimal point

* Re-arranged imports

* Fixed the testcase

* Fixed floating_rate input check

* Removed Math.sign

* Reverted decimal change

* Implemented round of logic for decimal places

* refactor: Renamed variables

* fix: Round off issue in Create Ad summary

* fix: resolved decimal point to 2 digits

* Resolved lint errors

* fix: Renamed the function

* chore: Ad display table rate will be calculated from

* fix: test color in dark theme

* fix: label changes b/w fixed and floating

* fix: invoking api call to fetch the changes

* fix: rate synced b/w myads and buy/sell

* fix: range offset validation

* fix: modified rate property in edit ads

* fix: Float rate input suffix

* fix: code formatted

* fix: setting floating rate to 2 decimals on blur

* fix: spacing issue with floating rate input

* Trigger build

* Trigger build

* fix: removed unwanted padding

* fix: added ellipse to fix over lapping

* fix: removed disabling of floating rate field buttons

* fix: resolved issue with error message

* fix: Overlapping CSS issues in Mobile

* fix: added missing background color for dark theme

* fix: removed button highlight in mobile

* fix: button higlight issue

* fix: display of cursor pointer on scroll

* fix: resolved issue with message

* fix: Ad change warning message

* fix: color for dark mode

Co-authored-by: Likhith Kolayari <likhith@deriv.com>

* fix: conflict message not updated

* likhith/created edit my ad screen (#4988)

* Floating-rate Ui created

* Added validations to floating-rate component

* Implemented Floating rate component

* Added default values for floating rates based on ad type

* fixed lint issues

* Minor bug fixes

* Added store subscriptions

* Enhanced InputField component and added floating rate store

* Resolved lint errors

* Added changes for My Ad screen

* Added floate-rate

* Added exisiting user update

* Added reaction to my-ad store

* Edit form

* Added edit ad section

* Added switch rate modal

* Added switch ad dialog

* Added banner condition

* Added banner condition

* Empty commit

* Implemented edit ads for floating rates

* Inorporated review comment

* minor bug fixes

* Minor bug fixes

* Minor bug fixes

* removed console logs

* Added rae_type prop

* Incorporated API changes

* Incorporated API changes

* Incorporated review comments

* Removed duplication

* Integrated API with create floting rate ad

* Incorporated review comments

* Added floating rate error messages

* Resolved lint error

* Added styling as per UX

* Added styles as per UX

* Refactoring code

* Css changes to summary component

* Trigger Build

* Minor bug fix in Create Ad form

* Minor bug fix in create ad form

* Changes CSS as per BEM

* Resolved lint error

* Added current_focus to input field

* Minor bug fixes for Create ad

* Incorporated review comments

* Minor bug fix

* Removed empty structure

* Removed additional switch state

* Fixed issue with date banner

* Added test cases for Floating rate component

* Removed the empty element and replaced with null

* Incorporated the changes

* fixed incorrect file name

* Trigger Build

* Added as per naming

* Removed localize of 1

* Added review comments

* Incorporated changes

* Replaced string with constant

* Incorporated review comments

* Removed un-necessary div

* Removed css

* Renamed function

* Minor bug fixes and incorporated comments

* Added fallback

* alphabetize observables

* Replaced CSS for Ad status

* Migrated create ad comments to Edit ad

* Resolved lint errors

* Fixed lint issues

* Resoled CSS and functionality bugs

* Fixed lint errors

* Resolved lint erros

* Incorporated review comments

* Reduced spacing between the banner

* Formatted user input

* Fixed failing test case

* Added comments to explain functionality

* Fetching date and time from server

* Renamed function

* Refactored code

* Added review comments

* Resolved decimal round off issue

* Fixed Rounding off of decimal digits

* Added test case for create ad

* Regex change in psoitive integer check

* Added test case to test form values

* Resolved decimal round off issue

* Added test acss to edit form

* Resolved lint errors

* Resolved issue with round off to decimal point

* Re-arranged imports

* Fixed the testcase

* Removed unused imports

* Fixed floating_rate input check

* Removed Math.sign

* Reverted decimal change

* Implemented round of logic for decimal places

* refactor: Renamed variables

* refactor: Added fallback condition

* fix: added a exchange rate fallback condition

* fix: Round off issue in Create Ad summary

* fix: resolved decimal point to 2 digits

* Resolved lint errors

* fix: Renamed the function

* chore: Ad display table rate will be calculated from

* fix: test color in dark theme

* fix: label changes b/w fixed and floating

* fix: invoking api call to fetch the changes

* fix: rate synced b/w myads and buy/sell

* fix: range offset validation

* fix: modified rate property in edit ads

* fix: Float rate input suffix

* fix: code formatted

* fix: setting floating rate to 2 decimals on blur

* fix: spacing issue with floating rate input

* Trigger build

* Trigger build

* fix: removed unwanted padding

* fix: added ellipse to fix over lapping

* incorporated changes

* fix: removed disabling of floating rate field buttons

* fix: resolved issue with error message

* fix: Overlapping CSS issues in Mobile

* fix: added missing background color for dark theme

* fix: removed button highlight in mobile

* fix: button higlight issue

* fix: display of cursor pointer on scroll

* fix: resolved issue with message

* fix: modified display of summary in edit ad component

* fix: removed spec code

* fix: Removed test cases

* chore: reverted old commit

* feat: Added banner for switch rate

* fix: Error message text

* fix: incorporated review comments

* fix: removed unwanted store condition and added subscription to exchange rates

* fix: removed incorrect function call

* fix: added a null check

* fix: refactored code

* ref: Added comments

* ref: Refactored code for performance

* ref: refactored code

* ref: code refactor

* ref: Incorporated review comments

* Trigger Build

* fix: removed fixed size

* fix: resolved conflict

* fix: moved functionality from component to store

* fix: removed unnecessary commenting

* ref: renamed cancel action functions

* ref: refactored code for increated readability

* feat: implemented a function for removing trailing zeros

* ref: refactored the code in edit ad summary

* fix: reverted decimal round off rules

* fix: resolved issue with resetting selected Ad id

* fix: switching ad types in edit

* fix: issue with edit ad switch

* fix: display rate change dialog even when ads are deactivated

* fix: disabled activate ad when past date is passed

* fix: displaying error message based on the required ad type

* fix: banner glitch occurs when data loaded in chunks

* fix: enable ads after switch update

* fix: Form should not be checked for value change when ad switch is triggered

* fix: test to incorporate sign

* fix: implemented dynamic type for field in mobile

* fix: added css to fix disable styling

* fix: enforcing disable bg color for popover

* fix: responsive view of switch ad modal

* fix: added missing theme color for dark mode

* fix: banner width consistancy

* fix: incorporated touched state for Payment method

Co-authored-by: Likhith Kolayari <likhith@deriv.com>

* likhith/Feature  buy sell confirmation (#5487)

* Floating-rate Ui created

* Added validations to floating-rate component

* Implemented Floating rate component

* Added default values for floating rates based on ad type

* fixed lint issues

* Minor bug fixes

* Added store subscriptions

* Enhanced InputField component and added floating rate store

* Resolved lint errors

* Added changes for My Ad screen

* Added floate-rate

* Added exisiting user update

* Added reaction to my-ad store

* Edit form

* Added edit ad section

* Added switch rate modal

* Added switch ad dialog

* Added banner condition

* Added banner condition

* Empty commit

* Minor bug fixes

* Minor bug fixes

* removed console logs

* Incorporated API changes

* Incorporated review comments

* Removed duplication

* Integrated API with create floting rate ad

* Incorporated review comments

* Added floating rate error messages

* Resolved lint error

* Added styling as per UX

* Minor bug fix in create ad form

* Changes CSS as per BEM

* Resolved lint error

* Added current_focus to input field

* Minor bug fixes for Create ad

* Incorporated review comments

* Minor bug fix

* Removed empty structure

* Removed additional switch state

* Fixed issue with date banner

* Added test cases for Floating rate component

* Removed the empty element and replaced with null

* Incorporated the changes

* fixed incorrect file name

* Trigger Build

* Added as per naming

* Removed localize of 1

* Added review comments

* Incorporated changes

* Replaced string with constant

* Incorporated review comments

* Removed un-necessary div

* Removed css

* Renamed function

* Minor bug fixes and incorporated comments

* Added fallback

* alphabetize observables

* Replaced CSS for Ad status

* Resoled CSS and functionality bugs

* Fixed lint errors

* Resolved lint erros

* Incorporated review comments

* Reduced spacing between the banner

* Formatted user input

* Fixed failing test case

* Added comments to explain functionality

* Fetching date and time from server

* Renamed function

* Refactored code

* Added review comments

* Resolved decimal round off issue

* Fixed Rounding off of decimal digits

* Regex change in psoitive integer check

* Resolved issue with round off to decimal point

* Re-arranged imports

* Fixed the testcase

* Fixed floating_rate input check

* Removed Math.sign

* Reverted decimal change

* Implemented round of logic for decimal places

* refactor: Renamed variables

* fix: Round off issue in Create Ad summary

* fix: resolved decimal point to 2 digits

* Resolved lint errors

* fix: Renamed the function

* chore: Ad display table rate will be calculated from

* fix: test color in dark theme

* fix: label changes b/w fixed and floating

* fix: invoking api call to fetch the changes

* fix: rate synced b/w myads and buy/sell

* fix: range offset validation

* fix: modified rate property in edit ads

* fix: Float rate input suffix

* fix: code formatted

* fix: setting floating rate to 2 decimals on blur

* fix: spacing issue with floating rate input

* Trigger build

* Trigger build

* fix: removed unwanted padding

* fix: added ellipse to fix over lapping

* fix: removed disabling of floating rate field buttons

* fix: resolved issue with error message

* feat: Implemented floating rate for buy/sell

* fix: Overlapping CSS issues in Mobile

* fix: added missing background color for dark theme

* fix: removed button highlight in mobile

* fix: button higlight issue

* fix: display of cursor pointer on scroll

* fix: resolved issue with message

* fix: color for dark mode

* fix: buy/sell modal styling

* fix: render data in accordian

* feat: incorporated expand all accordian

* feat: Implemented Expand & Collapse all feature

* ref: code refactor

* fix: removed console errors

* fix: removed unused prop

* fix: incorporated review comments

* fix: incorporated review comments

* fix: incorporated Expamd all button

* fix: incorrect prop name in accordion component

* fix: incorporated review comments

* ref: Removed code duplication

* ref: refactored the code

* fix: changes px to rem

* fix: incorporated rate change error dialog

* fix: removed unwanted CSS

* fix: renamed porptype in Rate Change modal

* ref: code refactored

* ref:  rate change modal code refactored

* ref: Refactored code

* fix: css issues related to buy-sell dialog

* fix: fixed failing test cases

* fix: Added a error code check to display appropriate popups

* fix: CSS inssues in Buy-sell modal

* fix: css issue of error hintbox

* fix: resolved issue with rounding digit in receive amount

* fix: blocking order creation when balance is low

* fix: css changes to fix disabling form

* fix: modal condition to display low balance

* fix: blocking user from entering value more than balance

* fix: display Form error messages in footer and account balance error in banner

* fix: resolved lint errors

* ref: changed the TODO comment

* ref: fixed the comment

* fix: incorporated subscribeWS method

* fix: resolved failing testcase issue

* fix: removed commented code

* fix: display of incorrect efective rate

* fix: decimal round off

* fix: navigation to buy/sell table when try again is clicked

* fix: buy/sell order dialog title to match the design

* fix: css issues in buy/sell

* fix: design mismatch in order confiormation dialog

* ref: Refactored code to reuse functionality

* fix: removed commented code

* fix: market change update in Advertiser section

* fix: re-render on balance change

* fix: disabling fields when balance is low

* fix: expand/collapse issue

* fix: resolved issue with expand and collapse

* fix: restricted rate input to 8 characters

* fix: resolved console error

* fix: file name

* fix: fixed failing test case

* fix: added order input check against account balance

* fix: css issues in add payment method in buy-sell form

* fix: validation of sell order

* fix: currency format of balance

* fix: re-establish n/w connection on reload

* ref: Incorporated safety null check

* fix: moved low balance banner display to be handled by state

Co-authored-by: Likhith Kolayari <likhith@deriv.com>

* farrah/ removed payment method banner in p2p (#5755)

* removed transaction time and payment method banners

* removed setting of missing payment methods

* reverted removal of reduced transaction time banner

* likhith/incorporated market rate calculation with 6 decimals (#5770)

* feat: incorporated market rate calculation with 6 decimals

* ref: refactored code to generate effective rate

* ref: removed commented code

* fix: round off decimal calculation of effective market rate

* fix: formatting decimals in effective rate

* fix: set the form to be dirty when PM is selected

* fix: checking for change when PM methods are modified

* fix: enable button for edit ad

* fix: enabling submit method for buy ads

* fix: decimal round off issue in buy-sell

* fix: display min of 2 decimal points

* fix: displying initial value of buy-sell ad

* Trigger build

* fix: removed unnecessary spacing

* Trigger build

* fix: effective rate round off in Buy/sell

* Trigger build

* fix: setting correct ad type

* fix: display order rate amoun…
  • Loading branch information
Show file tree
Hide file tree
Showing 569 changed files with 86,651 additions and 41,128 deletions.
2 changes: 2 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,7 @@ workflows:
branches:
only: /^master$/
- publish_cloudflare_staging:
context: binary-frontend-artifact-upload
requires:
- release_staging
filters:
Expand All @@ -317,6 +318,7 @@ workflows:
tags:
only: /^production.*/
- publish_cloudflare_production:
context: binary-frontend-artifact-upload
requires:
- release_production
filters:
Expand Down
2 changes: 1 addition & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ module.exports = {
],
'spaced-comment': 'off',
'import/prefer-default-export': 0,
'import/extensions': ['warn', 'never', { jsx: 'always', json: 'always' }],
'import/extensions': [0, { jsx: 'always', json: 'always' }],
'no-sequences': ['warn'],
'import/no-unresolved': [2, { ignore: ['@deriv/components', '@deriv/shared'] }],

Expand Down
1 change: 1 addition & 0 deletions __mocks__/fileMock.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = 'file-mock-stub';
2 changes: 1 addition & 1 deletion jest.config.base.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ module.exports = {
collectCoverageFrom: ['**/*.{js,jsx,ts,tsx}', '!**/node_modules/**'],
coverageReporters: ['lcov'],
coverageDirectory: './coverage/',
testRegex: '(/__tests__/.*|(\\.)(test|spec))\\.js?$',
testRegex: '(/__tests__/.*|(\\.)(test|spec))\\.(js|tsx)?$',
// This is needed to transform es modules imported from node_modules of the target component.
transformIgnorePatterns: ['/node_modules/(?!react-virtualized).+\\.js$'],
setupFiles: ['<rootDir>/../../jest.setup.js'],
Expand Down
91,468 changes: 55,483 additions & 35,985 deletions package-lock.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
"@types/node": "^17.0.27",
"@types/react": "^18.0.7",
"@types/react-dom": "^18.0.0",
"@types/react-router-dom": "^5.1.6",
"@typescript-eslint/eslint-plugin": "^5.8.0",
"@typescript-eslint/parser": "^5.8.0",
"babel-polyfill": "^6.26.0",
Expand Down
5 changes: 5 additions & 0 deletions packages/account/build/webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,11 @@ module.exports = function (env) {
'text-container': 'Components/text-container',
'terms-of-use': 'Components/terms-of-use',
'terms-of-use-config': 'Configs/terms-of-use-config',
'proof-of-identity-config': 'Configs/proof-of-identity-config',
'proof-of-identity-form-on-signup': 'Components/poi/poi-form-on-signup',
'proof-of-identity-containerfor-mt5':
'Sections/Verification/ProofOfIdentity/proof-of-identity-container-for-mt5',
'poi-poa-submitted': 'Components/poi-poa-docs-submitted/poi-poa-docs-submitted.jsx',
},
mode: IS_RELEASE ? 'production' : 'development',
module: {
Expand Down
4 changes: 2 additions & 2 deletions packages/account/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"build": "f () { webpack --config \"./build/webpack.config.js\" --env base=$1;}; f",
"build:travis": "rimraf dist && webpack --config \"./build/webpack.config.js\" --mode=production",
"test": "echo \"No test specified\"",
"test:eslint": "eslint \"./src/**/*.?(js|jsx)\"",
"test:eslint": "eslint \"./src/**/*.?(js|jsx|ts|tsx)\"",
"deploy": "echo \"No deploy specified\"",
"deploy:clean": "echo \"No deploy:clean specified\"",
"deploy:folder": "echo \"No deploy:folder specified\"",
Expand All @@ -38,7 +38,7 @@
"js-cookie": "^2.2.1",
"mobx": "^5.15.7",
"mobx-react": "6.3.1",
"onfido-sdk-ui": "6.8.0",
"onfido-sdk-ui": "^8.1.1",
"prop-types": "^15.7.2",
"qrcode.react": "^1.0.0",
"react": "^16.14.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/account/src/Components/api-token/api-token.scss
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
}
&__clipboard-wrapper {
display: flex;
justify-content: flex-end;
justify-content: flex-start;
align-items: center;
gap: 1rem;
padding-right: 1.3rem;
Expand Down Expand Up @@ -132,7 +132,7 @@
&-item {
margin-bottom: 0.8rem;
display: grid;
grid-template-columns: 1.6fr 0.4fr;
grid-template-columns: 1.5fr 0.5fr;

&--name {
word-break: break-all;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ describe('<RadioButtonGroup/>', () => {

it('if is_fiat is false it should not show description on clicking the child component', () => {
render(
<RadioButtonGroup {...props} is_fiat={false}>
<RadioButtonGroup {...props} is_fiat={false}>
<button>Currency</button>
</RadioButtonGroup>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ describe('<RadioButton />', () => {
};

const ust_msg =
/send only tether omni to this deposit address\.sending tether erc20 to this address will result in the loss of your deposit\./i;
/Tether as an Omni token \(USDT\) is a version of Tether that is hosted on the Omni layer on the Bitcoin blockchain./i;

const usdt_msg =
/tether as an erc20 token \(eusdt\) is a version of tether that is hosted on ethereum, an open software platform where anyone can build and deploy decentralised applications\./i;
const usdt_msg = /Tether as an ERC20 token \(eUSDT\) is a version of Tether that is hosted on Ethereum./i;

it('should render radiobutton', () => {
render(<RadioButton {...props} />);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,22 @@ const USTPopover = ({ id }) => {
popover_message = (
<Localize
i18n_default_text={
'Send only Tether Omni to this deposit address.<0 /><0 />Sending Tether ERC20 to this address will result in the loss of your deposit.'
'Tether as an Omni token (USDT) is a version of Tether that is hosted on the Omni layer on the Bitcoin blockchain.'
}
components={[<br key={0} />]}
/>
);
} else if (/^tUSDT$/i.test(id)) {
popover_message = (
<Localize
i18n_default_text={'Tether as a TRC20 token (tUSDT) is a version of Tether that is hosted on Tron.'}
/>
);
} else {
popover_message = (
<Localize
i18n_default_text={
'Tether as an ERC20 token (eUSDT) is a version of Tether that is hosted on Ethereum, an open software platform where anyone can build and deploy decentralised applications.'
'Tether as an ERC20 token (eUSDT) is a version of Tether that is hosted on Ethereum.'
}
/>
);
Expand Down Expand Up @@ -82,7 +88,7 @@ const RadioButton = ({
) : (
<React.Fragment>
<Icon className='currency-list__icon' icon={`IcCurrency-${id.toLowerCase()}`} />
{/^(UST|eUSDT)$/i.test(id) && <USTPopover id={id} />}
{/^(UST|eUSDT|tUSDT)$/i.test(id) && <USTPopover id={id} />}
<div className='label currency-list__item-text'>
<div className='currency-list__item-label'>{label}</div>
<div className='currency-list__item-code'>({getCurrencyDisplayCode(id)})</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import PropTypes from 'prop-types';
import DocumentUploader from '@binary-com/binary-document-uploader';
import { localize } from '@deriv/translations';
import { compressImageFiles, readFiles, DOCUMENT_TYPE, PAGE_TYPE } from '@deriv/shared';

const fileReadErrorMessage = filename => {
return localize('Unable to read file {{name}}', { name: filename });
};

const uploadFile = (file, getSocket, settings) =>
new Promise((resolve, reject) => {
if (!file) {
reject();
}

// File uploader instance connected to binary_socket
const uploader = new DocumentUploader({ connection: getSocket() });

let is_file_error = false;

compressImageFiles([file]).then(files_to_process => {
readFiles(files_to_process, fileReadErrorMessage, settings).then(processed_files => {
processed_files.forEach(item => {
if (item.message) {
is_file_error = true;
reject(item);
}
});
const total_to_upload = processed_files.length;
if (is_file_error || !total_to_upload) {
return; // don't start submitting files until all front-end validation checks pass
}

// send files
uploader.upload(processed_files[0]).then(resolve).catch(reject);
});
});
});

uploadFile.propTypes = {
file: PropTypes.element.isRequired,
getSocket: PropTypes.func.isRequired,
settings: PropTypes.shape({
documentType: PropTypes.oneOf(Object.values(DOCUMENT_TYPE)).isRequired,
pageType: PropTypes.oneOf(Object.values(PAGE_TYPE)),
expirationDate: PropTypes.string,
documentId: PropTypes.string,
lifetimeValid: PropTypes.bool,
}),
};

export default uploadFile;
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,13 @@ const PersonalDetails = ({
data-testid='personal_details_form'
>
<Div100vhContainer className='details-form' height_offset='90px' is_disabled={isDesktop()}>
<Text as='p' size='xxxs' align='center' className='details-form__description'>
<Localize
i18n_default_text={
'Any information you provide is confidential and will be used for verification purposes only.'
}
/>
</Text>
<ThemedScrollbars height={height} onScroll={closeTooltipOnScroll}>
{is_appstore && (
<div className='details-form__sub-header'>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import React from 'react';
import { Button, Icon, Text } from '@deriv/components';
import { localize } from '@deriv/translations';
import IconMessageContent from 'Components/icon-message-content';

const PoiPoaSubmitted = ({ onClickOK, onClickYes, account_type, mt5_login_list, is_eu }) => {
const [should_show_svg_msg, setShouldShowSvgMsg] = React.useState(false);
const message = localize('Your documents were submitted successfully');
React.useEffect(() => {
if (account_type.type && account_type.category && !is_eu) {
const svg_accounts = mt5_login_list.filter(
data =>
data.market_type === account_type.type &&
data.landing_company_short === 'svg' &&
data.account_type === 'real'
);
if (!svg_accounts.length) {
setShouldShowSvgMsg(true);
}
}
}, []);
const SVGRoutingData = () => (
<>
<Text size='xs' align='center' className='poi-poa-submitted__svg-text'>
{localize('Meanwhile, do you want to explore other accounts?')}
</Text>
<div className='poi-poa-submitted__svg-footer'>
<Button has_effect text={localize('No')} onClick={onClickOK} secondary />
<Button has_effect text={localize('Yes')} onClick={onClickYes} secondary />
</div>
</>
);
return (
<IconMessageContent
message={message}
text={localize('We’ll review your documents and notify you of its status within 1 to 3 days.')}
icon={<Icon icon='IcDocsSubmit' size={128} />}
className='poi-poa-submitted'
>
{should_show_svg_msg ? (
<SVGRoutingData />
) : (
<Button has_effect text={localize('OK')} onClick={onClickOK} primary />
)}
</IconMessageContent>
);
};
export default PoiPoaSubmitted;
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import UnsupportedFailed from './unsupported-failed.jsx';

export default UnsupportedFailed;
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Icon } from '@deriv/components';
import { localize } from '@deriv/translations';
import IconMessageContent from 'Components/icon-message-content';

const UnsupportedFailed = ({ error }) => (
<IconMessageContent
message={localize('Proof of identity documents upload failed')}
text={error}
icon={<Icon icon='IcPoiFailed' size={128} />}
className='account-management-dashboard'
/>
);

UnsupportedFailed.propTypes = {
error: PropTypes.string,
};

export default UnsupportedFailed;
Original file line number Diff line number Diff line change
Expand Up @@ -23,33 +23,17 @@ describe('<CountrySelector/>', () => {
],
selected_country: '',
setSelectedCountry: jest.fn(),
show_helper_msg: '',
};
});

it('should render CountrySelector component not external with helper message', () => {
mock_props.show_helper_msg = true;

const { container } = render(<CountrySelector {...mock_props} />);

expect(screen.getByText('Proof of identity')).toBeInTheDocument();
expect(screen.getByText('In which country was your document issued?')).toBeInTheDocument();
expect(screen.getByText('Country')).toBeInTheDocument();
expect(screen.getByText('Try submitting an ID document instead.')).toBeInTheDocument();

const div_with_external_class = container.querySelector('.external-dropdown');
expect(div_with_external_class).not.toBeInTheDocument();
});

it('should render CountrySelector component external without hepler message', () => {
it('should render CountrySelector component external', () => {
mock_props.is_from_external = true;

const { container } = render(<CountrySelector {...mock_props} />);

expect(screen.getByText('Proof of identity')).toBeInTheDocument();
expect(screen.getByText('In which country was your document issued?')).toBeInTheDocument();
expect(screen.getByText('Country')).toBeInTheDocument();
expect(screen.queryByText('Try submitting an ID document instead.')).not.toBeInTheDocument();

const div_with_external_class = container.querySelector('.external-dropdown');
expect(div_with_external_class).toBeInTheDocument();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ const CountrySelector = ({
residence_list,
selected_country,
setSelectedCountry,
show_helper_msg,
}) => {
const [country_list, setCountryList] = React.useState([]);

Expand Down Expand Up @@ -136,11 +135,6 @@ const CountrySelector = ({
<FormFooter
className={classNames('proof-of-identity__footer', { 'external-footer': is_from_external })}
>
{show_helper_msg && (
<Text color='red' weight='bold' className='proof-of-identity__footer-alert' size='xs'>
{localize('Try submitting an ID document instead.')}
</Text>
)}
<Button
className='proof-of-identity__submit-button'
type='submit'
Expand Down
Loading

0 comments on commit 5ac3952

Please sign in to comment.