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

Commitbc922a5

Browse files
committed
fix up loading of tutorials with new api
1 parent85f11a4 commitbc922a5

File tree

5 files changed

+35
-11
lines changed

5 files changed

+35
-11
lines changed

‎src/actions/tutorialConfig.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,17 @@ const tutorialConfig = async ({tutorial, alreadyConfigured, onComplete}: Tutoria
1515
awaitgit.initIfNotExists()
1616

1717
// TODO: if remote not already set
18-
awaitgit.setupRemote(tutorial.repo.uri)
18+
awaitgit.setupRemote(tutorial.version.data.config.repo.uri)
1919
if(onComplete){onComplete()}
2020
}
2121

2222
// TODO: allow multiple coding languages in a tutorial
23-
constlanguage=tutorial.codingLanguage.toLowerCase()
23+
constlanguages:G.CodingLanguage[]=tutorial.version.data.config.codingLanguages
2424

2525
// setup onSave hook
2626
vscode.workspace.onDidSaveTextDocument((document:vscode.TextDocument)=>{
27-
if(document.uri.scheme==='file'&&language===document.languageId){
27+
//@ts-ignore // issue with GQL enums in TS
28+
if(document.uri.scheme==='file'&&languages.includes(document.languageId.toUpperCase())){
2829
vscode.commands.executeCommand('coderoad.run_test')
2930
}
3031
})

‎src/channel/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ class Channel implements Channel {
8282
return
8383
// configure test runner, language, git
8484
case'EDITOR_TUTORIAL_CONFIG':
85-
consttutorialData=action.payload.tutorial
85+
consttutorialData:G.Tutorial=action.payload.tutorial
8686
this.context.setTutorial(this.workspaceState,tutorialData)
8787
tutorialConfig({
8888
tutorial:tutorialData,

‎web-app/src/containers/Tutorial/SummaryPage/Summary/index.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ const styles = {
1616

1717
interfaceProps{
1818
title:string
19-
text:string
19+
description:string
2020
onNext():void
2121
}
2222

23-
constSummary=({ title,text, onNext}:Props)=>(
23+
constSummary=({ title,description, onNext}:Props)=>(
2424
<divstyle={styles.card}>
2525
<divstyle={styles.content}>
2626
<h2style={styles.title}>{title}</h2>
27-
<p>{text}</p>
27+
<p>{description}</p>
2828
</div>
2929
<divstyle={styles.options}>
3030
<ButtononClick={()=>onNext()}>Continue</Button>

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

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import*asReactfrom'react'
2+
import*asGfrom'typings/graphql'
23
import*asCRfrom'typings'
34
import{useQuery}from'@apollo/react-hooks'
45

@@ -11,13 +12,22 @@ interface PageProps {
1112
send(action:CR.Action):void
1213
}
1314

15+
interfaceTutorialData{
16+
tutorial:G.Tutorial
17+
}
18+
19+
interfaceTutorialDataVariables{
20+
tutorialId:string
21+
version:string
22+
}
23+
1424
constSummaryPage=(props:PageProps)=>{
1525
const{ tutorial}=props.context
1626

1727
if(!tutorial){
1828
thrownewError('Tutorial not found in summary page')
1929
}
20-
const{ loading, error, data}=useQuery(queryTutorial,{
30+
const{ loading, error, data}=useQuery<TutorialData,TutorialDataVariables>(queryTutorial,{
2131
fetchPolicy:'network-only',// for debugging purposes
2232
variables:{
2333
tutorialId:tutorial.id,
@@ -33,6 +43,10 @@ const SummaryPage = (props: PageProps) => {
3343
return<ErrorViewerror={error}/>
3444
}
3545

46+
if(!data){
47+
returnnull
48+
}
49+
3650
constonNext=()=>
3751
props.send({
3852
type:'LOAD_TUTORIAL',
@@ -41,9 +55,9 @@ const SummaryPage = (props: PageProps) => {
4155
},
4256
})
4357

44-
const{ title,text}=data.tutorial
58+
const{ title,description}=data.tutorial.version.summary
4559

46-
return<Summarytitle={title}text={text}onNext={onNext}/>
60+
return<Summarytitle={title}description={description}onNext={onNext}/>
4761
}
4862

4963
exportdefaultSummaryPage

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,15 @@ import channel from '../../channel'
55
importclientfrom'../../apollo'
66
importtutorialQueryfrom'../../apollo/queries/tutorial'
77

8+
interfaceTutorialData{
9+
tutorial:G.Tutorial
10+
}
11+
12+
interfaceTutorialDataVariables{
13+
tutorialId:string
14+
version:string
15+
}
16+
817
exportdefault{
918
loadEnv(){
1019
channel.editorSend({
@@ -34,7 +43,7 @@ export default {
3443
thrownewError('Tutorial not available to load')
3544
}
3645

37-
client.query({
46+
client.query<TutorialData,TutorialDataVariables>({
3847
query:tutorialQuery,
3948
variables:{
4049
tutorialId:context.tutorial.id,

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp