aboutsummaryrefslogtreecommitdiff
path: root/src/actions
diff options
context:
space:
mode:
authorMichael Foiani <mfoiani2019@communiyschoolnaples.org>2018-08-05 00:31:13 -0400
committerMichael Foiani <mfoiani2019@communiyschoolnaples.org>2018-08-05 00:32:19 -0400
commit68f2d6cc8716409e29cfecc407821b1c5196d333 (patch)
tree54fdeaec45c980d4e2f7e442feabdd422f883bac /src/actions
parentc1b873625962448bae6d10a68ab537f2fbe1313b (diff)
Made small adjustments to improve app.
Deleted main firebase.js file. Also, fixed some small 404 errors and spelling errors.
Diffstat (limited to 'src/actions')
-rw-r--r--src/actions/app.js27
-rw-r--r--src/actions/firebase.js206
2 files changed, 19 insertions, 214 deletions
diff --git a/src/actions/app.js b/src/actions/app.js
index e0b95e3..e59a75b 100644
--- a/src/actions/app.js
+++ b/src/actions/app.js
@@ -29,17 +29,20 @@ export const navigate = (path) => (dispatch) => {
import { snapshotForums } from './firebaseFirestore.js';
var hasSubscribedPosts = false;
-const loadPage = (page) => (dispatch) => {
+const loadPage = (page) => (dispatch, getState) => {
switch(page) {
case 'home':
import('../components/mao-home.js')
- break;
+ break;
+
case 'compete':
import('../components/mao-competitions.js');
- break;
+ break;
+
case 'tutor':
import('../components/mao-tutoring.js');
- break;
+ break;
+
case 'forums':
import('../components/mao-forums.js').then((module) => {
if(!hasSubscribedPosts) {
@@ -47,13 +50,21 @@ const loadPage = (page) => (dispatch) => {
hasSubscribedPosts = true;
}
});
- break;
+ break;
+
case 'account':
import('../components/mao-account.js');
- break;
+ break;
+
case 'admin':
- import('../components/mao-admin.js');
- break;
+ if(getState.firebaseAuth.isAdmin) {
+ import('../components/mao-admin.js');
+ } else {
+ page = 'view404';
+ import('../components/my-view404.js');
+ }
+ break;
+
default:
page = 'view404';
import('../components/my-view404.js');
diff --git a/src/actions/firebase.js b/src/actions/firebase.js
deleted file mode 100644
index d93e227..0000000
--- a/src/actions/firebase.js
+++ /dev/null
@@ -1,206 +0,0 @@
-import { firestore, auth } from '../firebase.js';
-
-//Start Firbase Auth
-export const AUTH_FAIL = 'AUTH_FAIL';
-export const AUTH_SUCCESS = 'AUTH_SUCCESS';
-export const FETCH_DIVISON = 'FETCH_DIVISON';
-export const UPDATE_DIVISON = 'UPDATE_DIVISON';
-export const AUTH_SIGN_OUT = 'AUTH_SIGN_OUT';
-export const CREATE_ACCOUNT = 'CREATE_ACCOUNT';
-export const ADMIN_LISTENER = 'ADMIN_LISTENER';
-export const IS_ADMIN = 'IS_ADMIN';
-export const ADMIN_CONTROLS = 'ADMIN_CONTROLS';
-export const UPDATE_ADMIN = 'UPDATE_ADMIN';
-export const SET_USER_DATA = 'SET_USER_DATA';
-
-
-
-//End Firebase Auth
-
-//Start Firebase Firestore
-export const SNAPSHOT_HOURS = 'SNAPSHOT_HOURS';
-export const UPDATE_HOURS = 'UPDATE_HOURS';
-
-export const snapshotHours = () => (dispatch, getState) => {
-
- const currentState = getState().firebase;
- if(currentState.initialized) {
- var totalHours;
- var docRefUsers = firestore.collection('users').doc(currentState.uid);
- var docRefReq = firestore.collection('requests').where('uid', '==', currentState.uid);
-
- docRefUsers.onSnapshot((doc) => {
- totalHours = doc.data().hours;
-
- docRefReq.onSnapshot((query) => {
- var requestedHours = 0;
- query.forEach((docs) => {
- requestedHours += docs.data().time;
- });
- dispatch(updateHours(totalHours, requestedHours));
- });
- });
- }
-
-
-
-}
-
-export const updateHours = (hours, reqHours) => {
- return {
- type: 'UPDATE_HOURS',
- approvedHours: hours,
- requestedHours: reqHours
- }
-}
-
-export const REGISTER_COMP = 'REGISTER_COMP';
-export const SNAPSHOT_REGISTERED_COMPETITIONS = 'SNAPSHOT_REGISTERED_COMPETITIONS';
-export const UPDATE_REGISTERED_COMPETITIONS = 'UPDATE_REGISTERED_COMPETITIONS';
-export const SNAPSHOT_ADMIN_COMP_LIST = 'SNAPSHOT_ADMIN_COMP_LIST';
-export const UPDATE_ADMIN_COMP_LIST = 'UPDATE_ADMIN_COMP_LIST';
-
-
-
-export const updateRegisteredCompetitions = (registeredComps) => {
- return {
- type: UPDATE_REGISTERED_COMPETITIONS,
- payload: registeredComps
- }
-}
-
-export const snapshotAdminCompList = () => (dispatch) => {
- var docRef = firestore.collection('competitions');
- docRef.onSnapshot((querySnapshot) => {
- var compList = [];
- querySnapshot.forEach((doc) => {
- var divisonData = [];
- for(var i = 0; i < doc.data().uids.length; i++) {
- var docRefDivison = firestore.collection('users').doc(doc.data().uids[i]);
- docRefDivison.get().then((docUser) => {
- divisonData.push(docUser.data().divison);
- });
- }
- compList.push({
- ...doc.data(),
- name: doc.id,
- divisons: divisonData
- });
- });
- dispatch(updateAdminCompList(compList));
- });
-}
-
-export const updateAdminCompList = (compList) => {
- return {
- type: UPDATE_ADMIN_COMP_LIST,
- payload: compList
- }
-}
-
-export const REQUEST_HOURS = 'REQUEST_HOURS';
-export const ADMIN_APPROVE_HOURS = 'ADMIN_APPROVE_HOURS';
-export const ADMIN_REJECT_HOURS = 'ADMIN_REJECT_HOURS';
-export const ADMIN_DELETE_REQUEST = 'ADMIN_DELETE_REQUEST';
-export const SNAPSHOT_ADMIN_REQUESTS = 'SNAPSHOT_ADMIN_REQUESTS';
-export const UPDATE_ADMIN_REQUESTS = 'UPDATE_ADMIN_REQUESTS';
-
-export const requestHours = (_time, _trainee, _date) => (dispatch, getState) => {
- var docRef = firestore.collection('requests');
- const _uid = getState().firebase.uid;
- const _email = getState().firebase.userEmail;
-
- docRef.add({
- time: _time,
- trainee: _trainee,
- day: _date,
- uid: _uid,
- email: _email
- });
-}
-
-export const snapshotAdminRequests = () => (dispatch) => {
- var docRef = firestore.collection('requests');
-
- docRef.onSnapshot((querySnapshot) => {
- var requestList = [];
- querySnapshot.forEach((doc) => {
- requestList.push({
- ...doc.data(),
- docId: doc.id
- });
- });
- dispatch(updateAdminRequests(requestList));
- });
-}
-
-export const updateAdminRequests = (requests) => {
- return {
- type: UPDATE_ADMIN_REQUESTS,
- payload: requests
- }
-}
-
-export const adminApproveHours = (_uid, _time, _id) => (dispatch) => {
-
- var docRef = firestore.collection('users').doc(_uid);
-
- docRef.get().then((doc) => {
- if(doc.exists) {
- docRef.update({
- hours: (doc.data().hours + _time)
- }).catch((error) => {
- alert(error);
- });
- }
- });
-
- dispatch(adminDeleteRequest(_id));
-}
-
-export const adminRejectHours = (_id) => (dispatch) => {
- dispatch(adminDeleteRequest(_id));
-}
-
-export const adminDeleteRequest = (_id) => (dispatch) => {
- var docRef = firestore.collection('requests').doc(_id);
- docRef.delete().then(() => {
- //console.log('Deleted request with id ' + _id);
- });
-}
-
-
-export const CREATE_FORUM_POST = 'CREATE_FORUM_POST';
-export const SNAPSHOT_FORUM = 'SNAPSHOT_FORUM';
-export const UPDATE_FORUM_POSTS = 'UPDATE_FORUM_POSTS';
-
-export const createForumPost = (_subject, _content) => (dispatch, getState) => {
- var docRef = firestore.collection('posts');
- const userEmail = getState().firebase.userEmail;
-
- docRef.add({
- email: userEmail,
- subject: _subject,
- content: _content
- });
-}
-
-export const snapshotForums = () => (dispatch) => {
- var docRef = firestore.collection('posts');
-
- docRef.onSnapshot((query) => {
- var forumPosts = [];
- query.forEach((doc) => {
- forumPosts.push(doc.data());
- });
- dispatch(updateForumPosts(forumPosts));
- });
-}
-
-export const updateForumPosts = (_forumPosts) => {
- return {
- type: UPDATE_FORUM_POSTS,
- payload: _forumPosts
- }
-}
-//End Firebase Firestore