diff options
| author | Max Nanis | 2025-06-10 02:51:37 +0700 |
|---|---|---|
| committer | Max Nanis | 2025-06-10 02:51:37 +0700 |
| commit | e5dac8b9d61b175b09d859643a94ea91ee6ef48d (patch) | |
| tree | d98ffbca9421e5218411d43d7bf5e5beea411a36 /src/models/userMarketplaceAnswerSlice.ts | |
| parent | 897e93b3a6596d25c19fe0a3579d9cd4c9ea66e7 (diff) | |
| download | panel-ui-e5dac8b9d61b175b09d859643a94ea91ee6ef48d.tar.gz panel-ui-e5dac8b9d61b175b09d859643a94ea91ee6ef48d.zip | |
Demographics page. userMarketplaceAnswer & userUpkAnswer redux stores.
Diffstat (limited to 'src/models/userMarketplaceAnswerSlice.ts')
| -rw-r--r-- | src/models/userMarketplaceAnswerSlice.ts | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/models/userMarketplaceAnswerSlice.ts b/src/models/userMarketplaceAnswerSlice.ts new file mode 100644 index 0000000..7cfe95b --- /dev/null +++ b/src/models/userMarketplaceAnswerSlice.ts @@ -0,0 +1,27 @@ +import {createSlice, PayloadAction} from "@reduxjs/toolkit"; +import {MarketProfileKnowledge} from "@/api"; +import type {RootState} from '@/store' + +const initialState: MarketProfileKnowledge[] = [] + + +const userMarketplaceAnswerSlice = createSlice({ + name: 'userMarketplaceAnswers', + initialState, + reducers: { + setMarketplaceAnswers(state, action: PayloadAction<MarketProfileKnowledge[]>) { + // TODO: Does this need question_id + source uniqueness? + const existingIds = new Set(state.map(q => q.question_id)); + const newQuestions = action.payload.filter(q => !existingIds.has(q.question_id)); + state.push(...newQuestions); + } + } +}) + +export const { + setMarketplaceAnswers, +} = userMarketplaceAnswerSlice.actions; + +export default userMarketplaceAnswerSlice.reducer; + +export const selectUserMarketplaceAnswers = (state: RootState) => state.userMarketplaceAnswers
\ No newline at end of file |
