@@ -76,48 +76,51 @@ function SessionImage( { session } ) {
76
76
return image ;
77
77
}
78
78
79
- function SessionDetails ( { session, show_meta , show_category } ) {
80
- let meta , metaContent , category ;
79
+ function SessionMeta ( { session } ) {
80
+ let metaContent ;
81
81
const terms = get ( session , '_embedded[\'wp:term\']' , [ ] ) . flat ( ) ;
82
82
83
- if ( show_meta ) {
84
- if ( session . session_track . length ) {
85
- const [ firstTrack ] = terms . filter ( ( term ) => {
86
- return 'wcb_track' === term . taxonomy ;
87
- } ) ;
88
-
89
- metaContent = arrayTokenReplace (
90
- /* translators: 1: A date; 2: A time; 3: A location; */
91
- tokenSplit ( __ ( '%1$s at %2$s in %3$s' , 'wordcamporg' ) ) ,
92
- [
93
- decodeEntities ( session . session_date_time . date ) ,
94
- decodeEntities ( session . session_date_time . time ) ,
95
- (
96
- < span className = { classnames ( 'wordcamp-session-track' , 'wordcamp-session-track-' + decodeEntities ( firstTrack . slug . trim ( ) ) ) } >
83
+ if ( session . session_track . length ) {
84
+ const [ firstTrack ] = terms . filter ( ( term ) => {
85
+ return 'wcb_track' === term . taxonomy ;
86
+ } ) ;
87
+
88
+ metaContent = arrayTokenReplace (
89
+ /* translators: 1: A date; 2: A time; 3: A location; */
90
+ tokenSplit ( __ ( '%1$s at %2$s in %3$s' , 'wordcamporg' ) ) ,
91
+ [
92
+ decodeEntities ( session . session_date_time . date ) ,
93
+ decodeEntities ( session . session_date_time . time ) ,
94
+ (
95
+ < span className = { classnames ( 'wordcamp-session-track' , 'wordcamp-session-track-' + decodeEntities ( firstTrack . slug . trim ( ) ) ) } >
97
96
{ decodeEntities ( firstTrack . name . trim ( ) ) }
98
97
</ span >
99
- ) ,
100
- ]
101
- ) ;
102
- } else {
103
- metaContent = arrayTokenReplace (
104
- /* translators: 1: A date; 2: A time; */
105
- tokenSplit ( __ ( '%1$s at %2$s' , 'wordcamporg' ) ) ,
106
- [
107
- decodeEntities ( session . session_date_time . date ) ,
108
- decodeEntities ( session . session_date_time . time ) ,
109
- ]
110
- ) ;
111
- }
112
-
113
- meta = (
114
- < div className = "wordcamp-session-time-location" >
115
- { metaContent }
116
- </ div >
98
+ ) ,
99
+ ]
100
+ ) ;
101
+ } else {
102
+ metaContent = arrayTokenReplace (
103
+ /* translators: 1: A date; 2: A time; */
104
+ tokenSplit ( __ ( '%1$s at %2$s' , 'wordcamporg' ) ) ,
105
+ [
106
+ decodeEntities ( session . session_date_time . date ) ,
107
+ decodeEntities ( session . session_date_time . time ) ,
108
+ ]
117
109
) ;
118
110
}
119
111
120
- if ( show_category && session . session_category . length ) {
112
+ return (
113
+ < div className = "wordcamp-session-time-location" >
114
+ { metaContent }
115
+ </ div >
116
+ ) ;
117
+ }
118
+
119
+ function SessionCategory ( { session } ) {
120
+ let categoryContent ;
121
+ const terms = get ( session , '_embedded[\'wp:term\']' , [ ] ) . flat ( ) ;
122
+
123
+ if ( session . session_category . length ) {
121
124
/* translators: used between list items, there is a space after the comma */
122
125
const separator = __ ( ', ' , 'wordcamporg' ) ;
123
126
const categories = terms
@@ -135,17 +138,12 @@ function SessionDetails( { session, show_meta, show_category } ) {
135
138
) ;
136
139
} ) ;
137
140
138
- category = (
139
- < div className = "wordcamp-session-categories" >
140
- { intersperse ( categories , separator ) }
141
- </ div >
142
- ) ;
141
+ categoryContent = intersperse ( categories , separator ) ;
143
142
}
144
143
145
144
return (
146
- < div className = "wordcamp-item-meta wordcamp-session-details" >
147
- { meta }
148
- { category }
145
+ < div className = "wordcamp-session-categories" >
146
+ { categoryContent }
149
147
</ div >
150
148
) ;
151
149
}
@@ -203,11 +201,14 @@ class SessionsBlockContent extends Component {
203
201
}
204
202
205
203
{ ( show_meta || show_category ) &&
206
- < SessionDetails
207
- session = { post }
208
- show_meta = { show_meta }
209
- show_category = { show_category }
210
- />
204
+ < div className = "wordcamp-item-meta wordcamp-session-details" >
205
+ { show_meta &&
206
+ < SessionMeta session = { post } />
207
+ }
208
+ { show_category &&
209
+ < SessionCategory session = { post } />
210
+ }
211
+ </ div >
211
212
}
212
213
</ div >
213
214
) }
0 commit comments