blob: 814caf9a5969e2fddf4e3f6d21f2a28d71de2d67 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
import {createSelector, createSlice, PayloadAction} from '@reduxjs/toolkit'
import type {RootState} from '@/store'
import {UpkQuestion} from "@/api";
const initialState: UpkQuestion[] = []
const questionSlice = createSlice({
name: 'questions',
initialState,
reducers: {
setQuestions(state, action: PayloadAction<UpkQuestion[]>) {
return action.payload;
},
questionAdded(state, action: PayloadAction<UpkQuestion>) {
state.push(action.payload);
},
}
})
export const {setAnswer, setQuestions, questionAdded, questionUpdated} = questionSlice.actions;
export default questionSlice.reducer
// export const selectAllQuestions = (state: RootState) => state.questions
export const selectQuestionById = (questionId: string) =>
createSelector(
(state: RootState) => state.questions,
(questions) => {
return questions.find(q => q.question_id === questionId);
}
);
|