diff --git a/src/hooks/useDirectory.js b/src/hooks/useDirectory.js index f1e31c14..707200df 100644 --- a/src/hooks/useDirectory.js +++ b/src/hooks/useDirectory.js @@ -1,4 +1,4 @@ -import {useState} from "react" +import {useEffect, useState} from "react" import {DirectoryRepository} from "../repositories/DirectoryRepository"; import {cacheData, getCachedData} from "../slices/apiDataManager"; @@ -20,12 +20,16 @@ export const useDirectory = () => { const response = await DirectoryRepository.GetContacts(); setContacts( response.data ) - cacheData("contacts",response.data) + cacheData( "contacts", response.data ) + setLoading(false) } catch ( error ) { setError( error ); setLoading(false) } + } else + { + setContacts(cache_contacts) } } @@ -35,4 +39,39 @@ export const useDirectory = () => fetch() }, [] ) return {contacts,loading,error} +} + +export const useBuckets = () => +{ + const [ buckets, setbuckets ] = useState(); + const [ loading, setLoading ] = useState(); + const [ Error, setError ] = useState( '' ) + + const fetch = async() => + { const cache_buckets = getCachedData("buckets") + if ( !cache_buckets ) + { + setLoading(true) + try + { + const resp = await DirectoryRepository.GetBucktes(); + setbuckets( resp.data ); + cacheData( "bucktes", resp.data ) + setLoading(false) + } catch ( error ) + { + const msg = error.response.data.message || error.message || "Something wrong"; + setError(msg) + } + } else + { + setbuckets(cache_buckets) + } + } + + useEffect( () => + { + fetch() + }, [] ) + return {buckets,loading,Error} } \ No newline at end of file