2022-01-06 09:40:56 +01:00
|
|
|
import { Answer } from 'models'
|
2021-12-29 10:22:26 +01:00
|
|
|
import React, { createContext, ReactNode, useContext, useState } from 'react'
|
|
|
|
|
|
|
|
|
|
const answersContext = createContext<{
|
|
|
|
|
answers: Answer[]
|
|
|
|
|
addAnswer: (answer: Answer) => void
|
2022-01-25 18:19:37 +01:00
|
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
2021-12-29 10:22:26 +01:00
|
|
|
//@ts-ignore
|
|
|
|
|
}>({})
|
|
|
|
|
|
2022-01-25 18:19:37 +01:00
|
|
|
export const AnswersContext = ({ children }: { children: ReactNode }) => {
|
2021-12-29 10:22:26 +01:00
|
|
|
const [answers, setAnswers] = useState<Answer[]>([])
|
|
|
|
|
|
|
|
|
|
const addAnswer = (answer: Answer) =>
|
|
|
|
|
setAnswers((answers) => [...answers, answer])
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<answersContext.Provider
|
|
|
|
|
value={{
|
|
|
|
|
answers,
|
|
|
|
|
addAnswer,
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
{children}
|
|
|
|
|
</answersContext.Provider>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const useAnswers = () => useContext(answersContext)
|