From b25919099f4d98fd09aa312b3c02fd685fad2680 Mon Sep 17 00:00:00 2001 From: Vardan Hakobyan Date: Wed, 22 Jun 2022 00:38:40 +0400 Subject: [PATCH] fix: use a specific feature flag for workspace (#1133) --- packages/mobile/src/App.tsx | 13 +++++-------- packages/mobile/src/EnvironmentContext.tsx | 6 ------ .../mobile/src/Hooks/useSafeEnvironmentContext.ts | 8 -------- packages/mobile/src/Lib/Interface.ts | 4 ++-- packages/mobile/src/Lib/constants.ts | 4 ++++ .../Screens/Settings/Sections/OptionsSection.tsx | 6 ++---- packages/mobile/src/Screens/Settings/Settings.tsx | 6 ++---- 7 files changed, 15 insertions(+), 32 deletions(-) delete mode 100644 packages/mobile/src/EnvironmentContext.tsx delete mode 100644 packages/mobile/src/Hooks/useSafeEnvironmentContext.ts diff --git a/packages/mobile/src/App.tsx b/packages/mobile/src/App.tsx index f339ebd68..f6a52073d 100644 --- a/packages/mobile/src/App.tsx +++ b/packages/mobile/src/App.tsx @@ -5,7 +5,6 @@ import { ApplicationGroup } from '@Lib/ApplicationGroup' import { navigationRef } from '@Lib/NavigationService' import { DefaultTheme, NavigationContainer } from '@react-navigation/native' import { ApplicationGroupContext } from '@Root/ApplicationGroupContext' -import { EnvironmentContext } from '@Root/EnvironmentContext' import { MobileThemeVariables } from '@Root/Style/Themes/styled-components' import { ApplicationGroupEvent, DeinitMode, DeinitSource } from '@standardnotes/snjs' import { ThemeService, ThemeServiceContext } from '@Style/ThemeService' @@ -112,13 +111,11 @@ const AppComponent: React.FC<{ {themeService.current && ( <> - - - - - - - + + + + + diff --git a/packages/mobile/src/EnvironmentContext.tsx b/packages/mobile/src/EnvironmentContext.tsx deleted file mode 100644 index 382ca6cb4..000000000 --- a/packages/mobile/src/EnvironmentContext.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import { TEnvironment } from '@Root/App' -import React from 'react' - -export const EnvironmentContext = React.createContext(undefined) - -export const SafeEnvironmentContext = EnvironmentContext as React.Context diff --git a/packages/mobile/src/Hooks/useSafeEnvironmentContext.ts b/packages/mobile/src/Hooks/useSafeEnvironmentContext.ts deleted file mode 100644 index 65820046c..000000000 --- a/packages/mobile/src/Hooks/useSafeEnvironmentContext.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { TEnvironment } from '@Root/App' -import { EnvironmentContext } from '@Root/EnvironmentContext' -import { useContext } from 'react' - -export const useSafeEnvironmentContext = () => { - const env = useContext(EnvironmentContext) as TEnvironment - return env -} diff --git a/packages/mobile/src/Lib/Interface.ts b/packages/mobile/src/Lib/Interface.ts index 25a5bb6cc..a82ce0648 100644 --- a/packages/mobile/src/Lib/Interface.ts +++ b/packages/mobile/src/Lib/Interface.ts @@ -1,4 +1,4 @@ -import { IsDev } from '@Lib/Utils' +import { WorkspacesEnabled } from '@Lib/constants' import AsyncStorage from '@react-native-community/async-storage' import SNReactNative from '@standardnotes/react-native-utils' import { @@ -316,7 +316,7 @@ export class MobileDeviceInterface implements DeviceInterface { } performSoftReset() { - if (IsDev) { + if (WorkspacesEnabled) { SNReactNative.exitApp() } } diff --git a/packages/mobile/src/Lib/constants.ts b/packages/mobile/src/Lib/constants.ts index 4d24934b9..b06a1836d 100644 --- a/packages/mobile/src/Lib/constants.ts +++ b/packages/mobile/src/Lib/constants.ts @@ -1,3 +1,7 @@ +import { IsDev } from '@Lib/Utils' + export enum ErrorMessage { GeneralText = 'An error occurred. Please try again later.', } + +export const WorkspacesEnabled = IsDev diff --git a/packages/mobile/src/Screens/Settings/Sections/OptionsSection.tsx b/packages/mobile/src/Screens/Settings/Sections/OptionsSection.tsx index 748311151..ec7b77943 100644 --- a/packages/mobile/src/Screens/Settings/Sections/OptionsSection.tsx +++ b/packages/mobile/src/Screens/Settings/Sections/OptionsSection.tsx @@ -1,5 +1,5 @@ +import { WorkspacesEnabled } from '@Lib/constants' import { useSignedIn } from '@Lib/SnjsHelperHooks' -import { isUnfinishedFeaturesEnabled } from '@Lib/Utils' import { useNavigation } from '@react-navigation/native' import { ButtonCell } from '@Root/Components/ButtonCell' import { SectionedAccessoryTableCell } from '@Root/Components/SectionedAccessoryTableCell' @@ -7,7 +7,6 @@ import { SectionedOptionsTableCell } from '@Root/Components/SectionedOptionsTabl import { SectionHeader } from '@Root/Components/SectionHeader' import { TableSection } from '@Root/Components/TableSection' import { useSafeApplicationContext } from '@Root/Hooks/useSafeApplicationContext' -import { useSafeEnvironmentContext } from '@Root/Hooks/useSafeEnvironmentContext' import { ModalStackNavigationProp } from '@Root/ModalStack' import { SCREEN_MANAGE_SESSIONS, SCREEN_SETTINGS } from '@Root/Screens/screens' import { ButtonType, PrefKey } from '@standardnotes/snjs' @@ -28,7 +27,6 @@ export const OptionsSection = ({ title, encryptionAvailable }: Props) => { const [signedIn] = useSignedIn() const navigation = useNavigation['navigation']>() - const env = useSafeEnvironmentContext() // State const [importing, setImporting] = useState(false) @@ -82,7 +80,7 @@ export const OptionsSection = ({ title, encryptionAvailable }: Props) => { let signoutText = 'Signing out will remove all data from this device, including notes and tags. Make sure your data is synced before proceeding.' - if (isUnfinishedFeaturesEnabled(env)) { + if (WorkspacesEnabled) { signoutText += '\n\nYour app will quit after sign out completes.' } diff --git a/packages/mobile/src/Screens/Settings/Settings.tsx b/packages/mobile/src/Screens/Settings/Settings.tsx index 7739ea671..7a7f32229 100644 --- a/packages/mobile/src/Screens/Settings/Settings.tsx +++ b/packages/mobile/src/Screens/Settings/Settings.tsx @@ -1,7 +1,6 @@ +import { WorkspacesEnabled } from '@Lib/constants' import { useSignedIn } from '@Lib/SnjsHelperHooks' -import { isUnfinishedFeaturesEnabled } from '@Lib/Utils' import { useSafeApplicationContext } from '@Root/Hooks/useSafeApplicationContext' -import { useSafeEnvironmentContext } from '@Root/Hooks/useSafeEnvironmentContext' import { ModalStackNavigationProp } from '@Root/ModalStack' import { SCREEN_SETTINGS } from '@Root/Screens/screens' import { FilesSection } from '@Screens/Settings/Sections/FilesSection' @@ -22,7 +21,6 @@ type Props = ModalStackNavigationProp export const Settings = (props: Props) => { // Context const application = useSafeApplicationContext() - const env = useSafeEnvironmentContext() // State const [hasPasscode, setHasPasscode] = useState(() => Boolean(application.hasPasscode())) @@ -58,7 +56,7 @@ export const Settings = (props: Props) => { - {isUnfinishedFeaturesEnabled(env) && } + {WorkspacesEnabled && } {application.hasAccount() && isEntitledToFiles && }