From d84a0d6c2e7cc0ff38e92819df7003cb8fe47791 Mon Sep 17 00:00:00 2001 From: henry-deriv <118344354+henry-deriv@users.noreply.github.com> Date: Fri, 26 Jul 2024 20:40:32 +0800 Subject: [PATCH] [DTRA] henry/webrel-3029/hotfix: hide recent positions modal and show landscape blocker for contract details and reports (#16220) * fix: hide recent positions modal and show landscape blocker for contract details and reports * fix: snakecase --- .../LandscapeBlocker/landscape-blocker.tsx | 10 +- .../toggle-positions-mobile.tsx | 100 +++++++++++------- 2 files changed, 65 insertions(+), 45 deletions(-) diff --git a/packages/core/src/App/Components/Elements/LandscapeBlocker/landscape-blocker.tsx b/packages/core/src/App/Components/Elements/LandscapeBlocker/landscape-blocker.tsx index 14cc3211769c..c97560ea7f7e 100644 --- a/packages/core/src/App/Components/Elements/LandscapeBlocker/landscape-blocker.tsx +++ b/packages/core/src/App/Components/Elements/LandscapeBlocker/landscape-blocker.tsx @@ -15,16 +15,16 @@ const LandscapeBlocker = observer(() => { const location = useLocation(); const pathname = location?.pathname; const is_hidden_landscape_blocker = isDisabledLandscapeBlockerRoute(pathname); - const shouldShowDtraderTabletView = pathname === routes.trade && isTabletOs; - const showBlockerDtraderMobileLandscapeView = + const should_show_dtrader_tablet_view = pathname === routes.trade && isTabletOs; + const show_blocker_dtrader_mobile_landscape_view = !isMobile && isMobileOs() && - (pathname.startsWith(routes.trade) || pathname.startsWith(routes.reports || pathname.startsWith('/contract/'))); + (pathname.startsWith(routes.trade) || pathname.startsWith(routes.reports) || pathname.startsWith('/contract')); if ( !has_wallet && - !showBlockerDtraderMobileLandscapeView && - (is_hidden_landscape_blocker || shouldShowDtraderTabletView) + !show_blocker_dtrader_mobile_landscape_view && + (is_hidden_landscape_blocker || should_show_dtrader_tablet_view) ) return null; diff --git a/packages/trader/src/App/Components/Elements/TogglePositions/toggle-positions-mobile.tsx b/packages/trader/src/App/Components/Elements/TogglePositions/toggle-positions-mobile.tsx index b30103331e29..1abbc86f7693 100644 --- a/packages/trader/src/App/Components/Elements/TogglePositions/toggle-positions-mobile.tsx +++ b/packages/trader/src/App/Components/Elements/TogglePositions/toggle-positions-mobile.tsx @@ -1,9 +1,9 @@ import React from 'react'; import { TransitionGroup, CSSTransition } from 'react-transition-group'; import { Icon, Div100vhContainer, Modal, Text } from '@deriv/components'; -import { routes } from '@deriv/shared'; +import { isDisabledLandscapeBlockerRoute, isMobileOs, isTabletOs, routes } from '@deriv/shared'; import { localize } from '@deriv/translations'; -import { NavLink } from 'react-router-dom'; +import { NavLink, useLocation } from 'react-router-dom'; import EmptyPortfolioMessage from '../EmptyPortfolioMessage'; import PositionsModalCard from 'App/Components/Elements/PositionsDrawer/positions-modal-card'; import TogglePositions from './toggle-positions'; @@ -32,9 +32,27 @@ const TogglePositionsMobile = observer( onClickCancel, }: TTogglePositionsMobile) => { const { togglePositionsDrawer, is_positions_drawer_on } = useStore().ui; + const { has_wallet } = useStore().client; const [hidden_positions_ids, setHiddenPositionsIds] = React.useState([]); const { isMobile, isTablet } = useDevice(); + const location = useLocation(); + const pathname = location?.pathname; + const is_hidden_landscape_blocker = isDisabledLandscapeBlockerRoute(pathname); + const should_show_dtrader_tablet_view = pathname === routes.trade && isTabletOs; + + const show_blocker_dtrader_mobile_landscape_view = + !isMobile && + isMobileOs() && + (pathname.startsWith(routes.trade) || + pathname.startsWith(routes.reports) || + pathname.startsWith('/contract')); + + const hide_landscape_blocker = + !has_wallet && + !show_blocker_dtrader_mobile_landscape_view && + (is_hidden_landscape_blocker || should_show_dtrader_tablet_view); + const displayed_positions = filtered_positions .filter(p => hidden_positions_ids.every(hidden_position_id => hidden_position_id !== p.contract_info.contract_id) @@ -87,45 +105,47 @@ const TogglePositionsMobile = observer( togglePositions={togglePositionsDrawer} positions_count={active_positions_count} /> - - -
- - - {localize('Recent positions')} - -
- -
-
-
- {is_empty || !displayed_positions.length || error ? ( - - ) : ( - body_content - )} -
-
- - - {localize('Go to Reports')} + {hide_landscape_blocker && ( + + +
+ + + {localize('Recent positions')} - -
-
-
+
+ +
+
+
+ {is_empty || !displayed_positions.length || error ? ( + + ) : ( + body_content + )} +
+
+ + + {localize('Go to Reports')} + + +
+
+
+ )} ); }