@@ -104,7 +104,7 @@ const parsedFTVAEventScreeningDetails = computed(() => {
104104 return page? .value .ftvaEventScreeningDetails ? .map ((obj ) => {
105105 return {
106106 ... obj,
107- image: obj .image [0 ] // craft data has an array, but component expects a single object for image
107+ image: obj .image && obj . image . length === 1 ? obj . image [0 ] : null , // craft data has an array, but component expects a single object for image
108108 }
109109 })
110110})
@@ -118,12 +118,14 @@ const parsedFTVAEventScreeningDetails = computed(() => {
118118 < div class = " one-column" >
119119 < NavBreadcrumb
120120 class = " breadcrumb"
121- : title= " page.title"
121+ data- test= " breadcrumb"
122+ : title= " page?.title"
122123 / >
123124
124125 < ResponsiveImage
125- v- if = " parsedImage.length === 1"
126- : media= " parsedImage[0].image[0]"
126+ v- if = " parsedImage && parsedImage.length === 1 && parsedImage[0]?.image && parsedImage[0]?.image?.length === 1"
127+ data- test= " single-image"
128+ : media= " parsedImage[0]?.image[0]"
127129 : aspect- ratio= " 43.103"
128130 >
129131 < template
@@ -137,32 +139,46 @@ const parsedFTVAEventScreeningDetails = computed(() => {
137139 v- else
138140 class = " lightbox-container"
139141 >
140- < FlexibleMediaGalleryNewLightbox : items= " parsedCarouselData" >
142+ < FlexibleMediaGalleryNewLightbox
143+ data- test= " image-carousel"
144+ : items= " parsedCarouselData"
145+ >
141146 < template #default= " slotProps" >
142- < BlockTag : label= " parsedCarouselData[slotProps.selectionIndex]?.creditText" / >
147+ < BlockTag
148+ data- test= " credit-text"
149+ : label= " parsedCarouselData[slotProps.selectionIndex]?.creditText"
150+ / >
143151 < / template>
144152 < / FlexibleMediaGalleryNewLightbox>
145153 < / div>
146154 < / div>
147155
148- < div class = " two-column" >
156+ < div
157+ data- test= " second-column"
158+ class = " two-column"
159+ >
149160 < div class = " primary-column top" >
150161 < SectionWrapper>
151162 < CardMeta
163+ data- test= " text-block"
152164 : category= " series[0]?.title"
153165 : title= " page?.title"
154- : guest- speaker= " page.guestSpeaker"
155- : tag- labels= " page.tagLabels"
156- : introduction= " page.introduction"
166+ : guest- speaker= " page? .guestSpeaker"
167+ : tag- labels= " page? .tagLabels"
168+ : introduction= " page? .introduction"
157169 / >
158170 < RichText
159- v- if = " page.eventDescription"
160- : rich- text- content= " page.eventDescription"
171+ v- if = " page?.eventDescription"
172+ data- test= " event-description"
173+ class = " eventDescription"
174+ : rich- text- content= " page?.eventDescription"
161175 / >
162176
163177 < RichText
164- v- if = " page.acknowledements"
165- : rich- text- content= " page.acknowledements"
178+ v- if = " page?.acknowledements"
179+ data- test= " acknowledgements"
180+ class = " acknowledgements"
181+ : rich- text- content= " page?.acknowledements"
166182 / >
167183 < / SectionWrapper>
168184 < / div>
@@ -172,21 +188,24 @@ const parsedFTVAEventScreeningDetails = computed(() => {
172188 < div class = " sidebar-column" >
173189 < div class = " sidebar-content-wrapper" >
174190 < BlockEventDetail
175- : start- date= " page.startDateWithTime"
176- : time= " page.startDateWithTime"
177- : locations= " page.location"
191+ data- test= " event-details"
192+ : start- date= " page?.startDateWithTime"
193+ : time= " page?.startDateWithTime"
194+ : locations= " page?.location"
178195 / >
179196 < ButtonDropdown
180- : title= " parsedCalendarData.title"
181- : event - description= " parsedCalendarData.eventDescription"
182- : start- date- with - time= " parsedCalendarData.startDateWithTime"
183- : location= " parsedCalendarData.location"
197+ data- test= " calendar-dropdown"
198+ : title= " parsedCalendarData?.title"
199+ : event - description= " parsedCalendarData?.eventDescription"
200+ : start- date- with - time= " parsedCalendarData?.startDateWithTime"
201+ : location= " parsedCalendarData?.location"
184202 : is- event = " true"
185203 : debug- mode- enabled= " false"
186204 / >
187205 < BlockInfo
188- v- if = " page.ftvaTicketInformation && page.ftvaTicketInformation.length > 0"
189- : ftva- ticket- information= " page.ftvaTicketInformation"
206+ v- if = " page?.ftvaTicketInformation && page?.ftvaTicketInformation.length > 0"
207+ data- test= " ticket-info"
208+ : ftva- ticket- information= " page?.ftvaTicketInformation"
190209 / >
191210 < / div>
192211 < / div>
@@ -199,11 +218,13 @@ const parsedFTVAEventScreeningDetails = computed(() => {
199218 < SectionWrapper>
200219 < SectionScreeningDetails
201220 v- if = " parsedFTVAEventScreeningDetails"
221+ data- test= " screening-details"
202222 : items= " parsedFTVAEventScreeningDetails"
203223 / >
204224 < / SectionWrapper>
205225 < / div>
206226 < / div>
227+
207228 < div class = " full-width" >
208229 < SectionWrapper
209230 v- if = " parsedFtvaEventSeries && parsedFtvaEventSeries.length > 0"
@@ -212,6 +233,7 @@ const parsedFTVAEventScreeningDetails = computed(() => {
212233 >
213234 < SectionTeaserCard
214235 v- if = " parsedFtvaEventSeries && parsedFtvaEventSeries.length > 0"
236+ data- test= " event-series"
215237 : items= " parsedFtvaEventSeries"
216238 / >
217239 < / SectionWrapper>
0 commit comments