Skip to content

Commit 2ade97b

Browse files
authored
Merge pull request #5409 from HSLdevcom/DT-6922
DT-6929 Replacement notifications text update and new design
2 parents 6b8ff0c + 56722ce commit 2ade97b

File tree

7 files changed

+90
-96
lines changed

7 files changed

+90
-96
lines changed

app/component/itinerary/ItineraryDetails.js

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -217,25 +217,32 @@ function ItineraryDetails(
217217
/>,
218218
);
219219
}
220+
}
220221

221-
if (config.showRouteDisclaimer) {
222-
itinerary.legs.forEach(leg => {
223-
const { route } = leg;
224-
if (
225-
route?.desc?.length &&
226-
getRouteMode(route, config)?.includes('replacement')
227-
) {
228-
disclaimers.push(
229-
<RouteDisclaimer
230-
key={disclaimers.length}
231-
text={route.desc}
232-
href={route.url}
233-
linkText={intl.formatMessage({ id: 'extra-info' })}
234-
/>,
235-
);
236-
}
237-
});
238-
}
222+
if (config.replacementBusNotification) {
223+
itinerary.legs.forEach(({ route, trip }) => {
224+
const isReplacementRoute =
225+
route?.desc?.length &&
226+
getRouteMode(route, config)?.includes('replacement');
227+
const isReplacementTrip =
228+
trip?.submode?.includes('replacement') || trip?.submode?.includes(714);
229+
230+
if (isReplacementRoute || isReplacementTrip) {
231+
const notification =
232+
isReplacementRoute && config.showRouteDescNotification
233+
? { content: route.desc, link: route.url }
234+
: config.replacementBusNotification;
235+
236+
disclaimers.push(
237+
<RouteDisclaimer
238+
key="replacementBusNotification"
239+
text={notification.content?.[currentLanguage]?.join(' ')}
240+
href={notification.link?.[currentLanguage]}
241+
linkText={intl.formatMessage({ id: 'extra-info' })}
242+
/>,
243+
);
244+
}
245+
});
239246
}
240247

