aboutsummaryrefslogtreecommitdiff
path: root/src/actions
diff options
context:
space:
mode:
authorMichael Foiani <mfoiani2019@communiyschoolnaples.org>2018-07-30 17:47:26 -0400
committerMichael Foiani <mfoiani2019@communiyschoolnaples.org>2018-07-30 17:47:26 -0400
commit9d96ac4ae65c9fe6f5df8b5a95028495f4b00c49 (patch)
treee593ddae633606380a6fe45424bbaaaf0f2f80e1 /src/actions
parent25b7ac9f323b366520781a6a75b381f635a1f9ff (diff)
Making big additions to backend and frontend development to fourm system.
Diffstat (limited to 'src/actions')
-rw-r--r--src/actions/app.js10
-rw-r--r--src/actions/firebase.js34
2 files changed, 43 insertions, 1 deletions
diff --git a/src/actions/app.js b/src/actions/app.js
index 3a5f9fb..fce37d7 100644
--- a/src/actions/app.js
+++ b/src/actions/app.js
@@ -26,6 +26,9 @@ export const navigate = (path) => (dispatch) => {
dispatch(updateDrawerState(false));
};
+import {snapshotFourms} from './firebase.js';
+var hasSubscribedPosts = false;
+
const loadPage = (page) => (dispatch) => {
switch(page) {
case 'home':
@@ -41,7 +44,12 @@ const loadPage = (page) => (dispatch) => {
import('../components/mao-tutoring.js');
break;
case 'fourms':
- import('../components/mao-fourms.js');
+ import('../components/mao-fourms.js').then((module) => {
+ if(!hasSubscribedPosts) {
+ dispatch(snapshotFourms());
+ hasSubscribedPosts = true;
+ }
+ });;
break;
case 'account':
import('../components/mao-account.js');
diff --git a/src/actions/firebase.js b/src/actions/firebase.js
index 2d24908..65278fb 100644
--- a/src/actions/firebase.js
+++ b/src/actions/firebase.js
@@ -174,4 +174,38 @@ export const requestHours = (_time, _trainee, _date) => (dispatch, getState) =>
});
}
+export const CREATE_FOURM_POST = 'CREATE_FOURM_POST';
+export const SNAPSHOT_FOURM = 'SNAPSHOT_FOURM';
+export const UPDATE_FOURM_POSTS = 'UPDATE_FOURM_POSTS';
+
+export const createFourmPost = (_subject, _content) => (dispatch, getState) => {
+ var docRef = firestore.collection('posts');
+ const _uid = getState().firebase.uid;
+
+ docRef.add({
+ uid: _uid,
+ subject: _subject,
+ content: _content
+ });
+}
+
+export const snapshotFourms = () => (dispatch) => {
+ var docRef = firestore.collection('posts');
+
+ docRef.onSnapshot((query) => {
+ var fourmPosts = [];
+ query.forEach((doc) => {
+ fourmPosts.push(doc.data());
+ });
+ console.log(fourmPosts);
+ dispatch(updateFourmPosts(fourmPosts));
+ });
+}
+
+export const updateFourmPosts = (_fourmPosts) => {
+ return {
+ type: UPDATE_FOURM_POSTS,
+ payload: _fourmPosts
+ }
+}
//End Firebase Firestore