mirror of
https://github.com/ecency/ecency-mobile.git
synced 2024-11-27 03:14:56 +03:00
Merge branch 'development' into bugfix/navigation
This commit is contained in:
commit
5af359bf66
@ -929,7 +929,7 @@
|
|||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = app.esteem.mobile.ios;
|
PRODUCT_BUNDLE_IDENTIFIER = app.esteem.mobile.ios;
|
||||||
PRODUCT_NAME = eSteem;
|
PRODUCT_NAME = eSteem;
|
||||||
PROVISIONING_PROFILE_SPECIFIER = dev09Dec;
|
PROVISIONING_PROFILE_SPECIFIER = dev;
|
||||||
TARGETED_DEVICE_FAMILY = "1,2";
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
};
|
};
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -4,7 +4,5 @@
|
|||||||
<dict>
|
<dict>
|
||||||
<key>aps-environment</key>
|
<key>aps-environment</key>
|
||||||
<string>development</string>
|
<string>development</string>
|
||||||
<key>com.apple.developer.associated-domains</key>
|
|
||||||
<array/>
|
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
@ -67,7 +67,6 @@
|
|||||||
"react-native-navigation-bar-color": "^0.1.0",
|
"react-native-navigation-bar-color": "^0.1.0",
|
||||||
"react-native-reanimated": "^1.3.0",
|
"react-native-reanimated": "^1.3.0",
|
||||||
"react-native-render-html": "^4.1.2",
|
"react-native-render-html": "^4.1.2",
|
||||||
"react-native-screens": "^2.0.0-alpha.16",
|
|
||||||
"react-native-scrollable-tab-view": "esteemapp/react-native-scrollable-tab-view",
|
"react-native-scrollable-tab-view": "esteemapp/react-native-scrollable-tab-view",
|
||||||
"react-native-slider": "^0.11.0",
|
"react-native-slider": "^0.11.0",
|
||||||
"react-native-snap-carousel": "^3.8.0",
|
"react-native-snap-carousel": "^3.8.0",
|
||||||
|
@ -37,6 +37,7 @@ export default EStyleSheet.create({
|
|||||||
position: 'absolute',
|
position: 'absolute',
|
||||||
right: 0,
|
right: 0,
|
||||||
bottom: -10,
|
bottom: -10,
|
||||||
|
padding: 10,
|
||||||
},
|
},
|
||||||
voteCountText: {
|
voteCountText: {
|
||||||
alignSelf: 'center',
|
alignSelf: 'center',
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import React, { PureComponent, Fragment } from 'react';
|
import React, { Fragment, useState, useRef } from 'react';
|
||||||
import { View, TouchableWithoutFeedback } from 'react-native';
|
import { View, TouchableWithoutFeedback } from 'react-native';
|
||||||
import ActionSheet from 'react-native-actionsheet';
|
import ActionSheet from 'react-native-actionsheet';
|
||||||
import { injectIntl } from 'react-intl';
|
import { useIntl } from 'react-intl';
|
||||||
import get from 'lodash/get';
|
import get from 'lodash/get';
|
||||||
|
|
||||||
import { getTimeFromNow } from '../../../utils/time';
|
import { getTimeFromNow } from '../../../utils/time';
|
||||||
@ -17,177 +17,162 @@ import { TextWithIcon } from '../../basicUIElements';
|
|||||||
// Styles
|
// Styles
|
||||||
import styles from './commentStyles';
|
import styles from './commentStyles';
|
||||||
|
|
||||||
class CommentView extends PureComponent {
|
const CommentView = ({
|
||||||
/* Props
|
avatarSize,
|
||||||
* ------------------------------------------------
|
comment,
|
||||||
* @prop { type } name - Description....
|
commentNumber,
|
||||||
*/
|
currentAccountUsername,
|
||||||
|
fetchPost,
|
||||||
constructor(props) {
|
handleDeleteComment,
|
||||||
super(props);
|
handleOnEditPress,
|
||||||
this.state = {
|
handleOnLongPress,
|
||||||
isShowSubComments: props.isShowSubComments || false,
|
handleOnReplyPress,
|
||||||
isPressedShowButton: false,
|
handleOnUserPress,
|
||||||
};
|
handleOnVotersPress,
|
||||||
}
|
isLoggedIn,
|
||||||
|
isShowComments,
|
||||||
// Component Life Cycles
|
isShowMoreButton,
|
||||||
// Component Functions
|
marginLeft,
|
||||||
|
voteCount,
|
||||||
_showSubCommentsToggle = () => {
|
mainAuthor = { mainAuthor },
|
||||||
const { isShowSubComments } = this.state;
|
isHideImage,
|
||||||
|
showAllComments,
|
||||||
this.setState({ isShowSubComments: !isShowSubComments, isPressedShowButton: true });
|
isShowSubComments,
|
||||||
|
hideManyCommentsButton,
|
||||||
|
}) => {
|
||||||
|
const [_isShowSubComments, setIsShowSubComments] = useState(isShowSubComments || false);
|
||||||
|
const [isPressedShowButton, setIsPressedShowButton] = useState(false);
|
||||||
|
const intl = useIntl();
|
||||||
|
const actionSheet = useRef(null);
|
||||||
|
const _showSubCommentsToggle = () => {
|
||||||
|
setIsShowSubComments(!_isShowSubComments);
|
||||||
|
setIsPressedShowButton(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
render() {
|
return (
|
||||||
const {
|
<TouchableWithoutFeedback onLongPress={handleOnLongPress}>
|
||||||
avatarSize,
|
<View>
|
||||||
comment,
|
<PostHeaderDescription
|
||||||
commentNumber,
|
key={comment.permlink}
|
||||||
currentAccountUsername,
|
date={getTimeFromNow(comment.created)}
|
||||||
fetchPost,
|
name={comment.author}
|
||||||
handleDeleteComment,
|
reputation={comment.author_reputation}
|
||||||
handleOnEditPress,
|
size={avatarSize || 24}
|
||||||
handleOnLongPress,
|
currentAccountUsername={currentAccountUsername}
|
||||||
handleOnReplyPress,
|
isShowOwnerIndicator={mainAuthor === comment.author}
|
||||||
handleOnUserPress,
|
isHideImage={isHideImage}
|
||||||
handleOnVotersPress,
|
/>
|
||||||
isLoggedIn,
|
<View style={[{ marginLeft: marginLeft || 29 }, styles.bodyWrapper]}>
|
||||||
isShowComments,
|
<PostBody
|
||||||
isShowMoreButton,
|
isComment
|
||||||
marginLeft,
|
commentDepth={comment.depth}
|
||||||
voteCount,
|
handleOnUserPress={handleOnUserPress}
|
||||||
intl,
|
body={comment.body}
|
||||||
mainAuthor = { mainAuthor },
|
textSelectable={false}
|
||||||
isHideImage,
|
|
||||||
} = this.props;
|
|
||||||
const { isShowSubComments, isPressedShowButton } = this.state;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<TouchableWithoutFeedback onLongPress={handleOnLongPress}>
|
|
||||||
<View>
|
|
||||||
<PostHeaderDescription
|
|
||||||
key={comment.permlink}
|
|
||||||
date={getTimeFromNow(comment.created)}
|
|
||||||
name={comment.author}
|
|
||||||
reputation={comment.author_reputation}
|
|
||||||
size={avatarSize || 24}
|
|
||||||
currentAccountUsername={currentAccountUsername}
|
|
||||||
isShowOwnerIndicator={mainAuthor === comment.author}
|
|
||||||
isHideImage={isHideImage}
|
|
||||||
/>
|
/>
|
||||||
<View style={[{ marginLeft: marginLeft || 29 }, styles.bodyWrapper]}>
|
<View style={styles.footerWrapper}>
|
||||||
<PostBody
|
{isLoggedIn && (
|
||||||
isComment
|
<Fragment>
|
||||||
commentDepth={comment.depth}
|
<Upvote isShowPayoutValue content={comment} />
|
||||||
handleOnUserPress={handleOnUserPress}
|
<TextWithIcon
|
||||||
body={comment.body}
|
iconName="people"
|
||||||
textSelectable={false}
|
iconSize={20}
|
||||||
/>
|
wrapperStyle={styles.leftButton}
|
||||||
<View style={styles.footerWrapper}>
|
iconType="MaterialIcons"
|
||||||
{isLoggedIn && (
|
isClickable
|
||||||
<Fragment>
|
onPress={() =>
|
||||||
<Upvote isShowPayoutValue content={comment} />
|
handleOnVotersPress &&
|
||||||
<TextWithIcon
|
voteCount > 0 &&
|
||||||
iconName="heart-outline"
|
handleOnVotersPress(get(comment, 'active_votes'))
|
||||||
iconSize={20}
|
}
|
||||||
wrapperStyle={styles.leftButton}
|
text={voteCount}
|
||||||
iconType="MaterialCommunityIcons"
|
textMarginLeft={20}
|
||||||
isClickable
|
textStyle={styles.voteCountText}
|
||||||
onPress={() =>
|
/>
|
||||||
handleOnVotersPress &&
|
<IconButton
|
||||||
voteCount > 0 &&
|
size={20}
|
||||||
handleOnVotersPress(get(comment, 'active_votes'))
|
iconStyle={styles.leftIcon}
|
||||||
}
|
style={styles.leftButton}
|
||||||
text={voteCount}
|
name="reply"
|
||||||
textMarginLeft={20}
|
onPress={() => handleOnReplyPress && handleOnReplyPress(comment)}
|
||||||
textStyle={styles.voteCountText}
|
iconType="MaterialIcons"
|
||||||
/>
|
/>
|
||||||
<IconButton
|
{currentAccountUsername === comment.author && (
|
||||||
size={20}
|
<Fragment>
|
||||||
iconStyle={styles.leftIcon}
|
<IconButton
|
||||||
style={styles.leftButton}
|
size={20}
|
||||||
name="comment-outline"
|
iconStyle={styles.leftIcon}
|
||||||
onPress={() => handleOnReplyPress && handleOnReplyPress(comment)}
|
style={styles.leftButton}
|
||||||
iconType="MaterialCommunityIcons"
|
name="create"
|
||||||
/>
|
onPress={() => handleOnEditPress && handleOnEditPress(comment)}
|
||||||
{currentAccountUsername === comment.author && (
|
iconType="MaterialIcons"
|
||||||
<Fragment>
|
/>
|
||||||
<IconButton
|
{!comment.children && !voteCount && (
|
||||||
size={20}
|
<Fragment>
|
||||||
iconStyle={styles.leftIcon}
|
<IconButton
|
||||||
style={styles.leftButton}
|
size={20}
|
||||||
name="create"
|
iconStyle={styles.leftIcon}
|
||||||
onPress={() => handleOnEditPress && handleOnEditPress(comment)}
|
style={styles.leftButton}
|
||||||
iconType="MaterialIcons"
|
name="delete-forever"
|
||||||
/>
|
onPress={() => actionSheet.current.show()}
|
||||||
{!comment.children && !voteCount && (
|
iconType="MaterialIcons"
|
||||||
<Fragment>
|
/>
|
||||||
<IconButton
|
<ActionSheet
|
||||||
size={20}
|
ref={actionSheet}
|
||||||
iconStyle={styles.leftIcon}
|
options={[
|
||||||
style={styles.leftButton}
|
intl.formatMessage({ id: 'alert.delete' }),
|
||||||
name="delete-forever"
|
intl.formatMessage({ id: 'alert.cancel' }),
|
||||||
onPress={() => this.ActionSheet.show()}
|
]}
|
||||||
iconType="MaterialIcons"
|
title={intl.formatMessage({ id: 'alert.delete' })}
|
||||||
/>
|
destructiveButtonIndex={0}
|
||||||
<ActionSheet
|
cancelButtonIndex={1}
|
||||||
// eslint-disable-next-line no-return-assign
|
onPress={index => {
|
||||||
ref={o => (this.ActionSheet = o)}
|
index === 0 ? handleDeleteComment(comment.permlink) : null;
|
||||||
options={[
|
}}
|
||||||
intl.formatMessage({ id: 'alert.delete' }),
|
/>
|
||||||
intl.formatMessage({ id: 'alert.cancel' }),
|
</Fragment>
|
||||||
]}
|
)}
|
||||||
title={intl.formatMessage({ id: 'alert.delete' })}
|
</Fragment>
|
||||||
destructiveButtonIndex={0}
|
)}
|
||||||
cancelButtonIndex={1}
|
</Fragment>
|
||||||
onPress={index => {
|
)}
|
||||||
index === 0 ? handleDeleteComment(comment.permlink) : null;
|
{!showAllComments && isShowMoreButton && (
|
||||||
}}
|
<View style={styles.rightButtonWrapper}>
|
||||||
/>
|
<TextWithIcon
|
||||||
</Fragment>
|
wrapperStyle={styles.rightButton}
|
||||||
)}
|
iconName={_isShowSubComments ? 'keyboard-arrow-up' : 'keyboard-arrow-down'}
|
||||||
</Fragment>
|
textStyle={!isPressedShowButton && styles.moreText}
|
||||||
)}
|
iconType="MaterialIcons"
|
||||||
</Fragment>
|
isClickable
|
||||||
)}
|
iconStyle={styles.iconStyle}
|
||||||
{isShowMoreButton && (
|
iconSize={16}
|
||||||
<View style={styles.rightButtonWrapper}>
|
onPress={() => _showSubCommentsToggle()}
|
||||||
<TextWithIcon
|
text={!isPressedShowButton ? `${comment.children} more replies` : ''}
|
||||||
wrapperStyle={styles.rightButton}
|
/>
|
||||||
iconName={isShowSubComments ? 'keyboard-arrow-up' : 'keyboard-arrow-down'}
|
</View>
|
||||||
textStyle={!isPressedShowButton && styles.moreText}
|
|
||||||
iconType="MaterialIcons"
|
|
||||||
isClickable
|
|
||||||
iconStyle={styles.iconStyle}
|
|
||||||
iconSize={16}
|
|
||||||
onPress={() => this._showSubCommentsToggle()}
|
|
||||||
text={!isPressedShowButton ? `${comment.children} more replies` : ''}
|
|
||||||
/>
|
|
||||||
</View>
|
|
||||||
)}
|
|
||||||
</View>
|
|
||||||
{isShowSubComments && commentNumber > 0 && (
|
|
||||||
<Comments
|
|
||||||
isShowComments={isShowComments}
|
|
||||||
commentNumber={commentNumber && commentNumber * 2}
|
|
||||||
marginLeft={20}
|
|
||||||
isShowSubComments={isShowSubComments}
|
|
||||||
avatarSize={avatarSize || 16}
|
|
||||||
author={comment.author}
|
|
||||||
permlink={comment.permlink}
|
|
||||||
commentCount={comment.children}
|
|
||||||
isShowMoreButton={false}
|
|
||||||
fetchPost={fetchPost}
|
|
||||||
mainAuthor={mainAuthor}
|
|
||||||
/>
|
|
||||||
)}
|
)}
|
||||||
</View>
|
</View>
|
||||||
|
{_isShowSubComments && commentNumber > 0 && (
|
||||||
|
<Comments
|
||||||
|
isShowComments={isShowComments}
|
||||||
|
commentNumber={commentNumber + 1}
|
||||||
|
marginLeft={20}
|
||||||
|
isShowSubComments={true}
|
||||||
|
avatarSize={avatarSize || 16}
|
||||||
|
author={comment.author}
|
||||||
|
permlink={comment.permlink}
|
||||||
|
commentCount={comment.children}
|
||||||
|
isShowMoreButton={false}
|
||||||
|
hasManyComments={commentNumber === 5 && get(comment, 'children') > 0}
|
||||||
|
fetchPost={fetchPost}
|
||||||
|
hideManyCommentsButton={hideManyCommentsButton}
|
||||||
|
mainAuthor={mainAuthor}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
</View>
|
</View>
|
||||||
</TouchableWithoutFeedback>
|
</View>
|
||||||
);
|
</TouchableWithoutFeedback>
|
||||||
}
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
export default injectIntl(CommentView);
|
export default CommentView;
|
||||||
|
@ -261,11 +261,16 @@ class CommentsContainer extends Component {
|
|||||||
isOwnProfile,
|
isOwnProfile,
|
||||||
isHideImage,
|
isHideImage,
|
||||||
isShowSubComments,
|
isShowSubComments,
|
||||||
|
hasManyComments,
|
||||||
|
showAllComments,
|
||||||
|
hideManyCommentsButton,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<CommentsView
|
<CommentsView
|
||||||
key={selectedFilter}
|
key={selectedFilter}
|
||||||
|
hasManyComments={hasManyComments}
|
||||||
|
hideManyCommentsButton={hideManyCommentsButton}
|
||||||
selectedFilter={selectedFilter}
|
selectedFilter={selectedFilter}
|
||||||
selectedPermlink={_selectedPermlink || selectedPermlink}
|
selectedPermlink={_selectedPermlink || selectedPermlink}
|
||||||
author={author}
|
author={author}
|
||||||
@ -285,6 +290,7 @@ class CommentsContainer extends Component {
|
|||||||
isHideImage={isHideImage}
|
isHideImage={isHideImage}
|
||||||
handleOnVotersPress={this._handleOnVotersPress}
|
handleOnVotersPress={this._handleOnVotersPress}
|
||||||
isShowSubComments={isShowSubComments}
|
isShowSubComments={isShowSubComments}
|
||||||
|
showAllComments={showAllComments}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -4,4 +4,18 @@ export default EStyleSheet.create({
|
|||||||
list: {
|
list: {
|
||||||
marginBottom: 20,
|
marginBottom: 20,
|
||||||
},
|
},
|
||||||
|
moreRepliesButtonWrapper: {
|
||||||
|
backgroundColor: '$iconColor',
|
||||||
|
height: 18,
|
||||||
|
justifyContent: 'center',
|
||||||
|
alignItems: 'center',
|
||||||
|
borderRadius: 20,
|
||||||
|
marginTop: 15,
|
||||||
|
minWidth: 40,
|
||||||
|
maxWidth: 170,
|
||||||
|
},
|
||||||
|
moreRepliesText: {
|
||||||
|
color: '$white',
|
||||||
|
fontSize: 10,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
@ -1,114 +1,122 @@
|
|||||||
import React, { Component, Fragment } from 'react';
|
import React, { useState, Fragment, useRef } from 'react';
|
||||||
import { FlatList } from 'react-native';
|
import { FlatList } from 'react-native';
|
||||||
import ActionSheet from 'react-native-actionsheet';
|
import ActionSheet from 'react-native-actionsheet';
|
||||||
import get from 'lodash/get';
|
import get from 'lodash/get';
|
||||||
import { injectIntl } from 'react-intl';
|
import { useIntl } from 'react-intl';
|
||||||
|
import { navigate } from '../../../navigation/service';
|
||||||
|
|
||||||
// Components
|
// Components
|
||||||
// eslint-disable-next-line import/no-cycle
|
import { Comment, TextButton } from '../..';
|
||||||
import { Comment } from '../../comment';
|
|
||||||
|
// Constants
|
||||||
|
import ROUTES from '../../../constants/routeNames';
|
||||||
|
|
||||||
// Styles
|
// Styles
|
||||||
import styles from './commentStyles';
|
import styles from './commentStyles';
|
||||||
|
|
||||||
class CommentsView extends Component {
|
const CommentsView = ({
|
||||||
/* Props
|
avatarSize,
|
||||||
* ------------------------------------------------
|
commentCount,
|
||||||
* @prop { type } name - Description....
|
commentNumber,
|
||||||
*/
|
comments,
|
||||||
|
currentAccountUsername,
|
||||||
|
fetchPost,
|
||||||
|
handleDeleteComment,
|
||||||
|
handleOnEditPress,
|
||||||
|
handleOnPressCommentMenu,
|
||||||
|
handleOnReplyPress,
|
||||||
|
handleOnUserPress,
|
||||||
|
handleOnVotersPress,
|
||||||
|
hasManyComments,
|
||||||
|
isHideImage,
|
||||||
|
isLoggedIn,
|
||||||
|
isOwnProfile,
|
||||||
|
isShowSubComments,
|
||||||
|
mainAuthor,
|
||||||
|
marginLeft,
|
||||||
|
isShowMoreButton,
|
||||||
|
showAllComments,
|
||||||
|
hideManyCommentsButton,
|
||||||
|
}) => {
|
||||||
|
const [selectedComment, setSelectedComment] = useState(null);
|
||||||
|
const intl = useIntl();
|
||||||
|
const commentMenu = useRef();
|
||||||
|
|
||||||
constructor(props) {
|
const _keyExtractor = item => get(item, 'permlink');
|
||||||
super(props);
|
|
||||||
this.state = {
|
|
||||||
selectedComment: null,
|
|
||||||
};
|
|
||||||
this.commentMenu = React.createRef();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Component Life Cycles
|
const _openCommentMenu = item => {
|
||||||
|
setSelectedComment(item);
|
||||||
// Component Functions
|
commentMenu.current.show();
|
||||||
|
|
||||||
_keyExtractor = item => item.permlink;
|
|
||||||
|
|
||||||
_openCommentMenu = item => {
|
|
||||||
this.setState({ selectedComment: item });
|
|
||||||
this.commentMenu.current.show();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
render() {
|
const _readMoreComments = () => {
|
||||||
const {
|
navigate({
|
||||||
mainAuthor,
|
routeName: ROUTES.SCREENS.COMMENTS,
|
||||||
avatarSize,
|
params: { comments, fetchPost, handleOnVotersPress },
|
||||||
commentCount,
|
});
|
||||||
commentNumber,
|
};
|
||||||
comments,
|
|
||||||
currentAccountUsername,
|
|
||||||
fetchPost,
|
|
||||||
handleOnEditPress,
|
|
||||||
handleOnReplyPress,
|
|
||||||
handleOnUserPress,
|
|
||||||
isLoggedIn,
|
|
||||||
isShowSubComments,
|
|
||||||
marginLeft,
|
|
||||||
handleDeleteComment,
|
|
||||||
handleOnPressCommentMenu,
|
|
||||||
handleOnVotersPress,
|
|
||||||
intl,
|
|
||||||
isOwnProfile,
|
|
||||||
isHideImage,
|
|
||||||
} = this.props;
|
|
||||||
const { selectedComment } = this.state;
|
|
||||||
|
|
||||||
const menuItems = isOwnProfile
|
const menuItems = isOwnProfile
|
||||||
? [
|
? [
|
||||||
intl.formatMessage({ id: 'post.copy_link' }),
|
intl.formatMessage({ id: 'post.copy_link' }),
|
||||||
intl.formatMessage({ id: 'post.open_thread' }),
|
intl.formatMessage({ id: 'post.open_thread' }),
|
||||||
intl.formatMessage({ id: 'alert.cancel' }),
|
intl.formatMessage({ id: 'alert.cancel' }),
|
||||||
]
|
]
|
||||||
: [intl.formatMessage({ id: 'post.copy_link' }), intl.formatMessage({ id: 'alert.cancel' })];
|
: [intl.formatMessage({ id: 'post.copy_link' }), intl.formatMessage({ id: 'alert.cancel' })];
|
||||||
|
|
||||||
|
if (!hideManyCommentsButton && hasManyComments) {
|
||||||
return (
|
return (
|
||||||
<Fragment>
|
<TextButton
|
||||||
<FlatList
|
style={styles.moreRepliesButtonWrapper}
|
||||||
style={styles.list}
|
textStyle={styles.moreRepliesText}
|
||||||
data={comments}
|
onPress={() => _readMoreComments()}
|
||||||
keyExtractor={this._keyExtractor}
|
text="Read more comments"
|
||||||
renderItem={({ item }) => (
|
/>
|
||||||
<Comment
|
|
||||||
mainAuthor={mainAuthor}
|
|
||||||
avatarSize={avatarSize}
|
|
||||||
comment={item}
|
|
||||||
commentCount={commentCount || get(item.children)}
|
|
||||||
commentNumber={commentNumber}
|
|
||||||
handleDeleteComment={handleDeleteComment}
|
|
||||||
currentAccountUsername={currentAccountUsername}
|
|
||||||
fetchPost={fetchPost}
|
|
||||||
handleOnEditPress={handleOnEditPress}
|
|
||||||
handleOnReplyPress={handleOnReplyPress}
|
|
||||||
handleOnUserPress={handleOnUserPress}
|
|
||||||
handleOnVotersPress={handleOnVotersPress}
|
|
||||||
isHideImage={isHideImage}
|
|
||||||
isLoggedIn={isLoggedIn}
|
|
||||||
isShowMoreButton={commentNumber === 1 && get(item, 'children') > 0}
|
|
||||||
voteCount={get(item, 'vote_count')}
|
|
||||||
isShowSubComments={isShowSubComments}
|
|
||||||
key={item.permlink}
|
|
||||||
marginLeft={marginLeft}
|
|
||||||
handleOnLongPress={() => this._openCommentMenu(item)}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
<ActionSheet
|
|
||||||
ref={this.commentMenu}
|
|
||||||
options={menuItems}
|
|
||||||
title={get(selectedComment, 'summary')}
|
|
||||||
cancelButtonIndex={isOwnProfile ? 2 : 1}
|
|
||||||
onPress={index => handleOnPressCommentMenu(index, selectedComment)}
|
|
||||||
/>
|
|
||||||
</Fragment>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
export default injectIntl(CommentsView);
|
return (
|
||||||
|
<Fragment>
|
||||||
|
<FlatList
|
||||||
|
style={styles.list}
|
||||||
|
data={comments}
|
||||||
|
keyExtractor={_keyExtractor}
|
||||||
|
renderItem={({ item }) => (
|
||||||
|
<Comment
|
||||||
|
mainAuthor={mainAuthor}
|
||||||
|
avatarSize={avatarSize}
|
||||||
|
hideManyCommentsButton={hideManyCommentsButton}
|
||||||
|
comment={item}
|
||||||
|
commentCount={commentCount || get(item, 'children')}
|
||||||
|
commentNumber={commentNumber}
|
||||||
|
handleDeleteComment={handleDeleteComment}
|
||||||
|
currentAccountUsername={currentAccountUsername}
|
||||||
|
fetchPost={fetchPost}
|
||||||
|
handleOnEditPress={handleOnEditPress}
|
||||||
|
handleOnReplyPress={handleOnReplyPress}
|
||||||
|
handleOnUserPress={handleOnUserPress}
|
||||||
|
handleOnVotersPress={handleOnVotersPress}
|
||||||
|
isHideImage={isHideImage}
|
||||||
|
isLoggedIn={isLoggedIn}
|
||||||
|
isShowMoreButton={commentNumber === 1 && get(item, 'children') > 0}
|
||||||
|
showAllComments={showAllComments}
|
||||||
|
voteCount={get(item, 'vote_count')}
|
||||||
|
isShowSubComments={isShowSubComments}
|
||||||
|
key={get(item, 'permlink')}
|
||||||
|
marginLeft={marginLeft}
|
||||||
|
handleOnLongPress={() => _openCommentMenu(item)}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
/>
|
||||||
|
<ActionSheet
|
||||||
|
ref={commentMenu}
|
||||||
|
options={menuItems}
|
||||||
|
title={get(selectedComment, 'summary')}
|
||||||
|
cancelButtonIndex={isOwnProfile ? 2 : 1}
|
||||||
|
onPress={index => handleOnPressCommentMenu(index, selectedComment)}
|
||||||
|
/>
|
||||||
|
</Fragment>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default CommentsView;
|
||||||
|
@ -222,25 +222,29 @@ class ProfileView extends PureComponent {
|
|||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</View>
|
</View>
|
||||||
<View
|
{!isOwnProfile && (
|
||||||
tabLabel={
|
<View
|
||||||
estimatedWalletValue
|
tabLabel={
|
||||||
? `${currencySymbol} ${(estimatedWalletValue * currencyRate).toFixed()}`
|
estimatedWalletValue
|
||||||
: intl.formatMessage({
|
? `${currencySymbol} ${(estimatedWalletValue * currencyRate).toFixed()}`
|
||||||
id: 'profile.wallet',
|
: intl.formatMessage({
|
||||||
})
|
id: 'profile.wallet',
|
||||||
}
|
})
|
||||||
>
|
}
|
||||||
{selectedUser ? (
|
>
|
||||||
<Wallet
|
{selectedUser ? (
|
||||||
setEstimatedWalletValue={value => this.setState({ estimatedWalletValue: value })}
|
<Wallet
|
||||||
selectedUser={selectedUser}
|
setEstimatedWalletValue={value =>
|
||||||
handleOnScroll={isSummaryOpen ? this._handleOnScroll : null}
|
this.setState({ estimatedWalletValue: value })
|
||||||
/>
|
}
|
||||||
) : (
|
selectedUser={selectedUser}
|
||||||
<WalletDetailsPlaceHolder />
|
handleOnScroll={isSummaryOpen ? this._handleOnScroll : null}
|
||||||
)}
|
/>
|
||||||
</View>
|
) : (
|
||||||
|
<WalletDetailsPlaceHolder />
|
||||||
|
)}
|
||||||
|
</View>
|
||||||
|
)}
|
||||||
</ScrollableTabView>
|
</ScrollableTabView>
|
||||||
</SafeAreaView>
|
</SafeAreaView>
|
||||||
</Fragment>
|
</Fragment>
|
||||||
|
@ -430,5 +430,8 @@
|
|||||||
"current_time": "Current time;",
|
"current_time": "Current time;",
|
||||||
"information": "We noticed that your device has incorrect date or time. Please fix Date & Time or Set Automatically and try again."
|
"information": "We noticed that your device has incorrect date or time. Please fix Date & Time or Set Automatically and try again."
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"comments": {
|
||||||
|
"title": "Comments"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
{
|
{
|
||||||
"wallet": {
|
"wallet": {
|
||||||
"curation_reward": "Curation Reward",
|
"curation_reward": "Xelata Kuratorê",
|
||||||
"author_reward": "Xelata Nivîskarî",
|
"author_reward": "Xelata Nivîskêr",
|
||||||
"comment_benefactor_reward": "Comment Benefactor Reward",
|
"comment_benefactor_reward": "Comment Benefactor Reward",
|
||||||
"claim_reward_balance": "Claim Reward Balance",
|
"claim_reward_balance": "Claim Reward Balance",
|
||||||
"transfer": "Transfer",
|
"transfer": "Veguheztin",
|
||||||
"transfer_to_vesting": "Transfer To Vesting",
|
"transfer_to_vesting": "Transfer To Vesting",
|
||||||
"transfer_from_savings": "Transfer From Savings",
|
"transfer_from_savings": "Transfer From Savings",
|
||||||
"withdraw_vesting": "Power Down",
|
"withdraw_vesting": "Kêmhêz Bike",
|
||||||
"fill_order": "Fill Order",
|
"fill_order": "Fill Order",
|
||||||
"post": "Şandî",
|
"post": "Şandî",
|
||||||
"comment": "Şîrove",
|
"comment": "Şîrove",
|
||||||
@ -19,7 +19,7 @@
|
|||||||
"outgoing_transfer_title": "Outgoing transfer",
|
"outgoing_transfer_title": "Outgoing transfer",
|
||||||
"checkin_extra": "Bonus",
|
"checkin_extra": "Bonus",
|
||||||
"delegation": "Şande",
|
"delegation": "Şande",
|
||||||
"delegations": "Delegations",
|
"delegations": "Şande",
|
||||||
"delegation_title": "Xelata şandeyê",
|
"delegation_title": "Xelata şandeyê",
|
||||||
"delegation_desc": "Earn ESTM everyday for delegation",
|
"delegation_desc": "Earn ESTM everyday for delegation",
|
||||||
"post_title": "Puanên ji bo şandiyê",
|
"post_title": "Puanên ji bo şandiyê",
|
||||||
@ -39,30 +39,30 @@
|
|||||||
"reblog_desc": "Share what post you like with your friends and earn points.",
|
"reblog_desc": "Share what post you like with your friends and earn points.",
|
||||||
"login_desc": "When you login into app first time you earn 100 points.",
|
"login_desc": "When you login into app first time you earn 100 points.",
|
||||||
"checkin_extra_desc": "Consistent use of app gives you extra chances to earn more points, be more active and earn more.",
|
"checkin_extra_desc": "Consistent use of app gives you extra chances to earn more points, be more active and earn more.",
|
||||||
"dropdown_transfer": "Gift",
|
"dropdown_transfer": "Diyarî",
|
||||||
"dropdown_promote": "Promote",
|
"dropdown_promote": "Promote",
|
||||||
"dropdown_boost": "Boost",
|
"dropdown_boost": "Zêde bike",
|
||||||
"from": "From",
|
"from": "Ji",
|
||||||
"to": "To",
|
"to": "Bo",
|
||||||
"estimated_value_desc": "Determined by purchase value",
|
"estimated_value_desc": "Determined by purchase value",
|
||||||
"estimated_value": "Estimated value",
|
"estimated_value": "Estimated value",
|
||||||
"estimated_amount": "Vote value",
|
"estimated_amount": "Rêjeya dengan",
|
||||||
"amount_information": "Drag the slider to adjust the amount",
|
"amount_information": "Drag the slider to adjust the amount",
|
||||||
"amount": "Amount",
|
"amount": "Pîvan",
|
||||||
"memo": "Memo",
|
"memo": "Bîrname",
|
||||||
"information": "Are you sure to transfer funds?",
|
"information": "Are you sure to transfer funds?",
|
||||||
"amount_desc": "Balance",
|
"amount_desc": "Balance",
|
||||||
"memo_desc": "This memo is public",
|
"memo_desc": "This memo is public",
|
||||||
"to_placeholder": "Username",
|
"to_placeholder": "Navê bikarhêner",
|
||||||
"memo_placeholder": "Enter your notes here",
|
"memo_placeholder": "Notên xwe li vir binivîse",
|
||||||
"transfer_token": "Transfer",
|
"transfer_token": "Transfer",
|
||||||
"points": "Gift ESTM to someone",
|
"points": "Gift ESTM to someone",
|
||||||
"transfer_to_saving": "Transfer To Saving",
|
"transfer_to_saving": "Transfer To Saving",
|
||||||
"powerUp": "Power Up",
|
"powerUp": "Bihêz Bike",
|
||||||
"withdraw_to_saving": "Withdraw To Saving",
|
"withdraw_to_saving": "Withdraw To Saving",
|
||||||
"steemconnect_title": "Steemconnect Transfer",
|
"steemconnect_title": "Veguheztina Steemconnectê",
|
||||||
"next": "NEXT",
|
"next": "PÊŞVE",
|
||||||
"delegate": "Delegate",
|
"delegate": "Şande",
|
||||||
"power_down": "Power Down",
|
"power_down": "Power Down",
|
||||||
"withdraw_steem": "Withdraw Steem",
|
"withdraw_steem": "Withdraw Steem",
|
||||||
"withdraw_sbd": "Withdraw Steem Dollar",
|
"withdraw_sbd": "Withdraw Steem Dollar",
|
||||||
@ -89,14 +89,14 @@
|
|||||||
},
|
},
|
||||||
"steem": {
|
"steem": {
|
||||||
"title": "STEEM",
|
"title": "STEEM",
|
||||||
"buy": "GET STEEM"
|
"buy": "STEEMê BISTÎNE"
|
||||||
},
|
},
|
||||||
"sbd": {
|
"sbd": {
|
||||||
"title": "SBD",
|
"title": "SBD",
|
||||||
"buy": "GET SBD"
|
"buy": "SBDê BISTÎNE"
|
||||||
},
|
},
|
||||||
"steem_power": {
|
"steem_power": {
|
||||||
"title": "STEEM POWER"
|
"title": "HÊZA STEEMê"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"notification": {
|
"notification": {
|
||||||
@ -120,9 +120,9 @@
|
|||||||
"older_then": "Older Than A Month"
|
"older_then": "Older Than A Month"
|
||||||
},
|
},
|
||||||
"leaderboard": {
|
"leaderboard": {
|
||||||
"daily": "DAILY",
|
"daily": "ROJANE",
|
||||||
"weekly": "WEEKLY",
|
"weekly": "HEFTANE",
|
||||||
"monthly": "MONTHLY"
|
"monthly": "MEHANE"
|
||||||
},
|
},
|
||||||
"messages": {
|
"messages": {
|
||||||
"comingsoon": "Di nêz de taybetiya peyaman li vir e!"
|
"comingsoon": "Di nêz de taybetiya peyaman li vir e!"
|
||||||
@ -130,7 +130,7 @@
|
|||||||
"profile": {
|
"profile": {
|
||||||
"following": "Şopandin",
|
"following": "Şopandin",
|
||||||
"follower": "Şopîner",
|
"follower": "Şopîner",
|
||||||
"post": "Post",
|
"post": "Şandî",
|
||||||
"details": "Hûrgiliyên Profîlê",
|
"details": "Hûrgiliyên Profîlê",
|
||||||
"comments": "Şîrove",
|
"comments": "Şîrove",
|
||||||
"replies": "Bersiv",
|
"replies": "Bersiv",
|
||||||
@ -145,15 +145,15 @@
|
|||||||
"havent_posted": "heta niha ti tişt parve nebûye",
|
"havent_posted": "heta niha ti tişt parve nebûye",
|
||||||
"steem_power": "Hêza Steemê",
|
"steem_power": "Hêza Steemê",
|
||||||
"next_power_text": "Next power down is in",
|
"next_power_text": "Next power down is in",
|
||||||
"days": "days",
|
"days": "roj",
|
||||||
"day": "day",
|
"day": "roj",
|
||||||
"steem_dollars": "Dolarên Steemê",
|
"steem_dollars": "Dolarên Steemê",
|
||||||
"savings": "Savings",
|
"savings": "Berhev bike",
|
||||||
"edit": {
|
"edit": {
|
||||||
"display_name": "Display Name",
|
"display_name": "Display Name",
|
||||||
"about": "About",
|
"about": "Derbar",
|
||||||
"location": "Location",
|
"location": "Cîgeh",
|
||||||
"website": "Website"
|
"website": "Malper"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
@ -177,30 +177,30 @@
|
|||||||
"reset": "Nûsaz bike",
|
"reset": "Nûsaz bike",
|
||||||
"nsfw_content": "NSFW",
|
"nsfw_content": "NSFW",
|
||||||
"send_feedback": "Paşragihandin Bişîne",
|
"send_feedback": "Paşragihandin Bişîne",
|
||||||
"send": "Send",
|
"send": "Bişîne",
|
||||||
"default_footer": "Default Footer",
|
"default_footer": "Default Footer",
|
||||||
"nsfw": {
|
"nsfw": {
|
||||||
"always_show": "Always show",
|
"always_show": "Her tim nîşan bide",
|
||||||
"always_hide": "Always hide",
|
"always_hide": "Her tim veşêre",
|
||||||
"always_warn": "Always warn"
|
"always_warn": "Her tim hişyar bike"
|
||||||
},
|
},
|
||||||
"feedback_success": "Email successfully open",
|
"feedback_success": "Epeyam bi serkeftî vebû",
|
||||||
"feedback_fail": "Email client could not open",
|
"feedback_fail": "Stînera epeyamê venebû",
|
||||||
"server_fail": "Server not available"
|
"server_fail": "Server not available"
|
||||||
},
|
},
|
||||||
"voters": {
|
"voters": {
|
||||||
"voters_info": "Voters Info",
|
"voters_info": "Agahiya Dengdêran",
|
||||||
"no_user": "User is not found."
|
"no_user": "Bikarhêner nehate dîtin."
|
||||||
},
|
},
|
||||||
"login": {
|
"login": {
|
||||||
"signin": "Sign in",
|
"signin": "Têketin",
|
||||||
"signup": "Sign up",
|
"signup": "Tomar bibe",
|
||||||
"signin_title": "To get all the benefits of using eSteem",
|
"signin_title": "To get all the benefits of using eSteem",
|
||||||
"username": "Username",
|
"username": "Navê bikarhêner",
|
||||||
"password": "Password or WIF",
|
"password": "Pêborîn an WIF",
|
||||||
"description": "User credentials are kept locally on the device. Credentials are removed upon logout!",
|
"description": "User credentials are kept locally on the device. Credentials are removed upon logout!",
|
||||||
"cancel": "cancel",
|
"cancel": "betal",
|
||||||
"login": "LOGIN",
|
"login": "TÊKETIN",
|
||||||
"steemconnect_description": "If you don't want to keep your password encrypted and saved on your device, you can use Steemconnect.",
|
"steemconnect_description": "If you don't want to keep your password encrypted and saved on your device, you can use Steemconnect.",
|
||||||
"steemconnect_fee_description": "Steemconnect may charge some fees from your reward transactions"
|
"steemconnect_fee_description": "Steemconnect may charge some fees from your reward transactions"
|
||||||
},
|
},
|
||||||
@ -242,8 +242,8 @@
|
|||||||
"capture_photo": "Wêneyekî bigire"
|
"capture_photo": "Wêneyekî bigire"
|
||||||
},
|
},
|
||||||
"pincode": {
|
"pincode": {
|
||||||
"enter_text": "Enter pin to unlock",
|
"enter_text": "Ji bo vekirinê PIN têxîne",
|
||||||
"set_new": "Set new pin",
|
"set_new": "PINa nû saz bike",
|
||||||
"write_again": "Dîsa binivîsîne",
|
"write_again": "Dîsa binivîsîne",
|
||||||
"forgot_text": "Wey, Min ji bîr kir..."
|
"forgot_text": "Wey, Min ji bîr kir..."
|
||||||
},
|
},
|
||||||
@ -253,17 +253,17 @@
|
|||||||
"allRead": "Hemû danezanan wekî xwendî nîşan bike",
|
"allRead": "Hemû danezanan wekî xwendî nîşan bike",
|
||||||
"claim_reward_balance_ok": "Reward balance claimed",
|
"claim_reward_balance_ok": "Reward balance claimed",
|
||||||
"fail": "Biserneket!",
|
"fail": "Biserneket!",
|
||||||
"move": "Move",
|
"move": "Veguhezîne",
|
||||||
"move_question": "Are you sure to move to drafts?",
|
"move_question": "Bi rastî jî tu dixwazî reşnivîsan veguhezînî?",
|
||||||
"success_shared": "Your post successfully shared",
|
"success_shared": "Şandiya te bi serkeftî hate parvekirin",
|
||||||
"success_moved": "Moved to draft",
|
"success_moved": "Veguhezî reşnivîsê bû",
|
||||||
"permission_denied": "Permission denied",
|
"permission_denied": "Destûr hate redkirin",
|
||||||
"permission_text": "Please, go to phone Settings and change eSteem app permissions.",
|
"permission_text": "Ji kerema xwe, biçe Sazkariyên telefonê û destûrên eSteemê veke.",
|
||||||
"success_rebloged": "Rebloged!",
|
"success_rebloged": "Reblog bû!",
|
||||||
"already_rebloged": "You have already reblogged!",
|
"already_rebloged": "You have already reblogged!",
|
||||||
"warning": "Warning",
|
"warning": "Hişyarî",
|
||||||
"invalid_pincode": "Invalid pin code, please check and try again.",
|
"invalid_pincode": "Koda PINê nederbasdar e, kontrol bike û dîsa biceribîne.",
|
||||||
"remove_alert": "Are you sure want to remove?",
|
"remove_alert": "Bi rastî jî tu dixwazî rake?",
|
||||||
"clear_alert": "Bi rastî jî tu dixwazî paqij bike?",
|
"clear_alert": "Bi rastî jî tu dixwazî paqij bike?",
|
||||||
"clear_user_alert": "Tu dixwazî hemû daneyên bikarhêner paqij bike?",
|
"clear_user_alert": "Tu dixwazî hemû daneyên bikarhêner paqij bike?",
|
||||||
"clear": "Paqij bike",
|
"clear": "Paqij bike",
|
||||||
@ -274,11 +274,11 @@
|
|||||||
"confirm": "Bipejirîne",
|
"confirm": "Bipejirîne",
|
||||||
"removed": "Hate rakirin",
|
"removed": "Hate rakirin",
|
||||||
"same_user": "This user already added to list",
|
"same_user": "This user already added to list",
|
||||||
"unknow_error": "An error occurred",
|
"unknow_error": "Çêwtiyek çêbû",
|
||||||
"error": "Error",
|
"error": "Çewtî",
|
||||||
"fetch_error": "Fetching data failed, please try again or notify us at info@esteem.app",
|
"fetch_error": "Anîna daneyê biserneket, ji kerema xwe dîsa biceribîne an jî ji ser info@esteem.app me agahdar bike",
|
||||||
"connection_fail": "Connection Failed!",
|
"connection_fail": "Girêdan Biserneket!",
|
||||||
"connection_success": "Successfully connected!",
|
"connection_success": "Bi serkeftî hate girêdan!",
|
||||||
"checking": "Checking...",
|
"checking": "Checking...",
|
||||||
"not_existing_post": "The post does not exist! Please check permlink and author.",
|
"not_existing_post": "The post does not exist! Please check permlink and author.",
|
||||||
"google_play_version": "We noticed that your device has old version of Google Play. Please update Google Play services and try again!"
|
"google_play_version": "We noticed that your device has old version of Google Play. Please update Google Play services and try again!"
|
||||||
@ -286,45 +286,45 @@
|
|||||||
"post": {
|
"post": {
|
||||||
"reblog_alert": "Are you sure, you want to reblog?",
|
"reblog_alert": "Are you sure, you want to reblog?",
|
||||||
"removed_hint": "The post was removed by",
|
"removed_hint": "The post was removed by",
|
||||||
"copy_link": "Copy Link",
|
"copy_link": "Girêdanê kopî bike",
|
||||||
"reblogged": "reblogged by",
|
"reblogged": "reblogged by",
|
||||||
"sponsored": "SPONSORED",
|
"sponsored": "SPONSORKIRÎ",
|
||||||
"open_thread": "Open Thread"
|
"open_thread": "Mijara Vekirî"
|
||||||
},
|
},
|
||||||
"drafts": {
|
"drafts": {
|
||||||
"title": "Drafts",
|
"title": "Reşnivîs",
|
||||||
"load_error": "Could not load drafts",
|
"load_error": "Reşnivîs bar nebûn",
|
||||||
"empty_list": "Nothing here",
|
"empty_list": "Li vir ti tişt tine ye",
|
||||||
"deleted": "Draft deleted"
|
"deleted": "Reşnivîs hate jêbirin"
|
||||||
},
|
},
|
||||||
"schedules": {
|
"schedules": {
|
||||||
"title": "Schedules",
|
"title": "Schedules",
|
||||||
"empty_list": "Nothing here",
|
"empty_list": "Li vir ti tişt tine ye",
|
||||||
"deleted": "Scheduled post deleted",
|
"deleted": "Şandiya demsazkirî hate jêbirin",
|
||||||
"move": "Move to drafts",
|
"move": "Veguhezîne reşnivîsan",
|
||||||
"moved": "Moved to drafts"
|
"moved": "Veguhezî reşnivîsan bû"
|
||||||
},
|
},
|
||||||
"bookmarks": {
|
"bookmarks": {
|
||||||
"title": "Bookmarks",
|
"title": "Bookmarks",
|
||||||
"load_error": "Could not load bookmarks",
|
"load_error": "Could not load bookmarks",
|
||||||
"empty_list": "Nothing here",
|
"empty_list": "Li vir ti tişt tine ye",
|
||||||
"deleted": "Bookmark removed",
|
"deleted": "Bookmark removed",
|
||||||
"search": "Search in bookmarks",
|
"search": "Search in bookmarks",
|
||||||
"added": "Added to bookmarks",
|
"added": "Added to bookmarks",
|
||||||
"add": "Add to bookmarks"
|
"add": "Add to bookmarks"
|
||||||
},
|
},
|
||||||
"favorites": {
|
"favorites": {
|
||||||
"title": "Favorites",
|
"title": "Bijardeyên min",
|
||||||
"load_error": "Could not load favorites",
|
"load_error": "Bijarde bar nebûn",
|
||||||
"empty_list": "Nothing here",
|
"empty_list": "Li vir ti tişt tine ye",
|
||||||
"search": "Search in favorites"
|
"search": "Di bijardeyan de bigere"
|
||||||
},
|
},
|
||||||
"auth": {
|
"auth": {
|
||||||
"invalid_pin": "Invalid pin code, please check and try again",
|
"invalid_pin": "Invalid pin code, please check and try again",
|
||||||
"invalid_username": "Invalid username, please check and try again",
|
"invalid_username": "Navê bikarhêner nederbasdar e, kontrol bike û dîsa biceribîne",
|
||||||
"already_logged": "You are already logged in, please try to add another account",
|
"already_logged": "Jixwe tu têketî ye, ji kerema xwe tevlîkirina hesabekî din biceribîne",
|
||||||
"invalid_credentials": "Invalid credentials, please check and try again",
|
"invalid_credentials": "Invalid credentials, please check and try again",
|
||||||
"unknow_error": "Unknown error, please contact us at support@esteem.app"
|
"unknow_error": "Çewtiya nenas, ji ser support@esteem.app bi me re têkilî deyne"
|
||||||
},
|
},
|
||||||
"payout": {
|
"payout": {
|
||||||
"potential_payout": "Potential Payout",
|
"potential_payout": "Potential Payout",
|
||||||
@ -337,89 +337,89 @@
|
|||||||
"breakdown": "Breakdown"
|
"breakdown": "Breakdown"
|
||||||
},
|
},
|
||||||
"post_dropdown": {
|
"post_dropdown": {
|
||||||
"copy": "copy link",
|
"copy": "kopî bike",
|
||||||
"reblog": "reblog",
|
"reblog": "reblog",
|
||||||
"reply": "reply",
|
"reply": "bibersivîne",
|
||||||
"share": "share",
|
"share": "parve bike",
|
||||||
"bookmarks": "add to bookmarks",
|
"bookmarks": "add to bookmarks",
|
||||||
"promote": "promote",
|
"promote": "promote",
|
||||||
"boost": "boost"
|
"boost": "zêde bike"
|
||||||
},
|
},
|
||||||
"deep_link": {
|
"deep_link": {
|
||||||
"no_existing_user": "No existing user",
|
"no_existing_user": "Bikarhêner tine ye",
|
||||||
"no_existing_post": "No existing post"
|
"no_existing_post": "Şandî tine ye"
|
||||||
},
|
},
|
||||||
"search": {
|
"search": {
|
||||||
"posts": "Posts",
|
"posts": "Şandî",
|
||||||
"comments": "Comments"
|
"comments": "Şîrove"
|
||||||
},
|
},
|
||||||
"comment_filter": {
|
"comment_filter": {
|
||||||
"trending": "TOP",
|
"trending": "SEREKE",
|
||||||
"reputation": "REPUTATION",
|
"reputation": "REPUTATION",
|
||||||
"votes": "VOTE",
|
"votes": "DENG",
|
||||||
"age": "AGE",
|
"age": "TEMEN",
|
||||||
"top": "TOP",
|
"top": "SEREKE",
|
||||||
"time": "TIME"
|
"time": "DEM"
|
||||||
},
|
},
|
||||||
"transfer": {
|
"transfer": {
|
||||||
"from": "From",
|
"from": "Ji",
|
||||||
"to": "To",
|
"to": "Bo",
|
||||||
"amount_information": "Drag the slider to adjust the amount",
|
"amount_information": "Drag the slider to adjust the amount",
|
||||||
"amount": "Amount",
|
"amount": "Pîvan",
|
||||||
"memo": "Memo",
|
"memo": "Bîrname",
|
||||||
"information": "Are you sure to transfer funds?",
|
"information": "Are you sure to transfer funds?",
|
||||||
"amount_desc": "Balance",
|
"amount_desc": "Balance",
|
||||||
"memo_desc": "This memo is public",
|
"memo_desc": "This memo is public",
|
||||||
"to_placeholder": "Username",
|
"to_placeholder": "Navê bikarhêner",
|
||||||
"memo_placeholder": "Enter your notes here",
|
"memo_placeholder": "Notên xwe li vir binivîse",
|
||||||
"transfer_token": "Transfer",
|
"transfer_token": "Veguheztin",
|
||||||
"points": "Gift ESTM to someone",
|
"points": "Gift ESTM to someone",
|
||||||
"transfer_to_saving": "Transfer To Saving",
|
"transfer_to_saving": "Transfer To Saving",
|
||||||
"powerUp": "Power Up",
|
"powerUp": "Bihêz Bike",
|
||||||
"withdraw_to_saving": "Withdraw To Saving",
|
"withdraw_to_saving": "Withdraw To Saving",
|
||||||
"steemconnect_title": "Steemconnect Transfer",
|
"steemconnect_title": "Veguheztina Steemconnectê",
|
||||||
"estimated_weekly": "Estimated Weekly",
|
"estimated_weekly": "Texmînkirina Heftane",
|
||||||
"destination_accounts": "Destination Accounts",
|
"destination_accounts": "Hesabên Armanc",
|
||||||
"stop_information": "Are you sure want to stop?",
|
"stop_information": "Are you sure want to stop?",
|
||||||
"percent": "Percent",
|
"percent": "Percent",
|
||||||
"auto_vests": "Auto Vests",
|
"auto_vests": "Auto Vests",
|
||||||
"save": "SAVE",
|
"save": "TOMAR BIKE",
|
||||||
"percent_information": "Percent info",
|
"percent_information": "Agahiya rêjeyê",
|
||||||
"next": "NEXT",
|
"next": "PÊŞVE",
|
||||||
"delegate": "Delegate",
|
"delegate": "Şande",
|
||||||
"power_down": "Power Down",
|
"power_down": "Kêmhêz Bike",
|
||||||
"withdraw_steem": "Withdraw Steem",
|
"withdraw_steem": "Withdraw Steem",
|
||||||
"withdraw_sbd": "Withdraw Steem Dollar",
|
"withdraw_sbd": "Withdraw Steem Dollar",
|
||||||
"incoming_funds": "Incoming Funds",
|
"incoming_funds": "Fonên Tên",
|
||||||
"stop": "Stop"
|
"stop": "Rawestîne"
|
||||||
},
|
},
|
||||||
"boost": {
|
"boost": {
|
||||||
"title": "Get eSteem Points",
|
"title": "Get eSteem Points",
|
||||||
"buy": "GET ESTM",
|
"buy": "GET ESTM",
|
||||||
"next": "NEXT"
|
"next": "PÊŞVE"
|
||||||
},
|
},
|
||||||
"free_estm": {
|
"free_estm": {
|
||||||
"title": "Free ESTM",
|
"title": "ESTM ya Belaş",
|
||||||
"button": "SPIN & WIN",
|
"button": "BIZÎVIRÎNE Û QEZENC BIKE",
|
||||||
"get_spin": "5 SPINS",
|
"get_spin": "5 ZÎVIR",
|
||||||
"spin_right": "Spin Left",
|
"spin_right": "Bizîvirîne Çepê",
|
||||||
"timer_text": "Next free spin in"
|
"timer_text": "Next free spin in"
|
||||||
},
|
},
|
||||||
"promote": {
|
"promote": {
|
||||||
"title": "Promote",
|
"title": "Promote",
|
||||||
"days": "days",
|
"days": "roj",
|
||||||
"user": "User",
|
"user": "Bikarhêner",
|
||||||
"permlink": "Post",
|
"permlink": "Şandî",
|
||||||
"permlinkPlaceholder": "author/permlink",
|
"permlinkPlaceholder": "author/permlink",
|
||||||
"information": "Are you sure to promote?"
|
"information": "Are you sure to promote?"
|
||||||
},
|
},
|
||||||
"boostPost": {
|
"boostPost": {
|
||||||
"title": "Boost"
|
"title": "Zêde bike"
|
||||||
},
|
},
|
||||||
"voters_dropdown": {
|
"voters_dropdown": {
|
||||||
"rewards": "REWARDS",
|
"rewards": "XELAT",
|
||||||
"percent": "PERCENT",
|
"percent": "JI SEDÎ",
|
||||||
"time": "TIME"
|
"time": "DEM"
|
||||||
},
|
},
|
||||||
"reblog": {
|
"reblog": {
|
||||||
"title": "Reblog Info"
|
"title": "Reblog Info"
|
||||||
|
@ -24,6 +24,7 @@ export default {
|
|||||||
STEEM_CONNECT: `SteemConnect${SCREEN_SUFFIX}`,
|
STEEM_CONNECT: `SteemConnect${SCREEN_SUFFIX}`,
|
||||||
TRANSFER: `Transfer${SCREEN_SUFFIX}`,
|
TRANSFER: `Transfer${SCREEN_SUFFIX}`,
|
||||||
VOTERS: `Voters${SCREEN_SUFFIX}`,
|
VOTERS: `Voters${SCREEN_SUFFIX}`,
|
||||||
|
COMMENTS: `Comments${SCREEN_SUFFIX}`,
|
||||||
},
|
},
|
||||||
DRAWER: {
|
DRAWER: {
|
||||||
MAIN: `Main${DRAWER_SUFFIX}`,
|
MAIN: `Main${DRAWER_SUFFIX}`,
|
||||||
|
@ -3,15 +3,12 @@ import 'react-native-gesture-handler';
|
|||||||
import { Provider, connect } from 'react-redux';
|
import { Provider, connect } from 'react-redux';
|
||||||
import { PersistGate } from 'redux-persist/integration/react';
|
import { PersistGate } from 'redux-persist/integration/react';
|
||||||
import { IntlProvider } from 'react-intl';
|
import { IntlProvider } from 'react-intl';
|
||||||
import { enableScreens } from 'react-native-screens';
|
|
||||||
import { flattenMessages } from './utils/flattenMessages';
|
import { flattenMessages } from './utils/flattenMessages';
|
||||||
import messages from './config/locales';
|
import messages from './config/locales';
|
||||||
|
|
||||||
import Application from './screens/application';
|
import Application from './screens/application';
|
||||||
import { store, persistor } from './redux/store/store';
|
import { store, persistor } from './redux/store/store';
|
||||||
|
|
||||||
enableScreens();
|
|
||||||
|
|
||||||
const _renderApp = ({ locale }) => (
|
const _renderApp = ({ locale }) => (
|
||||||
<PersistGate loading={null} persistor={persistor}>
|
<PersistGate loading={null} persistor={persistor}>
|
||||||
<IntlProvider locale={locale} messages={flattenMessages(messages[locale])}>
|
<IntlProvider locale={locale} messages={flattenMessages(messages[locale])}>
|
||||||
|
@ -58,7 +58,12 @@ const BaseNavigator = createBottomTabNavigator(
|
|||||||
screen: Profile,
|
screen: Profile,
|
||||||
navigationOptions: () => ({
|
navigationOptions: () => ({
|
||||||
tabBarIcon: ({ tintColor }) => (
|
tabBarIcon: ({ tintColor }) => (
|
||||||
<Icon iconType="MaterialIcons" name="person" color={tintColor} size={scalePx(26)} />
|
<Icon
|
||||||
|
iconType="MaterialIcons"
|
||||||
|
name="person-outline"
|
||||||
|
color={tintColor}
|
||||||
|
size={scalePx(26)}
|
||||||
|
/>
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
|
@ -1 +0,0 @@
|
|||||||
export * from './baseNavigator';
|
|
@ -1,19 +1,28 @@
|
|||||||
|
import React from 'react';
|
||||||
import { createSwitchNavigator } from 'react-navigation';
|
import { createSwitchNavigator } from 'react-navigation';
|
||||||
|
import { createBottomTabNavigator } from 'react-navigation-tabs';
|
||||||
import { createDrawerNavigator } from 'react-navigation-drawer';
|
import { createDrawerNavigator } from 'react-navigation-drawer';
|
||||||
import { createStackNavigator } from 'react-navigation-stack';
|
import { createStackNavigator } from 'react-navigation-stack';
|
||||||
|
|
||||||
import { BaseNavigator } from './baseNavigator';
|
// Constants
|
||||||
import ROUTES from '../constants/routeNames';
|
import ROUTES from '../constants/routeNames';
|
||||||
|
import scalePx from '../utils/scalePx';
|
||||||
|
|
||||||
|
// Components
|
||||||
|
import { Icon, IconContainer } from '../components/icon';
|
||||||
|
import { PostButton, BottomTabBar, SideMenu } from '../components';
|
||||||
|
|
||||||
// Screens
|
// Screens
|
||||||
import {
|
import {
|
||||||
Bookmarks,
|
Bookmarks,
|
||||||
Boost,
|
Boost,
|
||||||
|
Comments,
|
||||||
Drafts,
|
Drafts,
|
||||||
Editor,
|
Editor,
|
||||||
|
Feed,
|
||||||
Follows,
|
Follows,
|
||||||
SpinGame,
|
|
||||||
Login,
|
Login,
|
||||||
PinCode,
|
Notification,
|
||||||
Post,
|
Post,
|
||||||
Profile,
|
Profile,
|
||||||
ProfileEdit,
|
ProfileEdit,
|
||||||
@ -21,132 +30,104 @@ import {
|
|||||||
Redeem,
|
Redeem,
|
||||||
SearchResult,
|
SearchResult,
|
||||||
Settings,
|
Settings,
|
||||||
SteemConnect,
|
SpinGame,
|
||||||
Transfer,
|
Transfer,
|
||||||
Voters,
|
Voters,
|
||||||
|
Wallet,
|
||||||
} from '../screens';
|
} from '../screens';
|
||||||
|
|
||||||
// Components
|
const bottomTabNavigator = createBottomTabNavigator(
|
||||||
import { SideMenu } from '../components';
|
|
||||||
|
|
||||||
const mainNavigation = createDrawerNavigator(
|
|
||||||
{
|
{
|
||||||
[ROUTES.SCREENS.FEED]: {
|
[ROUTES.TABBAR.FEED]: {
|
||||||
screen: BaseNavigator,
|
screen: Feed,
|
||||||
|
navigationOptions: () => ({
|
||||||
|
tabBarIcon: ({ tintColor }) => (
|
||||||
|
<Icon iconType="MaterialIcons" name="view-day" color={tintColor} size={scalePx(26)} />
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
[ROUTES.TABBAR.NOTIFICATION]: {
|
||||||
|
screen: Notification,
|
||||||
|
navigationOptions: () => ({
|
||||||
|
tabBarIcon: ({ tintColor }) => (
|
||||||
|
<IconContainer
|
||||||
|
isBadge
|
||||||
|
badgeType="notification"
|
||||||
|
iconType="MaterialIcons"
|
||||||
|
name="notifications"
|
||||||
|
color={tintColor}
|
||||||
|
size={scalePx(26)}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
[ROUTES.TABBAR.POST_BUTTON]: {
|
||||||
|
screen: () => null,
|
||||||
|
navigationOptions: {
|
||||||
|
tabBarIcon: () => <PostButton />,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[ROUTES.TABBAR.WALLET]: {
|
||||||
|
screen: Wallet,
|
||||||
|
navigationOptions: () => ({
|
||||||
|
tabBarIcon: ({ tintColor }) => (
|
||||||
|
<Icon
|
||||||
|
iconType="MaterialIcons"
|
||||||
|
name="account-balance-wallet"
|
||||||
|
color={tintColor}
|
||||||
|
size={scalePx(26)}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
[ROUTES.TABBAR.PROFILE]: {
|
||||||
|
screen: Profile,
|
||||||
|
navigationOptions: () => ({
|
||||||
|
tabBarIcon: ({ tintColor }) => (
|
||||||
|
<Icon iconType="MaterialIcons" name="person" color={tintColor} size={scalePx(26)} />
|
||||||
|
),
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
contentComponent: SideMenu,
|
tabBarComponent: props => <BottomTabBar {...props} />,
|
||||||
|
tabBarOptions: {
|
||||||
|
showLabel: false,
|
||||||
|
activeTintColor: '#f6f6f6',
|
||||||
|
inactiveTintColor: '#c1c5c7',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const mainNavigation = createDrawerNavigator(
|
||||||
|
{ [ROUTES.SCREENS.FEED]: { screen: bottomTabNavigator } },
|
||||||
|
{ contentComponent: SideMenu },
|
||||||
|
);
|
||||||
|
|
||||||
const stackNavigator = createStackNavigator(
|
const stackNavigator = createStackNavigator(
|
||||||
{
|
{
|
||||||
[ROUTES.DRAWER.MAIN]: {
|
[ROUTES.DRAWER.MAIN]: { screen: mainNavigation },
|
||||||
screen: mainNavigation,
|
[ROUTES.SCREENS.PROFILE]: { screen: Profile },
|
||||||
navigationOptions: {
|
[ROUTES.SCREENS.PROFILE_EDIT]: { screen: ProfileEdit },
|
||||||
header: () => null,
|
[ROUTES.SCREENS.POST]: { screen: Post },
|
||||||
},
|
[ROUTES.SCREENS.EDITOR]: { screen: Editor },
|
||||||
},
|
[ROUTES.SCREENS.VOTERS]: { screen: Voters },
|
||||||
[ROUTES.SCREENS.PROFILE]: {
|
[ROUTES.SCREENS.FOLLOWS]: { screen: Follows },
|
||||||
screen: Profile,
|
[ROUTES.SCREENS.SETTINGS]: { screen: Settings },
|
||||||
navigationOptions: {
|
[ROUTES.SCREENS.DRAFTS]: { screen: Drafts },
|
||||||
header: () => null,
|
[ROUTES.SCREENS.BOOKMARKS]: { screen: Bookmarks },
|
||||||
},
|
[ROUTES.SCREENS.SEARCH_RESULT]: { screen: SearchResult },
|
||||||
},
|
[ROUTES.SCREENS.TRANSFER]: { screen: Transfer },
|
||||||
[ROUTES.SCREENS.PROFILE_EDIT]: {
|
[ROUTES.SCREENS.BOOST]: { screen: Boost },
|
||||||
screen: ProfileEdit,
|
[ROUTES.SCREENS.REDEEM]: { screen: Redeem },
|
||||||
navigationOptions: {
|
[ROUTES.SCREENS.REBLOGS]: { screen: Reblogs },
|
||||||
header: () => null,
|
[ROUTES.SCREENS.SPIN_GAME]: { screen: SpinGame },
|
||||||
},
|
[ROUTES.SCREENS.COMMENTS]: { screen: Comments },
|
||||||
},
|
|
||||||
[ROUTES.SCREENS.POST]: {
|
|
||||||
screen: Post,
|
|
||||||
navigationOptions: {
|
|
||||||
header: () => null,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
[ROUTES.SCREENS.EDITOR]: {
|
|
||||||
screen: Editor,
|
|
||||||
navigationOptions: {
|
|
||||||
header: () => null,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
[ROUTES.SCREENS.VOTERS]: {
|
|
||||||
screen: Voters,
|
|
||||||
navigationOptions: {
|
|
||||||
header: () => null,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
[ROUTES.SCREENS.FOLLOWS]: {
|
|
||||||
screen: Follows,
|
|
||||||
navigationOptions: {
|
|
||||||
header: () => null,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
[ROUTES.SCREENS.SETTINGS]: {
|
|
||||||
screen: Settings,
|
|
||||||
navigationOptions: {
|
|
||||||
header: () => null,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
[ROUTES.SCREENS.DRAFTS]: {
|
|
||||||
screen: Drafts,
|
|
||||||
navigationOptions: {
|
|
||||||
header: () => null,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
[ROUTES.SCREENS.BOOKMARKS]: {
|
|
||||||
screen: Bookmarks,
|
|
||||||
navigationOptions: {
|
|
||||||
header: () => null,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
[ROUTES.SCREENS.SEARCH_RESULT]: {
|
|
||||||
screen: SearchResult,
|
|
||||||
navigationOptions: {
|
|
||||||
header: () => null,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
[ROUTES.SCREENS.TRANSFER]: {
|
|
||||||
screen: Transfer,
|
|
||||||
navigationOptions: {
|
|
||||||
header: () => null,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
[ROUTES.SCREENS.BOOST]: {
|
|
||||||
screen: Boost,
|
|
||||||
navigationOptions: {
|
|
||||||
header: () => null,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
[ROUTES.SCREENS.REDEEM]: {
|
|
||||||
screen: Redeem,
|
|
||||||
navigationOptions: {
|
|
||||||
header: () => null,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
[ROUTES.SCREENS.REBLOGS]: {
|
|
||||||
screen: Reblogs,
|
|
||||||
navigationOptions: {
|
|
||||||
header: () => null,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
[ROUTES.SCREENS.SPIN_GAME]: {
|
|
||||||
screen: SpinGame,
|
|
||||||
navigationOptions: {
|
|
||||||
header: () => null,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
headerMode: 'none',
|
|
||||||
},
|
},
|
||||||
|
{ headerMode: 'none' },
|
||||||
);
|
);
|
||||||
|
|
||||||
export default createSwitchNavigator({
|
export default createSwitchNavigator({
|
||||||
stackNavigator,
|
stackNavigator,
|
||||||
[ROUTES.SCREENS.LOGIN]: { screen: Login },
|
[ROUTES.SCREENS.LOGIN]: { screen: Login },
|
||||||
[ROUTES.SCREENS.PINCODE]: { screen: PinCode },
|
|
||||||
[ROUTES.SCREENS.STEEM_CONNECT]: { screen: SteemConnect },
|
|
||||||
});
|
});
|
||||||
|
41
src/screens/comments/screen/commentsScreen.js
Normal file
41
src/screens/comments/screen/commentsScreen.js
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import { View } from 'react-native';
|
||||||
|
import { useIntl } from 'react-intl';
|
||||||
|
|
||||||
|
import { BasicHeader, Comments } from '../../../components';
|
||||||
|
|
||||||
|
// Styles
|
||||||
|
import globalStyles from '../../../globalStyles';
|
||||||
|
|
||||||
|
const CommentsScreen = ({ navigation }) => {
|
||||||
|
const intl = useIntl();
|
||||||
|
const comments = navigation.getParam('comments', [{}])[0];
|
||||||
|
|
||||||
|
return (
|
||||||
|
<View style={globalStyles.container}>
|
||||||
|
<BasicHeader
|
||||||
|
title={intl.formatMessage({
|
||||||
|
id: 'comments.title',
|
||||||
|
})}
|
||||||
|
/>
|
||||||
|
<View style={globalStyles.containerHorizontal16}>
|
||||||
|
<Comments
|
||||||
|
isShowComments
|
||||||
|
author={comments.author}
|
||||||
|
mainAuthor={comments.author}
|
||||||
|
permlink={comments.permlink}
|
||||||
|
commentCount={comments.children}
|
||||||
|
isShowMoreButton={true}
|
||||||
|
isShowSubComments
|
||||||
|
showAllComments
|
||||||
|
fetchPost={navigation.getParam('fetchPost', null)}
|
||||||
|
handleOnVotersPress={navigation.getParam('handleOnVotersPress', null)}
|
||||||
|
hasManyComments={false}
|
||||||
|
hideManyCommentsButton
|
||||||
|
/>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { CommentsScreen as Comments };
|
@ -1,17 +1,18 @@
|
|||||||
import { Bookmarks } from './bookmarks';
|
import { Bookmarks } from './bookmarks';
|
||||||
|
import { Comments } from './comments/screen/commentsScreen';
|
||||||
import { Drafts } from './drafts';
|
import { Drafts } from './drafts';
|
||||||
import { Editor } from './editor';
|
import { Editor } from './editor';
|
||||||
import { Follows } from './follows';
|
|
||||||
import { Feed } from './feed';
|
import { Feed } from './feed';
|
||||||
|
import { Follows } from './follows';
|
||||||
import { Launch } from './launch';
|
import { Launch } from './launch';
|
||||||
import { Login } from './login';
|
import { Login } from './login';
|
||||||
import { Notification } from './notification';
|
import { Notification } from './notification';
|
||||||
import { PinCode } from './pinCode';
|
import { PinCode } from './pinCode';
|
||||||
import { Wallet } from './wallet';
|
|
||||||
import { Post } from './post';
|
import { Post } from './post';
|
||||||
import { SearchResult } from './searchResult';
|
import { SearchResult } from './searchResult';
|
||||||
import { Settings } from './settings';
|
import { Settings } from './settings';
|
||||||
import { SpinGame } from './spinGame/screen/spinGameScreen';
|
import { SpinGame } from './spinGame/screen/spinGameScreen';
|
||||||
|
import { Wallet } from './wallet';
|
||||||
import Boost from './boost/screen/boostScreen';
|
import Boost from './boost/screen/boostScreen';
|
||||||
import Profile from './profile/screen/profileScreen';
|
import Profile from './profile/screen/profileScreen';
|
||||||
import ProfileEdit from './profileEdit/screen/profileEditScreen';
|
import ProfileEdit from './profileEdit/screen/profileEditScreen';
|
||||||
@ -24,15 +25,15 @@ import Voters from './voters';
|
|||||||
export {
|
export {
|
||||||
Bookmarks,
|
Bookmarks,
|
||||||
Boost,
|
Boost,
|
||||||
|
Comments,
|
||||||
Drafts,
|
Drafts,
|
||||||
Editor,
|
Editor,
|
||||||
Follows,
|
|
||||||
Feed,
|
Feed,
|
||||||
|
Follows,
|
||||||
Launch,
|
Launch,
|
||||||
Login,
|
Login,
|
||||||
Notification,
|
Notification,
|
||||||
PinCode,
|
PinCode,
|
||||||
Wallet,
|
|
||||||
Post,
|
Post,
|
||||||
Profile,
|
Profile,
|
||||||
ProfileEdit,
|
ProfileEdit,
|
||||||
@ -44,4 +45,5 @@ export {
|
|||||||
SteemConnect,
|
SteemConnect,
|
||||||
Transfer,
|
Transfer,
|
||||||
Voters,
|
Voters,
|
||||||
|
Wallet,
|
||||||
};
|
};
|
||||||
|
@ -7705,13 +7705,6 @@ react-native-safe-modules@^1.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
debounce "^1.2.0"
|
debounce "^1.2.0"
|
||||||
|
|
||||||
react-native-screens@^2.0.0-alpha.16:
|
|
||||||
version "2.0.0-alpha.18"
|
|
||||||
resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-2.0.0-alpha.18.tgz#70c116cc96069ad1d930f2984bbec7d66856a1ee"
|
|
||||||
integrity sha512-ML5MVFMWsw7x4GdAA6xWMnFUp37Rk4dpNb5MKrRIPqOTYTS+cN+eyo7UCqICEa6KwYKCtGN6Kq7xrKOtboWPMg==
|
|
||||||
dependencies:
|
|
||||||
debounce "^1.2.0"
|
|
||||||
|
|
||||||
react-native-scrollable-tab-view@esteemapp/react-native-scrollable-tab-view:
|
react-native-scrollable-tab-view@esteemapp/react-native-scrollable-tab-view:
|
||||||
version "0.10.0"
|
version "0.10.0"
|
||||||
resolved "https://codeload.github.com/esteemapp/react-native-scrollable-tab-view/tar.gz/a86ddabbda728b86eb16656b8e8e71655a38400e"
|
resolved "https://codeload.github.com/esteemapp/react-native-scrollable-tab-view/tar.gz/a86ddabbda728b86eb16656b8e8e71655a38400e"
|
||||||
|
Loading…
Reference in New Issue
Block a user