Skip to content

Commit 1fa7f52

Browse files
authored
Merge pull request #5061 from HSLdevcom/fix-ctrlpanel-localization
Fix ctrlpanel localization
2 parents 3e3c495 + 052998f commit 1fa7f52

File tree

4 files changed

+13
-115
lines changed

4 files changed

+13
-115
lines changed

digitransit-component/packages/digitransit-component-control-panel/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@digitransit-component/digitransit-component-control-panel",
3-
"version": "1.1.8",
3+
"version": "2.0.0",
44
"description": "digitransit-component control-panel module",
55
"main": "index.js",
66
"files": [

digitransit-component/packages/digitransit-component-control-panel/src/index.js

Lines changed: 9 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
import PropTypes from 'prop-types';
55
import React, { Fragment, useEffect, useState } from 'react';
66
import i18next from 'i18next';
7-
import { useCookies } from 'react-cookie';
8-
import cx from 'classnames';
97
import Icon from '@digitransit-component/digitransit-component-icon';
108
import styles from './helpers/styles.scss';
119
import translations from './helpers/translations';
@@ -67,73 +65,6 @@ OriginToDestination.defaultProps = {
6765
language: 'fi',
6866
};
6967

70-
function BubbleDialog({ title, content, closeDialog, shouldRender, lang }) {
71-
const [show, setShow] = useState(false);
72-
useEffect(() => {
73-
setTimeout(() => {
74-
setShow(true);
75-
}, 500);
76-
}, [show]);
77-
78-
return (
79-
<div
80-
className={cx(styles['nearby-stops-bubble-dialog'], {
81-
[styles['visible']]: shouldRender && show,
82-
})}
83-
>
84-
<div
85-
id="nearby-stops-bubble-dialog-container"
86-
className={styles['nearby-stops-bubble-dialog-container']}
87-
>
88-
<div>
89-
<div
90-
className={cx(
91-
styles['nearby-stops-bubble-dialog-header'],
92-
styles[lang],
93-
)}
94-
>
95-
{title}
96-
</div>
97-
<div className={styles['nearby-stops-bubble-dialog-content']}>
98-
{content}
99-
</div>
100-
<button
101-
className={styles['nearby-stops-bubble-dialog-close']}
102-
aria-label={i18next.t('close-nearby-teaser')}
103-
onClick={event => {
104-
event.preventDefault();
105-
closeDialog();
106-
}}
107-
onKeyDown={event => {
108-
event.preventDefault();
109-
const space = [13, ' ', 'Spacebar'];
110-
const enter = [32, 'Enter'];
111-
const key = event && event.key;
112-
if (key && space.concat(enter).includes(key)) {
113-
closeDialog();
114-
}
115-
}}
116-
type="button"
117-
>
118-
<Icon img="close" />
119-
</button>
120-
</div>
121-
<div className={styles['nearby-stops-bubble-dialog-tip-container']}>
122-
<div className={styles['nearby-stops-bubble-dialog-tip']} />
123-
</div>
124-
</div>
125-
</div>
126-
);
127-
}
128-
129-
BubbleDialog.propTypes = {
130-
title: PropTypes.string.isRequired,
131-
content: PropTypes.string.isRequired,
132-
closeDialog: PropTypes.func.isRequired,
133-
shouldRender: PropTypes.bool.isRequired,
134-
lang: PropTypes.string.isRequired,
135-
};
136-
13768
/**
13869
* Show button links to near you page for different travel modes
13970
*
@@ -196,15 +127,11 @@ function NearStopsAndRoutes({
196127
modeSet,
197128
modeIconColors,
198129
fontWeights,
199-
showTeaser,
200130
}) {
201131
const [modesWithAlerts, setModesWithAlerts] = useState([]);
202-
const [cookies, setCookie] = useCookies(['nearbyTeaserShown']);
203132

204133
useEffect(() => {
205-
Object.keys(translations).forEach(lang => {
206-
i18next.addResourceBundle(lang, 'translation', translations[lang]);
207-
});
134+
i18next.changeLanguage(language);
208135
if (alertsContext) {
209136
alertsContext
210137
.getModesWithAlerts(alertsContext.currentTime, alertsContext.feedIds)
@@ -214,12 +141,6 @@ function NearStopsAndRoutes({
214141
}
215142
}, []);
216143

217-
const closeBubbleDialog = () =>
218-
setCookie('nearbyTeaserShown', true, {
219-
path: '/',
220-
maxAge: 10 * 365 * 24 * 60 * 60,
221-
});
222-
223144
let urlStart;
224145
if (omitLanguageUrl) {
225146
urlStart = urlPrefix;
@@ -328,20 +249,6 @@ function NearStopsAndRoutes({
328249
: title[language]}
329250
</h2>
330251
)}
331-
{showTeaser && !cookies?.nearbyTeaserShown && (
332-
<BubbleDialog
333-
title={i18next.t('nearby-stops-teaser-header', { lng: language })}
334-
content={i18next.t('nearby-stops-teaser-content', {
335-
lng: language,
336-
})}
337-
closeDialog={closeBubbleDialog}
338-
shouldRender={
339-
i18next.t('nearby-stops-teaser-header', { lng: language }) !==
340-
'nearby-stops-teaser-header'
341-
}
342-
lang={language}
343-
/>
344-
)}
345252
<div
346253
className={
347254
!modes
@@ -381,7 +288,6 @@ NearStopsAndRoutes.propTypes = {
381288
fontWeights: PropTypes.shape({
382289
medium: PropTypes.number,
383290
}),
384-
showTeaser: PropTypes.bool,
385291
};
386292

387293
NearStopsAndRoutes.defaultProps = {
@@ -407,7 +313,6 @@ NearStopsAndRoutes.defaultProps = {
407313
fontWeights: {
408314
medium: 500,
409315
},
410-
showTeaser: false,
411316
};
412317

413318
/**
@@ -432,11 +337,8 @@ class CtrlPanel extends React.Component {
432337

433338
static SeparatorLine = SeparatorLine;
434339

435-
static BubbleDialog = BubbleDialog;
436-
437340
static propTypes = {
438341
children: PropTypes.arrayOf(PropTypes.node),
439-
language: PropTypes.string.isRequired,
440342
position: PropTypes.string.isRequired,
441343
fontWeights: PropTypes.shape({
442344
medium: PropTypes.number,
@@ -450,29 +352,25 @@ class CtrlPanel extends React.Component {
450352
},
451353
};
452354

355+
constructor(props) {
356+
super(props);
357+
Object.keys(translations).forEach(lang => {
358+
i18next.addResourceBundle(lang, 'translation', translations[lang]);
359+
});
360+
}
361+
453362
render() {
454363
const className =
455364
this.props.position === 'bottom'
456365
? styles['main-bottom']
457366
: styles['main-left'];
458-
const children = React.Children.map(this.props.children, child => {
459-
if (child) {
460-
let lang = this.props.language;
461-
if (lang === undefined) {
462-
lang = 'fi';
463-
}
464-
i18next.changeLanguage(lang);
465-
return React.cloneElement(child, { lang });
466-
}
467-
return null;
468-
});
469367
return (
470368
<div
471369
key="main"
472370
className={className}
473371
style={{ '--font-weight-medium': this.props.fontWeights.medium }}
474372
>
475-
{children}
373+
{this.props.children}
476374
</div>
477375
);
478376
}

digitransit-component/packages/digitransit-component/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"dependencies": {
1717
"@digitransit-component/digitransit-component-autosuggest": "^2.0.8",
1818
"@digitransit-component/digitransit-component-autosuggest-panel": "^3.0.8",
19-
"@digitransit-component/digitransit-component-control-panel": "^1.1.8",
19+
"@digitransit-component/digitransit-component-control-panel": "^2.0.0",
2020
"@digitransit-component/digitransit-component-favourite-bar": "2.0.5",
2121
"@digitransit-component/digitransit-component-favourite-editing-modal": "^2.0.2",
2222
"@digitransit-component/digitransit-component-favourite-modal": "^1.0.6",

yarn.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2013,7 +2013,7 @@ __metadata:
20132013
languageName: unknown
20142014
linkType: soft
20152015

2016-
"@digitransit-component/digitransit-component-control-panel@^1.1.8, @digitransit-component/digitransit-component-control-panel@workspace:digitransit-component/packages/digitransit-component-control-panel":
2016+
"@digitransit-component/digitransit-component-control-panel@^2.0.0, @digitransit-component/digitransit-component-control-panel@workspace:digitransit-component/packages/digitransit-component-control-panel":
20172017
version: 0.0.0-use.local
20182018
resolution: "@digitransit-component/digitransit-component-control-panel@workspace:digitransit-component/packages/digitransit-component-control-panel"
20192019
peerDependencies:
@@ -2168,7 +2168,7 @@ __metadata:
21682168
dependencies:
21692169
"@digitransit-component/digitransit-component-autosuggest": ^2.0.8
21702170
"@digitransit-component/digitransit-component-autosuggest-panel": ^3.0.8
2171-
"@digitransit-component/digitransit-component-control-panel": ^1.1.8
2171+
"@digitransit-component/digitransit-component-control-panel": ^2.0.0
21722172
"@digitransit-component/digitransit-component-favourite-bar": 2.0.5
21732173
"@digitransit-component/digitransit-component-favourite-editing-modal": ^2.0.2
21742174
"@digitransit-component/digitransit-component-favourite-modal": ^1.0.6

0 commit comments

Comments
 (0)