@@ -4,47 +4,50 @@ import * as React from 'react'
44import { RouteComponentProps } from 'react-router'
55import { NavLink } from 'react-router-dom'
66
7- import AssessmentContainer from '../../containers/AssessmentContainer '
7+ import AssessmentContainer from '../../containers/assessment '
88import { OwnProps as AssessmentProps } from '../assessment'
9+ import { AssessmentCategory } from '../assessment/assessmentShape'
910import { IAssessmentOverview } from '../assessment/assessmentShape'
1011import ContentDisplay , { IContentDisplayProps } from '../commons/ContentDisplay'
1112
12- export interface IMissionParams {
13- missionId ?: string
13+ export interface IAssessmentParams {
14+ assessmentId ?: string
1415}
1516
16- export interface IMissionsProps extends RouteComponentProps < IMissionParams > {
17+ export interface IAssessmentListingProps extends RouteComponentProps < IAssessmentParams > {
1718 assessmentOverviews ?: IAssessmentOverview [ ]
19+ assessmentCategory : AssessmentCategory
1820 handleAssessmentOverviewFetch : ( ) => void
1921}
2022
21- export type StateProps = Pick < IMissionsProps , 'assessmentOverviews' >
22- export type DispatchProps = Pick < IMissionsProps , 'handleAssessmentOverviewFetch' >
23+ export type DispatchProps = Pick < IAssessmentListingProps , 'handleAssessmentOverviewFetch' >
24+ export type OwnProps = Pick < IAssessmentListingProps , 'assessmentCategory' >
25+ export type StateProps = Pick < IAssessmentListingProps , 'assessmentOverviews' >
2326
24- class Missions extends React . Component < IMissionsProps , { } > {
27+ class AssessmentListing extends React . Component < IAssessmentListingProps , { } > {
2528 public render ( ) {
26- // make missionIdParam a number
27- let missionIdParam : number | null =
28- this . props . match . params . missionId === undefined
29+ // make assessmentId a number
30+ let assessmentIdParam : number | null =
31+ this . props . match . params . assessmentId === undefined
2932 ? NaN
30- : parseInt ( this . props . match . params . missionId , 10 )
33+ : parseInt ( this . props . match . params . assessmentId , 10 )
3134 // set as null if the parsing failed
32- missionIdParam = Number . isInteger ( missionIdParam ) ? missionIdParam : null
35+ assessmentIdParam = Number . isInteger ( assessmentIdParam ) ? assessmentIdParam : null
3336
34- // if there is no mission specified, Render only information.
35- if ( missionIdParam === null ) {
37+ // if there is no assessmentId specified, Render only information.
38+ if ( assessmentIdParam === null ) {
3639 const props : IContentDisplayProps = {
3740 display : < AssessmentOverviewCard assessmentOverviews = { this . props . assessmentOverviews } /> ,
3841 loadContentDispatch : this . props . handleAssessmentOverviewFetch
3942 }
4043 return (
41- < div className = "Missions " >
44+ < div className = "AssessmentListing " >
4245 < ContentDisplay { ...props } />
4346 </ div >
4447 )
4548 } else {
4649 const props : AssessmentProps = {
47- missionId : missionIdParam
50+ assessmentId : assessmentIdParam
4851 }
4952 return < AssessmentContainer { ...props } />
5053 }
@@ -61,31 +64,31 @@ export const AssessmentOverviewCard: React.SFC<IAssessmentOverviewCardProps> = p
6164 } else if ( props . assessmentOverviews . length === 0 ) {
6265 return < NonIdealState title = "There are no assessments." visual = { IconNames . FLAME } />
6366 }
64- const cards = props . assessmentOverviews . map ( ( mission , index ) => (
67+ const cards = props . assessmentOverviews . map ( ( overview , index ) => (
6568 < div key = { index } >
66- < Card className = "row mission-info " >
67- < div className = "col-xs-3 mission-info -picture" > PICTURE</ div >
68- < div className = "col-xs-9 mission-info -text" >
69- < div className = "row mission-info -title" >
70- < h4 > { mission . title } </ h4 >
69+ < Card className = "row listing " >
70+ < div className = "col-xs-3 listing -picture" > PICTURE</ div >
71+ < div className = "col-xs-9 listing -text" >
72+ < div className = "row listing -title" >
73+ < h4 > { overview . title } </ h4 >
7174 </ div >
72- < div className = "row mission-info -order" >
75+ < div className = "row listing -order" >
7376 < h6 > Mission 0 : 123123 XP (hardcoded)</ h6 >
7477 </ div >
75- < div className = "row mission-info -description" >
76- < p className = "col-xs-12" > { mission . shortSummary } </ p >
78+ < div className = "row listing -description" >
79+ < p className = "col-xs-12" > { overview . shortSummary } </ p >
7780 </ div >
78- < div className = "row between-xs middle-xs mission-info -controls" >
79- < div className = "col-xs-8 mission-info -due-date-parent" >
80- < Text className = "mission-info -due-date" >
81- < Icon className = "mission-info -due-icon" iconSize = { 14 } icon = { IconNames . TIME } />
81+ < div className = "row between-xs middle-xs listing -controls" >
82+ < div className = "col-xs-8 listing -due-date-parent" >
83+ < Text className = "listing -due-date" >
84+ < Icon className = "listing -due-icon" iconSize = { 14 } icon = { IconNames . TIME } />
8285 Due: 12/12/12
8386 </ Text >
8487 </ div >
8588 < div className = "col-xs" >
86- < NavLink to = { `/academy/missions/${ mission . id . toString ( ) } ` } >
89+ < NavLink to = { `/academy/missions/${ overview . id . toString ( ) } ` } >
8790 < Button
88- className = "mission-info -skip-button"
91+ className = "listing -skip-button"
8992 minimal = { true }
9093 intent = { Intent . PRIMARY }
9194 icon = { IconNames . FLAME }
@@ -102,4 +105,4 @@ export const AssessmentOverviewCard: React.SFC<IAssessmentOverviewCardProps> = p
102105 return < > { cards } </ >
103106}
104107
105- export default Missions
108+ export default AssessmentListing
0 commit comments