diff --git a/package.json b/package.json
index dc8ab5b69..d67c94151 100644
--- a/package.json
+++ b/package.json
@@ -32,10 +32,10 @@
"crypto-js": "^3.1.9-1",
"dsteem": "^0.10.1",
"moment": "^2.22.2",
- "native-base": "^2.8.1",
"react": "^16.6.0-alpha.8af6728",
"react-intl": "^2.7.2",
"react-native": "^0.57.5",
+ "react-native-actionsheet": "^2.4.2",
"react-native-config": "^0.11.5",
"react-native-extended-stylesheet": "^0.10.0",
"react-native-fast-image": "^4.0.14",
diff --git a/src/components/comments/view/commentsView.js b/src/components/comments/view/commentsView.js
index c0c756979..fc934cbf3 100644
--- a/src/components/comments/view/commentsView.js
+++ b/src/components/comments/view/commentsView.js
@@ -67,7 +67,7 @@ class CommentsView extends Component {
>
-
+
(
diff --git a/src/styles/logo.styles.js b/src/components/logo/logoStyles.js
similarity index 100%
rename from src/styles/logo.styles.js
rename to src/components/logo/logoStyles.js
diff --git a/src/components/markdownEditor/view/markdownEditorView.js b/src/components/markdownEditor/view/markdownEditorView.js
index 9085c8e7b..4787d7c44 100644
--- a/src/components/markdownEditor/view/markdownEditorView.js
+++ b/src/components/markdownEditor/view/markdownEditorView.js
@@ -1,8 +1,9 @@
import React, { Component } from 'react';
import {
- View, KeyboardAvoidingView, ScrollView, FlatList, Text, ActionSheetIOS
+ View, KeyboardAvoidingView, ScrollView, FlatList, Text,
} from 'react-native';
import Markdown, { getUniqueID } from 'react-native-markdown-renderer';
+import ActionSheet from 'react-native-actionsheet';
// Components
import { DropdownButton } from '../../dropdownButton';
@@ -123,63 +124,49 @@ export default class MarkdownEditorView extends Component {
);
- _handleOnImageButtonPress = () => {
- const { handleOpenImagePicker } = this.props;
-
- ActionSheetIOS.showActionSheetWithOptions(
- {
- options: ['Cancel', 'Take Photo', 'Select From Gallery'],
- cancelButtonIndex: 0,
- },
- (buttonIndex) => {
- handleOpenImagePicker(buttonIndex === 1 ? 'camera' : buttonIndex === 2 && 'image');
- },
- );
- }
-
- _renderEditorButtons = ({ getState, setState }) => {
- return (
-
-
- index !== 9 && this._renderMarkupButton({ item, getState, setState })
- }
- horizontal
- />
-
-
- Formats[9].onPress({ getState, setState })}
- />
- this._handleOnImageButtonPress()}
- style={styles.rightIcons}
- size={20}
- iconStyle={styles.icon}
- iconType="FontAwesome"
- name="image"
- />
-
-
-
- );
- };
+ _renderEditorButtons = ({ getState, setState }) => (
+
+
+ index !== 9 && this._renderMarkupButton({ item, getState, setState })
+ }
+ horizontal
+ />
+
+
+ Formats[9].onPress({ getState, setState })}
+ />
+ this.ActionSheet.show()}
+ style={styles.rightIcons}
+ size={20}
+ iconStyle={styles.icon}
+ iconType="FontAwesome"
+ name="image"
+ />
+
+
+
+ );
render() {
- const { intl, isPreviewActive, isReply } = this.props;
+ const {
+ intl, isPreviewActive, isReply, handleOpenImagePicker,
+ } = this.props;
const { text, selection } = this.state;
return (
@@ -210,6 +197,14 @@ export default class MarkdownEditorView extends Component {
this.setState(state, callback);
},
})}
+ (this.ActionSheet = o)}
+ options={['Open Gallery', 'Capture a photo', 'Cancel']}
+ cancelButtonIndex={2}
+ onPress={(index) => {
+ handleOpenImagePicker(index === 0 ? 'image' : index === 1 && 'camera');
+ }}
+ />
);
}
diff --git a/src/components/postCard/view/postCardView.js b/src/components/postCard/view/postCardView.js
index 4f56b64e3..b03d528c6 100644
--- a/src/components/postCard/view/postCardView.js
+++ b/src/components/postCard/view/postCardView.js
@@ -102,7 +102,7 @@ class PostCard extends Component {
-
+
this._handleOnVotersPress()}
diff --git a/src/components/postView/view/postDisplayView.js b/src/components/postView/view/postDisplayView.js
index c68824669..2acdd5f97 100644
--- a/src/components/postView/view/postDisplayView.js
+++ b/src/components/postView/view/postDisplayView.js
@@ -18,9 +18,9 @@ import styles from './postDisplayStyles';
const HEIGHT = Dimensions.get('window').width;
class PostDisplayView extends Component {
/* Props
- * ------------------------------------------------
- * @prop { type } name - Description....
- */
+ * ------------------------------------------------
+ * @prop { type } name - Description....
+ */
constructor(props) {
super(props);
@@ -62,7 +62,7 @@ class PostDisplayView extends Component {
return (
-
+
- {post
- && currentUser
- && currentUser.name === post.author && (
- handleOnEditPress && handleOnEditPress()}
- />
+ {post && currentUser && currentUser.name === post.author && (
+ handleOnEditPress && handleOnEditPress()}
+ />
)}
)}
- {post
- && (isGetComment || isLoadedComments) && (
-
+ {post && (isGetComment || isLoadedComments) && (
+
)}
{!isPostEnd && this._getTabBar(true)}
diff --git a/src/components/reply/reply.js b/src/components/reply/reply.js
deleted file mode 100644
index 28e67f542..000000000
--- a/src/components/reply/reply.js
+++ /dev/null
@@ -1,176 +0,0 @@
-/* eslint-disable no-unused-vars */
-import React from 'react';
-import {
- StyleSheet,
- Image,
- TouchableOpacity,
- Dimensions,
- ActivityIndicator,
- FlatList,
- TextInput,
-} from 'react-native';
-import {
- Card,
- CardItem,
- Header,
- Left,
- Right,
- Thumbnail,
- Title,
- View,
- Icon,
- Body,
- Text,
- Button,
-} from 'native-base';
-import { Popover, PopoverController } from 'react-native-modal-popover';
-import Slider from 'react-native-slider';
-import Modal from 'react-native-modal';
-
-import {
- upvote,
- upvoteAmount,
- postComment,
-} from '../../providers/steem/dsteem';
-import { decryptKey } from '../../utils/crypto';
-import { getUserData } from '../../realm/realm';
-import { parsePost } from '../../utils/postParser';
-import { getComments, getPost } from '../../providers/steem/dsteem';
-/* eslint-enable no-unused-vars */
-
-class Reply extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- comment: '',
- };
- }
-
- componentDidMount() {
- console.log(this.props.navigation.state.params);
- }
-
- postComment = async () => {
- this.setState({ isLoading: true });
- const content = this.props.navigation.state.params.content;
- const user = this.props.navigation.state.params.user;
- let userData;
- let postingKey;
-
- const comment = {
- parent_author: content.author,
- parent_permlink: content.permlink,
- author: user.name,
- permlink: this.commentPermlink(content.author, content.permlink),
- title: this.commentPermlink(content.author, content.permlink),
- body: this.state.comment,
- json_metadata: JSON.stringify({
- app: 'esteem/2.0.0-mobile',
- community: 'esteem.app',
- }),
- };
-
- await getUserData().then((result) => {
- userData = Array.from(result);
- postingKey = decryptKey(userData[0].postingKey, 'pinCode');
- });
-
- postComment(comment, postingKey)
- .then((result) => {
- console.log(result);
- this.setState({
- isLoading: false,
- comment: '',
- });
- })
- .catch((error) => {
- console.log(error);
- this.setState({ isLoading: false });
- });
- };
-
- /**
- * Method to format permlink for a comment
- * @param parent_author
- * @param parent_permlink
- */
- commentPermlink = (parent_author, parent_permlink) => {
- const timeStr = new Date()
- .toISOString()
- .replace(/[^a-zA-Z0-9]+/g, '')
- .toLocaleLowerCase();
- parent_permlink = parent_permlink.replace(/(-\d{8}t\d{9}z)/g, '');
- return `re${parent_author}-${parent_permlink}-${timeStr}`;
- };
-
- render() {
- return (
-
-
-
-
-
-
- Reply
-
-
-
-
- this.setState({ comment })}
- value={this.state.comment}
- />
-
-
-
-
-
-
- );
- }
-}
-const styles = StyleSheet.create({
- reply: {},
-});
-
-export default Reply;
diff --git a/src/components/search/search.js b/src/components/search/search.js
deleted file mode 100644
index f3864fc96..000000000
--- a/src/components/search/search.js
+++ /dev/null
@@ -1,226 +0,0 @@
-import React, { Component } from 'react';
-import {
- Text,
- View,
- Dimensions,
- TextInput,
- FlatList,
- Image,
- ActivityIndicator,
-} from 'react-native';
-import Ionicons from 'react-native-vector-icons/Ionicons';
-// import { Navigation } from 'react-native-navigation';
-import { lookupAccounts } from '../../providers/steem/dsteem';
-import search from '../../config/search';
-
-export default class Search extends Component {
- constructor() {
- super();
- this.handleSearch = this.handleSearch.bind(this);
- this.state = {
- text: '',
- scroll_id: '',
- posts: [],
- users: [],
- loading: false,
- };
- }
-
- closeSearch = () => {
- // Navigation.dismissOverlay(this.props.componentId);
- };
-
- handleSearch = async (text) => {
- if (text.length < 3) return;
- let users;
- let posts;
- let scroll_id;
-
- await this.setState({
- loading: true,
- text,
- });
-
- users = await lookupAccounts(text);
-
- await this.setState({ users });
-
- const data = { q: text };
- search
- .post('/', JSON.stringify(data))
- .then(result => result.json())
- .then((result) => {
- posts = result.results;
- scroll_id = result.scroll_id;
- })
- .catch((error) => {
- console.log(error);
- });
- /*await fetch('https://api.search.esteem.app/search', {
- method: 'POST',
- headers: {
- // TODO: Create a config file for authorization
-
- Authorization: SEARCH_API_TOKEN,
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify(data),
- })
- .then(result => result.json())
- .then((result) => {
- posts = result.results;
- scroll_id = result.scroll_id;
- })
- .catch((error) => {
- console.log(error);
- });*/
-
- await this.setState({ loading: false });
-
- await this.setState({
- posts,
- scroll_id,
- });
- };
-
- render() {
- return (
-
-
-
-
- this.handleSearch(text)}
- value={this.state.text}
- />
-
-
-
-
-
- (
-
-
-
- @
- {item}
-
-
- )}
- keyExtractor={(post, index) => index.toString()}
- removeClippedSubviews
- onEndThreshold={0}
- />
-
- (
- // TODO: Create a component to list search results
-
-
-
-
- {item.author}
- {' '}
-(
- {item.author_rep}
-)
-
-
-
- )}
- keyExtractor={(post, index) => index.toString()}
- removeClippedSubviews
- onEndThreshold={0}
- initialNumToRender={20}
- />
-
-
- );
- }
-}
diff --git a/src/components/settingsItem/view/settingsItemStyles.js b/src/components/settingsItem/view/settingsItemStyles.js
index b85857c26..503a2782e 100644
--- a/src/components/settingsItem/view/settingsItemStyles.js
+++ b/src/components/settingsItem/view/settingsItemStyles.js
@@ -20,19 +20,21 @@ export default EStyleSheet.create({
color: '$primaryDarkGray',
},
rowTextStyle: {
- fontSize: 14,
+ fontSize: 12,
color: '$primaryDarkGray',
padding: 5,
},
dropdownStyle: {
- marginRight: -35,
marginTop: 15,
+ minWidth: 172,
+ width: 172,
},
dropdownButtonStyle: {
backgroundColor: '$primaryGray',
height: 44,
width: 172,
borderRadius: 8,
+ marginHorizontal: 2,
},
dropdown: {
flexGrow: 1,
diff --git a/src/components/settingsItem/view/settingsItemView.js b/src/components/settingsItem/view/settingsItemView.js
index efe394a2f..1ccda62fa 100644
--- a/src/components/settingsItem/view/settingsItemView.js
+++ b/src/components/settingsItem/view/settingsItemView.js
@@ -12,9 +12,9 @@ import styles from './settingsItemStyles';
class SettingsItemView extends Component {
/* Props
- * ------------------------------------------------
- * @prop { type } name - Description....
- */
+ * ------------------------------------------------
+ * @prop { type } name - Description....
+ */
constructor(props) {
super(props);
@@ -26,7 +26,13 @@ class SettingsItemView extends Component {
// Component Functions
_renderItem = () => {
const {
- type, options, selectedOptionIndex, handleOnChange, text, isOn, actionType
+ type,
+ options,
+ selectedOptionIndex,
+ handleOnChange,
+ text,
+ isOn,
+ actionType,
} = this.props;
switch (type) {
@@ -47,7 +53,13 @@ class SettingsItemView extends Component {
);
case 'toggle':
- return handleOnChange(e, type, actionType)} />;
+ return (
+ handleOnChange(e, type, actionType)}
+ />
+ );
default:
return (
diff --git a/src/components/sideMenu/view/sideMenuStyles.js b/src/components/sideMenu/view/sideMenuStyles.js
index 0788137cc..0013bc80d 100644
--- a/src/components/sideMenu/view/sideMenuStyles.js
+++ b/src/components/sideMenu/view/sideMenuStyles.js
@@ -27,6 +27,12 @@ export default EStyleSheet.create({
},
otherUserAvatar: {
marginLeft: -15,
+ width: 32,
+ height: 32,
+ borderRadius: 32 / 2,
+ borderWidth: 0.1,
+ alignSelf: 'center',
+ borderColor: '$borderColor',
},
userInfoView: {
alignSelf: 'center',
@@ -52,14 +58,10 @@ export default EStyleSheet.create({
},
listItemText: {
color: '$primaryDarkGray',
- marginLeft: 15,
+ marginLeft: 12,
+ alignSelf: 'center',
fontWeight: '500',
- },
- linearGradient: {
- flex: 1,
- paddingLeft: 15,
- paddingRight: 15,
- borderRadius: 5,
+ fontSize: 14,
},
buttonText: {
fontSize: 18,
@@ -78,4 +80,9 @@ export default EStyleSheet.create({
addAccountIcon: {
padding: 10,
},
+ itemWrapper: {
+ flexDirection: 'row',
+ marginVertical: 20,
+ marginLeft: 48,
+ },
});
diff --git a/src/components/sideMenu/view/sideMenuView.js b/src/components/sideMenu/view/sideMenuView.js
index d0ea71780..631a808a7 100644
--- a/src/components/sideMenu/view/sideMenuView.js
+++ b/src/components/sideMenu/view/sideMenuView.js
@@ -1,9 +1,8 @@
import React, { Component } from 'react';
-import { View, Text, ImageBackground } from 'react-native';
-import { injectIntl } from 'react-intl';
import {
- Thumbnail, List, ListItem, Container,
-} from 'native-base';
+ View, Text, ImageBackground, FlatList, TouchableHighlight,
+} from 'react-native';
+import { injectIntl } from 'react-intl';
import LinearGradient from 'react-native-linear-gradient';
import FastImage from 'react-native-fast-image';
@@ -75,7 +74,7 @@ class SideMenuView extends Component {
: DEFAULT_IMAGE;
return (
-
+
- (
- (
+ {
- if (item.route) {
- navigateToRoute(item.route);
+ if (item.item.route) {
+ navigateToRoute(item.item.route);
} else {
- switchAccount(item.name);
+ switchAccount(item.item.name);
}
}}
>
- {item.icon && (
-
- )}
- {item.image && (
-
- )}
-
- {isAddAccountIconActive
- ? menuItems[menuItems.length - 1].id === item.id
- ? intl.formatMessage({ id: `side_menu.${item.id}` })
- : item.name
- :
- intl.formatMessage({ id: `side_menu.${item.id}` })
- }
-
-
+
+ {item.item.icon && (
+
+ )}
+ {item.item.image && (
+
+ )}
+
+ {isAddAccountIconActive
+ ? menuItems[menuItems.length - 1].id === item.item.id
+ ? intl.formatMessage({ id: `side_menu.${item.item.id}` })
+ : item.item.name
+ : intl.formatMessage({ id: `side_menu.${item.item.id}` })}
+
+
+
)}
/>
-
+
);
}
}
-export default injectIntl(SideMenuView);
\ No newline at end of file
+export default injectIntl(SideMenuView);
diff --git a/src/components/upvote/container/upvoteContainer.js b/src/components/upvote/container/upvoteContainer.js
index 512f4a1e0..125ca5991 100644
--- a/src/components/upvote/container/upvoteContainer.js
+++ b/src/components/upvote/container/upvoteContainer.js
@@ -36,7 +36,6 @@ class UpvoteContainer extends Component {
const mapStateToProps = state => ({
isLoggedIn: state.application.isLoggedIn,
- // TODO: Remove users as coming props. pass follow current account
currentAccount: state.account.currentAccount,
});
diff --git a/src/components/upvote/view/upvoteView.js b/src/components/upvote/view/upvoteView.js
index 0c9ba4bba..252d774ac 100644
--- a/src/components/upvote/view/upvoteView.js
+++ b/src/components/upvote/view/upvoteView.js
@@ -12,7 +12,6 @@ import { Icon } from '../../icon';
// STEEM
import { upvote, upvoteAmount } from '../../../providers/steem/dsteem';
import { decryptKey } from '../../../utils/crypto';
-import { getUserData } from '../../../realm/realm';
import { getDigitPinCode } from '../../../providers/steem/auth';
// Styles
@@ -27,7 +26,7 @@ class UpvoteView extends Component {
constructor(props) {
super(props);
this.state = {
- value: 0.0,
+ sliderValue: 0.0,
isVoting: false,
isVoted: props.content ? props.content.is_voted : false,
amount: '0.00',
@@ -40,59 +39,51 @@ class UpvoteView extends Component {
// Component Functions
_calculateEstimatedAmount = async () => {
- const { user } = this.props;
+ const { currentAccount } = this.props;
// Calculate total vesting shares
- if (user) {
- const { value } = this.state;
- const totalVests = parseFloat(user.vesting_shares)
- + parseFloat(user.received_vesting_shares)
- - parseFloat(user.delegated_vesting_shares);
+ if (currentAccount) {
+ const { sliderValue } = this.state;
+ const totalVests = parseFloat(currentAccount.vesting_shares)
+ + parseFloat(currentAccount.received_vesting_shares)
+ - parseFloat(currentAccount.delegated_vesting_shares);
const finalVest = totalVests * 1e6;
- const power = (user.voting_power * (value * 10000)) / 10000 / 50;
+ const power = (currentAccount.voting_power * (sliderValue * 10000)) / 10000 / 50;
const rshares = (power * finalVest) / 10000;
const estimated = await upvoteAmount(rshares);
this.setState({
- amount: estimated.toFixed(3),
+ amount: estimated.toFixed(5),
});
}
};
_upvoteContent = async () => {
- const { user, content } = this.props;
- const { value } = this.state;
-
- let postingKey;
- let userData;
+ const { currentAccount, content } = this.props;
+ const { sliderValue } = this.state;
this.setState({
isVoting: true,
});
const digitPinCode = await getDigitPinCode();
-
- await getUserData().then((result) => {
- userData = Array.from(result);
-
- postingKey = decryptKey(userData[0].postingKey, digitPinCode);
- });
+ const postingKey = decryptKey(currentAccount.realm_object.postingKey, digitPinCode);
upvote(
{
- voter: user && user.name,
+ voter: currentAccount && currentAccount.username,
author: content && content.author,
permlink: content && content.permlink,
- weight: value ? (value * 100).toFixed(0) * 100 : 0,
+ weight: sliderValue ? (sliderValue * 100).toFixed(0) * 100 : 0,
},
postingKey,
)
.then((res) => {
this.setState({
- isVoted: !!value,
+ isVoted: !!sliderValue,
isVoting: false,
});
})
@@ -108,10 +99,10 @@ class UpvoteView extends Component {
render() {
const { isLoggedIn, isShowPayoutValue, content } = this.props;
const {
- isVoting, isModalVisible, amount, value, isVoted,
+ isVoting, isModalVisible, amount, sliderValue, isVoted,
} = this.state;
- const _percent = `${(value * 100).toFixed(0)}%`;
+ const _percent = `${(sliderValue * 100).toFixed(0)}%`;
const _amount = `$${amount}`;
return (
@@ -184,9 +175,9 @@ class UpvoteView extends Component {
trackStyle={styles.track}
thumbStyle={styles.thumb}
thumbTintColor="#007ee5"
- value={value}
+ value={sliderValue}
onValueChange={(value) => {
- this.setState({ value }, () => {
+ this.setState({ sliderValue: value }, () => {
this._calculateEstimatedAmount();
});
}}
diff --git a/src/constants/options/api.js b/src/constants/options/api.js
index 9f630f8ba..e38bb5ee1 100644
--- a/src/constants/options/api.js
+++ b/src/constants/options/api.js
@@ -1,15 +1,15 @@
export default [
- 'https://api.steemit.com',
- 'https://rpc.esteem.app',
- 'https://rpc.steemviz.com',
- 'https://rpc.buildteam.io',
- 'https://api.steem.house'
+ 'api.steemit.com',
+ 'rpc.esteem.app',
+ 'rpc.steemviz.com',
+ 'rpc.buildteam.io',
+ 'api.steem.house',
];
export const VALUE = [
- 'https://api.steemit.com',
- 'https://rpc.esteem.app',
- 'https://rpc.steemviz.com',
- 'https://rpc.buildteam.io',
- 'https://api.steem.house'
+ 'api.steemit.com',
+ 'rpc.esteem.app',
+ 'rpc.steemviz.com',
+ 'rpc.buildteam.io',
+ 'api.steem.house',
];
diff --git a/src/constants/sideMenuItems.js b/src/constants/sideMenuItems.js
index d13130d15..c703ff317 100644
--- a/src/constants/sideMenuItems.js
+++ b/src/constants/sideMenuItems.js
@@ -3,7 +3,7 @@ import { default as ROUTES } from './routeNames';
const authMenuItems = [
{
name: 'Profile',
- route: 'Profile',
+ route: 'ProfileTabbar',
icon: 'user-o',
id: 'profile',
},
@@ -43,12 +43,6 @@ const authMenuItems = [
icon: 'gear',
id: 'settings',
},
- {
- name: 'Add Account',
- route: ROUTES.SCREENS.LOGIN,
- icon: 'plus-square-o',
- id: 'add_account',
- },
];
const noAuthMenuItems = [
diff --git a/src/globalStyles.js b/src/globalStyles.js
index 8a86bc2cd..2c388575a 100644
--- a/src/globalStyles.js
+++ b/src/globalStyles.js
@@ -51,7 +51,7 @@ export default EStyleSheet.create({
height: '$deviceHeight',
},
settingsContainer: {
- marginLeft: 48,
+ marginLeft: 42,
marginRight: 32,
},
});
diff --git a/src/providers/steem/dsteem.js b/src/providers/steem/dsteem.js
index 1f488f094..de296fe95 100644
--- a/src/providers/steem/dsteem.js
+++ b/src/providers/steem/dsteem.js
@@ -68,6 +68,7 @@ export const getUser = async (user) => {
const rcPower = await client.call('rc_api', 'find_rc_accounts', { accounts: [user] });
const unreadActivityCount = await getUnreadActivityCount({ user });
+ account[0].username = account[0].name;
account[0].unread_activity_count = unreadActivityCount;
account[0].rc_manabar = rcPower.rc_accounts[0].rc_manabar;
account[0].steem_power = await vestToSteem(
@@ -323,7 +324,12 @@ export const getPostWithComments = async (user, permlink) => {
* @param postingKey private posting key
*/
export const upvote = (vote, postingKey) => {
- const key = PrivateKey.fromString(postingKey);
+ let key;
+
+ try {
+ key = PrivateKey.fromString(postingKey);
+ } catch (error) {}
+
return new Promise((resolve, reject) => {
client.broadcast
.vote(vote, key)
@@ -353,9 +359,9 @@ export const upvoteAmount = async (input) => {
});
}
- const estimated = (input / parseFloat(rewardFund.recent_claims))
+ const estimated = (input / parseFloat(rewardFund.recent_claims))
* parseFloat(rewardFund.reward_balance)
- * parseFloat(medianPrice.base);
+ * (parseFloat(medianPrice.base) / parseFloat(medianPrice.quote));
return estimated;
};
diff --git a/src/providers/steem/steemConnect.js b/src/providers/steem/steemConnect.js
index ae1770660..33c500d91 100644
--- a/src/providers/steem/steemConnect.js
+++ b/src/providers/steem/steemConnect.js
@@ -8,7 +8,6 @@ export const vote = vote => new Promise((resolve, reject) => {
steemConnect
.vote(vote.voter, vote.author, vote.permlink, vote.weight)
.then((result) => {
- console.log(result);
resolve(result);
})
.catch((error) => {
@@ -32,7 +31,6 @@ export const comment = comment => new Promise((resolve, reject) => {
comment.jsonMetadata,
)
.then((result) => {
- console.log(result);
resolve(result);
})
.catch((error) => {
@@ -67,7 +65,6 @@ export const post = (post) => {
steemConnect
.broadcast(operations)
.then((result) => {
- console.log(result);
resolve(result);
})
.catch((error) => {
diff --git a/src/screens/application/container/applicationContainer.js b/src/screens/application/container/applicationContainer.js
index e9a84c660..657ebfd86 100644
--- a/src/screens/application/container/applicationContainer.js
+++ b/src/screens/application/container/applicationContainer.js
@@ -115,13 +115,12 @@ class ApplicationContainer extends Component {
const { dispatch } = this.props;
getSettings().then((response) => {
- console.log('response :', response);
if (response) {
response.isDarkTheme && dispatch(isDarkTheme(response.isDarkTheme));
response.language && dispatch(setLanguage(response.language));
response.currency && dispatch(setCurrency(response.currency));
response.notification && dispatch(isNotificationOpen(response.notification));
- response.server && dispatch(setApi(response.currency));
+ response.server && dispatch(setApi(response.server));
}
});
};
@@ -132,7 +131,6 @@ class ApplicationContainer extends Component {
ws.onmessage = (e) => {
// a message was received
- console.log('e.data :', e.data);
dispatch(updateUnreadActivityCount(unreadActivityCount + 1));
};
};
diff --git a/src/screens/discover/discover.js b/src/screens/discover/discover.js
index 15c10a16c..cab414f30 100644
--- a/src/screens/discover/discover.js
+++ b/src/screens/discover/discover.js
@@ -1,7 +1,7 @@
// TODO: Add top users from Surfer
import React from 'react';
-import { View, Text } from 'native-base';
+import { View, Text } from 'react-native';
class DiscoverPage extends React.Component {
constructor(props) {
diff --git a/src/screens/pinCode/screen/pinCodeScreen.js b/src/screens/pinCode/screen/pinCodeScreen.js
index 5ffa43242..b9a8af4c6 100644
--- a/src/screens/pinCode/screen/pinCodeScreen.js
+++ b/src/screens/pinCode/screen/pinCodeScreen.js
@@ -1,11 +1,13 @@
import React, { Component } from 'react';
import { Text, TouchableOpacity, View } from 'react-native';
-import { Container, Thumbnail } from 'native-base';
+import FastImage from 'react-native-fast-image';
import { NumericKeyboard, PinAnimatedInput } from '../../../components';
import styles from './pinCodeStyles';
+const DEFAULT_IMAGE = require('../../../assets/avatar_default.png');
+
class PinCodeScreen extends Component {
constructor(props) {
super(props);
@@ -52,9 +54,9 @@ class PinCodeScreen extends Component {
const { pin } = this.state;
return (
-
+
-
+
{`@${username}`}
@@ -79,7 +81,7 @@ class PinCodeScreen extends Component {
) : (
)}
-
+
);
}
}
diff --git a/src/screens/pinCode/screen/pinCodeStyles.js b/src/screens/pinCode/screen/pinCodeStyles.js
index 326b60e15..f1ac45495 100644
--- a/src/screens/pinCode/screen/pinCodeStyles.js
+++ b/src/screens/pinCode/screen/pinCodeStyles.js
@@ -50,4 +50,9 @@ export default EStyleSheet.create({
alignSelf: 'center',
marginBottom: 25,
},
+ avatar: {
+ width: 64,
+ height: 64,
+ borderRadius: 64 / 2,
+ },
});
diff --git a/src/screens/profile/container/profileContainer.js b/src/screens/profile/container/profileContainer.js
index 188ce7ed0..508abaf77 100644
--- a/src/screens/profile/container/profileContainer.js
+++ b/src/screens/profile/container/profileContainer.js
@@ -27,17 +27,15 @@ class ProfileContainer extends Component {
constructor(props) {
super(props);
this.state = {
- user: null,
comments: [],
- replies: [],
follows: {},
- isLoggedIn: false,
- isLoading: false,
- isReverseHeader: false,
- isReady: false,
isFollowing: false,
+ isLoading: false,
isMuted: false,
isProfileLoading: false,
+ isReady: false,
+ isReverseHeader: false,
+ user: null,
};
}
@@ -75,13 +73,10 @@ class ProfileContainer extends Component {
this.setState({
isReady: true,
comments: result,
- refreshing: false,
isLoading: false,
});
})
- .catch((err) => {
- console.log(err);
- });
+ .catch((err) => {});
};
_handleFollowUnfollowUser = async (isFollowAction) => {
@@ -256,13 +251,12 @@ class ProfileContainer extends Component {
isFollowing,
isMuted,
isLoading,
- isLoggedIn,
isReady,
isReverseHeader,
user,
username,
} = this.state;
- const { isDarkTheme } = this.props;
+ const { isDarkTheme, isLoggedIn } = this.props;
return (
@@ -271,19 +265,19 @@ class ProfileContainer extends Component {
comments={comments}
error={error}
follows={follows}
- handleOnFollowsPress={this._handleFollowsPress}
handleFollowUnfollowUser={this._handleFollowUnfollowUser}
handleMuteUnmuteUser={this._handleMuteUnmuteUser}
- isProfileLoading={isProfileLoading}
+ handleOnFollowsPress={this._handleFollowsPress}
+ isDarkTheme={isDarkTheme}
isFollowing={isFollowing}
isLoading={isLoading}
isLoggedIn={isLoggedIn}
- isReady={isReady}
isMuted={isMuted}
+ isProfileLoading={isProfileLoading}
+ isReady={isReady}
isReverseHeader={isReverseHeader}
user={user}
username={username}
- isDarkTheme={isDarkTheme}
/>
);
diff --git a/src/screens/profile/screen/profileScreen.js b/src/screens/profile/screen/profileScreen.js
index 708bcb211..dfe842819 100644
--- a/src/screens/profile/screen/profileScreen.js
+++ b/src/screens/profile/screen/profileScreen.js
@@ -1,4 +1,3 @@
-/* eslint-disable no-unused-vars */
import React, { Component, Fragment } from 'react';
import { View, ScrollView } from 'react-native';
import { injectIntl } from 'react-intl';
@@ -17,7 +16,6 @@ import { Wallet } from '../../../components/wallet';
// Utilitites
import { getFormatedCreatedDate } from '../../../utils/time';
import { getRcPower, getVotingPower } from '../../../utils/manaBar';
-import parseToken from '../../../utils/parseToken';
// Styles
import styles from './profileStyles';
@@ -92,7 +90,6 @@ class ProfileScreen extends Component {
// locked={!isLoggedIn}
>
{
- isLoggedIn = res.isLoggedIn;
- });
-
- if (isLoggedIn) {
- await getUserData().then((res) => {
- userData = Array.from(res);
- });
-
- user = await getUser(userData[0].username);
-
- await this.setState({
- user,
- });
-
- globalProperties = await globalProps();
- avail = parseFloat(this.state.user.vesting_shares)
- - (parseFloat(this.state.user.to_withdraw)
- - parseFloat(this.state.user.withdrawn))
- / 1e6
- - parseFloat(this.state.user.delegated_vesting_shares);
- vestSteem = parseFloat(
- parseFloat(globalProperties.total_vesting_fund_steem)
- * (parseFloat(avail)
- / parseFloat(globalProperties.total_vesting_shares)),
- 6,
- );
-
- console.log(avail);
- console.log(vestSteem);
- console.log(globalProperties);
-
- console.log(
- (parseFloat(globalProperties.total_vesting_fund_steem)
- / parseFloat(globalProperties.total_vesting_shares))
- * parseFloat(avail * this.state.value),
- );
- await this.setState({
- avail,
- vestSteem,
- globalProps: globalProperties,
- });
- }
- }
-
- sendSteem = async () => {
- let userData;
- let activeKey;
-
- transferData = {
- from: this.state.user.name,
- to: this.state.receiver,
- amount: `${this.state.amount} ${this.state.asset}`,
- memo: this.state.memo,
- };
-
- await getUserData()
- .then((result) => {
- userData = Array.from(result);
- activeKey = userData[0].activeKey;
- console.log(userData);
- console.log(activeKey);
- })
- .then(() => {
- activeKey = decryptKey(activeKey, 'pinCode');
- transferToken(transferData, activeKey);
- })
- .catch((error) => {
- console.log(error);
- });
- };
-
- delegateSP = async () => {
- let userData;
- let activeKey;
-
- vestSteem = parseFloat(
- parseFloat(this.state.globalProps.total_vesting_fund_steem)
- * (parseFloat(this.state.avail * this.state.value)
- / parseFloat(this.state.globalProps.total_vesting_shares)),
- 6,
- );
- const toWithdraw = (vestSteem * 1e6)
- / (parseFloat(this.state.globalProps.total_vesting_fund_steem)
- / (parseFloat(this.state.globalProps.total_vesting_shares) / 1e6));
- console.log(toWithdraw);
- data = {
- delegator: this.state.user.name,
- delegatee: 'demo',
- vesting_shares: `${toWithdraw.toFixed(6)} VESTS`,
- };
- await getUserData().then((res) => {
- userData = Array.from(res);
- });
-
- activeKey = decryptKey(userData[0].activeKey, 'pinCode');
-
- delegate(data, activeKey)
- .then((res) => {
- console.log(res);
- })
- .catch((err) => {
- console.log(err);
- });
- };
-
- powerUpSteem = async () => {
- let userData;
- let activeKey;
-
- await getUserData().then((res) => {
- userData = Array.from(res);
- });
-
- activeKey = decryptKey(userData[0].activeKey, 'pinCode');
-
- const data = {
- from: this.state.user.name,
- to: 'hsynterkr',
- amount: '001.000 STEEM',
- };
-
- transferToVesting(data, activeKey)
- .then((res) => {
- console.log(res);
- })
- .catch((error) => {
- console.log(error);
- });
- };
-
- powerDownSteem = async () => {
- let userData;
- let activeKey;
- let avail;
-
- await getUserData().then((res) => {
- userData = Array.from(res);
- });
-
- activeKey = decryptKey(userData[0].activeKey, 'pinCode');
-
- avail = parseFloat(this.state.user.vesting_shares)
- - (parseFloat(this.state.user.to_withdraw)
- - parseFloat(this.state.user.withdrawn))
- / 1e6
- - parseFloat(this.state.user.delegated_vesting_shares);
- const vestSteem = parseFloat(
- parseFloat(this.state.globalProps.total_vesting_fund_steem)
- * (parseFloat(avail * this.state.value)
- / parseFloat(this.state.globalProps.total_vesting_shares)),
- 6,
- );
- const toWithdraw = (vestSteem * 1e6)
- / (parseFloat(this.state.globalProps.total_vesting_fund_steem)
- / (parseFloat(this.state.globalProps.total_vesting_shares) / 1e6));
-
- const data = {
- account: this.state.user.name,
- vesting_shares: `${toWithdraw.toFixed(6)} VESTS`,
- };
-
- withdrawVesting(data, activeKey)
- .then((result) => {
- console.log(result);
- })
- .catch((error) => {
- console.log(error);
- });
- };
-
- render() {
- return (
-
-
-
-
-STEEM Balance:
- {this.state.user.balance}
-
-
-
-
-SBD Balance:
- {this.state.user.sbd_balance}
-
-
-
-
-STEEM Power:
- {this.state.user.steem_power}
- {' '}
-SP
-
-
- Received STEEM Power:
- {' '}
- {this.state.user.received_steem_power}
- {' '}
-SP
-
-
- Delegated Power Power:
- {' '}
- {this.state.user.delegated_steem_power}
- {' '}
-SP
-
-
-
-
-Saving STEEM Balance:
- {this.state.user.savings_balance}
-
-
- Saving STEEM Balance:
- {' '}
- {this.state.user.savings_sbd_balance}
-
-
-
-
- this.setState({ receiver: user })}
- value={this.state.receiver}
- />
- this.setState({ amount })}
- value={this.state.amount}
- />
- this.setState({ memo })}
- value={this.state.memo}
- />
-
- this.setState({ asset: itemValue })
- }
- >
-
-
-
-
-
-
-
- {
- this.setState({
- value,
- percent: Math.floor(value.toFixed(2) * 100),
- });
- }}
- />
-
- Total:
- {' '}
- {(parseInt(this.state.vestSteem) * this.state.percent) / 100}
- {' '}
-SP
-
-
- {Math.floor(this.state.value * 100)}
-%
-
-
-
-
-
-
-
-
-
- {
- this.setState(
- {
- value,
- percent: Math.floor(value.toFixed(2) * 100),
- },
- () => {
- const avail = parseFloat(this.state.user.vesting_shares)
- - (parseFloat(this.state.user.to_withdraw)
- - parseFloat(this.state.user.withdrawn))
- / 1e6
- - parseFloat(this.state.user.delegated_vesting_shares);
- const vestSteem = parseFloat(
- parseFloat(
- this.state.globalProps.total_vesting_fund_steem,
- )
- * (parseFloat(avail * this.state.value)
- / parseFloat(
- this.state.globalProps.total_vesting_shares,
- )),
- 6,
- );
- console.log(vestSteem);
- console.log(
- (vestSteem * 1e6)
- / (parseFloat(
- this.state.globalProps.total_vesting_fund_steem,
- )
- / (parseFloat(
- this.state.globalProps.total_vesting_shares,
- )
- / 1e6)),
- );
- },
- );
- }}
- />
-
- Total Steem Power:
- {' '}
- {(parseInt(this.state.vestSteem) * this.state.percent) / 100}
- {' '}
-SP
-
-
- Estimated Weekly:
- {' '}
- {Math.floor(
- ((
- (parseInt(this.state.vestSteem) * this.state.percent)
- / 100
- ).toFixed(0)
- / 13)
- * 100,
- ) / 100}
- {' '}
- SP
-
-
- {Math.floor(this.state.value * 100)}
-%
-
-
-
-
-
-
- );
- }
-}
-export default WalletPage;
diff --git a/src/styles/formInput.styles.js b/src/styles/formInput.styles.js
deleted file mode 100644
index d855a97b8..000000000
--- a/src/styles/formInput.styles.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import EStyleSheet from 'react-native-extended-stylesheet';
-
-export default EStyleSheet.create({
- container: {
- flex: 1,
- alignItems: 'center',
- justifyContent: 'center',
- },
- input: {
- backgroundColor: '$primaryGray',
- borderRadius: 5,
- padding: 15,
- minWidth: '$deviceWidth / 2',
- },
-});
diff --git a/yarn.lock b/yarn.lock
index 586743e43..358ccdc62 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -823,7 +823,7 @@ ansi-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
-ansi-styles@^2.1.0, ansi-styles@^2.2.1:
+ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
@@ -1418,11 +1418,6 @@ bl@^1.0.0:
readable-stream "^2.3.5"
safe-buffer "^5.1.1"
-blueimp-md5@^2.5.0:
- version "2.10.0"
- resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.10.0.tgz#02f0843921f90dca14f5b8920a38593201d6964d"
- integrity sha512-EkNUOi7tpV68TqjpiUz9D9NcT8um2+qtgntmMbi5UKssVX2m/2PLqotcric0RE63pB3HPN/fjf3cKHN2ufGSUQ==
-
bn.js@^4.11.3, bn.js@^4.4.0:
version "4.11.8"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
@@ -1662,17 +1657,6 @@ caseless@~0.12.0:
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
-chalk@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.1.tgz#509afb67066e7499f7eb3535c77445772ae2d019"
- integrity sha1-UJr7ZwZudJn36zU1x3RFdyri0Bk=
- dependencies:
- ansi-styles "^2.1.0"
- escape-string-regexp "^1.0.2"
- has-ansi "^2.0.0"
- strip-ansi "^3.0.0"
- supports-color "^2.0.0"
-
chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
@@ -1804,7 +1788,7 @@ collection-visit@^1.0.0:
map-visit "^1.0.0"
object-visit "^1.0.0"
-color-convert@^1.8.2, color-convert@^1.9.0:
+color-convert@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
@@ -1816,32 +1800,11 @@ color-name@1.1.3:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
-color-name@^1.0.0:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
-color-string@^1.4.0:
- version "1.5.3"
- resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
- integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==
- dependencies:
- color-name "^1.0.0"
- simple-swizzle "^0.2.2"
-
color-support@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
-color@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/color/-/color-1.0.3.tgz#e48e832d85f14ef694fb468811c2d5cfe729b55d"
- integrity sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=
- dependencies:
- color-convert "^1.8.2"
- color-string "^1.4.0"
-
combined-stream@^1.0.6, combined-stream@~1.0.6:
version "1.0.7"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828"
@@ -3277,14 +3240,6 @@ fs-extra@^1.0.0:
jsonfile "^2.1.0"
klaw "^1.0.0"
-fs-extra@^2.0.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35"
- integrity sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=
- dependencies:
- graceful-fs "^4.1.2"
- jsonfile "^2.1.0"
-
fs-extra@^4.0.2:
version "4.0.3"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
@@ -3581,11 +3536,6 @@ hmac-drbg@^1.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
-hoist-non-react-statics@^1.0.5:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb"
- integrity sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=
-
hoist-non-react-statics@^2.2.0, hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.0, hoist-non-react-statics@^2.5.5:
version "2.5.5"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
@@ -3865,11 +3815,6 @@ is-arrayish@^0.2.1:
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
-is-arrayish@^0.3.1:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
- integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
-
is-buffer@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
@@ -4421,11 +4366,6 @@ jest-mock@^23.2.0:
resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.2.0.tgz#ad1c60f29e8719d47c26e1138098b6d18b261134"
integrity sha1-rRxg8p6HGdR8JuETgJi20YsmETQ=
-jest-react-native@^18.0.0:
- version "18.0.0"
- resolved "https://registry.yarnpkg.com/jest-react-native/-/jest-react-native-18.0.0.tgz#77dd909f069324599f227c58c61c2e62168726ba"
- integrity sha1-d92QnwaTJFmfInxYxhwuYhaHJro=
-
jest-regex-util@^23.3.0:
version "23.3.0"
resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.3.0.tgz#5f86729547c2785c4002ceaa8f849fe8ca471bc5"
@@ -4956,12 +4896,7 @@ lodash.unescape@4.0.1:
resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c"
integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=
-lodash@4.17.10:
- version "4.17.10"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
- integrity sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==
-
-lodash@^4.0.0, lodash@^4.10.1, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.6.1:
+lodash@^4.0.0, lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.6.1:
version "4.17.11"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
@@ -5532,36 +5467,6 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1"
to-regex "^3.0.1"
-native-base-shoutem-theme@0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/native-base-shoutem-theme/-/native-base-shoutem-theme-0.2.2.tgz#5823310455fe391adf72236469c039fd44f56a20"
- integrity sha1-WCMxBFX+ORrfciNkacA5/UT1aiA=
- dependencies:
- hoist-non-react-statics "^1.0.5"
- lodash "^4.10.1"
- prop-types "^15.5.10"
-
-native-base@^2.8.1:
- version "2.8.1"
- resolved "https://registry.yarnpkg.com/native-base/-/native-base-2.8.1.tgz#8004a9dcfb69284137741857c3db880788f65581"
- integrity sha512-PCAJ2I8gnUia+HV9deT4CusX8Uk+w52xgPLHuo0OQOgo7cZjw7EAaCGWSFlUk7cBsDjswV5PvLzPMujYh8TkwQ==
- dependencies:
- blueimp-md5 "^2.5.0"
- clamp "^1.0.1"
- color "~1.0.3"
- fs-extra "^2.0.0"
- jest-react-native "^18.0.0"
- lodash "4.17.10"
- native-base-shoutem-theme "0.2.2"
- print-message "^2.1.0"
- prop-types "^15.5.10"
- react-native-drawer "2.5.0"
- react-native-easy-grid "0.2.0"
- react-native-keyboard-aware-scroll-view "0.5.0"
- react-native-vector-icons "4.6.0"
- react-tween-state "^0.1.5"
- tween-functions "^1.0.1"
-
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@@ -6215,13 +6120,6 @@ pretty-format@^4.2.1:
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-4.3.1.tgz#530be5c42b3c05b36414a7a2a4337aa80acd0e8d"
integrity sha1-UwvlxCs8BbNkFKeipDN6qArNDo0=
-print-message@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/print-message/-/print-message-2.1.0.tgz#b5588ed08b0e1bf77ac7bcb5cb78004afaf9a891"
- integrity sha1-tViO0IsOG/d6x7y1y3gASvr5qJE=
- dependencies:
- chalk "1.1.1"
-
private@^0.1.6, private@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
@@ -6316,13 +6214,6 @@ querystringify@^2.0.0:
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.0.tgz#7ded8dfbf7879dcc60d0a644ac6754b283ad17ef"
integrity sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==
-raf@^3.1.0:
- version "3.4.1"
- resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
- integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==
- dependencies:
- performance-now "^2.1.0"
-
randomatic@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed"
@@ -6386,6 +6277,11 @@ react-lifecycles-compat@^3, react-lifecycles-compat@^3.0.0, react-lifecycles-com
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
+react-native-actionsheet@^2.4.2:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/react-native-actionsheet/-/react-native-actionsheet-2.4.2.tgz#6a00dd51a75ef2c8974312130e405af73191500f"
+ integrity sha512-DBoWIvVwuWXuptF4t46pBqkFxaUxS+rsIdHiA05t0n4BdTIDV2R4s9bLEUVOGzb94D7VxIamsXZPA/3mmw+SXg==
+
react-native-animatable@^1.2.4:
version "1.3.0"
resolved "https://registry.yarnpkg.com/react-native-animatable/-/react-native-animatable-1.3.0.tgz#b5c3940fc758cfd9b2fe54613a457c4b6962b46e"
@@ -6417,21 +6313,6 @@ react-native-drawer-layout@1.3.2:
dependencies:
react-native-dismiss-keyboard "1.0.0"
-react-native-drawer@2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/react-native-drawer/-/react-native-drawer-2.5.0.tgz#022cba5c0516126a9fc9cce3185cb46c644b51c4"
- integrity sha512-I8rGv0EM6PxRWeq8g463OBt4DYoTri7v9rh98Qpg9q/JToZYTIjavjY0BwchDwyV7J5LdAg7IPbfZUYBkZJsZQ==
- dependencies:
- prop-types "^15.5.8"
- tween-functions "^1.0.1"
-
-react-native-easy-grid@0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/react-native-easy-grid/-/react-native-easy-grid-0.2.0.tgz#4718031aa1baaa2613b829fc807da288eb0d2797"
- integrity sha512-ZTi84+nJq2wwov55s1rHez0twk/8bs/AGnA5ERF8eYsMbOhBhOzzclj+TyY+/woB/2REAd9QQmWmIT/L999n6Q==
- dependencies:
- lodash "^4.11.1"
-
react-native-extended-stylesheet@^0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/react-native-extended-stylesheet/-/react-native-extended-stylesheet-0.10.0.tgz#bc77caf7494dcc67f681128dd8cb5e07dacef9dd"
@@ -6471,19 +6352,11 @@ react-native-image-crop-picker@^0.21.3:
resolved "https://registry.yarnpkg.com/react-native-image-crop-picker/-/react-native-image-crop-picker-0.21.3.tgz#04457a3f2a888949f51be4a670dcf2520b9994f8"
integrity sha512-qzY8aSYZxH4L9XYRk4V1n8x1gfq+ykNG0Kc0a9ne+JWwAQkf2P8aTKeNd4noNFZEOSJBiD4XXE/pbX55dQ5F3g==
-react-native-iphone-x-helper@^1.0.1, react-native-iphone-x-helper@^1.0.3:
+react-native-iphone-x-helper@^1.0.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.2.0.tgz#9f8a376eb00bc712115abff4420318a0063fa796"
integrity sha512-xIeTo4s77wwKgBZLVRIZC9tM9/PkXS46Ul76NXmvmixEb3ZwqGdQesR3zRiLMOoIdfOURB6N9bba9po7+x9Bag==
-react-native-keyboard-aware-scroll-view@0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/react-native-keyboard-aware-scroll-view/-/react-native-keyboard-aware-scroll-view-0.5.0.tgz#57ab933089375bf62f4324797e8be949ad97849d"
- integrity sha512-nGXsACZBCiWuwRrZy+UjiSJqb4tZ/6ePHUSY8M+09g4VfNm/ogvvWpwBa6B999NZ6DwhZTKBjVWeZxX9XG8bbQ==
- dependencies:
- prop-types "^15.6.0"
- react-native-iphone-x-helper "^1.0.1"
-
react-native-keyboard-aware-scroll-view@^0.7.2:
version "0.7.4"
resolved "https://registry.yarnpkg.com/react-native-keyboard-aware-scroll-view/-/react-native-keyboard-aware-scroll-view-0.7.4.tgz#80fb4b56f3c5cb399da0c6832ec52729856ac08a"
@@ -6576,15 +6449,6 @@ react-native-tab-view@^1.0.0:
dependencies:
prop-types "^15.6.1"
-react-native-vector-icons@4.6.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/react-native-vector-icons/-/react-native-vector-icons-4.6.0.tgz#e4014311ffa6de397d914ffc31b7097a874cc8d5"
- integrity sha512-rpfhfPiXCK2PX1nrNhdxSMrEGB/Gw/SvKoPM0G2wAkSoqynnes19K0VYI+Up7DqR1rFIpE4hP2erpT1tNx2tfg==
- dependencies:
- lodash "^4.0.0"
- prop-types "^15.5.10"
- yargs "^8.0.2"
-
react-native-vector-icons@^6.0.2:
version "6.1.0"
resolved "https://registry.yarnpkg.com/react-native-vector-icons/-/react-native-vector-icons-6.1.0.tgz#770a3f8ced692d75deb3afbb9829195ceed1eedd"
@@ -6756,14 +6620,6 @@ react-transform-hmr@^1.0.4:
global "^4.3.0"
react-proxy "^1.1.7"
-react-tween-state@^0.1.5:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/react-tween-state/-/react-tween-state-0.1.5.tgz#e98b066551efb93cb92dd1be14995c2e3deae339"
- integrity sha1-6YsGZVHvuTy5LdG+FJlcLj3q4zk=
- dependencies:
- raf "^3.1.0"
- tween-functions "^1.0.1"
-
react@^16.6.0-alpha.8af6728:
version "16.6.3"
resolved "https://registry.yarnpkg.com/react/-/react-16.6.3.tgz#25d77c91911d6bbdd23db41e70fb094cc1e0871c"
@@ -7416,13 +7272,6 @@ simple-plist@^0.2.1:
bplist-parser "0.1.1"
plist "2.0.1"
-simple-swizzle@^0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
- integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
- dependencies:
- is-arrayish "^0.3.1"
-
sisteransi@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce"
@@ -8012,11 +7861,6 @@ tunnel-agent@^0.6.0:
dependencies:
safe-buffer "^5.0.1"
-tween-functions@^1.0.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/tween-functions/-/tween-functions-1.2.0.tgz#1ae3a50e7c60bb3def774eac707acbca73bbc3ff"
- integrity sha1-GuOlDnxguz3vd06scHrLynO7w/8=
-
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"