From bea82dbab58ee03591295459362a66c66a6a5215 Mon Sep 17 00:00:00 2001 From: undefined Date: Mon, 29 May 2023 21:41:58 +0800 Subject: [PATCH] ui: objective: add contestId for answer cache key --- packages/ui-default/pages/problem_detail.page.jsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/ui-default/pages/problem_detail.page.jsx b/packages/ui-default/pages/problem_detail.page.jsx index 2b4902ae5..655a90719 100644 --- a/packages/ui-default/pages/problem_detail.page.jsx +++ b/packages/ui-default/pages/problem_detail.page.jsx @@ -229,6 +229,9 @@ const page = new NamedPage(['problem_detail', 'contest_detail_problem', 'homewor } }); + let cacheKey = `${UserContext._id}/${UiContext.pdoc.domainId}/${UiContext.pdoc.docId}`; + if (UiContext.tdoc?._id && UiContext.tdoc.rule !== 'homework') cacheKey += `@${UiContext.tdoc._id}`; + let setUpdate; function ProblemNavigation() { [, setUpdate] = React.useState(0); @@ -241,11 +244,11 @@ const page = new NamedPage(['problem_detail', 'contest_detail_problem', 'homewor } function saveAns() { - localStorage.setItem(`objective_${UiContext.domain._id}#${UiContext.pdoc.docId}`, JSON.stringify(ans)); + localStorage.setItem(`${cacheKey}#objective`, JSON.stringify(ans)); setUpdate?.((i) => i + 1); } function loadAns() { - const saved = localStorage.getItem(`objective_${UiContext.domain._id}#${UiContext.pdoc.docId}`); + const saved = localStorage.getItem(`${cacheKey}#objective`); if (saved) { Object.assign(ans, JSON.parse(saved)); for (const [id, val] of Object.entries(ans)) {