Skip to content

Commit 259f01e

Browse files
committed
fix level stories
Signed-off-by: shmck <[email protected]>
1 parent 0f06b1b commit 259f01e

File tree

4 files changed

+92
-405
lines changed

4 files changed

+92
-405
lines changed

Diff for: typings/tutorial.d.ts

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { ProgressStatus } from './index'
2+
13
export type Maybe<T> = T | null
24

35
export type TutorialConfig = {
@@ -19,6 +21,7 @@ export type Level = {
1921
setup?: Maybe<StepActions>
2022
/** A set of tasks for users linked to unit tests */
2123
steps: Array<Step>
24+
status?: ProgressStatus
2225
}
2326

2427
/** A level task */
@@ -29,6 +32,7 @@ export type Step = {
2932
solution: Maybe<StepActions>
3033
hints?: string[]
3134
subtasks?: string[]
35+
status?: ProgressStatus
3236
}
3337

3438
/** A tutorial for use in VSCode CodeRoad */

Diff for: web-app/src/containers/Tutorial/components/ContentMenu.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,24 @@ import { Menu } from '@alifd/next'
55
import Icon from '../../../components/Icon'
66

77
interface Props {
8-
tutorial: TT.Tutorial
8+
levels: TT.Level[]
99
position: T.Position
1010
progress: T.Progress
1111
setTitle: (title: string) => void
1212
setContent: (content: string) => void
1313
}
1414

15-
const ContentMenu = ({ tutorial, position, progress, setTitle, setContent }: Props) => {
15+
const ContentMenu = ({ levels, position, progress, setTitle, setContent }: Props) => {
1616
const setMenuContent = (levelId: string) => {
17-
const selectedLevel: TT.Level | undefined = tutorial.levels.find((l: TT.Level) => l.id === levelId)
17+
const selectedLevel: TT.Level | undefined = levels.find((l: TT.Level) => l.id === levelId)
1818
if (selectedLevel) {
1919
setTitle(selectedLevel.title)
2020
setContent(selectedLevel.content)
2121
}
2222
}
2323
return (
2424
<Menu>
25-
{tutorial.levels.map((level: TT.Level) => {
25+
{levels.map((level: TT.Level) => {
2626
const isCurrent = level.id === position.levelId
2727
const isComplete = progress.levels[level.id]
2828
let icon

Diff for: web-app/src/containers/Tutorial/components/Level.tsx

+5-3
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ const styles = {
8888
}
8989

9090
interface Props {
91-
tutorial: TT.Tutorial
91+
tutorial: Exclude<TT.Tutorial, 'config'>
9292
index: number
9393
status: 'COMPLETE' | 'ACTIVE' | 'INCOMPLETE'
9494
progress: T.Progress
@@ -114,7 +114,9 @@ const Level = ({
114114
processes,
115115
testStatus,
116116
}: Props) => {
117-
const level = tutorial.levels[index]
117+
const level: TT.Level = tutorial.levels[index]
118+
119+
console.log(level)
118120

119121
const [title, setTitle] = React.useState<string>(level.title)
120122
const [content, setContent] = React.useState<string>(level.content)
@@ -135,7 +137,7 @@ const Level = ({
135137

136138
const menu = (
137139
<ContentMenu
138-
tutorial={tutorial}
140+
levels={tutorial.levels || []}
139141
position={position}
140142
progress={progress}
141143
setTitle={setTitle}

0 commit comments

Comments
 (0)