Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
export const useStudySummaries = (action: Action): StudySummary[] => {
const [studySummaries, setStudySummaries] = useRecoilState(
studySummariesState
)
useEffect(() => {
action.updateStudySummaries(setStudySummaries)
const intervalId = setInterval(function () {
action.updateStudySummaries(setStudySummaries)
}, 10 * 1000)
return () => clearInterval(intervalId)
}, [])
return studySummaries
}
export const useStudyDetail = (
action: Action,
studyId: number
): StudyDetail | null => {
const [studyDetails, setStudyDetails] = useRecoilState(
studyDetailsState
)
useEffect(() => {
action.updateStudyDetail(studyId, studyDetails, setStudyDetails)
const intervalId = setInterval(function () {
action.updateStudyDetail(studyId, studyDetails, setStudyDetails)
}, 10 * 1000)
return () => clearInterval(intervalId)
}, [])
return studyDetails[studyId] || null
}
export const actionCreator = () => {
const { enqueueSnackbar } = useSnackbar()
const [studySummaries, setStudySummaries] = useRecoilState(
studySummariesState
)
const [studyDetails, setStudyDetails] = useRecoilState(
studyDetailsState
)
const updateStudySummaries = (successMsg?: string) => {
getStudySummariesAPI()
.then((studySummaries: StudySummary[]) => {
setStudySummaries(studySummaries)
if (successMsg) {
enqueueSnackbar(successMsg, { variant: "success" })
}
})
.catch((err) => {
enqueueSnackbar(`Failed to fetch study list.`, {
variant: "error",
})
export const actionCreator = () => {
const { enqueueSnackbar } = useSnackbar()
const [studySummaries, setStudySummaries] = useRecoilState(
studySummariesState
)
const [studyDetails, setStudyDetails] = useRecoilState(
studyDetailsState
)
const updateStudySummaries = (successMsg?: string) => {
getStudySummariesAPI()
.then((studySummaries: StudySummary[]) => {
setStudySummaries(studySummaries)
if (successMsg) {
enqueueSnackbar(successMsg, { variant: "success" })
}
})
.catch((err) => {