diff --git a/.gitignore b/.gitignore
index 499a56f..055b6e7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,7 +52,7 @@ fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
-.env
+.env*
*.swp
# Sentry
diff --git a/env-example b/env-example
index af40e08..f0cd498 100644
--- a/env-example
+++ b/env-example
@@ -1,6 +1,5 @@
EVENT_API_URL=https://studentersamfundet.no
DUSKEN_API_URL=https://galtinn.neuf.no
-DUSKEN_PURCHASE_URL=https://galtinn.neuf.no/?utm_source=purchase-button&utm_medium=app
DUSKEN_FORGOT_PASSWORD_URL=https://galtinn.neuf.no/auth/password_reset/
SENTRY_DSN=
STRIPE_PUBLISHABLE_KEY=
\ No newline at end of file
diff --git a/package.json b/package.json
index 6255e02..d68841d 100644
--- a/package.json
+++ b/package.json
@@ -17,7 +17,7 @@
"react-native-confetti": "^0.0.6",
"react-native-config": "^0.6.1",
"react-native-htmlview": "^0.12.0",
- "react-native-sentry": "^0.23.2",
+ "react-native-sentry": "^0.25.0",
"react-navigation": "^1.0.0-beta.11",
"react-redux": "^5.0.6",
"redux": "^3.7.2",
diff --git a/src/Dusken.js b/src/Dusken.js
index 1007d35..aa5c26a 100644
--- a/src/Dusken.js
+++ b/src/Dusken.js
@@ -8,6 +8,8 @@ import EventDetailScreen from "./screens/EventDetailScreen";
import EventListScreen from "./screens/EventListScreen";
import LoginScreen from "./screens/LoginScreen";
import MembershipScreen from "./screens/MembershipScreen";
+import UserRegisterScreen from "./screens/UserRegisterScreen";
+import ChargeScreen from "./screens/ChargeScreen";
/* Navigation */
@@ -46,6 +48,8 @@ const tabNav = TabNavigator(tabBarRoutes, tabBarOptions);
const DuskenContainer = StackNavigator({
Root: { screen: tabNav },
Login: { screen: LoginScreen },
+ UserRegister: { screen: UserRegisterScreen },
+ Charge: { screen: ChargeScreen },
EventDetail: { screen: EventDetailScreen },
});
diff --git a/src/actions.js b/src/actions.js
index 930845c..b2cf622 100644
--- a/src/actions.js
+++ b/src/actions.js
@@ -161,7 +161,7 @@ export function requestRegisterUser(firstName, lastName, email, phoneNumber, pas
return (dispatch) => {
dispatch(registerUserRequest());
- return fetch(`${Config.DUSKEN_API_URL}/api/user/register`, {
+ return fetch(`${Config.DUSKEN_API_URL}/api/user/register/`, {
method: 'POST',
headers: {
'Accept': 'application/json',
diff --git a/src/modules/membership/Charge.js b/src/modules/membership/Charge.js
index e5b5a69..eda16e2 100644
--- a/src/modules/membership/Charge.js
+++ b/src/modules/membership/Charge.js
@@ -10,6 +10,7 @@ stripe.init({
});
export default class Charge extends Component {
+ // TODO: You are here
render() {
return
In charge view
diff --git a/src/modules/membership/Membership.js b/src/modules/membership/Membership.js
index 8aed2f0..7925a69 100644
--- a/src/modules/membership/Membership.js
+++ b/src/modules/membership/Membership.js
@@ -1,8 +1,6 @@
import React, {Component} from 'react';
import {ScrollView, Text, View, Linking, StyleSheet, Platform} from "react-native";
import {Button, Text as NBText} from "native-base";
-import Config from 'react-native-config';
-
export default class Membership extends Component {
render() {
return (
@@ -11,7 +9,7 @@ export default class Membership extends Component {
Hei 👋
Her kan du bli medlem i Det Norske Studentersamfund - Chateau Neuf og ha medlemsbeviset ditt på telefonen
-
+
Hva får jeg?
@@ -22,16 +20,13 @@ export default class Membership extends Component {
- Mulighet til å delta i landets eldste studentdemokrati
Allerede medlem?
-
+
)
};
- onLoginPress = () => {
- this.props.onLoginPress();
- };
}
diff --git a/src/modules/membership/MembershipContainer.js b/src/modules/membership/MembershipContainer.js
index d68b98c..729d403 100644
--- a/src/modules/membership/MembershipContainer.js
+++ b/src/modules/membership/MembershipContainer.js
@@ -2,7 +2,7 @@ import React, {Component} from 'react';
import {connect} from "react-redux";
import Membership from "./Membership";
-import MembershipProof from "./MembershipProof";
+import Proof from "./Proof";
import { requestUserData, logout } from "../../actions";
class MembershipContainer extends Component {
@@ -42,20 +42,29 @@ class MembershipContainer extends Component {
this.props.onLoginPress();
};
+ onRegisterPress = () => {
+ this.props.onRegisterPress();
+ };
+
+ onChargePress = () => {
+ this.props.onChargePress();
+ };
+
onLogoutPress = () => {
this.props.logout();
- this.props.logoutNavigate();
+ this.props.onLogoutPress();
};
render() {
if (this.state.user) {
- return ;
}
- return ;
+ return ;
}
}
diff --git a/src/modules/membership/MembershipProof.js b/src/modules/membership/Proof.js
similarity index 96%
rename from src/modules/membership/MembershipProof.js
rename to src/modules/membership/Proof.js
index 7b6cdb2..3894c66 100644
--- a/src/modules/membership/MembershipProof.js
+++ b/src/modules/membership/Proof.js
@@ -1,10 +1,10 @@
import React, {Component} from 'react';
import {Image, Linking, StyleSheet, Platform, RefreshControl, TouchableOpacity, View} from "react-native";
import {Button, Body, Card, CardItem, Text, Content} from 'native-base';
-import Config from 'react-native-config';
import Confetti from 'react-native-confetti';
-export default class MembershipProof extends Component {
+export default class Proof extends Component {
+ // FIXME: Move logic to container
CONFETTI_TIMEOUT = 15000;
constructor(props) {
@@ -120,9 +120,7 @@ export default class MembershipProof extends Component {
return