From 2ec625172c7dc9cdd7ab5cc6eae59e90662aa72e Mon Sep 17 00:00:00 2001 From: Akshaya Salvi Date: Thu, 23 Dec 2021 01:23:45 +0530 Subject: [PATCH 1/2] Hide Keyboard shortcuts menu in Native Devices --- src/CONST.js | 2 ++ src/libs/getPlatform/index.desktop.js | 4 +++- src/libs/getPlatform/index.website.js | 4 +++- src/pages/settings/AboutPage.js | 23 +++++++++++++++++------ 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/CONST.js b/src/CONST.js index 7f41055984f6..6bcac4aad78e 100755 --- a/src/CONST.js +++ b/src/CONST.js @@ -123,6 +123,8 @@ const CONST = { PLATFORM: { IOS: 'ios', ANDROID: 'android', + WEB: 'web', + DESKTOP: 'desktop', }, KEYBOARD_SHORTCUT_MODIFIERS: { CTRL: { diff --git a/src/libs/getPlatform/index.desktop.js b/src/libs/getPlatform/index.desktop.js index 30ac3e4128ee..c00ea00fd645 100644 --- a/src/libs/getPlatform/index.desktop.js +++ b/src/libs/getPlatform/index.desktop.js @@ -1,3 +1,5 @@ +import CONST from '../../CONST'; + export default function getPlatform() { - return 'desktop'; + return CONST.PLATFORM.DESKTOP; } diff --git a/src/libs/getPlatform/index.website.js b/src/libs/getPlatform/index.website.js index 7e6c88e6c07f..8b7e99c13c10 100644 --- a/src/libs/getPlatform/index.website.js +++ b/src/libs/getPlatform/index.website.js @@ -1,3 +1,5 @@ +import CONST from '../../CONST'; + export default function getPlatform() { - return 'web'; + return CONST.PLATFORM.WEB; } diff --git a/src/pages/settings/AboutPage.js b/src/pages/settings/AboutPage.js index 8ac081eb5480..b554ef1aae2c 100644 --- a/src/pages/settings/AboutPage.js +++ b/src/pages/settings/AboutPage.js @@ -11,17 +11,23 @@ import CONST from '../../CONST'; import * as Expensicons from '../../components/Icon/Expensicons'; import ScreenWrapper from '../../components/ScreenWrapper'; import withLocalize, {withLocalizePropTypes} from '../../components/withLocalize'; +import withWindowDimensions, {windowDimensionsPropTypes} from '../../components/withWindowDimensions'; import MenuItem from '../../components/MenuItem'; import Logo from '../../../assets/images/new-expensify.svg'; import {version} from '../../../package.json'; import * as Report from '../../libs/actions/Report'; import * as Link from '../../libs/actions/Link'; +import getPlatform from '../../libs/getPlatform/index.website'; +import compose from '../../libs/compose'; const propTypes = { ...withLocalizePropTypes, + ...windowDimensionsPropTypes, }; const AboutPage = (props) => { + const shouldShowKeyboardShortcutsMenu = !props.isSmallScreenWidth && [CONST.PLATFORM.WEB, CONST.PLATFORM.DESKTOP].indexOf(getPlatform()) > -1; + const menuItems = [ { translationKey: 'initialSettingsPage.aboutPage.appDownloadLinks', @@ -30,11 +36,13 @@ const AboutPage = (props) => { Navigation.navigate(ROUTES.SETTINGS_APP_DOWNLOAD_LINKS); }, }, - { - translationKey: 'initialSettingsPage.aboutPage.viewKeyboardShortcuts', - icon: Expensicons.Keyboard, - action: KeyboardShortcuts.showKeyboardShortcutModal, - }, + ...(shouldShowKeyboardShortcutsMenu ? [ + { + translationKey: 'initialSettingsPage.aboutPage.viewKeyboardShortcuts', + icon: Expensicons.Keyboard, + action: KeyboardShortcuts.showKeyboardShortcutModal, + }, + ] : []), { translationKey: 'initialSettingsPage.aboutPage.viewTheCode', icon: Expensicons.Eye, @@ -146,4 +154,7 @@ const AboutPage = (props) => { AboutPage.propTypes = propTypes; AboutPage.displayName = 'AboutPage'; -export default withLocalize(AboutPage); +export default compose( + withLocalize, + withWindowDimensions, +)(AboutPage); From 9bfa07c58810ea1196779d9d31171d06d4a4632d Mon Sep 17 00:00:00 2001 From: Akshaya Salvi Date: Thu, 23 Dec 2021 03:31:44 +0530 Subject: [PATCH 2/2] Platform specific menu items for about page --- .../getPlatformSpecificMenuItems/index.js | 15 +++++++ .../index.native.js | 1 + .../{AboutPage.js => AboutPage/index.js} | 45 ++++++++----------- 3 files changed, 35 insertions(+), 26 deletions(-) create mode 100644 src/pages/settings/AboutPage/getPlatformSpecificMenuItems/index.js create mode 100644 src/pages/settings/AboutPage/getPlatformSpecificMenuItems/index.native.js rename src/pages/settings/{AboutPage.js => AboutPage/index.js} (78%) diff --git a/src/pages/settings/AboutPage/getPlatformSpecificMenuItems/index.js b/src/pages/settings/AboutPage/getPlatformSpecificMenuItems/index.js new file mode 100644 index 000000000000..52f8ffa2250f --- /dev/null +++ b/src/pages/settings/AboutPage/getPlatformSpecificMenuItems/index.js @@ -0,0 +1,15 @@ +import * as KeyboardShortcuts from '../../../../libs/actions/KeyboardShortcuts'; +import * as Expensicons from '../../../../components/Icon/Expensicons'; + +export default (isSmallScreenWidth) => { + if (isSmallScreenWidth) { + return []; + } + return [ + { + translationKey: 'initialSettingsPage.aboutPage.viewKeyboardShortcuts', + icon: Expensicons.Keyboard, + action: KeyboardShortcuts.showKeyboardShortcutModal, + }, + ]; +}; diff --git a/src/pages/settings/AboutPage/getPlatformSpecificMenuItems/index.native.js b/src/pages/settings/AboutPage/getPlatformSpecificMenuItems/index.native.js new file mode 100644 index 000000000000..4ba9480748fc --- /dev/null +++ b/src/pages/settings/AboutPage/getPlatformSpecificMenuItems/index.native.js @@ -0,0 +1 @@ +export default () => []; diff --git a/src/pages/settings/AboutPage.js b/src/pages/settings/AboutPage/index.js similarity index 78% rename from src/pages/settings/AboutPage.js rename to src/pages/settings/AboutPage/index.js index b554ef1aae2c..d99b98ebe9bd 100644 --- a/src/pages/settings/AboutPage.js +++ b/src/pages/settings/AboutPage/index.js @@ -1,24 +1,23 @@ import _ from 'underscore'; import React from 'react'; import {View, ScrollView} from 'react-native'; -import HeaderWithCloseButton from '../../components/HeaderWithCloseButton'; -import Navigation from '../../libs/Navigation/Navigation'; -import * as KeyboardShortcuts from '../../libs/actions/KeyboardShortcuts'; -import ROUTES from '../../ROUTES'; -import styles from '../../styles/styles'; -import ExpensifyText from '../../components/ExpensifyText'; -import CONST from '../../CONST'; -import * as Expensicons from '../../components/Icon/Expensicons'; -import ScreenWrapper from '../../components/ScreenWrapper'; -import withLocalize, {withLocalizePropTypes} from '../../components/withLocalize'; -import withWindowDimensions, {windowDimensionsPropTypes} from '../../components/withWindowDimensions'; -import MenuItem from '../../components/MenuItem'; -import Logo from '../../../assets/images/new-expensify.svg'; -import {version} from '../../../package.json'; -import * as Report from '../../libs/actions/Report'; -import * as Link from '../../libs/actions/Link'; -import getPlatform from '../../libs/getPlatform/index.website'; -import compose from '../../libs/compose'; +import HeaderWithCloseButton from '../../../components/HeaderWithCloseButton'; +import Navigation from '../../../libs/Navigation/Navigation'; +import ROUTES from '../../../ROUTES'; +import styles from '../../../styles/styles'; +import ExpensifyText from '../../../components/ExpensifyText'; +import CONST from '../../../CONST'; +import * as Expensicons from '../../../components/Icon/Expensicons'; +import ScreenWrapper from '../../../components/ScreenWrapper'; +import withLocalize, {withLocalizePropTypes} from '../../../components/withLocalize'; +import withWindowDimensions, {windowDimensionsPropTypes} from '../../../components/withWindowDimensions'; +import MenuItem from '../../../components/MenuItem'; +import Logo from '../../../../assets/images/new-expensify.svg'; +import {version} from '../../../../package.json'; +import * as Report from '../../../libs/actions/Report'; +import * as Link from '../../../libs/actions/Link'; +import getPlatformSpecificMenuItems from './getPlatformSpecificMenuItems'; +import compose from '../../../libs/compose'; const propTypes = { ...withLocalizePropTypes, @@ -26,7 +25,7 @@ const propTypes = { }; const AboutPage = (props) => { - const shouldShowKeyboardShortcutsMenu = !props.isSmallScreenWidth && [CONST.PLATFORM.WEB, CONST.PLATFORM.DESKTOP].indexOf(getPlatform()) > -1; + const platformSpecificMenuItems = getPlatformSpecificMenuItems(props.isSmallScreenWidth); const menuItems = [ { @@ -36,13 +35,7 @@ const AboutPage = (props) => { Navigation.navigate(ROUTES.SETTINGS_APP_DOWNLOAD_LINKS); }, }, - ...(shouldShowKeyboardShortcutsMenu ? [ - { - translationKey: 'initialSettingsPage.aboutPage.viewKeyboardShortcuts', - icon: Expensicons.Keyboard, - action: KeyboardShortcuts.showKeyboardShortcutModal, - }, - ] : []), + ...platformSpecificMenuItems, { translationKey: 'initialSettingsPage.aboutPage.viewTheCode', icon: Expensicons.Eye,