diff --git a/App.js b/App.js index c4cc4ae..e5aa569 100644 --- a/App.js +++ b/App.js @@ -1,7 +1,20 @@ import React, {Component} from "react"; -import {Image, StyleSheet, View, Header} from "react-native"; -import {createStackNavigator, createAppContainer} from "react-navigation"; +import { + Image, + StyleSheet, + View, + Header, + Alert, + PushNotificationIOS, +} from "react-native"; +import { + createStackNavigator, + createAppContainer, + NavigationActions, +} from "react-navigation"; +import PushNotification from "react-native-push-notification"; +import NavigationService from "./NavigationService.js"; import List from "./src/List.js"; import Questions from "./src/Questions.js"; import Question from "./src/Question.js"; @@ -66,10 +79,23 @@ const AppNavigator = createStackNavigator( }, ); +PushNotification.configure({ + onNotification: function(notification) { + NavigationService.navigate("Index"); + notification.finish(PushNotificationIOS.FetchResult.NoData); + }, +}); + const AppContainer = createAppContainer(AppNavigator); export default class App extends React.Component { render() { - return ; + return ( + { + NavigationService.setTopLevelNavigator(navigatorRef); + }} + /> + ); } } diff --git a/NavigationService.js b/NavigationService.js new file mode 100644 index 0000000..f6e11db --- /dev/null +++ b/NavigationService.js @@ -0,0 +1,21 @@ +import {NavigationActions} from "react-navigation"; + +let _navigator; + +function setTopLevelNavigator(navigatorRef) { + _navigator = navigatorRef; +} + +function navigate(routeName, params) { + _navigator.dispatch( + NavigationActions.navigate({ + routeName, + params, + }), + ); +} + +export default { + navigate, + setTopLevelNavigator, +}; diff --git a/src/functions/notifications.js b/src/functions/notifications.js index 90892c8..1416fe3 100644 --- a/src/functions/notifications.js +++ b/src/functions/notifications.js @@ -1,4 +1,4 @@ -import React from "react"; +import React, {Component} from "react"; import PushNotification from "react-native-push-notification"; import {getDataFromStorage, setDataToStorage} from "./data.js"; @@ -7,6 +7,7 @@ import {getDataFromStorage, setDataToStorage} from "./data.js"; export const createNotification = (date = new Date()) => { let id = date.getTime(); + PushNotification.localNotificationSchedule({ id: id, date: date,