@@ -3,7 +3,9 @@ import { RouteComponentProps } from 'react-router-dom';
3
3
import Header from '../Page/Header' ;
4
4
import Page from '../Page/Page' ;
5
5
import Editor from '@monaco-editor/react' ;
6
- import useProcessInterval from '../../hooks/submissions' ;
6
+ import useProcessInterval , {
7
+ useLastSubmissionForUser ,
8
+ } from '../../hooks/submissions' ;
7
9
import Result from '../Dashboard/Result' ;
8
10
import { Listbox , Transition } from '@headlessui/react' ;
9
11
import { CheckIcon , SelectorIcon } from '@heroicons/react/solid' ;
@@ -50,6 +52,14 @@ const BenchmarkDetail = ({
50
52
editorRef . current = editor ;
51
53
}
52
54
55
+ let lastSubmission ;
56
+ const {
57
+ isLoading : isLastSubmissionLoading ,
58
+ isError : isLastSubmissionError ,
59
+ data : lastSubmissionData ,
60
+ error : errorLastSubmission ,
61
+ } = useLastSubmissionForUser ( match . params . id , selected . name ) ;
62
+
53
63
// Handle code submission and job result polling
54
64
const {
55
65
mutate,
@@ -85,6 +95,19 @@ const BenchmarkDetail = ({
85
95
}
86
96
}
87
97
98
+ if ( isLastSubmissionLoading ) {
99
+ lastSubmission = 'Loading...' ;
100
+ }
101
+
102
+ if ( isLastSubmissionError ) {
103
+ if ( errorLastSubmission ) {
104
+ lastSubmission = "print('Welcome to Codebench !')" ;
105
+ }
106
+ }
107
+ if ( lastSubmissionData ) {
108
+ lastSubmission = lastSubmissionData . code ;
109
+ }
110
+
88
111
return (
89
112
< Page >
90
113
< Header
@@ -203,8 +226,8 @@ const BenchmarkDetail = ({
203
226
< Editor
204
227
onMount = { handleEditorDidMount }
205
228
height = "100%"
206
- defaultLanguage = "python"
207
- defaultValue = { `print('hey!')` }
229
+ value = { lastSubmission && lastSubmission }
230
+ language = { selected . name }
208
231
/>
209
232
</ div >
210
233
< div className = "justify-self-start" > { result && result } </ div >
0 commit comments