From 41dc96b44103adcc773e43075c84182689722e25 Mon Sep 17 00:00:00 2001 From: Henry Heino <46334387+personalizedrefrigerator@users.noreply.github.com> Date: Mon, 11 Sep 2023 00:53:53 -0700 Subject: [PATCH] Mobile: Resolves #8791: Revert to `react-native-sidemenu-updated` for navigation drawers (#8820) --- .eslintignore | 1 + .gitignore | 1 + ...tive-reanimated-npm-3.3.0-fb4272741c.patch | 27 --- package.json | 3 +- packages/app-mobile/babel.config.js | 1 - packages/app-mobile/components/SideMenu.ts | 22 +++ packages/app-mobile/index.js | 3 - packages/app-mobile/ios/Podfile.lock | 39 ---- packages/app-mobile/package.json | 4 +- packages/app-mobile/root.tsx | 33 ++-- yarn.lock | 169 ++---------------- 11 files changed, 55 insertions(+), 248 deletions(-) delete mode 100644 .yarn/patches/react-native-animation-fix/react-native-reanimated-npm-3.3.0-fb4272741c.patch create mode 100644 packages/app-mobile/components/SideMenu.ts diff --git a/.eslintignore b/.eslintignore index 3141044ad..c9662e811 100644 --- a/.eslintignore +++ b/.eslintignore @@ -422,6 +422,7 @@ packages/app-mobile/components/ProfileSwitcher/ProfileSwitcher.js packages/app-mobile/components/ProfileSwitcher/useProfileConfig.js packages/app-mobile/components/ScreenHeader.js packages/app-mobile/components/SelectDateTimeDialog.js +packages/app-mobile/components/SideMenu.js packages/app-mobile/components/TextInput.js packages/app-mobile/components/app-nav.js packages/app-mobile/components/biometrics/BiometricPopup.js diff --git a/.gitignore b/.gitignore index 30f37a711..cda97d7b5 100644 --- a/.gitignore +++ b/.gitignore @@ -408,6 +408,7 @@ packages/app-mobile/components/ProfileSwitcher/ProfileSwitcher.js packages/app-mobile/components/ProfileSwitcher/useProfileConfig.js packages/app-mobile/components/ScreenHeader.js packages/app-mobile/components/SelectDateTimeDialog.js +packages/app-mobile/components/SideMenu.js packages/app-mobile/components/TextInput.js packages/app-mobile/components/app-nav.js packages/app-mobile/components/biometrics/BiometricPopup.js diff --git a/.yarn/patches/react-native-animation-fix/react-native-reanimated-npm-3.3.0-fb4272741c.patch b/.yarn/patches/react-native-animation-fix/react-native-reanimated-npm-3.3.0-fb4272741c.patch deleted file mode 100644 index 24a97b696..000000000 --- a/.yarn/patches/react-native-animation-fix/react-native-reanimated-npm-3.3.0-fb4272741c.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/android/src/main/java/com/swmansion/reanimated/NodesManager.java b/android/src/main/java/com/swmansion/reanimated/NodesManager.java -index e974f8eb827a35be4d7e5fa9b096af9387c595dd..bc9e5ff566c9484274e8eacefc88327a5ff30def 100644 ---- a/android/src/main/java/com/swmansion/reanimated/NodesManager.java -+++ b/android/src/main/java/com/swmansion/reanimated/NodesManager.java -@@ -34,7 +34,7 @@ import java.util.List; - import java.util.Map; - import java.util.Queue; - import java.util.Set; --import java.util.concurrent.ConcurrentLinkedQueue; -+import java.util.concurrent.LinkedBlockingQueue; - import java.util.concurrent.Semaphore; - import java.util.concurrent.TimeUnit; - import java.util.concurrent.atomic.AtomicBoolean; -@@ -80,7 +80,12 @@ public class NodesManager implements EventDispatcherListener { - private ReactApplicationContext mReactApplicationContext; - private RCTEventEmitter mCustomEventHandler; - private List mFrameCallbacks = new ArrayList<>(); -- private ConcurrentLinkedQueue mEventQueue = new ConcurrentLinkedQueue<>(); -+ -+ // Patch: On some versions of Android, ConcurrentLinkedQueue is known to -+ // drop items. LinkedBlockingQueue is a potentially-slower alternative that -+ // should not drop items. -+ // See https://github.com/laurent22/joplin/issues/8425 -+ private LinkedBlockingQueue mEventQueue = new LinkedBlockingQueue<>(); - public double currentFrameTimeMs; - public Set uiProps = Collections.emptySet(); - public Set nativeProps = Collections.emptySet(); diff --git a/package.json b/package.json index 6823a2f45..6e26fa226 100644 --- a/package.json +++ b/package.json @@ -101,7 +101,6 @@ "eslint@8.43.0": "patch:eslint@npm%3A8.39.0#./.yarn/patches/eslint-npm-8.39.0-d92bace04d.patch", "eslint@^8.13.0": "patch:eslint@npm%3A8.39.0#./.yarn/patches/eslint-npm-8.39.0-d92bace04d.patch", "app-builder-lib@24.4.0": "patch:app-builder-lib@npm%3A24.4.0#./.yarn/patches/app-builder-lib-npm-24.4.0-05322ff057.patch", - "react-native@0.71.10": "patch:react-native@npm%3A0.71.10#./.yarn/patches/react-native-animation-fix/react-native-npm-0.71.10-f9c32562d8.patch", - "react-native-reanimated@3.3.0": "patch:react-native-reanimated@npm%3A3.3.0#./.yarn/patches/react-native-animation-fix/react-native-reanimated-npm-3.3.0-fb4272741c.patch" + "react-native@0.71.10": "patch:react-native@npm%3A0.71.10#./.yarn/patches/react-native-animation-fix/react-native-npm-0.71.10-f9c32562d8.patch" } } diff --git a/packages/app-mobile/babel.config.js b/packages/app-mobile/babel.config.js index b23608952..e953058a7 100644 --- a/packages/app-mobile/babel.config.js +++ b/packages/app-mobile/babel.config.js @@ -1,4 +1,3 @@ module.exports = { presets: ['module:metro-react-native-babel-preset'], - plugins: ['react-native-reanimated/plugin'], }; diff --git a/packages/app-mobile/components/SideMenu.ts b/packages/app-mobile/components/SideMenu.ts new file mode 100644 index 000000000..272a4c842 --- /dev/null +++ b/packages/app-mobile/components/SideMenu.ts @@ -0,0 +1,22 @@ +const { connect } = require('react-redux'); +const SideMenu_ = require('react-native-side-menu-updated').default; +import { Dimensions } from 'react-native'; +import { State } from '@joplin/lib/reducer'; + +class SideMenuComponent extends SideMenu_ { + public onLayoutChange(e: any) { + const { width, height } = e.nativeEvent.layout; + const openMenuOffsetPercentage = this.props.openMenuOffset / Dimensions.get('window').width; + const openMenuOffset = width * openMenuOffsetPercentage; + const hiddenMenuOffset = width * this.state.hiddenMenuOffsetPercentage; + this.setState({ width, height, openMenuOffset, hiddenMenuOffset }); + } +} + +const SideMenu = connect((state: State) => { + return { + isOpen: state.showSideMenu, + }; +})(SideMenuComponent); + +export default SideMenu; diff --git a/packages/app-mobile/index.js b/packages/app-mobile/index.js index e38877608..a72cfbfa3 100644 --- a/packages/app-mobile/index.js +++ b/packages/app-mobile/index.js @@ -10,9 +10,6 @@ import 'react-native-get-random-values'; import 'react-native-url-polyfill/auto'; -// Set up required for react-native-drawer-layout (See: https://reactnavigation.org/docs/drawer-layout/ v6.x) -import 'react-native-gesture-handler'; - import { LogBox, AppRegistry } from 'react-native'; const Root = require('./root').default; diff --git a/packages/app-mobile/ios/Podfile.lock b/packages/app-mobile/ios/Podfile.lock index 5ae6d7c65..32ff25b3a 100644 --- a/packages/app-mobile/ios/Podfile.lock +++ b/packages/app-mobile/ios/Podfile.lock @@ -412,41 +412,10 @@ PODS: - React-Core - RNFS (2.20.0): - React-Core - - RNGestureHandler (2.12.0): - - React-Core - RNLocalize (3.0.2): - React-Core - RNQuickAction (0.3.13): - React - - RNReanimated (3.3.0): - - DoubleConversion - - FBLazyVector - - FBReactNativeSpec - - glog - - hermes-engine - - RCT-Folly - - RCTRequired - - RCTTypeSafety - - React-callinvoker - - React-Core - - React-Core/DevSupport - - React-Core/RCTWebSocket - - React-CoreModules - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-RCTActionSheet - - React-RCTAnimation - - React-RCTBlob - - React-RCTImage - - React-RCTLinking - - React-RCTNetwork - - React-RCTSettings - - React-RCTText - - ReactCommon/turbomodule/core - - Yoga - RNSecureRandom (1.0.1): - React - RNShare (8.2.2): @@ -525,10 +494,8 @@ DEPENDENCIES: - RNExitApp (from `../node_modules/react-native-exit-app`) - RNFileViewer (from `../node_modules/react-native-file-viewer`) - RNFS (from `../node_modules/react-native-fs`) - - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) - RNLocalize (from `../node_modules/react-native-localize`) - RNQuickAction (from `../node_modules/react-native-quick-actions`) - - RNReanimated (from `../node_modules/react-native-reanimated`) - RNSecureRandom (from `../node_modules/react-native-securerandom`) - RNShare (from `../node_modules/react-native-share`) - RNVectorIcons (from `../node_modules/react-native-vector-icons`) @@ -660,14 +627,10 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-file-viewer" RNFS: :path: "../node_modules/react-native-fs" - RNGestureHandler: - :path: "../node_modules/react-native-gesture-handler" RNLocalize: :path: "../node_modules/react-native-localize" RNQuickAction: :path: "../node_modules/react-native-quick-actions" - RNReanimated: - :path: "../node_modules/react-native-reanimated" RNSecureRandom: :path: "../node_modules/react-native-securerandom" RNShare: @@ -741,10 +704,8 @@ SPEC CHECKSUMS: RNExitApp: c4e052df2568b43bec8a37c7cd61194d4cfee2c3 RNFileViewer: ce7ca3ac370e18554d35d6355cffd7c30437c592 RNFS: 4ac0f0ea233904cb798630b3c077808c06931688 - RNGestureHandler: dec4645026e7401a0899f2846d864403478ff6a5 RNLocalize: dbea38dcb344bf80ff18a1757b1becf11f70cae4 RNQuickAction: 6d404a869dc872cde841ad3147416a670d13fa93 - RNReanimated: 9976fbaaeb8a188c36026154c844bf374b3b7eeb RNSecureRandom: 07efbdf2cd99efe13497433668e54acd7df49fef RNShare: d82e10f6b7677f4b0048c23709bd04098d5aee6c RNVectorIcons: fcc2f6cb32f5735b586e66d14103a74ce6ad61f8 diff --git a/packages/app-mobile/package.json b/packages/app-mobile/package.json index 22bb7de08..7aa700ccb 100644 --- a/packages/app-mobile/package.json +++ b/packages/app-mobile/package.json @@ -48,13 +48,11 @@ "react-native-device-info": "10.7.0", "react-native-dialogbox": "0.6.10", "react-native-document-picker": "9.0.1", - "react-native-drawer-layout": "3.2.1", "react-native-dropdownalert": "4.5.1", "react-native-exit-app": "1.1.0", "react-native-file-viewer": "2.1.5", "react-native-fingerprint-scanner": "6.0.0", "react-native-fs": "2.20.0", - "react-native-gesture-handler": "2.12.0", "react-native-get-random-values": "1.9.0", "react-native-image-picker": "5.6.0", "react-native-localize": "3.0.2", @@ -62,11 +60,11 @@ "react-native-paper": "5.9.1", "react-native-popup-menu": "0.16.1", "react-native-quick-actions": "0.3.13", - "react-native-reanimated": "3.3.0", "react-native-rsa-native": "2.0.5", "react-native-safe-area-context": "4.6.4", "react-native-securerandom": "1.0.1", "react-native-share": "8.2.2", + "react-native-side-menu-updated": "1.3.2", "react-native-sqlite-storage": "6.0.1", "react-native-url-polyfill": "1.3.0", "react-native-vector-icons": "9.2.0", diff --git a/packages/app-mobile/root.tsx b/packages/app-mobile/root.tsx index 9c6c34f9c..64fc2061d 100644 --- a/packages/app-mobile/root.tsx +++ b/packages/app-mobile/root.tsx @@ -28,7 +28,7 @@ import SyncTargetJoplinCloud from '@joplin/lib/SyncTargetJoplinCloud'; import SyncTargetOneDrive from '@joplin/lib/SyncTargetOneDrive'; import initProfile from '@joplin/lib/services/profileConfig/initProfile'; const VersionInfo = require('react-native-version-info').default; -const { Keyboard, BackHandler, View, StatusBar, Platform, Dimensions } = require('react-native'); +const { Keyboard, BackHandler, Animated, View, StatusBar, Platform, Dimensions } = require('react-native'); import { AppState as RNAppState, EmitterSubscription, Linking, NativeEventSubscription, Appearance } from 'react-native'; import getResponsiveValue from './components/getResponsiveValue'; import NetInfo from '@react-native-community/netinfo'; @@ -67,7 +67,7 @@ const { OneDriveLoginScreen } = require('./components/screens/onedrive-login.js' import EncryptionConfigScreen from './components/screens/encryption-config'; const { DropboxLoginScreen } = require('./components/screens/dropbox-login.js'); const { MenuContext } = require('react-native-popup-menu'); -import { Drawer } from 'react-native-drawer-layout'; +import SideMenu from './components/SideMenu'; import SideMenuContent from './components/side-menu-content'; const { SideMenuContentNote } = require('./components/side-menu-content-note.js'); const { DatabaseDriverReactNative } = require('./utils/database-driver-react-native'); @@ -117,8 +117,8 @@ import ProfileEditor from './components/ProfileSwitcher/ProfileEditor'; import sensorInfo, { SensorInfo } from './components/biometrics/sensorInfo'; import { getCurrentProfile } from '@joplin/lib/services/profileConfig'; import { getDatabaseName, getProfilesRootDir, getResourceDir, setDispatch } from './services/profiles'; -import { ReactNode } from 'react'; import userFetcher, { initializeUserFetcher } from '@joplin/lib/utils/userFetcher'; +import { ReactNode } from 'react'; import { parseShareCache } from '@joplin/lib/services/share/reducer'; import autodetectTheme, { onSystemColorSchemeChange } from './utils/autodetectTheme'; @@ -748,6 +748,7 @@ class AppComponent extends React.Component { super(); this.state = { + sideMenuContentOpacity: new Animated.Value(0), sideMenuWidth: this.getSideMenuWidth(), sensorInfo: null, }; @@ -1041,20 +1042,18 @@ class AppComponent extends React.Component { const mainContent = ( - this.sideMenu_change(true)} - onClose={() => this.sideMenu_change(false)} - drawerPosition={menuPosition} - swipeEdgeWidth={15} - drawerStyle={{ - width: this.state.sideMenuWidth, + this.sideMenu_change(isOpen)} + onSliding={(percent: number) => { + this.props.dispatch({ + type: 'SIDE_MENU_OPEN_PERCENT', + value: percent, + }); }} - renderDrawerContent={() => sideMenuContent} > @@ -1071,7 +1070,7 @@ class AppComponent extends React.Component { /> } - + ); diff --git a/yarn.lock b/yarn.lock index dea9f976c..e85a6a8f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1392,7 +1392,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.20.7, @babel/helper-create-class-features-plugin@npm:^7.21.0, @babel/helper-create-class-features-plugin@npm:^7.22.5": +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.20.7, @babel/helper-create-class-features-plugin@npm:^7.21.0": version: 7.22.5 resolution: "@babel/helper-create-class-features-plugin@npm:7.22.5" dependencies: @@ -1992,17 +1992,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-syntax-jsx@npm:7.22.5" - dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 8829d30c2617ab31393d99cec2978e41f014f4ac6f01a1cecf4c4dd8320c3ec12fdc3ce121126b2d8d32f6887e99ca1a0bad53dedb1e6ad165640b92b24980ce - languageName: node - linkType: hard - "@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" @@ -2102,17 +2091,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-syntax-typescript@npm:7.22.5" - dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 8ab7718fbb026d64da93681a57797d60326097fd7cb930380c8bffd9eb101689e90142c760a14b51e8e69c88a73ba3da956cb4520a3b0c65743aee5c71ef360a - languageName: node - linkType: hard - "@babel/plugin-transform-arrow-functions@npm:^7.0.0, @babel/plugin-transform-arrow-functions@npm:^7.18.6": version: 7.22.5 resolution: "@babel/plugin-transform-arrow-functions@npm:7.22.5" @@ -2306,7 +2284,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.19.6, @babel/plugin-transform-modules-commonjs@npm:^7.22.5": +"@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.19.6": version: 7.22.5 resolution: "@babel/plugin-transform-modules-commonjs@npm:7.22.5" dependencies: @@ -2368,17 +2346,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-object-assign@npm:^7.16.7": - version: 7.22.5 - resolution: "@babel/plugin-transform-object-assign@npm:7.22.5" - dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 5b672d72c7b12973e5e5881c3e69ab02474c44add224a9972b9450f859e713b2065fa18b88797b1393ad72cb952c0b14d80fa36960a17d6b558f24ee5cde219c - languageName: node - linkType: hard - "@babel/plugin-transform-object-super@npm:^7.0.0, @babel/plugin-transform-object-super@npm:^7.18.6": version: 7.22.5 resolution: "@babel/plugin-transform-object-super@npm:7.22.5" @@ -2582,20 +2549,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-typescript@npm:7.22.5" - dependencies: - "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-create-class-features-plugin": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/plugin-syntax-typescript": ^7.22.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d12f1ca1ef1f2a54432eb044d2999705d1205ebe211c2a7f05b12e8eb2d2a461fd7657b5486b2f2f1efe7c0c0dc8e80725b767073d40fe4ae059a7af057b05e4 - languageName: node - linkType: hard - "@babel/plugin-transform-unicode-escapes@npm:^7.18.10": version: 7.22.5 resolution: "@babel/plugin-transform-unicode-escapes@npm:7.22.5" @@ -2745,21 +2698,6 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.16.7": - version: 7.22.5 - resolution: "@babel/preset-typescript@npm:7.22.5" - dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-validator-option": ^7.22.5 - "@babel/plugin-syntax-jsx": ^7.22.5 - "@babel/plugin-transform-modules-commonjs": ^7.22.5 - "@babel/plugin-transform-typescript": ^7.22.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 7be1670cb4404797d3a473bd72d66eb2b3e0f2f8a672a5e40bdb0812cc66085ec84bcd7b896709764cabf042fdc6b7f2d4755ac7cce10515eb596ff61dab5154 - languageName: node - linkType: hard - "@babel/register@npm:^7.13.16": version: 7.18.9 resolution: "@babel/register@npm:7.18.9" @@ -3465,15 +3403,6 @@ __metadata: languageName: node linkType: hard -"@egjs/hammerjs@npm:^2.0.17": - version: 2.0.17 - resolution: "@egjs/hammerjs@npm:2.0.17" - dependencies: - "@types/hammerjs": ^2.0.36 - checksum: 8945137cec5837edd70af3f2e0ea621543eb0aa3b667e6269ec6485350f4d120c2434b37c7c30b1cf42a65275dd61c1f24626749c616696d3956ac0c008c4766 - languageName: node - linkType: hard - "@electron/asar@npm:^3.2.1": version: 3.2.4 resolution: "@electron/asar@npm:3.2.4" @@ -4578,13 +4507,11 @@ __metadata: react-native-device-info: 10.7.0 react-native-dialogbox: 0.6.10 react-native-document-picker: 9.0.1 - react-native-drawer-layout: 3.2.1 react-native-dropdownalert: 4.5.1 react-native-exit-app: 1.1.0 react-native-file-viewer: 2.1.5 react-native-fingerprint-scanner: 6.0.0 react-native-fs: 2.20.0 - react-native-gesture-handler: 2.12.0 react-native-get-random-values: 1.9.0 react-native-image-picker: 5.6.0 react-native-localize: 3.0.2 @@ -4592,11 +4519,11 @@ __metadata: react-native-paper: 5.9.1 react-native-popup-menu: 0.16.1 react-native-quick-actions: 0.3.13 - react-native-reanimated: 3.3.0 react-native-rsa-native: 2.0.5 react-native-safe-area-context: 4.6.4 react-native-securerandom: 1.0.1 react-native-share: 8.2.2 + react-native-side-menu-updated: 1.3.2 react-native-sqlite-storage: 6.0.1 react-native-url-polyfill: 1.3.0 react-native-vector-icons: 9.2.0 @@ -7546,13 +7473,6 @@ __metadata: languageName: node linkType: hard -"@types/hammerjs@npm:^2.0.36": - version: 2.0.41 - resolution: "@types/hammerjs@npm:2.0.41" - checksum: d16fbd688fc9b18cc270abe8dea8d4c50ef7bd8375e593d92c233d299387933a6b003c8db69819344833052458bc5f9ef1b472001277a49f095928d184356006 - languageName: node - linkType: hard - "@types/hoist-non-react-statics@npm:*, @types/hoist-non-react-statics@npm:^3.3.0, @types/hoist-non-react-statics@npm:^3.3.1": version: 3.3.1 resolution: "@types/hoist-non-react-statics@npm:3.3.1" @@ -27266,7 +27186,7 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:*, prop-types@npm:15.8.1, prop-types@npm:^15.8.1": +"prop-types@npm:*, prop-types@npm:15.8.1, prop-types@npm:^15.5.10, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: @@ -27846,20 +27766,6 @@ __metadata: languageName: node linkType: hard -"react-native-drawer-layout@npm:3.2.1": - version: 3.2.1 - resolution: "react-native-drawer-layout@npm:3.2.1" - dependencies: - use-latest-callback: ^0.1.5 - peerDependencies: - react: "*" - react-native: "*" - react-native-gesture-handler: ">= 1.0.0" - react-native-reanimated: ">= 1.0.0" - checksum: 2644175b2fc9fee33a2ff98802007721b1974e8b338b6932a8df8964741474a8549366f63130dce817ae8fe91055c7216314b717c9bf7ec7e78321f3fb50dd0f - languageName: node - linkType: hard - "react-native-dropdownalert@npm:4.5.1": version: 4.5.1 resolution: "react-native-dropdownalert@npm:4.5.1" @@ -27910,22 +27816,6 @@ __metadata: languageName: node linkType: hard -"react-native-gesture-handler@npm:2.12.0": - version: 2.12.0 - resolution: "react-native-gesture-handler@npm:2.12.0" - dependencies: - "@egjs/hammerjs": ^2.0.17 - hoist-non-react-statics: ^3.3.0 - invariant: ^2.2.4 - lodash: ^4.17.21 - prop-types: ^15.7.2 - peerDependencies: - react: "*" - react-native: "*" - checksum: 5147357b3212e269d0b8003e1be9e0993d0770f4880f1a8f52d2d61512c4569c48ec7b866d0a9ee44038785c29e0f84fbb99fd18a8e09552a25910c71602d788 - languageName: node - linkType: hard - "react-native-get-random-values@npm:1.9.0": version: 1.9.0 resolution: "react-native-get-random-values@npm:1.9.0" @@ -28018,48 +27908,6 @@ __metadata: languageName: node linkType: hard -"react-native-reanimated@npm:3.3.0": - version: 3.3.0 - resolution: "react-native-reanimated@npm:3.3.0" - dependencies: - "@babel/plugin-transform-object-assign": ^7.16.7 - "@babel/preset-typescript": ^7.16.7 - convert-source-map: ^2.0.0 - invariant: ^2.2.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.0.0-0 - "@babel/plugin-proposal-optional-chaining": ^7.0.0-0 - "@babel/plugin-transform-arrow-functions": ^7.0.0-0 - "@babel/plugin-transform-shorthand-properties": ^7.0.0-0 - "@babel/plugin-transform-template-literals": ^7.0.0-0 - react: "*" - react-native: "*" - checksum: 58096b28caef8af261c446eccb91a5a74caa303ba3520b1a2767c5b922b3d19b9a58612ab9b517a959c1b562b2e76e4cf4a8ffb21136960ed63375f6a4c37d1e - languageName: node - linkType: hard - -"react-native-reanimated@patch:react-native-reanimated@npm%3A3.3.0#./.yarn/patches/react-native-animation-fix/react-native-reanimated-npm-3.3.0-fb4272741c.patch::locator=root%40workspace%3A.": - version: 3.3.0 - resolution: "react-native-reanimated@patch:react-native-reanimated@npm%3A3.3.0#./.yarn/patches/react-native-animation-fix/react-native-reanimated-npm-3.3.0-fb4272741c.patch::version=3.3.0&hash=13daee&locator=root%40workspace%3A." - dependencies: - "@babel/plugin-transform-object-assign": ^7.16.7 - "@babel/preset-typescript": ^7.16.7 - convert-source-map: ^2.0.0 - invariant: ^2.2.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.0.0-0 - "@babel/plugin-proposal-optional-chaining": ^7.0.0-0 - "@babel/plugin-transform-arrow-functions": ^7.0.0-0 - "@babel/plugin-transform-shorthand-properties": ^7.0.0-0 - "@babel/plugin-transform-template-literals": ^7.0.0-0 - react: "*" - react-native: "*" - checksum: 5d73a35e694ab6c37b5f12530e1acdac822f2cceef7d04dcc060cc4c9221f51cf6bb68ed16737b25e79086de9dca6cd322819c6d04d668c9b97526408e97db68 - languageName: node - linkType: hard - "react-native-rsa-native@npm:2.0.5": version: 2.0.5 resolution: "react-native-rsa-native@npm:2.0.5" @@ -28095,6 +27943,15 @@ __metadata: languageName: node linkType: hard +"react-native-side-menu-updated@npm:1.3.2": + version: 1.3.2 + resolution: "react-native-side-menu-updated@npm:1.3.2" + dependencies: + prop-types: ^15.5.10 + checksum: 5d7ae7d2b372c80d9f7a3472f945daa6c11b43f00193ebec92fdb40ee853e86f522686736aa6a510a4fb09479c8eb7e4f14b53ad117d7e23749cd58c3c9d6cb7 + languageName: node + linkType: hard + "react-native-sqlite-storage@npm:6.0.1": version: 6.0.1 resolution: "react-native-sqlite-storage@npm:6.0.1"