Skip to content

Commit 640f413

Browse files
committed
Reset to Level 1 step 1
Signed-off-by: Shubham Shah <[email protected]>
1 parent 9f45628 commit 640f413

File tree

3 files changed

+18
-17
lines changed

3 files changed

+18
-17
lines changed

web-app/src/containers/Tutorial/containers/Settings.tsx

+3-14
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Button from 'components/Button'
2-
import React, { useState } from 'react'
2+
import React, { useState, useEffect } from 'react'
33
import { Theme } from '../../../styles/theme'
44
import Reset from '../components/Reset'
55

@@ -46,21 +46,10 @@ const styles = {
4646
}
4747

4848
interface Props {
49-
levels: T.LevelUI[]
50-
onResetToPosition(position: T.Position): void
49+
onReset(): void
5150
}
5251

5352
const SettingsPage = (props: Props) => {
54-
const onReset = () => {
55-
const level: T.LevelUI | null = props.levels.length ? props.levels[0] : null
56-
if (level) {
57-
props.onResetToPosition({
58-
levelId: level.id,
59-
stepId: null,
60-
complete: false,
61-
})
62-
}
63-
}
6453
return (
6554
<div css={styles.container}>
6655
<div css={styles.header}>
@@ -78,7 +67,7 @@ const SettingsPage = (props: Props) => {
7867
level and first task checkpoint.
7968
</div>
8069
</div>
81-
<Reset style={styles.menuItemButton} warning onReset={onReset} />
70+
<Reset style={styles.menuItemButton} warning onReset={props.onReset} />
8271
</div>
8372
</div>
8473
</div>

web-app/src/containers/Tutorial/index.tsx

+14-2
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,25 @@ const TutorialPage = (props: PageProps) => {
128128

129129
const [page, setPage] = React.useState<'about' | 'level' | 'review' | 'settings'>('level')
130130

131+
const onSettingsReset = () => {
132+
//Reset to first level first step
133+
const level: T.LevelUI | null = levels.length ? levels[1] : null
134+
if (level) {
135+
onResetToPosition({
136+
levelId: level.id,
137+
stepId: level.steps.length ? level.steps[0].id : null,
138+
complete: false,
139+
})
140+
setPage('level')
141+
}
142+
}
131143
// format level code with status for easy rendering
132144
const { level, levels, levelIndex, stepIndex } = formatLevels({
133145
position,
134146
levels: tutorial.levels,
135147
testStatus,
136148
})
137-
console.log({ position })
149+
138150
const disableOptions = processes.length > 0 || props.state === 'Level.TestRunning'
139151

140152
return (
@@ -156,7 +168,7 @@ const TutorialPage = (props: PageProps) => {
156168
)}
157169
{page === 'review' && <ReviewPage levels={levels} onResetToPosition={onResetToPosition} />}
158170

159-
{page === 'settings' && <SettingsPage levels={levels} onResetToPosition={onResetToPosition} />}
171+
{page === 'settings' && <SettingsPage onReset={onSettingsReset} />}
160172
</div>
161173

162174
{props.state === 'Completed' ? (

web-app/stories/Settings.stories.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ import Settings from '../src/containers/Tutorial/containers/Settings'
66
storiesOf('Settings', module)
77
.addDecorator(SideBarDecorator)
88
.add('Settings Page', () => {
9-
return <Settings />
9+
return <Settings onReset={() => console.log('Reset...')} />
1010
})

0 commit comments

Comments
 (0)