1
- import React from 'react' ;
1
+ import React , { useState } from 'react' ;
2
2
import { useParams , useHistory } from 'react-router-dom' ;
3
- import { createStyles , makeStyles , Theme } from '@material-ui/core' ;
3
+ import {
4
+ createStyles ,
5
+ FormControl ,
6
+ InputLabel ,
7
+ makeStyles ,
8
+ MenuItem ,
9
+ Select ,
10
+ Theme ,
11
+ } from '@material-ui/core' ;
4
12
5
13
import {
6
14
Mission ,
@@ -9,8 +17,8 @@ import {
9
17
UserProgress ,
10
18
} from '../../__generated__/types' ;
11
19
import TableComponent from '../TableComponent/TableComponent' ;
12
-
13
20
import '../TableComponent/TableComponent.css' ;
21
+ import MissionIcon from '../../assets/images/missionmedical-logo.png' ;
14
22
15
23
const useStyles = makeStyles ( ( theme : Theme ) =>
16
24
createStyles ( {
@@ -28,8 +36,15 @@ function CourseHome() {
28
36
} ,
29
37
} ) ;
30
38
39
+ // const { data: targetProgressData } = gett;
40
+
31
41
const classes = useStyles ( ) ;
32
42
const { className } = useParams < Record < string , string | undefined > > ( ) ;
43
+ const [ viewType , setViewType ] = useState ( 'List' ) ;
44
+
45
+ const handleChange = ( event : React . ChangeEvent < { value : unknown } > ) => {
46
+ setViewType ( event . target . value as string ) ;
47
+ } ;
33
48
34
49
const history = useHistory ( ) ;
35
50
const rowClicked = ( userName : string ) => {
@@ -43,104 +58,123 @@ function CourseHome() {
43
58
progressData ?. progressOverview . userProgress . map ( ( userProgress : UserProgress ) =>
44
59
data . push ( {
45
60
row : {
46
- section : 1 ,
47
61
name : userProgress . userName ,
48
- team : '' ,
49
- time : '' ,
50
- recent : {
51
- status :
52
- userProgress . progress . length !== 0
53
- ? userProgress . progress [ userProgress . progress . length - 1 ] . taskId
54
- : '' ,
55
- style : {
56
- backgroundColor :
57
- userProgress . progress . length !== 0
58
- ? userProgress . progress [ userProgress . progress . length - 1 ] . status
59
- ? '#00b300'
60
- : '#ff6666'
61
- : '#a6a6a6' ,
62
- } ,
63
- } ,
62
+ recent :
63
+ userProgress . progress . length !== 0
64
+ ? userProgress . progress [ userProgress . progress . length - 1 ] . taskId
65
+ : '' ,
66
+
67
+ masteryLevel : '19' ,
68
+ lastLogOn : 'Jan. 7, 2021' ,
64
69
} ,
65
70
} )
66
71
) ;
67
72
68
73
const tableColumns = [
69
74
{
70
- Header : 'Student Information ' ,
75
+ Header : 'Overview ' ,
71
76
columns : [
72
77
{
73
- Header : 'Section' ,
74
- accessor : 'row.section' ,
75
- } ,
76
- {
77
- Header : 'Student' ,
78
+ Header : 'Name' ,
78
79
accessor : 'row.name' ,
79
80
} ,
80
81
{
81
- Header : 'Team ' ,
82
- accessor : 'row.team ' ,
82
+ Header : 'Current Task ' ,
83
+ accessor : 'row.recent ' ,
83
84
} ,
84
85
{
85
- Header : 'Time ' ,
86
- accessor : 'row.time ' ,
86
+ Header : 'Mastery Level ' ,
87
+ accessor : 'row.masteryLevel ' ,
87
88
} ,
88
89
{
89
- Header : 'Status' ,
90
- accessor : 'row.recent' ,
91
- Cell : ( { value } : { value : any } ) => {
92
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
93
- return < > { value . status } </ > ;
94
- } ,
90
+ Header : 'Last Log-On' ,
91
+ accessor : 'row.lastLogOn' ,
95
92
} ,
96
93
] ,
97
94
} ,
98
95
] ;
99
96
100
- const taskGroup : any = {
101
- Header : 'Tasks' ,
102
- columns : [ ] ,
103
- } ;
97
+ // const taskGroup: any = {
98
+ // Header: 'Tasks',
99
+ // columns: [],
100
+ // };
104
101
105
- let taskCounter = 1 ;
106
- if ( progressData !== undefined ) {
107
- const currentMission : any = progressData ?. progressOverview . missions [ 0 ] ;
108
- // console.log(progressData?.progressOverview.missions);
109
- // console.log(currentMission);
110
- for ( const missionContent of currentMission . missionContent ) {
111
- if ( missionContent . __typename === 'Task' ) {
112
- const taskName = `Task #${ taskCounter } ` ;
113
- data . map ( ( row ) => {
114
- row . row [ taskName ] = '' ;
115
- } ) ;
116
- taskGroup . columns . push ( {
117
- Header : taskName ,
118
- accessor : `row.${ taskName } ` ,
119
- } ) ;
120
- taskCounter ++ ;
121
- }
122
- }
123
- tableColumns . push ( taskGroup ) ;
124
- }
102
+ // let taskCounter = 1;
103
+ // if (progressData !== undefined) {
104
+ // const currentMission: any = progressData?.progressOverview.missions[0];
105
+ // // console.log(progressData?.progressOverview.missions);
106
+ // // console.log(currentMission);
107
+ // for (const missionContent of currentMission.missionContent) {
108
+ // if (missionContent.__typename === 'Task') {
109
+ // const taskName = `Task #${taskCounter}`;
110
+ // data.map((row) => {
111
+ // row.row[taskName] = '';
112
+ // });
113
+ // taskGroup.columns.push({
114
+ // Header: taskName,
115
+ // accessor: `row.${taskName}`,
116
+ // });
117
+ // taskCounter++;
118
+ // }
119
+ // }
120
+ // tableColumns.push(taskGroup);
121
+ // }
125
122
126
123
console . log ( data ) ;
127
124
console . log ( tableColumns ) ;
128
125
129
126
return (
130
127
< div >
131
128
< div
129
+ className = ""
132
130
style = { {
133
- color : 'white' ,
134
- fontSize : '50px' ,
135
- fontWeight : 'bold' ,
136
- textAlign : 'center' ,
137
- background :
138
- 'linear-gradient(90deg, rgb(49, 119, 238) 0%, rgb(17, 61, 138) 100%) white' ,
131
+ height : '200px' ,
132
+ display : 'flex' ,
133
+ flexDirection : 'column' ,
134
+ justifyContent : 'center' ,
139
135
} }
140
136
>
141
- { className } ({ progressData ? progressData . progressOverview . missions [ 0 ] . name : '' } )
137
+ < div className = "row " >
138
+ < img
139
+ src = { MissionIcon }
140
+ alt = ""
141
+ style = { {
142
+ marginRight : '-28px' ,
143
+ marginTop : '-8px' ,
144
+ width : '90px' ,
145
+ height : '90px' ,
146
+ zIndex : 1 ,
147
+ position : 'relative' ,
148
+ } }
149
+ />
150
+ < div
151
+ style = { {
152
+ color : 'white' ,
153
+ fontSize : '50px' ,
154
+ fontWeight : 'bold' ,
155
+ display : 'inline-block' ,
156
+ minWidth : '550px' ,
157
+ height : '75px' ,
158
+ textAlign : 'center' ,
159
+
160
+ background :
161
+ 'linear-gradient(90deg, rgb(49, 119, 238) 0%, rgb(17, 61, 138) 100%) white' ,
162
+ } }
163
+ >
164
+ { progressData ? progressData . progressOverview . missions [ 0 ] . name : '' }
165
+ </ div >
166
+ </ div >
142
167
</ div >
168
+
143
169
< div className = { classes . tableContainer } >
170
+ < FormControl style = { { minWidth : '150px' , marginLeft : '21px' , marginTop : '6px' } } >
171
+ < InputLabel > View As</ InputLabel >
172
+ < Select value = { viewType } onChange = { handleChange } >
173
+ < MenuItem value = "Chart" > Seating Chart</ MenuItem >
174
+ < MenuItem value = "List" > List</ MenuItem >
175
+ </ Select >
176
+ </ FormControl >
177
+
144
178
< div className = "base-table" >
145
179
< TableComponent columns = { tableColumns } data = { data } rowClickFunction = { rowClicked } />
146
180
</ div >
0 commit comments