Skip to content

Commit e4b3ff9

Browse files
committed
add review ui
Signed-off-by: shmck <[email protected]>
1 parent fec562f commit e4b3ff9

File tree

3 files changed

+63
-14
lines changed

3 files changed

+63
-14
lines changed

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

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import * as React from 'react'
2+
import { Dialog } from '@alifd/next'
3+
import Button from '../../../components/Button'
4+
5+
interface Props {
6+
onReset(): void
7+
}
8+
9+
const Reset = (props: Props) => {
10+
const [modalState, setModalState] = React.useState<'none' | 'confirm' | 'progress'>('none')
11+
12+
const onClose = () => {
13+
setModalState('none')
14+
}
15+
16+
const onOk = () => {
17+
setModalState('progress')
18+
props.onReset()
19+
return setTimeout(() => {
20+
setModalState('none')
21+
}, 3000)
22+
}
23+
24+
return (
25+
<>
26+
<Button type="secondary" onClick={() => setModalState('confirm')}>
27+
Reset
28+
</Button>
29+
{/* TODO improve reset message */}
30+
<Dialog
31+
title="Reset"
32+
visible={modalState === 'confirm'}
33+
onOk={onOk}
34+
onCancel={onClose}
35+
onClose={onClose}
36+
footerActions={['ok', 'cancel']}
37+
>
38+
Are you sure?
39+
</Dialog>
40+
<Dialog
41+
title="Resetting..."
42+
visible={modalState === 'progress'}
43+
footer={false}
44+
onClose={onClose}
45+
closeable={false}
46+
>
47+
Reverting progress to an earlier commit...
48+
</Dialog>
49+
</>
50+
)
51+
}
52+
53+
export default Reset

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

+9-2
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ import * as selectors from '../../services/selectors'
44
import SideMenu from './components/SideMenu'
55
import Level from './components/Level'
66
import Icon from '../../components/Icon'
7-
import SettingsPage from './containers/Settings'
7+
// import SettingsPage from './containers/Settings'
88
import ReviewPage from './containers/Review'
99
import Button from '../../components/Button'
10+
import Reset from './components/Reset'
1011
import ProcessMessages from '../../components/ProcessMessages'
1112
import TestMessage from '../../components/TestMessage'
1213
import { Progress } from '@alifd/next'
@@ -100,6 +101,10 @@ const TutorialPage = (props: PageProps) => {
100101
props.send({ type: 'RUN_TEST' })
101102
}
102103

104+
const onReset = (): void => {
105+
// TODO
106+
}
107+
103108
const [menuVisible, setMenuVisible] = React.useState(false)
104109

105110
const [page, setPage] = React.useState<'level' | 'settings' | 'review'>('level')
@@ -149,7 +154,9 @@ const TutorialPage = (props: PageProps) => {
149154
)}
150155

151156
{/* Center */}
152-
<div />
157+
<div>
158+
<Reset onReset={onReset} />
159+
</div>
153160

154161
{/* Right */}
155162
<div>

Diff for: web-app/stories/Review.stories.tsx

+1-12
Original file line numberDiff line numberDiff line change
@@ -142,16 +142,5 @@ storiesOf('Review', module)
142142
.addDecorator(SideBarDecorator)
143143
.addDecorator(withKnobs)
144144
.add('Example', () => {
145-
const progress = {
146-
levels: {
147-
'1': true,
148-
},
149-
steps: {
150-
'1.1': true,
151-
'1.2': true,
152-
'1.3': true,
153-
'2.1': true,
154-
},
155-
}
156-
return <Review levels={levels} progress={progress} />
145+
return <Review levels={levels} />
157146
})

0 commit comments

Comments
 (0)