Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitff9e572

Browse files
committed
continue from same point
1 parent81fb928 commitff9e572

File tree

5 files changed

+70
-49
lines changed

5 files changed

+70
-49
lines changed

‎web-app/src/Routes.tsx

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -47,34 +47,34 @@ const Routes = () => {
4747
<Routepath="Start.Startup">
4848
<LoadingPagetext="Launching..."/>
4949
</Route>
50-
<Routepath="Start.NewTutorial.SelectTutorial">
51-
<NewPagesend={tempSend}/>
50+
<Routepath="Start.NewTutorial.SelectTutorial">
51+
<NewPagesend={tempSend}/>
5252
</Route>
5353
<Routepath="Start.NewTutorial.InitializeTutorial">
5454
<LoadingPagetext="Launching Tutorial..."/>
5555
</Route>
5656
<Routepath="Start.ContinueTutorial">
57-
<ContinuePagecontext={{}asCR.MachineContext}/>
57+
<ContinuePagesend={tempSend}context={{}asCR.MachineContext}/>
5858
</Route>
59-
<Routepath="Tutorial.Initialize">
59+
<Routepath="Tutorial.Initialize">
6060
<LoadingPagetext="Initializing..."/>
6161
</Route>
62-
<Routepath="Tutorial.LoadNext">
63-
<LoadingPagetext="Loading..."/>
64-
</Route>
65-
<Routepath="Tutorial.Summary">
66-
<SummaryPagesend={tempSend}context={{}asCR.MachineContext}/>
67-
</Route>
68-
<Routepath="Tutorial.Level">
69-
<LevelSummaryPagesend={tempSend}context={{}asCR.MachineContext}/>
70-
</Route>
71-
<Routepath="Tutorial.Stage">
72-
<StageSummaryPagesend={tempSend}context={{}asCR.MachineContext}/>
73-
</Route>
74-
<Routepath="Tutorial.Completed">
75-
<CompletedPagesend={tempSend}context={{}asCR.MachineContext}/>
76-
</Route>
77-
</Router>
62+
<Routepath="Tutorial.LoadNext">
63+
<LoadingPagetext="Loading..."/>
64+
</Route>
65+
<Routepath="Tutorial.Summary">
66+
<SummaryPagesend={tempSend}context={{}asCR.MachineContext}/>
67+
</Route>
68+
<Routepath="Tutorial.Level">
69+
<LevelSummaryPagesend={tempSend}context={{}asCR.MachineContext}/>
70+
</Route>
71+
<Routepath="Tutorial.Stage">
72+
<StageSummaryPagesend={tempSend}context={{}asCR.MachineContext}/>
73+
</Route>
74+
<Routepath="Tutorial.Completed">
75+
<CompletedPagesend={tempSend}context={{}asCR.MachineContext}/>
76+
</Route>
77+
</Router>
7878
</div>
7979
)
8080
}

‎web-app/src/containers/Continue/index.tsx

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,15 @@ export const ContinuePage = (props: Props) => (
2222
)
2323

2424
interfaceContainerProps{
25-
context:CR.MachineContext
25+
context:CR.MachineContext
26+
send(action:CR.Action|string):void
2627
}
2728

28-
constContinuePageContainer=({ context}:ContainerProps)=>{
29-
// TODO: load specific tutorialId
30-
const{ tutorial}=context
29+
constContinuePageContainer=({ context, send}:ContainerProps)=>{
30+
// TODO: load specific tutorialId
31+
const{ tutorial}=context
3132

32-
return(
33-
<ContinuePage
34-
tutorial={tutorial}
35-
onContinue={()=>{
36-
console.log('TUTORIAL_START')
37-
}}
38-
/>
39-
)
33+
return<ContinuePagetutorial={tutorial}onContinue={()=>send('TUTORIAL_START')}/>
4034
}
4135

4236
exportdefaultContinuePageContainer

‎web-app/src/services/channel/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ class Channel {
3030
//@ts-ignore // ignore browser events from plugins
3131
if(action.source){return}
3232

33-
console.log('receive action',action)
3433
// messages from core
3534
switch(action.type){
3635
case'TUTORIAL_LOADED':
Lines changed: 42 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,53 @@
11
import*asstoragefrom'../storage'
22
import*asCRfrom'typings'
3+
import*asGfrom'typings/graphql'
34

45
exportconstnewOrContinue=async(context:CR.MachineContext)=>{
5-
const[tutorial,position,progress]=awaitPromise.all([
6+
const[tutorial,progress]=awaitPromise.all([
67
storage.tutorial.get(),
7-
storage.position.get(),
88
storage.progress.get()
99
])
1010

11-
consthasExistingTutorial=(tutorial&&tutorial.id&&progress&&!progress.complete)
12-
if(hasExistingTutorial){
13-
// TODO: calculate position based on progress
14-
return{
15-
type:'CONTINUE',
16-
payload:{
17-
tutorial,
18-
position,
19-
progress
20-
}
11+
consthasExistingTutorial:boolean=(!!tutorial&&!!progress&&!progress.complete&&!!tutorial.id)
12+
13+
if(!hasExistingTutorial){
14+
returnPromise.reject()
15+
}
16+
17+
// Calculate position based on progress
18+
19+
//@ts-ignore
20+
constlevel=tutorial.version.levels.find((l:G.Level)=>!progress.levels[l.id])
21+
if(!level){
22+
// tutorial complete
23+
returnPromise.reject()
24+
}
25+
26+
//@ts-ignore
27+
conststage=level.stages.find((s:G.Stage)=>!progress.stages[s.id])
28+
if(!stage){
29+
// something went wrong
30+
returnPromise.reject()
31+
}
32+
33+
//@ts-ignore
34+
conststep=stage.steps.find((s:G.Step)=>!progress.steps[s.id])
35+
if(!step){
36+
returnPromise.reject()
37+
}
38+
39+
constposition={
40+
levelId:level.id,
41+
stageId:stage.id,
42+
stepId:step.id,
43+
}
44+
45+
return{
46+
type:'CONTINUE',
47+
payload:{
48+
tutorial,
49+
position,
50+
progress
2151
}
2252
}
23-
// New tutorial
24-
returnPromise.reject()
2553
}

‎web-app/src/services/state/machine.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,8 @@ export const machine = Machine<CR.MachineContext, CR.MachineStateSchema, CR.Mach
5252
},
5353
},
5454
ContinueTutorial:{
55-
onEntry:['tutorialContinue'],
5655
on:{
57-
TUTORIAL_START:'#tutorial-load-next',
56+
TUTORIAL_START:'#tutorial-stage',
5857
},
5958
},
6059
},
@@ -104,6 +103,7 @@ export const machine = Machine<CR.MachineContext, CR.MachineStateSchema, CR.Mach
104103
},
105104
},
106105
Stage:{
106+
id:'tutorial-stage',
107107
onEntry:['loadStage'],
108108
initial:'Normal',
109109
states:{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp