Skip to content

Commit 71ac2f7

Browse files
committed
Refactor resetSingleTutorial and completeSingleTutorial into one function
1 parent 9442300 commit 71ac2f7

File tree

1 file changed

+10
-22
lines changed

1 file changed

+10
-22
lines changed

frontend/src/routes/(root)/(logged)/tutorials/+page.svelte

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -168,35 +168,23 @@
168168
await syncTutorialsTodos()
169169
}
170170
171-
// Reset a single tutorial
172-
async function resetSingleTutorial(tutorialId: string) {
171+
// Update a single tutorial's completion status
172+
async function updateSingleTutorial(tutorialId: string, completed: boolean) {
173173
const tutorial = currentTabConfig.tutorials.find((t) => t.id === tutorialId)
174174
if (!tutorial || tutorial.index === undefined) {
175175
console.warn(`Tutorial not found or has no index: ${tutorialId}`)
176176
return
177177
}
178178
179179
try {
180-
await resetTutorialByIndex(tutorial.index)
181-
await syncTutorialsTodos()
182-
} catch (error) {
183-
console.error('Error resetting tutorial:', error)
184-
}
185-
}
186-
187-
// Mark a single tutorial as completed
188-
async function completeSingleTutorial(tutorialId: string) {
189-
const tutorial = currentTabConfig.tutorials.find((t) => t.id === tutorialId)
190-
if (!tutorial || tutorial.index === undefined) {
191-
console.warn(`Tutorial not found or has no index: ${tutorialId}`)
192-
return
193-
}
194-
195-
try {
196-
await completeTutorialByIndex(tutorial.index)
180+
if (completed) {
181+
await completeTutorialByIndex(tutorial.index)
182+
} else {
183+
await resetTutorialByIndex(tutorial.index)
184+
}
197185
await syncTutorialsTodos()
198186
} catch (error) {
199-
console.error('Error completing tutorial:', error)
187+
console.error(`Error ${completed ? 'completing' : 'resetting'} tutorial:`, error)
200188
}
201189
}
202190
@@ -391,8 +379,8 @@
391379
isCompleted={isTutorialCompleted(tutorial.id)}
392380
disabled={tutorial.active === false}
393381
comingSoon={tutorial.comingSoon}
394-
onReset={() => resetSingleTutorial(tutorial.id)}
395-
onComplete={() => completeSingleTutorial(tutorial.id)}
382+
onReset={() => updateSingleTutorial(tutorial.id, false)}
383+
onComplete={() => updateSingleTutorial(tutorial.id, true)}
396384
/>
397385
{/each}
398386
</div>

0 commit comments

Comments
 (0)