@@ -15,22 +15,29 @@ const WhenTitle: React.FC<{}> = observer(() => {
1515 < span > { res } </ span >
1616 )
1717} ) ;
18-
19- const WhereTitle : React . FC < { } > = observer ( ( ) => {
18+ const WhereMainTitle : React . FC < { } > = observer ( ( ) => {
2019 const { t } = useTranslation ( ) ;
2120 const { filterStore } = useStore ( ) ;
22- const { cities, cityPopSizeRange, roads, roadTypes , locationAccuracy } = filterStore ;
21+ const { cities, cityPopSizeRange, roads } = filterStore ;
2322 let res = t ( 'Israel' ) ;
2423 if ( cities . text !== '' ) {
2524 res = `${ cities . text } ` ; // maybe use t('several-cities');
2625 } else if ( cityPopSizeRange . text !== '' ) {
2726 res = `${ t ( 'city_size' ) } ${ cityPopSizeRange . text } ` ;
2827 } else if ( roads . text !== '' ) {
2928 res = `${ t ( roads . name ) } ${ roads . text } ` ;
30- //res = (roads.length === 1) ? `${t('Road')} ${roads[0]}` : t('several-roads');
3129 }
32- else if ( roadTypes . text !== '' ) {
33- res = `${ roadTypes . text } ` ;
30+ return (
31+ < span > { res } </ span >
32+ )
33+ } ) ;
34+ const WhereTitle : React . FC < { } > = observer ( ( ) => {
35+ const { t } = useTranslation ( ) ;
36+ const { filterStore } = useStore ( ) ;
37+ const { roadTypes, locationAccuracy } = filterStore ;
38+ let res = '' ;
39+ if ( roadTypes . text !== '' ) {
40+ res += `, ${ roadTypes . text } ` ;
3441 }
3542 if ( locationAccuracy . text !== '' ) res += `, ${ locationAccuracy . text } ` ;
3643 return (
@@ -70,6 +77,24 @@ const WhatVehicleTitle: React.FC<{}> = observer(() => {
7077 < span > { res } </ span >
7178 )
7279} ) ;
80+ const YearsTitle : React . FC < { } > = observer ( ( ) => {
81+ const { t } = useTranslation ( ) ;
82+ const { filterStore } = useStore ( ) ;
83+ const { startYear, endYear } = filterStore ;
84+ let res = ( startYear . text !== endYear . text ) ? `, ${ startYear . text } - ${ endYear . text } ` : `, ${ startYear . text } ` ;
85+ return (
86+ < span > { res } </ span >
87+ )
88+ } ) ;
89+ const InjuriesCountTitle : React . FC < { } > = observer ( ( ) => {
90+ const { t } = useTranslation ( ) ;
91+ const { filterStore } = useStore ( ) ;
92+ const { injTypes, injuriesCount , casualtiesNames} = filterStore ;
93+ let res = ( injuriesCount > 0 ) ? `, ${ t ( 'Found' ) } ${ injuriesCount } ${ t ( casualtiesNames ) } ` : `, ${ t ( 'NoResultsFound' ) } ` ;
94+ return (
95+ < span > { res } </ span >
96+ )
97+ } ) ;
7398
7499const InfoPanel : React . FC < IProps > = observer ( ( ) => {
75100 const styles = {
@@ -82,28 +107,19 @@ const InfoPanel: React.FC<IProps> = observer(() => {
82107 }
83108 const { t } = useTranslation ( ) ;
84109 const { filterStore } = useStore ( ) ;
85- const { casualtiesNames, isLoadingInjuriesCount : isLoadingCountInjuries , injuriesCount } = filterStore ;
86- if ( isLoadingCountInjuries ) return < div style = { styles . div } > { t ( 'Loading' ) } </ div >
87- if ( injuriesCount > 0 ) {
88- return (
89- < h5 style = { styles . div } >
90- < WhereTitle />
91- < WhatVehicleTitle />
92- < WhoTitle />
93- < WhenTitle />
94- < WhatTitle />
95- { ', ' }
96- { t ( 'Found' ) }
97- { ' ' }
98- { injuriesCount }
99- { ' ' }
100- { t ( casualtiesNames ) }
101- { ' ' }
102- </ h5 >
103- ) ;
104- }
110+ const { isLoadingInjuriesCount } = filterStore ;
111+ if ( isLoadingInjuriesCount ) return < div style = { styles . div } > { t ( 'Loading' ) } </ div >
105112 return (
106- < h5 style = { styles . div } > { t ( 'NoResultsFound' ) } </ h5 >
113+ < h5 style = { styles . div } >
114+ < WhereMainTitle />
115+ < WhereTitle />
116+ < WhatVehicleTitle />
117+ < WhoTitle />
118+ < WhenTitle />
119+ < WhatTitle />
120+ < YearsTitle />
121+ < InjuriesCountTitle />
122+ </ h5 >
107123 ) ;
108124} ) ;
109125export default InfoPanel ;
0 commit comments