Skip to content

Commit 35f204e

Browse files
committed
fix: use correct property (isCompleted) for problem completion state
1 parent 50062f5 commit 35f204e

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

src/routes/(app)/tracks/[trackName]/+page.svelte

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,12 @@
132132
// Update local problems array to mark this problem as completed
133133
problems = problems.map(p =>
134134
p.id === problemId
135-
? { ...p, completed: true, completed_at: new Date().toISOString() }
135+
? {
136+
...p,
137+
isCompleted: true,
138+
completedAt: new Date().toISOString(),
139+
bloksEarnedFromThis: problem.bloks
140+
}
136141
: p
137142
);
138143
@@ -199,11 +204,18 @@
199204
track = data.track;
200205
201206
// Merge server data with locally completed problems for instant UI
202-
problems = data.problems.map(p =>
203-
locallyCompletedIds.has(p.id)
204-
? { ...p, completed: true, completed_at: p.completed_at || new Date().toISOString() }
205-
: p
206-
);
207+
problems = data.problems.map(p => {
208+
if (locallyCompletedIds.has(p.id) && !p.isCompleted) {
209+
// This was completed locally but server hasn't updated yet
210+
return {
211+
...p,
212+
isCompleted: true,
213+
completedAt: p.completedAt || new Date().toISOString(),
214+
bloksEarnedFromThis: p.bloksEarnedFromThis || p.bloks
215+
};
216+
}
217+
return p;
218+
});
207219
208220
stats = data.stats;
209221
totalBloksEarned = data.totalBloksEarned;

0 commit comments

Comments
 (0)