diff --git a/src/modules/membership/Membership.js b/src/modules/membership/Membership.js
index a24cf2c..dba79e2 100644
--- a/src/modules/membership/Membership.js
+++ b/src/modules/membership/Membership.js
@@ -1,7 +1,10 @@
import React, {Component} from 'react';
-import {ScrollView, Text, View, Linking, StyleSheet, Platform} from "react-native";
-import {Button, Text as NBText} from "native-base";
+import {ScrollView, Text, View, StyleSheet} from "react-native";
+import {Button, Text as NBText, Spinner} from "native-base";
+
import theme from "../../theme";
+
+
export default class Membership extends Component {
render() {
if (this.props.isFetchingUserData) {
diff --git a/src/modules/membership/Proof.js b/src/modules/membership/Proof.js
index edf4e1b..b3731a0 100644
--- a/src/modules/membership/Proof.js
+++ b/src/modules/membership/Proof.js
@@ -2,6 +2,7 @@ import React, {Component} from 'react';
import {Image, ScrollView, StyleSheet, Text, TouchableOpacity, View} from "react-native";
import {Button, Text as NBText, Spinner} from 'native-base';
import Confetti from 'react-native-confetti';
+
import theme from "../../theme";
export default class Proof extends Component {
@@ -82,6 +83,7 @@ export default class Proof extends Component {
if (this.props.user.is_member) {
return;
}
+
return (
{this.props.isChargingMembership && }
@@ -101,7 +103,7 @@ export default class Proof extends Component {
confetti() {
if (this.props.user.is_member) {
- // FIXME: allmost infinite confetti. Are the animations paused when not visible, if not power hog?
+ // Confetti!!!!
return this._confettiView = node} confettiCount={Number.MAX_SAFE_INTEGER} />
}
}
@@ -122,6 +124,13 @@ export default class Proof extends Component {
)
}
+ chargeError() {
+ if (!this.props.chargeError) {
+ return;
+ }
+
+ return {this.props.chargeError}
+ }
render() {
return (
@@ -132,6 +141,7 @@ export default class Proof extends Component {
{this.membershipName()}
{this.logo()}
{this.membershipStatus()}
+ {this.chargeError()}
{this.purchaseButton()}
{this.membershipValidTo()}
@@ -221,5 +231,10 @@ const styles = StyleSheet.create({
textAlign: 'center',
paddingTop: 10,
paddingBottom: 8
+ },
+ errorMessage: {
+ paddingTop: 10,
+ textAlign: 'center',
+ color: theme.colors.danger
}
});
\ No newline at end of file
diff --git a/src/modules/membership/ProofContainer.js b/src/modules/membership/ProofContainer.js
index 71f092a..b724822 100644
--- a/src/modules/membership/ProofContainer.js
+++ b/src/modules/membership/ProofContainer.js
@@ -36,7 +36,7 @@ class ProofContainer extends Component {
user={this.props.user}
isChargingMembership={this.props.isChargingMembership}
isLoadingMembershipType={this.props.data.loading}
- chargeError={this.props.chargeError}
+ chargeError={this.props.chargeError ? 'Kunne ikke belaste bankkortet, prøv igjen...' : ''}
onChargePress={this.openStripe}
onLogoutPress={this.props.onLogoutPress}
membershipPrice={this.getPrice(this.props.data.membershipTypes)}
diff --git a/src/modules/register/UserRegister.js b/src/modules/register/UserRegister.js
index 315b1e6..75d8c71 100644
--- a/src/modules/register/UserRegister.js
+++ b/src/modules/register/UserRegister.js
@@ -1,8 +1,8 @@
import React, {Component} from 'react';
import {Container, Header, Content, Form, Item, Input, Label, Spinner, Button, Text, Icon, Toast} from 'native-base';
-import {Platform, StyleSheet, View} from "react-native";
+import {StyleSheet, View} from "react-native";
import EmailValidator from 'email-validator';
-import platform from "native-base/src/theme/variables/platform";
+
import theme from "../../theme";
export default class UserRegister extends Component {
@@ -248,7 +248,7 @@ const styles = StyleSheet.create({
},
errorMessage: {
textAlign: 'center',
- color: platform.btnDangerBg,
+ color: theme.colors.danger,
fontSize: 14,
},
card: theme.card,
diff --git a/src/navigation.js b/src/navigation.js
index a48bc1d..c36adf8 100644
--- a/src/navigation.js
+++ b/src/navigation.js
@@ -9,8 +9,8 @@ import MembershipScreen from "./screens/MembershipScreen";
import UserRegisterScreen from "./screens/UserRegisterScreen";
const tabBarRoutes = {
- Membership: { screen: MembershipScreen },
EventList: { screen: EventListScreen },
+ Membership: { screen: MembershipScreen },
About: { screen: AboutScreen },
};
diff --git a/src/theme.js b/src/theme.js
index 729db2a..4b3c323 100644
--- a/src/theme.js
+++ b/src/theme.js
@@ -1,6 +1,9 @@
import { Platform } from "react-native";
+import platform from "native-base/src/theme/variables/platform";
-const colors = {};
+const colors = {
+ danger: platform.btnDangerBg
+};
const card = {
...Platform.select({