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