|
|
@@ -14,9 +14,10 @@ import {
|
|
|
submitRewardQuestionAnswer,
|
|
|
type RewardQuestion,
|
|
|
} from "@/lib/reward-api";
|
|
|
+import { tryFetchCustomUserLabel } from "@/lib/user-label-api";
|
|
|
|
|
|
export default function PurchasedCoursesPage() {
|
|
|
- const { user, isReady } = useAuth();
|
|
|
+ const { user, isReady, updateProfile } = useAuth();
|
|
|
const [courses, setCourses] = useState<PurchasedCourse[]>([]);
|
|
|
const [loading, setLoading] = useState(false);
|
|
|
const [error, setError] = useState<string | null>(null);
|
|
|
@@ -78,6 +79,13 @@ export default function PurchasedCoursesPage() {
|
|
|
setRewardSubmitting(true);
|
|
|
setRewardError(null);
|
|
|
await submitRewardQuestionAnswer({ questionId: rewardQuestion.questionId, customAnswer });
|
|
|
+ const label = await tryFetchCustomUserLabel();
|
|
|
+ if (label) {
|
|
|
+ updateProfile({
|
|
|
+ levelLabel: label.levelLabel,
|
|
|
+ referralCode: label.referralCode,
|
|
|
+ });
|
|
|
+ }
|
|
|
setShowRewardAnswer(false);
|
|
|
setShowRewardThanks(true);
|
|
|
} catch (e) {
|
|
|
@@ -183,8 +191,8 @@ export default function PurchasedCoursesPage() {
|
|
|
{rewardError && <p className="mt-4 rounded-xl border border-rose-500/30 bg-rose-500/10 p-3 text-sm text-rose-400">{rewardError}</p>}
|
|
|
|
|
|
<div className="mt-8 grid grid-cols-2 gap-4">
|
|
|
- <button onClick={() => handleSubmitRewardAnswer(0)} disabled={rewardSubmitting} className="rounded-2xl border border-white/10 bg-white/5 py-4 text-sm font-bold text-slate-400 hover:bg-white/10 hover:text-white disabled:opacity-50">回答错误</button>
|
|
|
- <button onClick={() => handleSubmitRewardAnswer(1)} disabled={rewardSubmitting} className="rounded-2xl bg-gradient-to-br from-[#f3deae] to-[#d9be88] py-4 text-sm font-bold text-[#5c461a] shadow-lg hover:opacity-90 disabled:opacity-50">回答正确</button>
|
|
|
+ <button onClick={() => handleSubmitRewardAnswer(0)} disabled={rewardSubmitting} className="rounded-2xl border border-white/10 bg-white/5 py-4 text-sm font-bold text-slate-400 hover:bg-white/10 hover:text-white disabled:opacity-50">否</button>
|
|
|
+ <button onClick={() => handleSubmitRewardAnswer(1)} disabled={rewardSubmitting} className="rounded-2xl bg-gradient-to-br from-[#f3deae] to-[#d9be88] py-4 text-sm font-bold text-[#5c461a] shadow-lg hover:opacity-90 disabled:opacity-50">是</button>
|
|
|
</div>
|
|
|
<button onClick={() => setShowRewardAnswer(false)} className="mt-4 w-full py-3 text-xs font-bold text-slate-500 hover:text-slate-300">放弃并关闭</button>
|
|
|
</div>
|