- added functionality to save sighting sessions to black board
This commit is contained in:
@@ -1,17 +1,34 @@
|
||||
import { useState, type ReactNode } from "react";
|
||||
import type { NPEDUser, ReducedSightingType } from "../../types/types";
|
||||
import { useEffect, useReducer, useState, type ReactNode } from "react";
|
||||
import type { DedupedSightings, NPEDUser, ReducedSightingType } from "../../types/types";
|
||||
import { NPEDUserContext } from "../NPEDUserContext";
|
||||
import { useCameraBlackboard } from "../../hooks/useCameraBlackboard";
|
||||
import { initialState, reducer } from "../reducers/NPEDContextReducer";
|
||||
|
||||
type NPEDUserProviderType = {
|
||||
children: ReactNode;
|
||||
};
|
||||
|
||||
export const NPEDUserProvider = ({ children }: NPEDUserProviderType) => {
|
||||
const [state, dispatch] = useReducer(reducer, initialState);
|
||||
const { mutation } = useCameraBlackboard();
|
||||
const [user, setUser] = useState<NPEDUser | null>(null);
|
||||
const [sessionStarted, setSessionStarted] = useState(false);
|
||||
const [sessionList, setSessionList] = useState<ReducedSightingType[]>([]);
|
||||
const [sessionPaused, setSessionPaused] = useState(false);
|
||||
const [savedSightings, setSavedSightings] = useState<DedupedSightings | []>([]);
|
||||
|
||||
useEffect(() => {
|
||||
const fetchData = async () => {
|
||||
const result = await mutation.mutateAsync({
|
||||
operation: "VIEW",
|
||||
path: "sessionStats",
|
||||
});
|
||||
if (!result.result) return;
|
||||
setSavedSightings(result?.result);
|
||||
};
|
||||
fetchData();
|
||||
}, []);
|
||||
console.log(savedSightings);
|
||||
return (
|
||||
<NPEDUserContext.Provider
|
||||
value={{
|
||||
@@ -23,6 +40,8 @@ export const NPEDUserProvider = ({ children }: NPEDUserProviderType) => {
|
||||
setSessionList,
|
||||
sessionPaused,
|
||||
setSessionPaused,
|
||||
savedSightings,
|
||||
setSavedSightings,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
|
||||
Reference in New Issue
Block a user