[NEW] Admin (#800)
* added admin panel * reverting some changes * fixed problem with authToken * changed tab to space * done requested changes * fixed lint * added react-native-webview * Install webview pod
This commit is contained in:
parent
d969b04d3a
commit
31cf0e5f2f
|
@ -200,6 +200,7 @@ configurations.all {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
implementation project(':react-native-webview')
|
||||||
implementation project(':react-native-orientation-locker')
|
implementation project(':react-native-orientation-locker')
|
||||||
implementation project(':react-native-splash-screen')
|
implementation project(':react-native-splash-screen')
|
||||||
implementation project(':react-native-screens')
|
implementation project(':react-native-screens')
|
||||||
|
|
|
@ -3,6 +3,7 @@ package chat.rocket.reactnative;
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
|
|
||||||
import com.facebook.react.ReactApplication;
|
import com.facebook.react.ReactApplication;
|
||||||
|
import com.reactnativecommunity.webview.RNCWebViewPackage;
|
||||||
import org.wonday.orientation.OrientationPackage;
|
import org.wonday.orientation.OrientationPackage;
|
||||||
import org.devio.rn.splashscreen.SplashScreenReactPackage;
|
import org.devio.rn.splashscreen.SplashScreenReactPackage;
|
||||||
import com.facebook.react.ReactNativeHost;
|
import com.facebook.react.ReactNativeHost;
|
||||||
|
@ -51,6 +52,7 @@ public class MainApplication extends Application implements ReactApplication, IN
|
||||||
protected List<ReactPackage> getPackages() {
|
protected List<ReactPackage> getPackages() {
|
||||||
return Arrays.<ReactPackage>asList(
|
return Arrays.<ReactPackage>asList(
|
||||||
new MainReactPackage(),
|
new MainReactPackage(),
|
||||||
|
new RNCWebViewPackage(),
|
||||||
new OrientationPackage(),
|
new OrientationPackage(),
|
||||||
new SplashScreenReactPackage(),
|
new SplashScreenReactPackage(),
|
||||||
new RNGestureHandlerPackage(),
|
new RNGestureHandlerPackage(),
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
rootProject.name = 'RocketChatRN'
|
rootProject.name = 'RocketChatRN'
|
||||||
|
include ':react-native-webview'
|
||||||
|
project(':react-native-webview').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-webview/android')
|
||||||
include ':react-native-orientation-locker'
|
include ':react-native-orientation-locker'
|
||||||
project(':react-native-orientation-locker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-orientation-locker/android')
|
project(':react-native-orientation-locker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-orientation-locker/android')
|
||||||
include ':react-native-splash-screen'
|
include ':react-native-splash-screen'
|
||||||
|
|
|
@ -81,6 +81,7 @@ export default {
|
||||||
Add_Reaction: 'Add Reaction',
|
Add_Reaction: 'Add Reaction',
|
||||||
Add_Server: 'Add Server',
|
Add_Server: 'Add Server',
|
||||||
Add_user: 'Add user',
|
Add_user: 'Add user',
|
||||||
|
Admin_Panel: 'Admin Panel',
|
||||||
Alert: 'Alert',
|
Alert: 'Alert',
|
||||||
alert: 'alert',
|
alert: 'alert',
|
||||||
alerts: 'alerts',
|
alerts: 'alerts',
|
||||||
|
|
10
app/index.js
10
app/index.js
|
@ -20,6 +20,7 @@ import Navigation from './lib/Navigation';
|
||||||
import Sidebar from './views/SidebarView';
|
import Sidebar from './views/SidebarView';
|
||||||
import ProfileView from './views/ProfileView';
|
import ProfileView from './views/ProfileView';
|
||||||
import SettingsView from './views/SettingsView';
|
import SettingsView from './views/SettingsView';
|
||||||
|
import AdminPanelView from './views/AdminPanelView';
|
||||||
import RoomActionsView from './views/RoomActionsView';
|
import RoomActionsView from './views/RoomActionsView';
|
||||||
import RoomInfoView from './views/RoomInfoView';
|
import RoomInfoView from './views/RoomInfoView';
|
||||||
import RoomInfoEditView from './views/RoomInfoEditView';
|
import RoomInfoEditView from './views/RoomInfoEditView';
|
||||||
|
@ -145,6 +146,12 @@ const SettingsStack = createStackNavigator({
|
||||||
defaultNavigationOptions: defaultHeader
|
defaultNavigationOptions: defaultHeader
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const AdminPanelStack = createStackNavigator({
|
||||||
|
AdminPanelView
|
||||||
|
}, {
|
||||||
|
defaultNavigationOptions: defaultHeader
|
||||||
|
});
|
||||||
|
|
||||||
SettingsStack.navigationOptions = ({ navigation }) => {
|
SettingsStack.navigationOptions = ({ navigation }) => {
|
||||||
let drawerLockMode = 'unlocked';
|
let drawerLockMode = 'unlocked';
|
||||||
if (navigation.state.index > 0) {
|
if (navigation.state.index > 0) {
|
||||||
|
@ -158,7 +165,8 @@ SettingsStack.navigationOptions = ({ navigation }) => {
|
||||||
const ChatsDrawer = createDrawerNavigator({
|
const ChatsDrawer = createDrawerNavigator({
|
||||||
ChatsStack,
|
ChatsStack,
|
||||||
ProfileStack,
|
ProfileStack,
|
||||||
SettingsStack
|
SettingsStack,
|
||||||
|
AdminPanelStack
|
||||||
}, {
|
}, {
|
||||||
contentComponent: Sidebar
|
contentComponent: Sidebar
|
||||||
});
|
});
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import { WebView } from 'react-native-webview';
|
||||||
|
import { SafeAreaView } from 'react-navigation';
|
||||||
|
import { connect } from 'react-redux';
|
||||||
|
|
||||||
|
import I18n from '../../i18n';
|
||||||
|
import LoggedView from '../View';
|
||||||
|
import StatusBar from '../../containers/StatusBar';
|
||||||
|
import { DrawerButton } from '../../containers/HeaderButton';
|
||||||
|
import styles from '../Styles';
|
||||||
|
|
||||||
|
@connect(state => ({
|
||||||
|
baseUrl: state.settings.Site_Url || state.server ? state.server.server : '',
|
||||||
|
authToken: state.login.user && state.login.user.token
|
||||||
|
}))
|
||||||
|
/** @extends React.Component */
|
||||||
|
export default class AdminPanelView extends LoggedView {
|
||||||
|
static navigationOptions = ({ navigation }) => ({
|
||||||
|
headerLeft: <DrawerButton navigation={navigation} />,
|
||||||
|
title: I18n.t('Admin_Panel')
|
||||||
|
})
|
||||||
|
|
||||||
|
static propTypes = {
|
||||||
|
baseUrl: PropTypes.string,
|
||||||
|
authToken: PropTypes.string
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor(props) {
|
||||||
|
super('AdminPanelView', props);
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { baseUrl, authToken } = this.props;
|
||||||
|
if (!baseUrl) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return (
|
||||||
|
<SafeAreaView style={styles.container} testID='terms-view'>
|
||||||
|
<StatusBar />
|
||||||
|
<WebView
|
||||||
|
source={{ uri: `${ baseUrl }/admin/info?layout=embedded` }}
|
||||||
|
injectedJavaScript={`Meteor.loginWithToken('${ authToken }', function() { })`}
|
||||||
|
/>
|
||||||
|
</SafeAreaView>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { WebView } from 'react-native';
|
import { WebView } from 'react-native-webview';
|
||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
|
|
||||||
import RocketChat from '../lib/rocketchat';
|
import RocketChat from '../lib/rocketchat';
|
||||||
|
|
|
@ -20,11 +20,19 @@ import { CustomIcon } from '../../lib/Icons';
|
||||||
import styles from './styles';
|
import styles from './styles';
|
||||||
import SidebarItem from './SidebarItem';
|
import SidebarItem from './SidebarItem';
|
||||||
import { COLOR_TEXT } from '../../constants/colors';
|
import { COLOR_TEXT } from '../../constants/colors';
|
||||||
|
import database from '../../lib/realm';
|
||||||
|
|
||||||
const keyExtractor = item => item.id;
|
const keyExtractor = item => item.id;
|
||||||
|
|
||||||
const Separator = React.memo(() => <View style={styles.separator} />);
|
const Separator = React.memo(() => <View style={styles.separator} />);
|
||||||
|
|
||||||
|
const permissions = [
|
||||||
|
'view-statistics',
|
||||||
|
'view-room-administration',
|
||||||
|
'view-user-administration',
|
||||||
|
'view-privileged-setting'
|
||||||
|
];
|
||||||
|
|
||||||
@connect(state => ({
|
@connect(state => ({
|
||||||
Site_Name: state.settings.Site_Name,
|
Site_Name: state.settings.Site_Name,
|
||||||
user: {
|
user: {
|
||||||
|
@ -32,7 +40,8 @@ const Separator = React.memo(() => <View style={styles.separator} />);
|
||||||
language: state.login.user && state.login.user.language,
|
language: state.login.user && state.login.user.language,
|
||||||
status: state.login.user && state.login.user.status,
|
status: state.login.user && state.login.user.status,
|
||||||
username: state.login.user && state.login.user.username,
|
username: state.login.user && state.login.user.username,
|
||||||
token: state.login.user && state.login.user.token
|
token: state.login.user && state.login.user.token,
|
||||||
|
roles: state.login.user && state.login.user.roles
|
||||||
},
|
},
|
||||||
baseUrl: state.settings.Site_Url || state.server ? state.server.server : ''
|
baseUrl: state.settings.Site_Url || state.server ? state.server.server : ''
|
||||||
}), dispatch => ({
|
}), dispatch => ({
|
||||||
|
@ -137,6 +146,19 @@ export default class Sidebar extends Component {
|
||||||
logout();
|
logout();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
canSeeAdminPanel() {
|
||||||
|
const { user } = this.props;
|
||||||
|
const { roles } = user;
|
||||||
|
if (roles) {
|
||||||
|
const permissionsFiltered = database.objects('permissions')
|
||||||
|
.filter(permission => permissions.includes(permission._id));
|
||||||
|
return permissionsFiltered.reduce((result, permission) => (
|
||||||
|
result || permission.roles.some(r => roles.includes(r))),
|
||||||
|
false);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
renderStatusItem = ({ item }) => {
|
renderStatusItem = ({ item }) => {
|
||||||
const { user } = this.props;
|
const { user } = this.props;
|
||||||
return (
|
return (
|
||||||
|
@ -183,6 +205,15 @@ export default class Sidebar extends Component {
|
||||||
testID='sidebar-settings'
|
testID='sidebar-settings'
|
||||||
current={activeItemKey === 'SettingsStack'}
|
current={activeItemKey === 'SettingsStack'}
|
||||||
/>
|
/>
|
||||||
|
{this.canSeeAdminPanel() ? (
|
||||||
|
<SidebarItem
|
||||||
|
text={I18n.t('Admin_Panel')}
|
||||||
|
left={<CustomIcon name='shield-alt' size={20} color={COLOR_TEXT} />}
|
||||||
|
onPress={() => this.sidebarNavigate('AdminPanelView')}
|
||||||
|
testID='sidebar-settings'
|
||||||
|
current={activeItemKey === 'AdminPanelStack'}
|
||||||
|
/>
|
||||||
|
) : null}
|
||||||
<Separator key='separator-logout' />
|
<Separator key='separator-logout' />
|
||||||
<SidebarItem
|
<SidebarItem
|
||||||
text={I18n.t('Logout')}
|
text={I18n.t('Logout')}
|
||||||
|
|
|
@ -32,6 +32,8 @@ target 'RocketChatRN' do
|
||||||
|
|
||||||
pod 'react-native-orientation-locker', :path => '../node_modules/react-native-orientation-locker'
|
pod 'react-native-orientation-locker', :path => '../node_modules/react-native-orientation-locker'
|
||||||
|
|
||||||
|
pod 'react-native-webview', :path => '../node_modules/react-native-webview'
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
post_install do |installer|
|
post_install do |installer|
|
||||||
|
|
|
@ -6,6 +6,8 @@ PODS:
|
||||||
- React
|
- React
|
||||||
- react-native-splash-screen (3.2.0):
|
- react-native-splash-screen (3.2.0):
|
||||||
- React
|
- React
|
||||||
|
- react-native-webview (5.8.1):
|
||||||
|
- React
|
||||||
- React/Core (0.58.6):
|
- React/Core (0.58.6):
|
||||||
- yoga (= 0.58.6.React)
|
- yoga (= 0.58.6.React)
|
||||||
- React/fishhook (0.58.6)
|
- React/fishhook (0.58.6)
|
||||||
|
@ -46,6 +48,7 @@ PODS:
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- react-native-orientation-locker (from `../node_modules/react-native-orientation-locker`)
|
- react-native-orientation-locker (from `../node_modules/react-native-orientation-locker`)
|
||||||
- react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
|
- react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
|
||||||
|
- react-native-webview (from `../node_modules/react-native-webview`)
|
||||||
- React/Core (from `../node_modules/react-native`)
|
- React/Core (from `../node_modules/react-native`)
|
||||||
- React/RCTActionSheet (from `../node_modules/react-native`)
|
- React/RCTActionSheet (from `../node_modules/react-native`)
|
||||||
- React/RCTAnimation (from `../node_modules/react-native`)
|
- React/RCTAnimation (from `../node_modules/react-native`)
|
||||||
|
@ -73,6 +76,8 @@ EXTERNAL SOURCES:
|
||||||
:path: "../node_modules/react-native-orientation-locker"
|
:path: "../node_modules/react-native-orientation-locker"
|
||||||
react-native-splash-screen:
|
react-native-splash-screen:
|
||||||
:path: "../node_modules/react-native-splash-screen"
|
:path: "../node_modules/react-native-splash-screen"
|
||||||
|
react-native-webview:
|
||||||
|
:path: "../node_modules/react-native-webview"
|
||||||
RNDeviceInfo:
|
RNDeviceInfo:
|
||||||
:path: "../node_modules/react-native-device-info"
|
:path: "../node_modules/react-native-device-info"
|
||||||
RNImageCropPicker:
|
RNImageCropPicker:
|
||||||
|
@ -87,12 +92,13 @@ SPEC CHECKSUMS:
|
||||||
React: 130b87b2d5e2baac646954282cab87be986d98fc
|
React: 130b87b2d5e2baac646954282cab87be986d98fc
|
||||||
react-native-orientation-locker: 132a63bab4dddd2a5709f6f7935ad9676b0af7c5
|
react-native-orientation-locker: 132a63bab4dddd2a5709f6f7935ad9676b0af7c5
|
||||||
react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
|
react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
|
||||||
|
react-native-webview: f3e28b48461c78db833f727feec08b13285e7b61
|
||||||
RNDeviceInfo: 958a1ed6f94e04557b865b8ef848cfc83db0ebba
|
RNDeviceInfo: 958a1ed6f94e04557b865b8ef848cfc83db0ebba
|
||||||
RNImageCropPicker: e608efe182652dc8690268cb99cb5a201f2b5ea3
|
RNImageCropPicker: e608efe182652dc8690268cb99cb5a201f2b5ea3
|
||||||
RNScreens: 720a9e6968beb73e8196239801e887d8401f86ed
|
RNScreens: 720a9e6968beb73e8196239801e887d8401f86ed
|
||||||
RSKImageCropper: 98296ad26b41753f796b6898d015509598f13d97
|
RSKImageCropper: 98296ad26b41753f796b6898d015509598f13d97
|
||||||
yoga: 32d7ef1081951e9a35a4c72a7be797598b138a48
|
yoga: 32d7ef1081951e9a35a4c72a7be797598b138a48
|
||||||
|
|
||||||
PODFILE CHECKSUM: cef0a3df130baa205d9d4dcbf8ecc923f8f744cb
|
PODFILE CHECKSUM: cfaf85fae8fddbd9a7ea26e0a72d0a2d3852af66
|
||||||
|
|
||||||
COCOAPODS: 1.6.0
|
COCOAPODS: 1.6.2
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../../node_modules/react-native-webview/ios/RNCUIWebView.h
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../../node_modules/react-native-webview/ios/RNCUIWebViewManager.h
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../../node_modules/react-native-webview/ios/RNCWKProcessPoolManager.h
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../../node_modules/react-native-webview/ios/RNCWKWebView.h
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../../node_modules/react-native-webview/ios/RNCWKWebViewManager.h
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../../node_modules/react-native-webview/ios/RNCUIWebView.h
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../../node_modules/react-native-webview/ios/RNCUIWebViewManager.h
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../../node_modules/react-native-webview/ios/RNCWKProcessPoolManager.h
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../../node_modules/react-native-webview/ios/RNCWKWebView.h
|
|
@ -0,0 +1 @@
|
||||||
|
../../../../../node_modules/react-native-webview/ios/RNCWKWebViewManager.h
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"name": "react-native-webview",
|
||||||
|
"version": "5.8.1",
|
||||||
|
"summary": "React Native WebView component for iOS, Android, and Windows 10 (coming soon)",
|
||||||
|
"license": "MIT",
|
||||||
|
"authors": "Jamon Holmgren <jamon@infinite.red>",
|
||||||
|
"homepage": "https://github.com/react-native-community/react-native-webview#readme",
|
||||||
|
"platforms": {
|
||||||
|
"ios": "9.0"
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"git": "https://github.com/react-native-community/react-native-webview.git"
|
||||||
|
},
|
||||||
|
"source_files": "ios/**/*.{h,m}",
|
||||||
|
"dependencies": {
|
||||||
|
"React": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,6 +6,8 @@ PODS:
|
||||||
- React
|
- React
|
||||||
- react-native-splash-screen (3.2.0):
|
- react-native-splash-screen (3.2.0):
|
||||||
- React
|
- React
|
||||||
|
- react-native-webview (5.8.1):
|
||||||
|
- React
|
||||||
- React/Core (0.58.6):
|
- React/Core (0.58.6):
|
||||||
- yoga (= 0.58.6.React)
|
- yoga (= 0.58.6.React)
|
||||||
- React/fishhook (0.58.6)
|
- React/fishhook (0.58.6)
|
||||||
|
@ -46,6 +48,7 @@ PODS:
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- react-native-orientation-locker (from `../node_modules/react-native-orientation-locker`)
|
- react-native-orientation-locker (from `../node_modules/react-native-orientation-locker`)
|
||||||
- react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
|
- react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
|
||||||
|
- react-native-webview (from `../node_modules/react-native-webview`)
|
||||||
- React/Core (from `../node_modules/react-native`)
|
- React/Core (from `../node_modules/react-native`)
|
||||||
- React/RCTActionSheet (from `../node_modules/react-native`)
|
- React/RCTActionSheet (from `../node_modules/react-native`)
|
||||||
- React/RCTAnimation (from `../node_modules/react-native`)
|
- React/RCTAnimation (from `../node_modules/react-native`)
|
||||||
|
@ -73,6 +76,8 @@ EXTERNAL SOURCES:
|
||||||
:path: "../node_modules/react-native-orientation-locker"
|
:path: "../node_modules/react-native-orientation-locker"
|
||||||
react-native-splash-screen:
|
react-native-splash-screen:
|
||||||
:path: "../node_modules/react-native-splash-screen"
|
:path: "../node_modules/react-native-splash-screen"
|
||||||
|
react-native-webview:
|
||||||
|
:path: "../node_modules/react-native-webview"
|
||||||
RNDeviceInfo:
|
RNDeviceInfo:
|
||||||
:path: "../node_modules/react-native-device-info"
|
:path: "../node_modules/react-native-device-info"
|
||||||
RNImageCropPicker:
|
RNImageCropPicker:
|
||||||
|
@ -87,12 +92,13 @@ SPEC CHECKSUMS:
|
||||||
React: 130b87b2d5e2baac646954282cab87be986d98fc
|
React: 130b87b2d5e2baac646954282cab87be986d98fc
|
||||||
react-native-orientation-locker: 132a63bab4dddd2a5709f6f7935ad9676b0af7c5
|
react-native-orientation-locker: 132a63bab4dddd2a5709f6f7935ad9676b0af7c5
|
||||||
react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
|
react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
|
||||||
|
react-native-webview: f3e28b48461c78db833f727feec08b13285e7b61
|
||||||
RNDeviceInfo: 958a1ed6f94e04557b865b8ef848cfc83db0ebba
|
RNDeviceInfo: 958a1ed6f94e04557b865b8ef848cfc83db0ebba
|
||||||
RNImageCropPicker: e608efe182652dc8690268cb99cb5a201f2b5ea3
|
RNImageCropPicker: e608efe182652dc8690268cb99cb5a201f2b5ea3
|
||||||
RNScreens: 720a9e6968beb73e8196239801e887d8401f86ed
|
RNScreens: 720a9e6968beb73e8196239801e887d8401f86ed
|
||||||
RSKImageCropper: 98296ad26b41753f796b6898d015509598f13d97
|
RSKImageCropper: 98296ad26b41753f796b6898d015509598f13d97
|
||||||
yoga: 32d7ef1081951e9a35a4c72a7be797598b138a48
|
yoga: 32d7ef1081951e9a35a4c72a7be797598b138a48
|
||||||
|
|
||||||
PODFILE CHECKSUM: cef0a3df130baa205d9d4dcbf8ecc923f8f744cb
|
PODFILE CHECKSUM: cfaf85fae8fddbd9a7ea26e0a72d0a2d3852af66
|
||||||
|
|
||||||
COCOAPODS: 1.6.0
|
COCOAPODS: 1.6.2
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -184,4 +184,29 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
|
## react-native-webview
|
||||||
|
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2015-present, Facebook, Inc.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
Generated by CocoaPods - https://cocoapods.org
|
Generated by CocoaPods - https://cocoapods.org
|
||||||
|
|
|
@ -244,6 +244,37 @@ SOFTWARE.
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
<string>PSGroupSpecifier</string>
|
<string>PSGroupSpecifier</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>FooterText</key>
|
||||||
|
<string>MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2015-present, Facebook, Inc.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
</string>
|
||||||
|
<key>License</key>
|
||||||
|
<string>MIT</string>
|
||||||
|
<key>Title</key>
|
||||||
|
<string>react-native-webview</string>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>PSGroupSpecifier</string>
|
||||||
|
</dict>
|
||||||
<dict>
|
<dict>
|
||||||
<key>FooterText</key>
|
<key>FooterText</key>
|
||||||
<string>Generated by CocoaPods - https://cocoapods.org</string>
|
<string>Generated by CocoaPods - https://cocoapods.org</string>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/QBImagePickerController" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RSKImageCropper" "${PODS_ROOT}/Headers/Public/React" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-splash-screen" "${PODS_ROOT}/Headers/Public/yoga"
|
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/QBImagePickerController" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RSKImageCropper" "${PODS_ROOT}/Headers/Public/React" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-splash-screen" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/yoga"
|
||||||
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/QBImagePickerController" "${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo" "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNScreens" "${PODS_CONFIGURATION_BUILD_DIR}/RSKImageCropper" "${PODS_CONFIGURATION_BUILD_DIR}/React" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-splash-screen" "${PODS_CONFIGURATION_BUILD_DIR}/yoga"
|
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/QBImagePickerController" "${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo" "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNScreens" "${PODS_CONFIGURATION_BUILD_DIR}/RSKImageCropper" "${PODS_CONFIGURATION_BUILD_DIR}/React" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-splash-screen" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-webview" "${PODS_CONFIGURATION_BUILD_DIR}/yoga"
|
||||||
OTHER_LDFLAGS = $(inherited) -ObjC -l"QBImagePickerController" -l"RNDeviceInfo" -l"RNImageCropPicker" -l"RNScreens" -l"RSKImageCropper" -l"React" -l"react-native-orientation-locker" -l"react-native-splash-screen" -l"stdc++" -l"yoga" -framework "JavaScriptCore" -framework "Photos" -framework "QuartzCore" -framework "UIKit"
|
OTHER_LDFLAGS = $(inherited) -ObjC -l"QBImagePickerController" -l"RNDeviceInfo" -l"RNImageCropPicker" -l"RNScreens" -l"RSKImageCropper" -l"React" -l"react-native-orientation-locker" -l"react-native-splash-screen" -l"react-native-webview" -l"stdc++" -l"yoga" -framework "JavaScriptCore" -framework "Photos" -framework "QuartzCore" -framework "UIKit"
|
||||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
|
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/QBImagePickerController" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RSKImageCropper" "${PODS_ROOT}/Headers/Public/React" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-splash-screen" "${PODS_ROOT}/Headers/Public/yoga"
|
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/QBImagePickerController" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RSKImageCropper" "${PODS_ROOT}/Headers/Public/React" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-splash-screen" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/yoga"
|
||||||
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/QBImagePickerController" "${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo" "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNScreens" "${PODS_CONFIGURATION_BUILD_DIR}/RSKImageCropper" "${PODS_CONFIGURATION_BUILD_DIR}/React" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-splash-screen" "${PODS_CONFIGURATION_BUILD_DIR}/yoga"
|
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/QBImagePickerController" "${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo" "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker" "${PODS_CONFIGURATION_BUILD_DIR}/RNScreens" "${PODS_CONFIGURATION_BUILD_DIR}/RSKImageCropper" "${PODS_CONFIGURATION_BUILD_DIR}/React" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-splash-screen" "${PODS_CONFIGURATION_BUILD_DIR}/react-native-webview" "${PODS_CONFIGURATION_BUILD_DIR}/yoga"
|
||||||
OTHER_LDFLAGS = $(inherited) -ObjC -l"QBImagePickerController" -l"RNDeviceInfo" -l"RNImageCropPicker" -l"RNScreens" -l"RSKImageCropper" -l"React" -l"react-native-orientation-locker" -l"react-native-splash-screen" -l"stdc++" -l"yoga" -framework "JavaScriptCore" -framework "Photos" -framework "QuartzCore" -framework "UIKit"
|
OTHER_LDFLAGS = $(inherited) -ObjC -l"QBImagePickerController" -l"RNDeviceInfo" -l"RNImageCropPicker" -l"RNScreens" -l"RSKImageCropper" -l"React" -l"react-native-orientation-locker" -l"react-native-splash-screen" -l"react-native-webview" -l"stdc++" -l"yoga" -framework "JavaScriptCore" -framework "Photos" -framework "QuartzCore" -framework "UIKit"
|
||||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
|
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
|
||||||
|
|
5
ios/Pods/Target Support Files/react-native-webview/react-native-webview-dummy.m
generated
Normal file
5
ios/Pods/Target Support Files/react-native-webview/react-native-webview-dummy.m
generated
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
@interface PodsDummy_react_native_webview : NSObject
|
||||||
|
@end
|
||||||
|
@implementation PodsDummy_react_native_webview
|
||||||
|
@end
|
12
ios/Pods/Target Support Files/react-native-webview/react-native-webview-prefix.pch
generated
Normal file
12
ios/Pods/Target Support Files/react-native-webview/react-native-webview-prefix.pch
generated
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#ifdef __OBJC__
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
9
ios/Pods/Target Support Files/react-native-webview/react-native-webview.xcconfig
generated
Normal file
9
ios/Pods/Target Support Files/react-native-webview/react-native-webview.xcconfig
generated
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/react-native-webview
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
|
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/react-native-webview" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/React" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/yoga"
|
||||||
|
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||||
|
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
|
PODS_ROOT = ${SRCROOT}
|
||||||
|
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../node_modules/react-native-webview
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
||||||
|
SKIP_INSTALL = YES
|
|
@ -65,6 +65,7 @@
|
||||||
"react-native-video-controls": "^2.2.3",
|
"react-native-video-controls": "^2.2.3",
|
||||||
"react-navigation": "^3.9.1",
|
"react-navigation": "^3.9.1",
|
||||||
"react-navigation-header-buttons": "^2.3.1",
|
"react-navigation-header-buttons": "^2.3.1",
|
||||||
|
"react-native-webview": "5.8.1",
|
||||||
"react-redux": "^6.0.0",
|
"react-redux": "^6.0.0",
|
||||||
"reactotron-react-native": "2.2",
|
"reactotron-react-native": "2.2",
|
||||||
"realm": "2.26.1",
|
"realm": "2.26.1",
|
||||||
|
|
10
yarn.lock
10
yarn.lock
|
@ -6685,7 +6685,7 @@ interpret@^1.0.0, interpret@^1.1.0:
|
||||||
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
|
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
|
||||||
integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
|
integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
|
||||||
|
|
||||||
invariant@^2.1.0, invariant@^2.2.2, invariant@^2.2.4:
|
invariant@2.2.4, invariant@^2.1.0, invariant@^2.2.2, invariant@^2.2.4:
|
||||||
version "2.2.4"
|
version "2.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
|
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
|
||||||
integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
|
integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
|
||||||
|
@ -10575,6 +10575,14 @@ react-native-video@^4.4.1:
|
||||||
prop-types "^15.5.10"
|
prop-types "^15.5.10"
|
||||||
shaka-player "^2.4.4"
|
shaka-player "^2.4.4"
|
||||||
|
|
||||||
|
react-native-webview@5.8.1:
|
||||||
|
version "5.8.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-5.8.1.tgz#6f5a83dec55bbc02700155b1a16a668870f14de0"
|
||||||
|
integrity sha512-b6pSvmjoiWtcz6YspggW02X+BRXJWuquHwkh37BRx1NMW1iwMZA31SnFQvTpPzWYYIb9WF/mRsy2nGtt9C6NIg==
|
||||||
|
dependencies:
|
||||||
|
escape-string-regexp "1.0.5"
|
||||||
|
invariant "2.2.4"
|
||||||
|
|
||||||
react-native@0.58.6:
|
react-native@0.58.6:
|
||||||
version "0.58.6"
|
version "0.58.6"
|
||||||
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.58.6.tgz#a6d273cd2f51b0e3b141dad5f19622e0000497b3"
|
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.58.6.tgz#a6d273cd2f51b0e3b141dad5f19622e0000497b3"
|
||||||
|
|
Loading…
Reference in New Issue