From 417bc88066b5c1a1b962bca2af51d311f92fb205 Mon Sep 17 00:00:00 2001 From: Nishita Dash <cb.en.u4cse18037@cb.students.amrita.edu> Date: Wed, 24 Mar 2021 02:43:28 +0000 Subject: [PATCH] Update useFolder.js --- digital-course-file/src/hooks/useFolder.js | 35 +++++++++++++--------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/digital-course-file/src/hooks/useFolder.js b/digital-course-file/src/hooks/useFolder.js index c68f561..0012fb7 100644 --- a/digital-course-file/src/hooks/useFolder.js +++ b/digital-course-file/src/hooks/useFolder.js @@ -1,8 +1,6 @@ import { useState,useReducer, useEffect } from "react"; import { database } from '../fire.js' import firebase from 'firebase' -import Loader from "react-loader-spinner"; - export const ROOT_FOLDER = {name: 'Root', id : null , path : [] }; @@ -14,6 +12,7 @@ export function useFolder( folderId = null, folder= null) { SELECT_FOLDER : 'select-folder', UPDATE_FOLDER : 'update-folder', SET_CHILD_FOLDERS : 'set_child_folders', + SET_CHILD_FILES: "set-child-files", } function reducer( state, { type,payload } ){ @@ -37,7 +36,12 @@ export function useFolder( folderId = null, folder= null) { return{ ...state, childFolders : payload.childFolders, - }; + }; + case ACTIONS.SET_CHILD_FILES: + return { + ...state, + childFiles: payload.childFiles, + }; default: return state; @@ -85,15 +89,6 @@ export function useFolder( folderId = null, folder= null) { useEffect( () => { - if (!firebase.auth().currentUser) { - return <><div className='centered'><Loader - type="Puff" - color="#00BFFF" - height={100} - width={100} - timeout={3000} //3 secs - /></div></> - } return database.folders .where("parentId", "==" ,folderId) .where("userId","==", firebase.auth().currentUser.uid) @@ -105,6 +100,18 @@ export function useFolder( folderId = null, folder= null) { }) }) },[folderId]) - + useEffect(() => { + return ( + database.files + .where("folderId", "==", folderId) + .where("userId", "==", firebase.auth().currentUser.uid) + .onSnapshot(snapshot => { + dispatch({ + type: ACTIONS.SET_CHILD_FILES, + payload: { childFiles: snapshot.docs.map(database.formatDoc) }, + }) + }) + ) + }, [folderId]) return state; -} \ No newline at end of file +} -- GitLab