diff --git a/src/Navigation.js b/src/Navigation.js
index 39f6c97..cc808dc 100644
--- a/src/Navigation.js
+++ b/src/Navigation.js
@@ -5,10 +5,10 @@ import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
-// import EventListScreen from './screens/EventListScreen';
-// import AboutScreen from './screens/AboutScreen';
-// import EventDetailScreen from './screens/EventDetailScreen';
-// import LoginScreen from './screens/LoginScreen';
+import EventListScreen from './screens/EventListScreen';
+import AboutScreen from './screens/AboutScreen';
+import EventDetailScreen from './screens/EventDetailScreen';
+import LoginScreen from './screens/LoginScreen';
import MembershipScreen from './screens/MembershipScreen';
// import UserRegisterScreen from './screens/UserRegisterScreen';
@@ -84,11 +84,18 @@ const Stack = createNativeStackNavigator();
const DuskenNavigation = () => (
-
- {/* */}
- {/* */}
+
+
- {/* */}
+
+ ({
+ title: route.params.item.title.decoded,
+ })}
+ />
+
);
diff --git a/src/modules/events/EventList.js b/src/modules/events/EventList.js
index fa5a307..c15effc 100644
--- a/src/modules/events/EventList.js
+++ b/src/modules/events/EventList.js
@@ -1,46 +1,51 @@
-import { StyleSheet, View, Platform } from 'react-native';
-import { SectionList } from 'react-navigation';
-import { Card, ListItem, CardItem, Body, Text, Right, Icon, Button, Content, Spinner } from 'native-base';
-import React, { Component } from 'react';
+import { StyleSheet, View, Platform, SectionList, TouchableHighlight } from 'react-native';
+import { Card, Text, Icon, Button, Spinner } from 'native-base';
+import React from 'react';
import moment from 'moment';
import 'moment/locale/nb';
+
import theme from '../../theme';
moment.locale('nb');
-export default class EventList extends Component {
- _renderItem = ({ item }) => (
- {
+ return moment(time).format('llll');
+};
+
+const EventList = ({ eventsSectioned, refreshing, handleRefresh, handleLoadMore, showEvent, error, loading }) => {
+ const _renderItem = ({ item }) => (
+ {
- this._onPressItem(item);
+ showEvent(item);
}}
style={styles.listItem}
>
-
-
- {item.title.decoded}
-
- {this._formatTime(item.start_time)}
-
-
-
-
-
+
+
+
+ {item.title.decoded}
+
+ {_formatTime(item.start_time)}
+
+
+
+
+
+
);
- _renderSectionHeader = ({ section }) => {
+ const _renderSectionHeader = ({ section }) => {
return (
-
-
+
+
{section.title}
-
-
+
+
);
};
- _renderFooter = () => {
- if (!this.props.loading) {
+ const _renderFooter = () => {
+ if (!loading) {
return null;
}
@@ -51,52 +56,43 @@ export default class EventList extends Component {
);
};
- _onPressItem = (item) => {
- this.props.showEvent(item);
- };
-
- _formatTime(time) {
- return moment(time).format('llll');
- }
-
- render() {
- if (this.props.error) {
- return (
-
-
-
- Kunne ikke hente programmet...
-
-
-
-
-
-
- );
- }
-
+ if (error) {
return (
- item.id}
- refreshing={this.props.refreshing}
- onRefresh={this.props.handleRefresh}
- onEndReached={this.props.handleLoadMore}
- onEndReachedThreshould={10}
- initialNumToRender={10}
- ListFooterComponent={this._renderFooter}
- style={[styles.card, styles.list]}
- ListHeaderComponent={() => {
- return ;
- }}
- />
+
+
+
+ Kunne ikke hente programmet...
+
+
+
+
+
+
);
}
-}
+
+ return (
+ item.id}
+ refreshing={refreshing}
+ onRefresh={handleRefresh}
+ onEndReached={handleLoadMore}
+ onEndReachedThreshould={10}
+ initialNumToRender={10}
+ ListFooterComponent={_renderFooter}
+ style={[styles.card, styles.list]}
+ ListHeaderComponent={() => {
+ return ;
+ }}
+ />
+ );
+};
+export default EventList;
const styles = StyleSheet.create({
listItem: {
diff --git a/src/screens/EventDetailScreen.js b/src/screens/EventDetailScreen.js
index d718a9e..7dd81d5 100644
--- a/src/screens/EventDetailScreen.js
+++ b/src/screens/EventDetailScreen.js
@@ -1,21 +1,7 @@
import React from 'react';
-import { StyleProvider } from 'native-base';
-import { useNavigationState } from '@react-navigation/native';
import EventDetail from '../modules/events/EventDetail';
-import getTheme from '../../native-base-theme/components';
-const EventDetailScreen = () => {
- const item = useNavigationState((state) => state.item);
-
- return (
-
-
-
- );
-};
-EventDetailScreen.navigationOptions = ({ navigation }) => ({
- title: navigation.state.params.item.title.decoded,
-});
+const EventDetailScreen = ({ route }) => ;
export default EventDetailScreen;
diff --git a/src/screens/EventListScreen.js b/src/screens/EventListScreen.js
index cfdf117..f1eb599 100644
--- a/src/screens/EventListScreen.js
+++ b/src/screens/EventListScreen.js
@@ -1,7 +1,7 @@
import React from 'react';
import Icon from 'react-native-vector-icons/SimpleLineIcons';
-import { StyleProvider } from 'native-base';
import { useNavigation } from '@react-navigation/native';
+
import EventListContainer from '../modules/events/EventListContainer';
// FIXME: theme
// https://docs.nativebase.io/setup-provider#add-custom-theme-optional
@@ -10,13 +10,11 @@ import EventListContainer from '../modules/events/EventListContainer';
const EventsScreen = () => {
const { navigate } = useNavigation();
return (
-
- {
- navigate('EventDetail', { item });
- }}
- />
-
+ {
+ navigate('EventDetail', { item });
+ }}
+ />
);
};