Event details navigation
This commit is contained in:
1 parent
02c38ae6f2
commit
24cb9bddc0
6 files changed
+39
-3
No files matched your search
@@ -3,6 +3,7 @@ import {connect} from "react-redux";
|
||||
import {TabNavigator, StackNavigator} from "react-navigation";
|
||||
|
||||
import EventsScreen from "./screens/EventScreen";
|
||||
import EventDetailsScreen from "./screens/EventDetailsScreen";
|
||||
import AboutScreen from "./screens/AboutScreen";
|
||||
import MembershipScreen from "./screens/MembershipScreen";
|
||||
|
||||
@@ -22,6 +23,7 @@ const tabNav = TabNavigator(tabBarRoutes, tabBarOptions);
|
||||
|
||||
const DuskenContainer = StackNavigator({
|
||||
Root: { screen: tabNav},
|
||||
EventDetails: { screen: EventDetailsScreen },
|
||||
});
|
||||
|
||||
export default connect()(DuskenContainer);
|
||||
@@ -0,0 +1,12 @@
|
||||
import React, { Component } from 'react';
|
||||
import {ScrollView, Text} from "react-native";
|
||||
|
||||
export default class EventDetails extends Component {
|
||||
|
||||
render() {
|
||||
const item = this.props.item;
|
||||
return (<ScrollView>
|
||||
<Text>{item.link}</Text>
|
||||
</ScrollView>)
|
||||
}
|
||||
}
|
||||
@@ -36,7 +36,7 @@ export default class EventList extends Component {
|
||||
};
|
||||
|
||||
_onPressItem = (item) => {
|
||||
Linking.openURL(item.link);
|
||||
this.props.showEvent(item);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -99,8 +99,12 @@ class EventListContainer extends React.Component {
|
||||
this.fetchEvents();
|
||||
}
|
||||
|
||||
showEvent = (item) => {
|
||||
this.props.showEvent(item);
|
||||
};
|
||||
|
||||
render() {
|
||||
return (<EventList {...{...this.state, handleRefresh: this.handleRefresh, handleLoadMore: this.handleLoadMore}} />)
|
||||
return (<EventList showEvent={this.showEvent} {...{...this.state, handleRefresh: this.handleRefresh, handleLoadMore: this.handleLoadMore}} />)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
import React, { Component } from 'react';
|
||||
import EventDetails from "../modules/events/EventDetails";
|
||||
|
||||
export default class EventDetailsScreen extends Component {
|
||||
static navigationOptions = {
|
||||
title: 'Detaljer',
|
||||
};
|
||||
|
||||
render() {
|
||||
const { params } = this.props.navigation.state;
|
||||
return (<EventDetails item={params.item}/>);
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,12 @@ export default class EventsScreen extends Component {
|
||||
),
|
||||
};
|
||||
|
||||
showEvent = (item) => {
|
||||
const { navigate } = this.props.navigation;
|
||||
navigate('EventDetails', {item: item})
|
||||
};
|
||||
|
||||
render() {
|
||||
return (<EventListContainer/>);
|
||||
return (<EventListContainer showEvent={this.showEvent} />);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user