move uri omnibar to top (#444)

This commit is contained in:
Akinwale Ariwodola 2019-03-01 19:25:16 +01:00 committed by GitHub
parent b5af71d798
commit c37a6f5c27
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 209 additions and 172 deletions

View file

@ -68,9 +68,8 @@ const discoverStack = createStackNavigator({
screen: DiscoverPage,
navigationOptions: ({ navigation }) => ({
title: 'Explore',
headerLeft: menuNavigationButton(navigation),
headerTitleStyle: discoverStyle.titleText
})
header: null
}),
},
File: {
screen: FilePage,
@ -81,18 +80,19 @@ const discoverStack = createStackNavigator({
Search: {
screen: SearchPage,
navigationOptions: ({ navigation }) => ({
headerTitleStyle: discoverStyle.titleText
header: null
})
}
}, {
headerMode: 'screen'
headerMode: 'screen',
transitionConfig: () => ({ screenInterpolator: () => null }),
});
discoverStack.navigationOptions = ({ navigation }) => {
let drawerLockMode = 'unlocked';
if (navigation.state.index > 0) {
/*if (navigation.state.index > 0) {
drawerLockMode = 'locked-closed';
}
}*/
return {
drawerLockMode
@ -104,8 +104,7 @@ const trendingStack = createStackNavigator({
screen: TrendingPage,
navigationOptions: ({ navigation }) => ({
title: 'Trending',
headerLeft: menuNavigationButton(navigation),
headerTitleStyle: discoverStyle.titleText
header: null
})
}
});
@ -115,8 +114,7 @@ const myLbryStack = createStackNavigator({
screen: DownloadsPage,
navigationOptions: ({ navigation }) => ({
title: 'Downloads',
headerLeft: menuNavigationButton(navigation),
headerTitleStyle: discoverStyle.titleText
header: null
})
}
});
@ -126,8 +124,7 @@ const mySubscriptionsStack = createStackNavigator({
screen: SubscriptionsPage,
navigationOptions: ({ navigation }) => ({
title: 'Subscriptions',
headerLeft: menuNavigationButton(navigation),
headerTitleStyle: discoverStyle.titleText
header: null
})
}
});
@ -137,8 +134,7 @@ const rewardsStack = createStackNavigator({
screen: RewardsPage,
navigationOptions: ({ navigation }) => ({
title: 'Rewards',
headerLeft: menuNavigationButton(navigation),
headerTitleStyle: discoverStyle.titleText
header: null
})
}
});
@ -148,20 +144,19 @@ const walletStack = createStackNavigator({
screen: WalletPage,
navigationOptions: ({ navigation }) => ({
title: 'Wallet',
headerLeft: menuNavigationButton(navigation),
headerTitleStyle: discoverStyle.titleText
header: null
})
},
TransactionHistory: {
screen: TransactionHistoryPage,
navigationOptions: {
title: 'Transaction History',
drawerLockMode: 'locked-closed',
headerTitleStyle: discoverStyle.titleText
header: null
}
}
}, {
headerMode: 'screen'
headerMode: 'screen',
transitionConfig: () => ({ screenInterpolator: () => null }),
});
const drawer = createDrawerNavigator({

View file

@ -2,9 +2,11 @@
import React from 'react';
import { SEARCH_TYPES, isNameValid, isURIValid, normalizeURI } from 'lbry-redux';
import { FlatList, Keyboard, TextInput, View } from 'react-native';
import { navigateToUri } from '../../utils/helper';
import { navigateToUri } from 'utils/helper';
import UriBarItem from './internal/uri-bar-item';
import uriBarStyle from '../../styles/uriBar';
import NavigationButton from 'component/navigationButton';
import discoverStyle from 'styles/discover';
import uriBarStyle from 'styles/uriBar';
class UriBar extends React.PureComponent {
static INPUT_TIMEOUT = 500;
@ -93,17 +95,13 @@ class UriBar extends React.PureComponent {
return (
<View style={style}>
{this.state.focused && (
<View style={uriBarStyle.suggestions}>
<FlatList style={uriBarStyle.suggestionList}
data={suggestions}
keyboardShouldPersistTaps={'handled'}
keyExtractor={(item, value) => item.value}
renderItem={({item}) => <UriBarItem item={item}
navigation={navigation}
onPress={() => this.handleItemPress(item)} />} />
</View>)}
<View style={uriBarStyle.uriContainer}>
<NavigationButton
name="bars"
size={24}
style={uriBarStyle.drawerMenuButton}
iconStyle={discoverStyle.drawerHamburger}
onPress={() => navigation.openDrawer() } />
<TextInput ref={(ref) => { this.textInput = ref }}
style={uriBarStyle.uriText}
onLayout={() => { this.setSelection(); }}
@ -143,6 +141,19 @@ class UriBar extends React.PureComponent {
}
}}/>
</View>
{this.state.focused && (
<View style={uriBarStyle.suggestions}>
<FlatList style={uriBarStyle.suggestionList}
data={suggestions}
keyboardShouldPersistTaps={'handled'}
keyExtractor={(item, value) => item.value}
renderItem={({item}) => (
<UriBarItem
item={item}
navigation={navigation}
onPress={() => this.handleItemPress(item)}
/>)} />
</View>)}
</View>
);
}

View file

@ -158,6 +158,7 @@ class DiscoverPage extends React.PureComponent {
return (
<View style={discoverStyle.container}>
<UriBar navigation={navigation} />
<RewardSummary navigation={navigation} />
{!hasContent && fetchingFeaturedUris && (
<View style={discoverStyle.busyContainer}>
@ -186,7 +187,6 @@ class DiscoverPage extends React.PureComponent {
/>)
}
<FloatingWalletBalance navigation={navigation} />
<UriBar navigation={navigation} />
</View>
);
}

View file

@ -36,6 +36,7 @@ class DownloadsPage extends React.PureComponent {
return (
<View style={downloadsStyle.container}>
<UriBar navigation={navigation} />
{!fetching && !hasDownloads &&
<View style={downloadsStyle.busyContainer}>
<Text style={downloadsStyle.noDownloadsText}>You have not downloaded anything from LBRY yet.</Text>
@ -69,7 +70,6 @@ class DownloadsPage extends React.PureComponent {
/>
</View>}
<FloatingWalletBalance navigation={navigation} />
<UriBar navigation={navigation} />
</View>
);
}

View file

@ -480,6 +480,7 @@ class FilePage extends React.PureComponent {
innerContent = (
<View style={filePageStyle.pageContainer}>
{!this.state.fullscreenMode && <UriBar value={uri} navigation={navigation} />}
{this.state.showWebView && isWebViewable && <WebView source={{ uri: localFileUri }}
style={filePageStyle.viewer} />}
@ -624,7 +625,6 @@ class FilePage extends React.PureComponent {
</View>
)}
{!this.state.fullscreenMode && <FloatingWalletBalance navigation={navigation} />}
{!this.state.fullscreenMode && <UriBar value={uri} navigation={navigation} />}
</View>
);
}

View file

@ -7,14 +7,15 @@ import {
Text,
View
} from 'react-native';
import Colors from '../../styles/colors';
import Link from '../../component/link';
import CustomRewardCard from '../../component/customRewardCard';
import PhoneNumberRewardSubcard from '../../component/phoneNumberRewardSubcard';
import EmailRewardSubcard from '../../component/emailRewardSubcard';
import PageHeader from '../../component/pageHeader';
import RewardCard from '../../component/rewardCard';
import rewardStyle from '../../styles/reward';
import Colors from 'styles/colors';
import Link from 'component/link';
import CustomRewardCard from 'component/customRewardCard';
import PhoneNumberRewardSubcard from 'component/phoneNumberRewardSubcard';
import EmailRewardSubcard from 'component/emailRewardSubcard';
import PageHeader from 'component/pageHeader';
import RewardCard from 'component/rewardCard';
import UriBar from 'component/uriBar';
import rewardStyle from 'styles/reward';
class RewardsPage extends React.PureComponent {
state = {
@ -134,10 +135,11 @@ class RewardsPage extends React.PureComponent {
}
render() {
const { user } = this.props;
const { user, navigation } = this.props;
return (
<View style={rewardStyle.container}>
<UriBar navigation={navigation} />
<ScrollView
keyboardShouldPersistTaps={'handled'}
style={rewardStyle.scrollContainer}

View file

@ -39,6 +39,9 @@ class SearchPage extends React.PureComponent {
return (
<View style={searchStyle.container}>
<UriBar value={searchQuery}
navigation={navigation}
onSearchSubmitted={(keywords) => search(keywords)} />
{!isSearching && (!uris || uris.length === 0) &&
<Text style={searchStyle.noResultsText}>No results to display.</Text>}
<ScrollView style={searchStyle.scrollContainer} contentContainerStyle={searchStyle.scrollPadding}>
@ -52,9 +55,6 @@ class SearchPage extends React.PureComponent {
</ScrollView>
{isSearching && <ActivityIndicator size="large" color={Colors.LbryGreen} style={searchStyle.loading} /> }
<FloatingWalletBalance navigation={navigation} />
<UriBar value={searchQuery}
navigation={navigation}
onSearchSubmitted={(keywords) => search(keywords)} />
</View>
);
}

View file

@ -67,90 +67,91 @@ class SubscriptionsPage extends React.PureComponent {
return (
<View style={subscriptionsStyle.container}>
<UriBar navigation={navigation} />
{hasSubscriptions && !loading &&
<View style={subscriptionsStyle.viewModeRow}>
<Link
text={'All Subscriptions'}
style={[subscriptionsStyle.viewModeLink,
((viewMode === Constants.SUBSCRIPTIONS_VIEW_ALL) ? subscriptionsStyle.activeMode : subscriptionsStyle.inactiveMode)]}
onPress={() => this.changeViewMode(Constants.SUBSCRIPTIONS_VIEW_ALL)}
/>
<Link
text={'Latest Only'}
style={[subscriptionsStyle.viewModeLink,
((viewMode === Constants.SUBSCRIPTIONS_VIEW_LATEST_FIRST) ? subscriptionsStyle.activeMode : subscriptionsStyle.inactiveMode)]}
onPress={() => this.changeViewMode(Constants.SUBSCRIPTIONS_VIEW_LATEST_FIRST)}
/>
</View>}
{(hasSubscriptions && !loading) &&
<View style={subscriptionsStyle.container}>
{(viewMode === Constants.SUBSCRIPTIONS_VIEW_ALL) &&
<FlatList
style={subscriptionsStyle.scrollContainer}
contentContainerStyle={subscriptionsStyle.scrollPadding}
renderItem={ ({item}) => (
<FileItem
style={subscriptionsStyle.fileItem}
mediaStyle={discoverStyle.fileItemMedia}
key={item}
uri={uriFromFileInfo(item)}
navigation={navigation}
compactView={false}
showDetails={true} />
)
}
data={allSubscriptions.sort((a, b) => {
return b.height - a.height;
})}
keyExtractor={(item, index) => uriFromFileInfo(item)} />}
{(viewMode === Constants.SUBSCRIPTIONS_VIEW_LATEST_FIRST) &&
<View style={subscriptionsStyle.container}>
{unreadSubscriptions.length ?
(<ScrollView
style={subscriptionsStyle.scrollContainer}
contentContainerStyle={subscriptionsStyle.scrollPadding}>
{unreadSubscriptions.map(({ channel, uris }) => {
const { claimName } = parseURI(channel);
return uris.map(uri => (
<FileItem
style={subscriptionsStyle.fileItem}
mediaStyle={discoverStyle.fileItemMedia}
key={uri}
uri={uri}
navigation={navigation}
compactView={false}
showDetails={true} />));
})}
</ScrollView>) :
(<View style={subscriptionsStyle.contentContainer}>
<Text style={subscriptionsStyle.contentText}>All caught up! You might like the channels below.</Text>
<SuggestedSubscriptions navigation={navigation} />
</View>)
}
{hasSubscriptions && !loading &&
<View style={subscriptionsStyle.viewModeRow}>
<Link
text={'All Subscriptions'}
style={[subscriptionsStyle.viewModeLink,
((viewMode === Constants.SUBSCRIPTIONS_VIEW_ALL) ? subscriptionsStyle.activeMode : subscriptionsStyle.inactiveMode)]}
onPress={() => this.changeViewMode(Constants.SUBSCRIPTIONS_VIEW_ALL)}
/>
<Link
text={'Latest Only'}
style={[subscriptionsStyle.viewModeLink,
((viewMode === Constants.SUBSCRIPTIONS_VIEW_LATEST_FIRST) ? subscriptionsStyle.activeMode : subscriptionsStyle.inactiveMode)]}
onPress={() => this.changeViewMode(Constants.SUBSCRIPTIONS_VIEW_LATEST_FIRST)}
/>
</View>}
</View>}
{(hasSubscriptions && !loading) &&
<View style={subscriptionsStyle.subContainer}>
<UriBar navigation={navigation} />
{(viewMode === Constants.SUBSCRIPTIONS_VIEW_ALL) &&
<FlatList
style={subscriptionsStyle.scrollContainer}
contentContainerStyle={subscriptionsStyle.scrollPadding}
renderItem={ ({item}) => (
<FileItem
style={subscriptionsStyle.fileItem}
mediaStyle={discoverStyle.fileItemMedia}
key={item}
uri={uriFromFileInfo(item)}
navigation={navigation}
compactView={false}
showDetails={true} />
)
}
data={allSubscriptions.sort((a, b) => {
return b.height - a.height;
})}
keyExtractor={(item, index) => uriFromFileInfo(item)} />}
{(hasSubscriptions && loading) &&
<View style={subscriptionsStyle.busyContainer}>
<ActivityIndicator size="large" color={Colors.LbryGreen} style={subscriptionsStyle.loading} />
</View>
}
{(viewMode === Constants.SUBSCRIPTIONS_VIEW_LATEST_FIRST) &&
<View style={subscriptionsStyle.subContainer}>
{unreadSubscriptions.length ?
(<ScrollView
style={subscriptionsStyle.scrollContainer}
contentContainerStyle={subscriptionsStyle.scrollPadding}>
{unreadSubscriptions.map(({ channel, uris }) => {
const { claimName } = parseURI(channel);
return uris.map(uri => (
<FileItem
style={subscriptionsStyle.fileItem}
mediaStyle={discoverStyle.fileItemMedia}
key={uri}
uri={uri}
navigation={navigation}
compactView={false}
showDetails={true} />));
})}
</ScrollView>) :
(<View style={subscriptionsStyle.contentContainer}>
<Text style={subscriptionsStyle.contentText}>All caught up! You might like the channels below.</Text>
<SuggestedSubscriptions navigation={navigation} />
</View>)
}
</View>}
{(!hasSubscriptions && !loading) &&
<View style={subscriptionsStyle.container}>
<Text style={subscriptionsStyle.infoText}>
You are not subscribed to any channels at the moment. Here are some channels that we think you might enjoy.
</Text>
{loadingSuggested && <ActivityIndicator size="large" colors={Colors.LbryGreen} style={subscriptionsStyle.loading} />}
{!loadingSuggested && <SuggestedSubscriptions navigation={navigation} />}
</View>}
{(hasSubscriptions && loading) &&
<View style={subscriptionsStyle.busyContainer}>
<ActivityIndicator size="large" color={Colors.LbryGreen} style={subscriptionsStyle.loading} />
</View>
}
{(!hasSubscriptions && !loading) &&
<View style={subscriptionsStyle.subContainer}>
<Text style={subscriptionsStyle.infoText}>
You are not subscribed to any channels at the moment. Here are some channels that we think you might enjoy.
</Text>
{loadingSuggested && <ActivityIndicator size="large" colors={Colors.LbryGreen} style={subscriptionsStyle.loading} />}
{!loadingSuggested && <SuggestedSubscriptions navigation={navigation} />}
</View>}
<FloatingWalletBalance navigation={navigation} />
<UriBar navigation={navigation} />
</View>
)
}

View file

@ -1,7 +1,8 @@
import React from 'react';
import { View, ScrollView, Text } from 'react-native';
import TransactionList from '../../component/transactionList';
import walletStyle from '../../styles/wallet';
import TransactionList from 'component/transactionList';
import UriBar from 'component/uriBar';
import walletStyle from 'styles/wallet';
class TransactionHistoryPage extends React.PureComponent {
componentWillMount() {
@ -16,19 +17,22 @@ class TransactionHistoryPage extends React.PureComponent {
const { fetchingTransactions, transactions, navigation } = this.props;
return (
<ScrollView>
<View style={walletStyle.historyList}>
{fetchingTransactions && !transactions.length && (
<Text style={walletStyle.infoText}>Loading transactions...</Text>
)}
{!fetchingTransactions && transactions.length === 0 && (
<Text style={walletStyle.infoText}>No transactions to list.</Text>
)}
{!fetchingTransactions && transactions && (transactions.length > 0) && (
<TransactionList navigation={navigation} transactions={transactions} />
)}
</View>
</ScrollView>
<View>
<UriBar navigation={navigation} />
<ScrollView style={walletStyle.transactionHistoryScroll}>
<View style={walletStyle.historyList}>
{fetchingTransactions && !transactions.length && (
<Text style={walletStyle.infoText}>Loading transactions...</Text>
)}
{!fetchingTransactions && transactions.length === 0 && (
<Text style={walletStyle.infoText}>No transactions to list.</Text>
)}
{!fetchingTransactions && transactions && (transactions.length > 0) && (
<TransactionList navigation={navigation} transactions={transactions} />
)}
</View>
</ScrollView>
</View>
);
}
}

View file

@ -30,6 +30,7 @@ class TrendingPage extends React.PureComponent {
return (
<View style={discoverStyle.container}>
<UriBar navigation={navigation} />
{!hasContent && fetchingTrendingUris && (
<View style={discoverStyle.busyContainer}>
<ActivityIndicator size="large" color={Colors.LbryGreen} />
@ -54,7 +55,6 @@ class TrendingPage extends React.PureComponent {
/>
}
<FloatingWalletBalance navigation={navigation} />
<UriBar navigation={navigation} />
</View>
);
}

View file

@ -5,7 +5,8 @@ import WalletAddress from 'component/walletAddress';
import WalletBalance from 'component/walletBalance';
import WalletSend from 'component/walletSend';
import Button from 'component/button';
import Link from 'component/link'
import Link from 'component/link';
import UriBar from 'component/uriBar';
import Constants from 'constants';
import walletStyle from 'styles/wallet';
@ -15,11 +16,12 @@ class WalletPage extends React.PureComponent {
}
render() {
const { understandsRisks, setClientSetting } = this.props;
const { understandsRisks, setClientSetting, navigation } = this.props;
if (!understandsRisks) {
return (
<View>
<UriBar navigation={navigation} />
<View style={walletStyle.warning}>
<Text style={walletStyle.warningText}>
This is beta software. You may lose any LBC that you send to your wallet due to uninstallation, software bugs, deleted files, or malicious third-party software. You should not use this wallet as your primary wallet. If you understand the risks and you wish to continue, please tap the button below.
@ -32,18 +34,21 @@ class WalletPage extends React.PureComponent {
}
return (
<ScrollView keyboardShouldPersistTaps={'handled'}>
<View style={walletStyle.warningCard}>
<Text style={walletStyle.warningText}>
Please backup your wallet file using the instructions at <Link style={walletStyle.warningText} text="https://lbry.io/faq/how-to-backup-wallet#android" href="https://lbry.io/faq/how-to-backup-wallet#android" />.
</Text>
</View>
<View>
<UriBar navigation={navigation} />
<ScrollView keyboardShouldPersistTaps={'handled'}>
<View style={walletStyle.warningCard}>
<Text style={walletStyle.warningText}>
Please backup your wallet file using the instructions at <Link style={walletStyle.warningText} text="https://lbry.io/faq/how-to-backup-wallet#android" href="https://lbry.io/faq/how-to-backup-wallet#android" />.
</Text>
</View>
<WalletBalance />
<WalletAddress />
<WalletSend />
<TransactionListRecent navigation={this.props.navigation} />
</ScrollView>
<WalletBalance />
<WalletAddress />
<WalletSend />
<TransactionListRecent navigation={this.props.navigation} />
</ScrollView>
</View>
);
}
}

View file

@ -11,8 +11,7 @@ const channelPageStyle = StyleSheet.create({
},
fileList: {
flex: 1,
paddingTop: 30,
marginBottom: 60,
paddingTop: 30
},
fileListContent: {
paddingBottom: 16

View file

@ -18,12 +18,12 @@ const discoverStyle = StyleSheet.create({
},
scrollContainer: {
flex: 1,
marginBottom: 60,
marginTop: 60,
paddingTop: 12
},
trendingContainer: {
flex: 1,
marginBottom: 60,
marginTop: 60,
paddingTop: 30
},
busyContainer: {

View file

@ -11,7 +11,8 @@ const downloadsStyle = StyleSheet.create({
flexDirection: 'row'
},
subContainer: {
flex: 1
flex: 1,
marginTop: 60
},
itemList: {
flex: 1,

View file

@ -22,8 +22,7 @@ const filePageStyle = StyleSheet.create({
marginBottom: 20
},
innerPageContainer: {
flex: 1,
marginBottom: 60
flex: 1
},
innerPageContainerFsMode: {
flex: 1,
@ -32,7 +31,8 @@ const filePageStyle = StyleSheet.create({
mediaContainer: {
alignItems: 'center',
width: screenWidth,
height: containedMediaHeightWithControls
height: containedMediaHeightWithControls,
marginTop: 60
},
emptyClaimText: {
fontFamily: 'Inter-UI-Regular',
@ -116,10 +116,12 @@ const filePageStyle = StyleSheet.create({
containedPlayer: {
width: '100%',
height: containedMediaHeightWithControls,
top: 60
},
containedPlayerLandscape: {
width: '100%',
height: '100%'
height: '100%',
top: 60
},
fullscreenPlayer: {
width: '100%',

View file

@ -27,7 +27,7 @@ const floatingButtonStyle = StyleSheet.create({
},
bottomRight: {
right: 10,
bottom: 70
bottom: 10
}
});

View file

@ -1,7 +1,7 @@
import { Platform, StyleSheet } from 'react-native';
const STATUSBAR_HEIGHT = Platform.OS === 'ios' ? 20 : 0;
const TITLE_OFFSET = Platform.OS === 'ios' ? 70 : 56;
export const TITLE_OFFSET = Platform.OS === 'ios' ? 70 : 56;
let platformContainerStyles;
if (Platform.OS === 'ios') {

View file

@ -29,6 +29,9 @@ const rewardStyle = StyleSheet.create({
rewardsContainer: {
flex: 1
},
scrollContainer: {
marginTop: 60
},
scrollContentContainer: {
paddingBottom: 16
},

View file

@ -12,7 +12,7 @@ const searchStyle = StyleSheet.create({
height: '100%',
paddingLeft: 16,
paddingRight: 16,
marginBottom: 60
marginTop: 60
},
scrollPadding: {
paddingBottom: 16

View file

@ -11,6 +11,10 @@ const subscriptionsStyle = StyleSheet.create({
container: {
flex: 1,
},
subContainer: {
flex: 1,
marginTop: 60
},
busyContainer: {
flex: 1,
justifyContent: 'center',
@ -19,8 +23,7 @@ const subscriptionsStyle = StyleSheet.create({
padding: 16
},
scrollContainer: {
flex: 1,
marginBottom: 60
flex: 1
},
scrollPadding: {
paddingTop: 24

View file

@ -1,11 +1,13 @@
import { StyleSheet } from 'react-native';
import { TITLE_OFFSET } from 'styles/pageHeader';
import Colors from './colors';
const uriBarStyle = StyleSheet.create({
uriContainer: {
flexDirection: 'row',
backgroundColor: Colors.White,
padding: 8,
alignSelf: 'flex-end',
alignSelf: 'flex-start',
height: 60,
width: '100%',
shadowColor: Colors.Black,
@ -24,12 +26,12 @@ const uriBarStyle = StyleSheet.create({
borderRadius: 4,
fontFamily: 'Inter-UI-Regular',
fontSize: 16,
width: '100%'
flex: 17
},
overlay: {
position: 'absolute',
backgroundColor: 'transparent',
bottom: 0,
top: 0,
width: '100%',
zIndex: 200,
elevation: 16
@ -51,7 +53,12 @@ const uriBarStyle = StyleSheet.create({
fontSize: 16,
marginLeft: 12,
marginRight: 12
}
},
drawerMenuButton: {
height: '100%',
justifyContent: 'center',
flex: 3
},
});
export default uriBarStyle;

View file

@ -37,7 +37,7 @@ const walletStyle = StyleSheet.create({
backgroundColor: Colors.Orange,
padding: 16,
marginLeft: 16,
marginTop: 16,
marginTop: 76,
marginRight: 16
},
transactionsCard: {
@ -132,7 +132,8 @@ const walletStyle = StyleSheet.create({
warning: {
backgroundColor: Colors.Orange,
padding: 16,
margin: 16
margin: 16,
marginTop: 76
},
warningText: {
color: Colors.White,
@ -161,6 +162,9 @@ const walletStyle = StyleSheet.create({
},
bottomMarginLarge: {
marginBottom: 24
},
transactionHistoryScroll: {
marginTop: 60
}
});