diff --git a/app/utils/openLink.android.js b/app/utils/openLink.android.js index 67f111d19..59ab9fba2 100644 --- a/app/utils/openLink.android.js +++ b/app/utils/openLink.android.js @@ -1,5 +1,5 @@ import CustomTabsAndroid from '../nativeModules/CustomTabsAndroid'; -const openLink = (url: string) => CustomTabsAndroid.openURL(url); +const openLink = url => CustomTabsAndroid.openURL(url); export default openLink; diff --git a/app/utils/openLink.ios.js b/app/utils/openLink.ios.js index dbae77718..056cf95ae 100644 --- a/app/utils/openLink.ios.js +++ b/app/utils/openLink.ios.js @@ -1,5 +1,5 @@ -import { Linking } from 'react-native'; +import SafariView from 'react-native-safari-view'; -const openLink = (url: string) => Linking.openURL(url); +const openLink = url => SafariView.show({ url, fromBottom: true, tintColor: '#292E35' }); export default openLink; diff --git a/ios/RocketChatRN.xcodeproj/project.pbxproj b/ios/RocketChatRN.xcodeproj/project.pbxproj index 23a4c8279..fe2ccf3ad 100644 --- a/ios/RocketChatRN.xcodeproj/project.pbxproj +++ b/ios/RocketChatRN.xcodeproj/project.pbxproj @@ -5,7 +5,6 @@ }; objectVersion = 46; objects = { - /* Begin PBXBuildFile section */ 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; @@ -64,6 +63,7 @@ CBD0E0A35B174C4DBFED3B31 /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = E528DE3A405E43B4A37ABA68 /* Zocial.ttf */; }; D6408D9E4A864FF6BA986857 /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 8A2DD67ADD954AD9873F45FC /* SimpleLineIcons.ttf */; }; EF736EF520A64AE8820E684A /* libRealmReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DF26CC845883492D8AC8869B /* libRealmReact.a */; }; + 2C800DF680F8451599E80AF1 /* libSafariViewManager.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D3BB00B9ABF44EA9BD71318 /* libSafariViewManager.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -470,6 +470,8 @@ DF26CC845883492D8AC8869B /* libRealmReact.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRealmReact.a; sourceTree = ""; }; E528DE3A405E43B4A37ABA68 /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = ""; }; F88C6541BD764BEEABB87272 /* Octicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Octicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = ""; }; + 4019A5E1911B4C61944FBCEC /* SafariViewManager.xcodeproj */ = {isa = PBXFileReference; name = "SafariViewManager.xcodeproj"; path = "../node_modules/react-native-safari-view/SafariViewManager.xcodeproj"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; }; + 1D3BB00B9ABF44EA9BD71318 /* libSafariViewManager.a */ = {isa = PBXFileReference; name = "libSafariViewManager.a"; path = "libSafariViewManager.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -509,6 +511,7 @@ C758F0BD5C3244E2BA073E61 /* libRNImagePicker.a in Frameworks */, 8ECBD927DDAC4987B98E102E /* libRCTVideo.a in Frameworks */, 0F026E58B8A6427D9A204D89 /* libSplashScreen.a in Frameworks */, + 2C800DF680F8451599E80AF1 /* libSafariViewManager.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -744,6 +747,7 @@ 4B38C7E37A8748E0BC665078 /* RNImagePicker.xcodeproj */, AD0379F2BCE84C968538CDAF /* RCTVideo.xcodeproj */, 30FCE1B6376C423E94C9FBB0 /* SplashScreen.xcodeproj */, + 4019A5E1911B4C61944FBCEC /* SafariViewManager.xcodeproj */, ); name = Libraries; sourceTree = ""; @@ -1585,6 +1589,7 @@ "$(SRCROOT)/../node_modules/react-native-autogrow-textinput/ios", "$(SRCROOT)/../node_modules/react-native-video/ios", "$(SRCROOT)/../node_modules/react-native-splash-screen/ios", + "$(SRCROOT)/../node_modules/react-native-safari-view", ); INFOPLIST_FILE = RocketChatRNTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1596,6 +1601,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1624,6 +1630,7 @@ "$(SRCROOT)/../node_modules/react-native-autogrow-textinput/ios", "$(SRCROOT)/../node_modules/react-native-video/ios", "$(SRCROOT)/../node_modules/react-native-splash-screen/ios", + "$(SRCROOT)/../node_modules/react-native-safari-view", ); INFOPLIST_FILE = RocketChatRNTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1635,6 +1642,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1668,6 +1676,7 @@ "$(SRCROOT)/../node_modules/react-native/Libraries/PushNotificationIOS/RCTPushNotification.xcodeproj/**", "$(SRCROOT)/../node_modules/react-native-video/ios", "$(SRCROOT)/../node_modules/react-native-splash-screen/ios", + "$(SRCROOT)/../node_modules/react-native-safari-view", ); INFOPLIST_FILE = RocketChatRN/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1706,6 +1715,7 @@ "$(SRCROOT)/../node_modules/react-native/Libraries/PushNotificationIOS/RCTPushNotification.xcodeproj/**", "$(SRCROOT)/../node_modules/react-native-video/ios", "$(SRCROOT)/../node_modules/react-native-splash-screen/ios", + "$(SRCROOT)/../node_modules/react-native-safari-view", ); INFOPLIST_FILE = RocketChatRN/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1747,6 +1757,7 @@ "$(SRCROOT)/../node_modules/react-native-autogrow-textinput/ios", "$(SRCROOT)/../node_modules/react-native-video/ios", "$(SRCROOT)/../node_modules/react-native-splash-screen/ios", + "$(SRCROOT)/../node_modules/react-native-safari-view", ); INFOPLIST_FILE = "RocketChatRN-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1757,6 +1768,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1795,6 +1807,7 @@ "$(SRCROOT)/../node_modules/react-native-autogrow-textinput/ios", "$(SRCROOT)/../node_modules/react-native-video/ios", "$(SRCROOT)/../node_modules/react-native-splash-screen/ios", + "$(SRCROOT)/../node_modules/react-native-safari-view", ); INFOPLIST_FILE = "RocketChatRN-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1805,6 +1818,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1839,6 +1853,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.RocketChatRN-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1869,6 +1884,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.RocketChatRN-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/package-lock.json b/package-lock.json index 57ab9160a..7db7cef1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12573,11 +12573,6 @@ "requires": { "lodash": "4.17.4", "react-native-keyboard-tracking-view": "git+https://github.com/RocketChat/react-native-keyboard-tracking-view.git#3a4084f0a1063e23ae6435facdf1f79152558d15" - }, - "dependencies": { - "react-native-keyboard-tracking-view": { - "version": "git+https://github.com/RocketChat/react-native-keyboard-tracking-view.git#3a4084f0a1063e23ae6435facdf1f79152558d15" - } } }, "react-native-keyboard-tracking-view": { @@ -12654,6 +12649,11 @@ "lodash": "4.17.4" } }, + "react-native-safari-view": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/react-native-safari-view/-/react-native-safari-view-2.1.0.tgz", + "integrity": "sha1-HgzRLGK855vBdZx+KBZGsIthyVk=" + }, "react-native-scrollable-tab-view": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/react-native-scrollable-tab-view/-/react-native-scrollable-tab-view-0.8.0.tgz", diff --git a/package.json b/package.json index 8cf7d9a1a..d4ad455ab 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "react-native-optimized-flatlist": "^1.0.4", "react-native-push-notification": "^3.0.1", "react-native-responsive-ui": "^1.1.1", + "react-native-safari-view": "^2.1.0", "react-native-scrollable-tab-view": "^0.8.0", "react-native-slider": "^0.11.0", "react-native-splash-screen": "^3.0.6",