File tree Expand file tree Collapse file tree 1 file changed +18
-6
lines changed
src/routes/(app)/tracks/[trackName] Expand file tree Collapse file tree 1 file changed +18
-6
lines changed Original file line number Diff line number Diff line change 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
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 ;
You can’t perform that action at this time.
0 commit comments