From 2c9c8227847737a121a0bb761d82b6ac52a92070 Mon Sep 17 00:00:00 2001 From: Akinwale Ariwodola Date: Thu, 9 May 2019 18:52:19 +0100 Subject: [PATCH 1/9] additional rewards page changes and new verification flow --- app/src/component/AppNavigator.js | 10 + app/src/component/rewardEnrolment/index.js | 17 ++ app/src/component/rewardEnrolment/view.js | 51 +++++ app/src/constants.js | 6 + app/src/page/rewards/view.js | 8 +- app/src/page/verification/index.js | 26 +++ .../internal/email-verify-page.js | 132 +++++++++++ app/src/page/verification/view.js | 206 ++++++++++++++++++ app/src/styles/firstRun.js | 14 ++ app/src/styles/reward.js | 64 +++++- .../browser/reactmodules/FirebaseModule.java | 1 + 11 files changed, 529 insertions(+), 6 deletions(-) create mode 100644 app/src/component/rewardEnrolment/index.js create mode 100644 app/src/component/rewardEnrolment/view.js create mode 100644 app/src/page/verification/index.js create mode 100644 app/src/page/verification/internal/email-verify-page.js create mode 100644 app/src/page/verification/view.js diff --git a/app/src/component/AppNavigator.js b/app/src/component/AppNavigator.js index e3185c0e..bac1441a 100644 --- a/app/src/component/AppNavigator.js +++ b/app/src/component/AppNavigator.js @@ -11,6 +11,7 @@ import SettingsPage from 'page/settings'; import SplashScreen from 'page/splash'; import SubscriptionsPage from 'page/subscriptions'; import TransactionHistoryPage from 'page/transactionHistory'; +import VerificationScreen from 'page/verification'; import WalletPage from 'page/wallet'; import SearchInput from 'component/searchInput'; import { @@ -212,10 +213,19 @@ const mainStackNavigator = new createStackNavigator({ }, Main: { screen: drawer + }, + Verification: { + screen: VerificationScreen, + navigationOptions: { + drawerLockMode: 'locked-closed' + } } }, { headerMode: 'none' }); + + + export const AppNavigator = mainStackNavigator; export const reactNavigationMiddleware = createReactNavigationReduxMiddleware( state => state.nav, diff --git a/app/src/component/rewardEnrolment/index.js b/app/src/component/rewardEnrolment/index.js new file mode 100644 index 00000000..da361445 --- /dev/null +++ b/app/src/component/rewardEnrolment/index.js @@ -0,0 +1,17 @@ +import { connect } from 'react-redux'; +import { doToast } from 'lbry-redux'; +import { doRewardList, selectUnclaimedRewardValue, selectFetchingRewards, selectUser } from 'lbryinc'; +import RewardEnrolment from './view'; + +const select = state => ({ + unclaimedRewardAmount: selectUnclaimedRewardValue(state), + fetching: selectFetchingRewards(state), + user: selectUser(state) +}); + +const perform = dispatch => ({ + fetchRewards: () => dispatch(doRewardList()), + notify: data => dispatch(doToast(data)) +}); + +export default connect(select, perform)(RewardEnrolment); diff --git a/app/src/component/rewardEnrolment/view.js b/app/src/component/rewardEnrolment/view.js new file mode 100644 index 00000000..7978488f --- /dev/null +++ b/app/src/component/rewardEnrolment/view.js @@ -0,0 +1,51 @@ +import React from 'react'; +import { NativeModules, Text, TouchableOpacity, View } from 'react-native'; +import AsyncStorage from '@react-native-community/async-storage'; +import Button from 'component/button'; +import Link from 'component/link'; +import Colors from 'styles/colors'; +import Icon from 'react-native-vector-icons/FontAwesome5'; +import rewardStyle from 'styles/reward'; + +class RewardEnrolment extends React.Component { + componentDidMount() { + this.props.fetchRewards(); + } + + onNotInterestedPressed = () => { + const { navigation } = this.props; + navigation.navigate({ routeName: 'DiscoverStack' }) + } + + onEnrollPressed = () => { + const { navigation } = this.props; + navigation.navigate({ routeName: 'Verification' }) + } + + render() { + const { fetching, navigation, unclaimedRewardAmount, user } = this.props; + + return ( + + + + + {unclaimedRewardAmount} unclaimed credits + + + + + LBRY credits allow you to purchase content, publish content, and influence the network. You can start earning credits by watching videos on LBRY. + + + + +