diff --git a/digital-course-file/src/hooks/useFolder.js b/digital-course-file/src/hooks/useFolder.js deleted file mode 100644 index 228d3e74b38d5b03be038c1eecd835609b085a4b..0000000000000000000000000000000000000000 --- a/digital-course-file/src/hooks/useFolder.js +++ /dev/null @@ -1,101 +0,0 @@ -import { useState,useReducer, useEffect } from "react"; -import { database } from '../fire.js' -import firebase from 'firebase' - -export const ROOT_FOLDER = {name: 'Root', id : null , path : [] }; - -export function useFolder( folderId = null, folder= null) { - - // const {currentUser} = firebase.auth.currentUser; - - const ACTIONS = { - SELECT_FOLDER : 'select-folder', - UPDATE_FOLDER : 'update-folder', - SET_CHILD_FOLDERS : 'set_child_folders', - } - - function reducer( state, { type,payload } ){ - - switch(type){ - case ACTIONS.SELECT_FOLDER: - return{ - folderId : payload.folderId, - folder : payload.folder, - childFiles : [], - childFolders : [], - }; - - case ACTIONS.UPDATE_FOLDER: - return{ - ...state, - folder : payload.folder, - }; - - case ACTIONS.SET_CHILD_FOLDERS: - return{ - ...state, - childFolders : payload.childFolders, - }; - - default: - return state; - - } - - } - - - const[state,dispatch] = useReducer( reducer,{ - folderId, - folder, - childFolders : [], - childFiles : [] - } - ); - - useEffect( () => { - dispatch({ type : ACTIONS.SELECT_FOLDER, payload : { folderId,folder }}) - } ,[folderId,folder]) - - - useEffect( ()=> { - if(folderId==null){ - return dispatch({ - type: ACTIONS.UPDATE_FOLDER, - payload: {folder : ROOT_FOLDER}, - }) - } - - database.folders.doc(folderId).get() - .then(doc => { - dispatch({ - type: ACTIONS.UPDATE_FOLDER, - payload : {folder: database.formatDoc(doc)} - }) - }) - .catch( ()=> { - dispatch({ - type: ACTIONS.UPDATE_FOLDER, - payload : {folder: ROOT_FOLDER} - }) - }) - - return state; - },[folderId]) - - - useEffect( () => { - return database.folders - .where("parentId", "==" ,folderId) - .where("userId","==", firebase.auth().currentUser.uid) - .orderBy("createdAt") - .onSnapshot(snapshot => { - dispatch({ - type: ACTIONS.SET_CHILD_FOLDERS, - payload : { childFolders : snapshot.docs.map(database.formatDoc) } - }) - }) - },[folderId]) - - return state; -} \ No newline at end of file