aboutsummaryrefslogtreecommitdiff
path: root/src/Widget.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Widget.tsx')
-rw-r--r--src/Widget.tsx23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/Widget.tsx b/src/Widget.tsx
index c28b55d..3f7902c 100644
--- a/src/Widget.tsx
+++ b/src/Widget.tsx
@@ -7,9 +7,10 @@ import {QuestionsPage} from "@/pages/Questions.tsx";
import {useAppDispatch, useAppSelector} from "@/hooks.ts";
import {OfferwallApi, ProfilingQuestionsApi} from "@/api";
+import {ProfileQuestion, setQuestions} from "@/models/questionSlice.ts";
import {setBuckets} from "@/models/bucketSlice.ts";
-import {setQuestions} from "@/models/questionSlice.ts"
import {CashoutMethodsPage} from "@/pages/CashoutMethods.tsx";
+import {setAvailabilityCount, setOfferwallId} from "@/models/appSlice.ts"
import './index.css';
@@ -23,13 +24,21 @@ const Widget = () => {
// https://fsb.generalresearch.com/{product_id}/offerwall/37d1da64/?country
new OfferwallApi().offerwallSoftpairProductIdOfferwall37d1da64Get(app.bpid, app.bpuid, "104.9.125.144")
.then(res => {
+
+ // We want to set these questions first, because the Bucket Component views may do
+ // some redux lookups
+ const objects: ProfileQuestion[] = Object.values(res.data.offerwall.question_info) as ProfileQuestion[]
+ dispatch(setQuestions(objects))
+
+ dispatch(setAvailabilityCount(res.data.offerwall.availability_count))
+ dispatch(setOfferwallId(res.data.offerwall.id))
dispatch(setBuckets(res.data.offerwall.buckets))
})
.catch(err => console.log(err));
- new ProfilingQuestionsApi().getProfilingQuestionsProductIdProfilingQuestionsGet(app.bpid, app.bpuid, "104.9.125.144", undefined, undefined, 2500 )
+ new ProfilingQuestionsApi().getProfilingQuestionsProductIdProfilingQuestionsGet(app.bpid, app.bpuid, "104.9.125.144", undefined, undefined, 2500)
.then(res => {
- dispatch(setQuestions(res.data.questions))
+ dispatch(setQuestions(res.data.questions as ProfileQuestion[]))
})
.catch(err => console.log(err));
}, []); // ← empty array means "run once"
@@ -37,7 +46,7 @@ const Widget = () => {
return (
<SidebarProvider>
- <AppSidebar variant="floating" />
+ <AppSidebar variant="floating"/>
<SidebarInset>
<SiteHeader/>
@@ -45,9 +54,9 @@ const Widget = () => {
<div className="@container/main flex flex-1 flex-col gap-2">
<div className="flex flex-col gap-4 py-4 md:gap-6 md:py-6">
<div className="px-4 lg:px-6">
- {app.currentPage === 'offerwall' && <Offerwall />}
- {app.currentPage === 'questions' && <QuestionsPage />}
- {app.currentPage === 'cashouts' && <CashoutMethodsPage />}
+ {app.currentPage === 'offerwall' && <Offerwall/>}
+ {app.currentPage === 'questions' && <QuestionsPage/>}
+ {app.currentPage === 'cashouts' && <CashoutMethodsPage/>}
</div>
</div>
</div>