diff options
| author | Max Nanis | 2025-06-07 04:17:19 +0700 |
|---|---|---|
| committer | Max Nanis | 2025-06-07 04:17:19 +0700 |
| commit | 51b1003d1e0ce43aa6c30f461d710cb09cdfc29f (patch) | |
| tree | 85a33808ae2e01a3a46ffbbf4e0255b0c27caa7e /src/models | |
| parent | 257bc2f85b71a8564e95a8e6ba39ab0b00e022df (diff) | |
| download | panel-ui-51b1003d1e0ce43aa6c30f461d710cb09cdfc29f.tar.gz panel-ui-51b1003d1e0ce43aa6c30f461d710cb09cdfc29f.zip | |
Passing in onClick for FullProfileQuestion so that Profile Question and SoftPair are different. Using API models to POST to Softpair submission (with offerwall_id saved). Updating from Conditional to Ineligible buckets. Availability Count to app state. Using / exploring sidebar to show filtered questions for specific Bucket.
Diffstat (limited to 'src/models')
| -rw-r--r-- | src/models/app.ts | 4 | ||||
| -rw-r--r-- | src/models/appSlice.ts | 10 | ||||
| -rw-r--r-- | src/models/questionSlice.ts | 6 |
3 files changed, 19 insertions, 1 deletions
diff --git a/src/models/app.ts b/src/models/app.ts index a0412e0..62da7bb 100644 --- a/src/models/app.ts +++ b/src/models/app.ts @@ -10,4 +10,8 @@ export interface App { leaderboard: boolean; currentPage: Page + + //-- responses saved from the last OfferwallResponse + availability_count: number | undefined; + offerwall_id: string | undefined; } diff --git a/src/models/appSlice.ts b/src/models/appSlice.ts index 3adf316..b8c41c6 100644 --- a/src/models/appSlice.ts +++ b/src/models/appSlice.ts @@ -14,12 +14,20 @@ const appSlice = createSlice({ }, setPage(state, action: PayloadAction<Page>) { state.currentPage = action.payload; + }, + setAvailabilityCount(state, action: PayloadAction<number>) { + state.availability_count = action.payload; + }, + setOfferwallId(state, action: PayloadAction<string>) { + state.offerwall_id = action.payload; } } }) export const { setApp, - setPage + setPage, + setAvailabilityCount, + setOfferwallId } = appSlice.actions; export default appSlice.reducer
\ No newline at end of file diff --git a/src/models/questionSlice.ts b/src/models/questionSlice.ts index 9543088..a617234 100644 --- a/src/models/questionSlice.ts +++ b/src/models/questionSlice.ts @@ -58,6 +58,12 @@ export default questionSlice.reducer // We need to fetch the next available Question that either doesn't have an Answer, or the Answer // isn't Answer.completed export const selectQuestions = (state: RootState) => state.questions +export const makeSelectQuestionsByIds = (ids: string[]) => + createSelector( + (state: RootState) => state.questions, + (questions: ProfileQuestion[]) => questions.filter(q => ids.includes(q.question_id)) + ) + export const selectActiveQuestion = (state: RootState) => state.questions.find(i => i.active) export const selectAnswers = (state: RootState) => state.answers |
