diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..3b66410
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "git.ignoreLimitWarning": true
+}
\ No newline at end of file
diff --git a/app.json b/app.json
index 6d23a83..f2f3bcc 100644
--- a/app.json
+++ b/app.json
@@ -3,7 +3,7 @@
"name": "מהפכה של שמחה",
"description": "אפליקציה לעידוד התנדבויות בבתי חולים",
"slug": "StartachHapRev",
- "version": "1.0.0",
+ "version": "1.0.1",
"icon": "./src/images/haprevLogo.png",
"sdkVersion": "25.0.0",
"privacy": "public",
diff --git a/src/views/adminActivities/CreateActivityView.js b/src/views/adminActivities/CreateActivityView.js
index d2143ed..6d854a2 100644
--- a/src/views/adminActivities/CreateActivityView.js
+++ b/src/views/adminActivities/CreateActivityView.js
@@ -1,7 +1,8 @@
import React, { Component } from 'react';
-import {View, Text, TextInput, KeyboardAvoidingView, Keyboard, TouchableOpacity, Modal, TouchableWithoutFeedback} from "react-native";
+import {View, Text, TextInput, KeyboardAvoidingView, Keyboard, TouchableOpacity, Modal, TouchableWithoutFeedback, Switch, ActivityIndicator} from "react-native";
import DateTimePicker from 'react-native-modal-datetime-picker';
import {CreateActivityStyle as styles } from './styles';
+import {sendNotificationToAllUsers} from '../notification/NotificationService';
class CreateActivityView extends Component {
constructor(props) {
@@ -18,6 +19,8 @@ class CreateActivityView extends Component {
isButtonDisabled: true,
modalVisible:false,
success:false,
+ notificationToAll:true,
+ loading:false,
};
}
_showDateTimePicker = () => {
@@ -47,6 +50,19 @@ class CreateActivityView extends Component {
res = await this.props.onNewActivityHandler(this.state.fullDate,this.state.fullTime,this.state.activityName,this.state.fullFormatDate)
if(res === 'ok')
this.setState({success : true});
+ //send notification to all users
+ if(this.state.notificationToAll){
+ const { hospital, first, last } = this.props;
+ let activity = {
+ hospital: hospital,
+ coordinatorName: first +' '+ last,
+ nameActivity: this.state.activityName,
+ time: this.state.fullDate,
+ }
+ this.setState({loading:true})
+ await sendNotificationToAllUsers(activity)
+ this.setState({loading:false})
+ }
this.setState({modalVisible : true});
}
else{
@@ -100,12 +116,28 @@ class CreateActivityView extends Component {
: this.alertDate
}
+
+ לשלוח התראות על האירוע לכל המשתמשים?
+ this.setState({notificationToAll:!this.state.notificationToAll})}
+ value={this.state.notificationToAll}
+ />
+
+ {
+ !this.state.loading ?
אישור
+ :
+
+ }
diff --git a/src/views/notification/NotificationService.js b/src/views/notification/NotificationService.js
index 523d54d..118c237 100644
--- a/src/views/notification/NotificationService.js
+++ b/src/views/notification/NotificationService.js
@@ -57,4 +57,18 @@ export const getUserTokenNotification = async(userId) =>{
})
.catch(error => {console.log('Error ' + error);})
return userToken
+}
+
+export const sendNotificationToAllUsers = async(activity) =>{
+ let titleMsg = 'פעילות חדשה ב' +hospital + ' ב' +time;
+ let contentMsg = 'הפעילות ' + nameActivity + ' עם הרכז ' + coordinatorName + ' מוזמנים להרשם!';
+ firebase.database().ref('users').once('value' ,
+ snapshot => {
+ var users = snapshot.val()
+ var usersList = Object.keys(users).map((u,k) => {return users[u].settings && users[u].settings.token!=='' && users[u].settings.token})
+ .filter(x=> x&&x)
+ usersList.forEach(userToken=>{
+ sendPushNotification(userToken,titleMsg,contentMsg)
+ })
+ })
}
\ No newline at end of file