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

Commit98498c5

Browse files
committed
setup editor config on continue
1 parent19d819c commit98498c5

File tree

4 files changed

+37
-6
lines changed

4 files changed

+37
-6
lines changed

‎src/actions/tutorialConfig.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,19 @@ import * as G from 'typings/graphql'
22
import*asvscodefrom'vscode'
33
import*asgitfrom'../services/git'
44

5-
consttutorialConfig=async(tutorial:G.Tutorial)=>{
5+
interfaceTutorialConfigParams{
6+
tutorial:G.Tutorial,
7+
alreadyConfigured?:boolean
8+
}
9+
10+
consttutorialConfig=async({tutorial, alreadyConfigured}:TutorialConfigParams)=>{
11+
if(!alreadyConfigured){
12+
// setup git, add remote
13+
awaitgit.initIfNotExists()
614

7-
//setup git, addremote
8-
awaitgit.initIfNotExists()
9-
awaitgit.setupRemote(tutorial.repo.uri)
15+
//TODO: ifremote not already set
16+
awaitgit.setupRemote(tutorial.repo.uri)
17+
}
1018

1119
// TODO: allow multiple coding languages in a tutorial
1220
constlanguage=tutorial.codingLanguage.toLowerCase()

‎src/channel/index.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,19 @@ class Channel implements Channel {
7070
case'EDITOR_TUTORIAL_CONFIG':
7171
consttutorialData=action.payload.tutorial
7272
this.context.setTutorial(this.workspaceState,tutorialData)
73-
tutorialConfig(tutorialData)
73+
tutorialConfig({
74+
tutorial:tutorialData
75+
})
76+
return
77+
case'EDITOR_TUTORIAL_CONTINUE_CONFIG':
78+
consttutorialContinue:G.Tutorial|null=this.context.tutorial.get()
79+
if(!tutorialContinue){
80+
thrownewError('Invalid tutorial to continue')
81+
}
82+
tutorialConfig({
83+
tutorial:tutorialContinue,
84+
alreadyConfigured:true
85+
})
7486
return
7587
case'EDITOR_SYNC_PROGRESS':
7688
// sync client progress on server

‎web-app/src/services/state/actions/editor.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export default {
1111
type:'EDITOR_TUTORIAL_LOAD',
1212
})
1313
},
14+
// TODO: syncProgress unused
1415
syncProgress(context:CR.MachineContext){
1516
// sync progress in editor local storage for persistence
1617
channel.editorSend({
@@ -23,6 +24,7 @@ export default {
2324
initializeTutorial(context:CR.MachineContext,event:CR.MachineEvent){
2425
// setup test runner and git
2526
const{tutorial}=event.data.payload
27+
2628
if(!tutorial){
2729
thrownewError('Invalid tutorial for tutorial config')
2830
}
@@ -32,6 +34,11 @@ export default {
3234
payload:{tutorial},
3335
})
3436
},
37+
continueConfig(){
38+
channel.editorSend({
39+
type:'EDITOR_TUTORIAL_CONTINUE_CONFIG',
40+
})
41+
},
3542
testStart(context:CR.MachineContext,event:CR.MachineEvent){
3643
console.log('EDITOR: TEST_RUN')
3744
const{stepId}=event.payload

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,10 @@ export const machine = Machine<CR.MachineContext, CR.MachineStateSchema, CR.Mach
5050
},
5151
ContinueTutorial:{
5252
on:{
53-
TUTORIAL_START:'#tutorial-stage',
53+
TUTORIAL_START:{
54+
target:'#tutorial-stage',
55+
actions:['continueConfig'],
56+
},
5457
TUTORIAL_SELECT:'SelectTutorial'
5558
},
5659
},
@@ -60,6 +63,7 @@ export const machine = Machine<CR.MachineContext, CR.MachineStateSchema, CR.Mach
6063
id:'tutorial',
6164
initial:'Initialize',
6265
states:{
66+
// TODO: move Initialize into New Tutorial setup
6367
Initialize:{
6468
invoke:{
6569
id:'loadTutorial',

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp