import { useState } from "react"; import firestore from "@react-native-firebase/firestore"; import { CaregiverProfile } from "./types/profileTypes"; const useCaregivers = () => { const [caregivers, setCaregivers] = useState([]); const [caregiver, setCaregiver] = useState({ name: "", contact: "", userType: "caregiver", email: "test@test.com", password: "test@test.com" }); const fetchCaregivers = async () => { const caregiverProfiles = await getCaregivers(); setCaregivers(caregiverProfiles); }; const getCaregivers = async (): Promise => { try { const snapshot = await firestore() .collection("Profiles") .where("userType", "==", "caregiver") .get(); const caregivers: CaregiverProfile[] = snapshot.docs.map((doc) => { const data = doc.data(); return { ...data, } as CaregiverProfile; }); return caregivers; } catch (error) { console.error("Error retrieving caregivers:", error); return []; } }; const handleNewCaregiver = async (newCaregiver: CaregiverProfile) => { try { await firestore().collection("Profiles").add(newCaregiver); } catch (error) { console.error(error); } finally { setCaregiver((prev) => ({ ...prev, name: "", contact: "" })); fetchCaregivers(); } }; return { caregivers, caregiver, setCaregiver, fetchCaregivers, handleNewCaregiver, }; }; export default useCaregivers;