241248
return (

app/component/itinerary/TransitLeg.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ class TransitLeg extends React.Component {
362362
const createNotificationWithLink = notification => {
363363
return (
364364
<a
365-
href={`https://www.${notification.link[lang]}`}
365+
href={`https://www.${notification.link?.[lang]}`}
366366
className="disruption-link"
367367
target="_blank"
368368
rel="noreferrer"
@@ -397,6 +397,7 @@ class TransitLeg extends React.Component {
397397
<div
398398
className={cx('disruption', {
399399
'no-header': !notification.header,
400+
'no-link': !notification.link,
400401
})}
401402
key={`note-${index}`}
402403
>

app/component/itinerary/itinerary.scss

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2164,6 +2164,14 @@ $itinerary-tab-switch-height: 48px;
21642164
border: solid 1px #ddd;
21652165
margin-bottom: 10px;
21662166

2167+
&.no-link {
2168+
display: flex;
2169+
align-items: center;
2170+
justify-content: space-between;
2171+
padding: 6px 15px 8px 12px;
2172+
text-decoration: none;
2173+
}
2174+
21672175
.disruption-icon {
21682176
width: 18px;
21692177
height: 18px;

app/component/routepage/RouteControlPanel.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -373,9 +373,9 @@ class RouteControlPanel extends React.Component {
373373
key={notification.id}
374374
header={notification.header[language]}
375375
content={notification.content[language]}
376-
link={notification.link[language]}
376+
link={notification.link?.[language]}
377377
id={notification.id}
378-
closeButtonLabel={notification.closeButtonLabel[language]}
378+
closeButtonLabel={notification.closeButtonLabel?.[language]}
379379
/>,
380380
);
381381
}

app/configurations/config.default.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -863,8 +863,8 @@ export default {
863863
navigation: false,
864864
sendAnalyticsCustomEventGoals: false,
865865
shortenLongTextThreshold: 10, // for route number in itinerary summary
866-
showRouteDisclaimer: true,
867866
allowFlexJourneys: false,
868867
allowDirectFlexJourneys: false,
869868
allowedFlexRouteTypes: [1501],
869+
showRouteDescNotification: false,
870870
};

app/configurations/config.hsl.js

Lines changed: 28 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -746,44 +746,36 @@ export default {
746746
sv: 'hsl.fi/sv/kampanjer/snabbsparvag',
747747
},
748748
},
749-
{
750-
showForRoute: route => route.type === 714,
751-
id: 'replacementBusNotification',
752-
header: {
753-
fi: 'Korvaava bussi',
754-
en: 'Korvaava bussi',
755-
sv: 'Korvaava bussi',
756-
},
757-
content: {
758-
fi: [
759-
'Voit nousta kyytiin myös bussin keskiovista.',
760-
'Pysäkit on merkitty punaisilla tunnuksilla.',
761-
'Linja käyttää valikoituja pysäkkejä, eli bussi ei pysähdy kaikilla pysäkeillä.',
762-
],
763-
en: [
764-
'Voit nousta kyytiin myös bussin keskiovista.',
765-
'Pysäkit on merkitty punaisilla tunnuksilla.',
766-
'Linja käyttää valikoituja pysäkkejä, eli bussi ei pysähdy kaikilla pysäkeillä.',
767-
],
768-
sv: [
769-
'Voit nousta kyytiin myös bussin keskiovista.',
770-
'Pysäkit on merkitty punaisilla tunnuksilla.',
771-
'Linja käyttää valikoituja pysäkkejä, eli bussi ei pysähdy kaikilla pysäkeillä.',
772-
],
773-
},
774-
closeButtonLabel: {
775-
fi: '',
776-
en: '',
777-
sv: '',
778-
},
779-
link: {
780-
fi: 'hsl.fi/korvaavabussi',
781-
en: 'hsl.fi/korvaavabussi',
782-
sv: 'hsl.fi/korvaavabussi',
783-
},
784-
},
785749
],
786750

751+
replacementBusNotification: {
752+
header: {
753+
fi: 'Korvaava bussi',
754+
en: 'Replacement bus',
755+
sv: 'Ersättande buss',
756+
},
757+
content: {
758+
fi: [
759+
'Voit nousta kyytiin myös bussin keskiovista.',
760+
'Pysäkit on merkitty punaisilla tunnuksilla.',
761+
'Linja käyttää valikoituja pysäkkejä, eli bussi ei pysähdy kaikilla pysäkeillä.',
762+
],
763+
en: [
764+
'You can also board the bus through the middle doors.',
765+
'The stops are marked with red signs.',
766+
'The bus stops only at designated stops and does not serve all stops.',
767+
],
768+
sv: [
769+
'Du kan också stiga på bussen genom mittdörren.',
770+
'Hållplatserna är markerade med röda punkter.',
771+
'Linjen stannar endast vid vissa hållplatser, dvs. bussen stannar inte vid alla hållplatser.',
772+
],
773+
},
774+
link: {
775+
fi: 'https://hsl.fi/korvaavabussi',
776+
},
777+
},
778+
787779
embeddedSearch: {
788780
title: {
789781
fi: 'Reittiopas-elementti',
@@ -818,7 +810,6 @@ export default {
818810
trafficLightGraphic: 'hsl/traffic-light.svg',
819811
naviGeolocationGraphic: 'hsl/geolocation.svg',
820812
navigation: true,
821-
showRouteDisclaimer: true,
822813
crazyEgg: true,
823814
// features that should not be deployed to production
824815
experimental: {

app/configurations/config.waltti.js

Lines changed: 24 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -312,44 +312,31 @@ export default {
312312
hideNaviTickets: true, // TODO: temporary force switch
313313
navigation: true,
314314

315-
routeNotifications: [
316-
{
317-
showForRoute: route => route.type === 714,
318-
id: 'replacementBusNotification',
319-
header: {
320-
fi: 'Korvaava bussi',
321-
en: 'Korvaava bussi',
322-
sv: 'Korvaava bussi',
323-
},
324-
content: {
325-
fi: [
326-
'Voit nousta kyytiin myös bussin keskiovista.',
327-
'Pysäkit on merkitty punaisilla tunnuksilla.',
328-
'Linja käyttää valikoituja pysäkkejä, eli bussi ei pysähdy kaikilla pysäkeillä.',
329-
],
330-
en: [
331-
'Voit nousta kyytiin myös bussin keskiovista.',
332-
'Pysäkit on merkitty punaisilla tunnuksilla.',
333-
'Linja käyttää valikoituja pysäkkejä, eli bussi ei pysähdy kaikilla pysäkeillä.',
334-
],
335-
sv: [
336-
'Voit nousta kyytiin myös bussin keskiovista.',
337-
'Pysäkit on merkitty punaisilla tunnuksilla.',
338-
'Linja käyttää valikoituja pysäkkejä, eli bussi ei pysähdy kaikilla pysäkeillä.',
339-
],
340-
},
341-
closeButtonLabel: {
342-
fi: '',
343-
en: '',
344-
sv: '',
345-
},
346-
link: {
347-
fi: '',
348-
en: '',
349-
sv: '',
350-
},
315+
replacementBusNotification: {
316+
header: {
317+
fi: 'Korvaava bussi',
318+
en: 'Replacement bus',
319+
sv: 'Ersättande buss',
351320
},
352-
],
321+
content: {
322+
fi: [
323+
'Voit nousta kyytiin myös bussin keskiovista.',
324+
'Pysäkit on merkitty punaisilla tunnuksilla.',
325+
'Linja käyttää valikoituja pysäkkejä, eli bussi ei pysähdy kaikilla pysäkeillä.',
326+
],
327+
en: [
328+
'You can also board the bus through the middle doors.',
329+
'The stops are marked with red signs.',
330+
'The bus stops only at designated stops and does not serve all stops.',
331+
],
332+
sv: [
333+
'Du kan också stiga på bussen genom mittdörren.',
334+
'Hållplatserna är markerade med röda punkter.',
335+
'Linjen stannar endast vid vissa hållplatser, dvs. bussen stannar inte vid alla hållplatser.',
336+
],
337+
},
338+
},
339+
353340
externalFeedIds: ['02Taksi'],
354341

355342
// features that should not be deployed to production

0 commit comments

Comments
 (0)