Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
10a3f13
fix: location prop name for search
vesameskanen Nov 18, 2025
b4cc48d
Merge branch 'v3' into AB#74
vesameskanen Nov 27, 2025
5652a79
fix: remove unnecessary div with nonexistent style class
vesameskanen Nov 27, 2025
40c5a7b
chore: rename variables
vesameskanen Nov 27, 2025
dcaab48
chore: refactor DepartureRow
vesameskanen Nov 27, 2025
e9f1167
fix: use simple callback prop for capacity modal opening
vesameskanen Nov 27, 2025
754dc11
chore: remove useless prop
vesameskanen Nov 27, 2025
2c86889
chore: use consistently favourite (not favorite)
vesameskanen Nov 27, 2025
ca95d57
chore: rename more components
vesameskanen Nov 27, 2025
e35ab5e
fix: remove invalid param from executeAction
vesameskanen Nov 27, 2025
80003b3
fix: strange double expression
vesameskanen Nov 28, 2025
10e9de3
fix: various update bugs
vesameskanen Nov 28, 2025
4bc76ab
fix: NearYouFavouritesMapContainer props
vesameskanen Nov 28, 2025
09aec9e
fix: hundreds of relay warnings caused by missing vehicle rental stat…
vesameskanen Nov 28, 2025
2ce8c71
fix: favourite vehicle rental station prop name errors
vesameskanen Nov 28, 2025
15af1ea
chore: remove fake props
vesameskanen Nov 28, 2025
faf7995
fix: remove useless connection with 2 stores
vesameskanen Nov 28, 2025
857d32d
chore: remove unused prop
vesameskanen Nov 28, 2025
010b38d
chore: refactor StopNearYou
vesameskanen Nov 28, 2025
84cc123
chore: refactor VehicleRentalStationNearYou
vesameskanen Nov 28, 2025
4b79ac8
fix: remove unnecessary store connection from NearYouContainer
vesameskanen Nov 29, 2025
946c8df
fix: remove unnecessary store connections from NearYouMapContainer
vesameskanen Dec 2, 2025
8d6ed1f
fix: favouriteIds is required prop, code will crash without it
vesameskanen Dec 3, 2025
851095c
chore: refactor
vesameskanen Dec 3, 2025
a81847d
fix: wrong prop type for FavouritesMapContainer
vesameskanen Dec 3, 2025
2d2c101
fix: pass correct favouriteIds set prop to NearYouContainer
vesameskanen Dec 3, 2025
ddafa1b
chore: refactor and rename
vesameskanen Dec 3, 2025
9e58c51
fix: correct stopsNearYou prop type
vesameskanen Dec 3, 2025
2b66e85
feat: refactor NearYouContainer thoroughly
vesameskanen Dec 7, 2025
66c0ccc
chore: rename
vesameskanen Dec 8, 2025
0973d61
feat: move update button to sub component
vesameskanen Dec 8, 2025
b924aea
feat: move top level map rendering logic to a new component
vesameskanen Dec 9, 2025
004640a
chore: rename more
vesameskanen Dec 9, 2025
f630726
feat: move modal which asks initial location into new component
vesameskanen Dec 9, 2025
0709288
fix: give understandable names for the two search components
vesameskanen Dec 9, 2025
62a1f61
feat: move location search into sub component
vesameskanen Dec 10, 2025
7a1616d
chore: refactor searches more
vesameskanen Dec 10, 2025
e29e822
chore: refactor searches more
vesameskanen Dec 10, 2025
5809c76
feat: convert NearYouPage to function and refactor it
vesameskanen Dec 10, 2025
f73ff90
fix: update renamed props in map component, too
vesameskanen Dec 11, 2025
96de343
Merge branch 'v3' into AB#74-patch1
vesameskanen Dec 17, 2025
94aa516
fix: buggy LocationMarker key, remove unnecessary wrapper func
vesameskanen Dec 17, 2025
6ec7a3c
chore: refactor route and vehicle drawing on near you map
vesameskanen Dec 17, 2025
59919b6
chore: refactor near you map more
vesameskanen Dec 17, 2025
9cf8100
fix: remove unnecessary stop list conversion to another data type, re…
vesameskanen Dec 17, 2025
35ad0ee
fix: show vehicles on favourites near you map
vesameskanen Dec 17, 2025
5e85d29
fix: remove unused query fields and arguments from fav map container
vesameskanen Dec 18, 2025
0d72539
fix: remove triple code in favourite mapping
vesameskanen Dec 18, 2025
1b90286
fix: remove unncessary near youy map container query fields and argum…
vesameskanen Dec 18, 2025
453d70d
fix: remove strange relay.loadMore from near you map
vesameskanen Dec 18, 2025
2790c7b
Enable car ferries for Kela configuration
Antiik91 Dec 19, 2025
d893c85
chore: simplify nearyou code more
vesameskanen Dec 23, 2025
b85aa68
feat: move city bike info to own component
vesameskanen Dec 23, 2025
4c32d91
fix: don't render 0
vesameskanen Dec 23, 2025
7fe3728
Merge branch 'v3' into AB#74-patch1
vesameskanen Dec 23, 2025
cc90356
fix: restore bike season
vesameskanen Dec 23, 2025
21fe5e1
fix: use standard severe alert color for low city bike capacity
vesameskanen Dec 29, 2025
b6f672c
fix: use color variable instead of hard coded value
vesameskanen Dec 29, 2025
49717c6
fix: favourites were available only in HSL itinerary page search
vesameskanen Dec 29, 2025
8db2885
feat: method which counts favourite locations
vesameskanen Dec 29, 2025
2a62c60
fix: add 'own locations' sub menu only if fav locations exist
vesameskanen Dec 29, 2025
e6eb980
chore: inherit config values from base config
vesameskanen Dec 29, 2025
8f6d80c
chore: refactor nearyou props
vesameskanen Dec 30, 2025
2f4ab0e
fix: refactor the insane prop spaghetti of near you buttons
vesameskanen Dec 30, 2025
b9f4497
feat: use refactored near you button component
vesameskanen Dec 30, 2025
24cb10d
fix: new bugs after refactoring
vesameskanen Dec 30, 2025
9420f61
chore: remove unused config
vesameskanen Dec 30, 2025
b28af44
fix: use nearyou consistently (no more nearbys)
vesameskanen Dec 30, 2025
2321b8a
fix: remove dead Ctrlpanel props
vesameskanen Dec 31, 2025
bca4935
fix: route page should not crash if current week has no departures
vesameskanen Dec 31, 2025
dd00b28
fix: remove references to nonexistent style class
vesameskanen Dec 31, 2025
1a8c1f0
fix: add missing caution icon to default sprite sheet
vesameskanen Dec 31, 2025
feed0ef
fix: only info icon needs background circle
vesameskanen Dec 31, 2025
6869970
fix: remove hard coded svg colors
vesameskanen Dec 31, 2025
5ebad4d
feat: support bike and car park modes in CtrlPanel
vesameskanen Dec 31, 2025
7df4b4d
feat: update near you title and some translations
vesameskanen Dec 31, 2025
5fc9b06
remove unnecessary check
Antiik91 Jan 2, 2026
2750cf9
Merge pull request #5604 from HSLdevcom/AB#150-enable-car-ferries-for…
vesameskanen Jan 2, 2026
0c11ff8
feat: new component for near you parks
vesameskanen Jan 2, 2026
6a16ab5
feat: park support in map wrapper
vesameskanen Jan 2, 2026
f2ed65f
feat: support parks in NearYouContainer
vesameskanen Jan 2, 2026
5cde0b9
feat: NearYouMap supports parks
vesameskanen Jan 2, 2026
8bbe614
Merge pull request #5609 from HSLdevcom/AB#384
Antiik91 Jan 2, 2026
d8de407
feat: support parks in NearYouMapContainer
vesameskanen Jan 2, 2026
3918758
fix: remove useless prop
vesameskanen Jan 2, 2026
a605c0a
chore: park modes without hyphen, for consistency
vesameskanen Jan 2, 2026
527a9d9
feat: NearYouPage supports parks
vesameskanen Jan 2, 2026
f115b13
fix: rename park capacity
vesameskanen Jan 2, 2026
4c7cd26
chore: tune
vesameskanen Jan 2, 2026
a32c75c
fix: add maxDistance to new modes, rename
vesameskanen Jan 2, 2026
7a6ad8e
fix: alert rendering jsx syntax
vesameskanen Jan 2, 2026
14b3cab
feat: add translations
vesameskanen Jan 2, 2026
a4b4f62
feat: park specific search
vesameskanen Jan 2, 2026
aa58dc8
fix: allow map rendering while query is not finished yet
vesameskanen Jan 5, 2026
e9a7e95
feat: add svg for vertical park icons
vesameskanen Jan 5, 2026
154ff63
fix: Give sensible name for part of icons
vesameskanen Jan 5, 2026
4169d00
chore: major version bump after breaking icon name change
vesameskanen Jan 5, 2026
77df3a2
fix: icon naming chaos
vesameskanen Jan 5, 2026
332f8f6
feat: use new icon names in suggestion item
vesameskanen Jan 6, 2026
e0c3788
chore: remove unused icon
vesameskanen Jan 6, 2026
37a85d4
fix: translation ids
vesameskanen Jan 6, 2026
b51f563
feat: use new icon names in control panel
vesameskanen Jan 6, 2026
5c7a2c4
fix: do not use fake 'waltti' modeset
vesameskanen Jan 6, 2026
b2f0f6d
fix: remove duplicate bus express icons
vesameskanen Jan 6, 2026
b691b18
fix: update dependency versions
vesameskanen Jan 6, 2026
ff0a3e7
Revert "Merge pull request #5604 from HSLdevcom/AB#150-enable-car-fer…
vesameskanen Jan 7, 2026
c11a545
Revert "Reapply "Reapply "Merge pull request #5584 from HSLdevcom/AB#…
vesameskanen Jan 7, 2026
9836269
fix: use proper array.includes call
vesameskanen Jan 7, 2026
e3b7702
chore: refactor more
vesameskanen Jan 7, 2026
f20b21c
fix: remove redundant icon mappings
vesameskanen Jan 7, 2026
d600afc
feat: theme colors for parks
vesameskanen Jan 7, 2026
980af6d
fix: add missing default theme colors
vesameskanen Jan 7, 2026
65049f9
fix: scale new park fill svg to fit the round container in vertical b…
vesameskanen Jan 7, 2026
d8b33a3
fix: add mapping for subway-stop
vesameskanen Jan 7, 2026
8a0b64b
fix: Icon library to obey configured colors
vesameskanen Jan 7, 2026
d356a70
fix: remove duplicate icons
vesameskanen Jan 7, 2026
6a45c69
fix: app code uses replacement-bus not bus-replacement
vesameskanen Jan 7, 2026
ef8579b
chore: optimize Icon library svgs
vesameskanen Jan 7, 2026
6c047b1
feat: map park colors
vesameskanen Jan 7, 2026
bd0e664
chore: enable parks for HSL
vesameskanen Jan 7, 2026
97aea3e
chore: update nearyou translations
vesameskanen Jan 7, 2026
babc42c
fix: return null not undefined from react component
vesameskanen Jan 7, 2026
30b29d3
Reapply "Reapply "Reapply "Merge pull request #5584 from HSLdevcom/AB…
vesameskanen Jan 8, 2026
577222a
Reapply "Merge pull request #5604 from HSLdevcom/AB#150-enable-car-fe…
vesameskanen Jan 8, 2026
c643e80
chore: 3 min transafer penalty for HSL
vesameskanen Jan 8, 2026
36ebb2e
fix: react key props
vesameskanen Jan 8, 2026
f80f26b
fix: allow map rendering without props from favorite query
vesameskanen Jan 8, 2026
97cb258
fix: more query fields for parking
vesameskanen Jan 8, 2026
ea2a855
chore: tune query fields
vesameskanen Jan 8, 2026
8f4efcd
fix: relay wants null not undefined from query
vesameskanen Jan 8, 2026
66a9702
Merge branch 'v3' into AB#74-patch1
vesameskanen Jan 8, 2026
aaf1f90
feat: optional park info
vesameskanen Jan 8, 2026
7ee1249
fix: back button is optional in park card
vesameskanen Jan 8, 2026
c328722
fix: remove double shadow in park and rental mobile views
vesameskanen Jan 8, 2026
73d3c7b
fix: add all relevant parking props to nearyou query
vesameskanen Jan 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 18 additions & 15 deletions app/component/DepartureRow.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,11 @@ export default function DepartureRow(
);
let icon;
let iconColor;
let backgroundShape;
let background;
let backgroundClass;
let sr;
if (
route?.alerts?.filter(alert => isAlertValid(alert, props.currentTime))
route.alerts?.filter(alert => isAlertValid(alert, props.currentTime))
?.length > 0
) {
const alert = getMostSevereAlert(route);
Expand All @@ -61,18 +62,20 @@ export default function DepartureRow(
})}
</span>
);
icon =
alert.alertSeverityLevel !== 'INFO'
? 'icon_caution-white-excl-stroke'
: 'icon_info';
iconColor = alert.alertSeverityLevel !== 'INFO' ? '#DC0451' : '#888';
backgroundShape =
alert.alertSeverityLevel !== 'INFO' ? undefined : 'circle';
if (alert.alertSeverityLevel === 'INFO') {
icon = 'icon_info';
iconColor = '#888';
background = <IconBackground backgroundShape="circle" />;
backgroundClass = 'circle';
} else {
icon = 'icon_caution-white-excl-stroke';
iconColor = '#DC0451';
}
}
const headsign =
departure.headsign ||
trip.tripHeadsign ||
getHeadsignFromRouteLongName(trip.route);
getHeadsignFromRouteLongName(route);
let shownTime;
if (timeDiffInMinutes <= 0) {
shownTime = intl.formatMessage({
Expand All @@ -90,7 +93,7 @@ export default function DepartureRow(
{ minutes: timeDiffInMinutes },
);
}
const { shortName } = trip.route;
const { shortName } = route;
const lowerCaseShortName = shortName?.toLowerCase();
const nameOrIcon =
shortName?.length > 6 || !shortName?.length ? (
Expand Down Expand Up @@ -163,7 +166,7 @@ export default function DepartureRow(
className={cx('route-number-container', {
long: shortName && shortName.length <= 6 && shortName.length >= 5,
})}
style={{ backgroundColor: `#${trip.route.color}` }}
style={{ backgroundColor: `#${route.color}` }}
>
<div aria-hidden="true" className="route-number">
{nameOrIcon}
Expand All @@ -174,18 +177,18 @@ export default function DepartureRow(
{icon && (
<>
<Icon
className={backgroundShape}
className={backgroundClass}
img={icon}
color={iconColor}
background={<IconBackground backgroundShape={backgroundShape} />}
background={background}
/>
{sr}
</>
)}
</td>
<td className={cx('route-headsign', departure.bottomRow ? 'bottom' : '')}>
<div className="headsign">
{headsign} {departure.bottomRow && departure.bottomRow}
{headsign} {departure.bottomRow}
</div>
</td>
<td className="time-cell">
Expand Down
64 changes: 30 additions & 34 deletions app/component/IndexPage.js
Original file line number Diff line number Diff line change
Expand Up @@ -229,49 +229,53 @@ class IndexPage extends React.Component {
const { intl, config } = this.context;
const { colors, fontWeights } = config;
const { lang } = this.props;
const transportModes = getTransportModes(config);
const nearYouModes = getNearYouModes(config);

// Styles are defined by which button type is configured (narrow/wide)
const narrowButtons = config.narrowNearYouButtons;
const modeTitles = filterObject(
transportModes,
'availableForSelection',
true,
);
// If nearYouModes is configured, display those. Otherwise, display all configured transport modes
const modes =
nearYouModes?.length > 0 ? nearYouModes : Object.keys(modeTitles);
const modeArray =
nearYouModes.length > 0
? nearYouModes
: Object.keys(
filterObject(
getTransportModes(config),
'availableForSelection',
true,
),
);

const alertsContext = {
currentTime: this.props.currentTime,
getModesWithAlerts,
feedIds: config.feedIds,
};

const directionProps = config.narrowNearYouButtons
? {}
: {
buttonStyle: config.nearYouButton,
horizontal: false,
};

return config.showNearYouButtons ? (
<CtrlPanel.NearStopsAndRoutes
modeArray={modes}
modeArray={modeArray}
modeSet={config.iconModeSet}
urlPrefix={`/${PREFIX_NEARYOU}`}
language={lang}
showTitle
title={config.nearYouTitle}
alertsContext={alertsContext}
origin={this.props.origin}
omitLanguageUrl
onClick={this.clickStopNearIcon}
buttonStyle={narrowButtons ? undefined : config.nearYouButton}
title={narrowButtons ? undefined : config.nearYouTitle}
modes={narrowButtons ? undefined : modeTitles}
modeSet={config.nearbyModeSet || config.iconModeSet}
modeIconColors={colors.iconColors}
fontWeights={fontWeights}
{...directionProps}
/>
) : (
<div className="stops-near-you-text">
<h2>
{intl.formatMessage({
id: 'stop-near-you-title',
defaultMessage: 'Stops and lines near you',
id: 'near-you-search',
defaultMessage: 'Search stops and routes',
})}
</h2>
</div>
Expand All @@ -288,12 +292,15 @@ class IndexPage extends React.Component {
const { breakpoint, lang } = this.props;
const origin = this.pendingOrigin || this.props.origin;
const destination = this.pendingDestination || this.props.destination;
const locationSources = ['History', 'Datasource'];
const sources = ['Favourite', 'History', 'Datasource'];
const stopAndRouteSearchTargets = ['Stations', 'Stops', 'Routes'];
const targets = getLocationSearchTargets(config, breakpoint !== 'large');

targets.push('FutureRoutes');

if (this.context.getStore('FavouriteStore').getLocationCount()) {
locationSources.push('Favourite');
}
if (!config.targetsFromOTP) {
if (useCitybikes(config.vehicleRental?.networks, config)) {
stopAndRouteSearchTargets.push('VehicleRentalStations');
Expand All @@ -312,7 +319,7 @@ class IndexPage extends React.Component {
origin,
destination,
lang,
sources,
locationSources,
targets,
color,
hoverColor,
Expand Down Expand Up @@ -375,13 +382,7 @@ class IndexPage extends React.Component {
<h1 className="sr-only">
<FormattedMessage id="index.title" default="Journey Planner" />
</h1>
<CtrlPanel
instance="hsl"
language={lang}
origin={origin}
position="left"
fontWeights={fontWeights}
>
<CtrlPanel position="left" fontWeights={fontWeights}>
<span className="sr-only">
<FormattedMessage
id="search-fields.sr-instructions"
Expand Down Expand Up @@ -433,12 +434,7 @@ class IndexPage extends React.Component {
backgroundColor: '#ffffff',
}}
>
<CtrlPanel
instance="hsl"
language={lang}
position="bottom"
fontWeights={fontWeights}
>
<CtrlPanel position="bottom" fontWeights={fontWeights}>
<LocationSearch
disableAutoFocus
isMobile
Expand Down
61 changes: 36 additions & 25 deletions app/component/ParkAndRideContent.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,16 @@ import { PREFIX_BIKEPARK, PREFIX_CARPARK } from '../util/path';
import { DATE_FORMAT } from '../constants';

function ParkAndRideContent(
{ vehicleParking, error, currentLanguage },
{ vehicleParking, error, currentLanguage, mode, showInfo, backButton },
{ config, intl, router, match },
) {
// throw error when relay query fails
if (error) {
throw error.message;
}
const bikePark = match.location.pathname.includes(PREFIX_BIKEPARK);
const bikePark = mode
? mode === 'BIKEPARK'
: match.location.pathname.includes(PREFIX_BIKEPARK);
if (!vehicleParking) {
const path = bikePark ? PREFIX_BIKEPARK : PREFIX_CARPARK;
router.replace(`/${path}`);
Expand All @@ -37,7 +39,7 @@ function ParkAndRideContent(
spacesAvailable = vehicleParking.availability?.bicycleSpaces;
} else {
spacesAvailable = vehicleParking.availability?.carSpaces;
maxCapacity = vehicleParking.capacity?.carSpaces || 1;
maxCapacity = vehicleParking.parkCapacity?.carSpaces || 1;
}

const {
Expand Down Expand Up @@ -146,6 +148,7 @@ function ParkAndRideContent(
<ParkOrStationHeader
parkOrStation={vehicleParking}
parkType={bikePark ? 'bike' : 'car'}
backButton={backButton}
/>
<div className="park-content-container">
<Icon img={`icon_${prePostFix}`} height={2.4} width={2.4} />
Expand Down Expand Up @@ -205,29 +208,31 @@ function ParkAndRideContent(
)}
</div>
</div>
<div className="citybike-use-disclaimer">
<h2 className="disclaimer-header">
{intl.formatMessage({ id: `${prePostFix}-disclaimer-header` })}
</h2>
<div className="disclaimer-content">
{intl.formatMessage({ id: `${prePostFix}-disclaimer` })}
{showInfo && (
<div className="citybike-use-disclaimer">
<h2 className="disclaimer-header">
{intl.formatMessage({ id: `${prePostFix}-disclaimer-header` })}
</h2>
<div className="disclaimer-content">
{intl.formatMessage({ id: `${prePostFix}-disclaimer` })}
</div>
{/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
{config.parkAndRide.url && (
<a
onClick={e => {
e.stopPropagation();
}}
className="external-link"
href={config.parkAndRide.url[lang]}
target="_blank"
rel="noreferrer"
>
{intl.formatMessage({ id: `${prePostFix}-disclaimer-link` })}{' '}
&rsaquo;
</a>
)}
</div>
{/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
{config.parkAndRide.url && (
<a
onClick={e => {
e.stopPropagation();
}}
className="external-link"
href={config.parkAndRide.url[lang]}
target="_blank"
rel="noreferrer"
>
{intl.formatMessage({ id: `${prePostFix}-disclaimer-link` })}{' '}
&rsaquo;
</a>
)}
</div>
)}
</div>
);
}
Expand All @@ -236,11 +241,17 @@ ParkAndRideContent.propTypes = {
vehicleParking: parkShape,
error: errorShape,
currentLanguage: PropTypes.string.isRequired,
mode: PropTypes.oneOf(['CARPARK', 'BIKEPARK']),
showInfo: PropTypes.bool,
backButton: PropTypes.bool,
};

ParkAndRideContent.defaultProps = {
vehicleParking: undefined,
error: undefined,
mode: undefined,
showInfo: true,
backButton: true,
};

ParkAndRideContent.contextTypes = {
Expand Down
2 changes: 1 addition & 1 deletion app/component/ParkContainer.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const containerComponent = createFragmentContainer(ParkAndRideContent, {
bicycleSpaces
carSpaces
}
capacity {
parkCapacity: capacity {
carSpaces
}
name
Expand Down
14 changes: 9 additions & 5 deletions app/component/ParkOrStationHeader.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@ import React, { useEffect, useState } from 'react';
import { FormattedMessage } from 'react-intl';
import { configShape } from '../util/shapes';
import StopCode from './StopCode';
import withBreakpoint from '../util/withBreakpoint';
import BackButton from './BackButton';
import { getJson } from '../util/xhrPromise';
import getZoneId from '../util/zoneIconUtils';
import ZoneIcon from './ZoneIcon';
import withBreakpoint from '../util/withBreakpoint';
import { hasVehicleRentalCode } from '../util/vehicleRentalUtils';
import { getIdWithoutFeed } from '../util/feedScopedIdUtils';
import FavouriteVehicleRentalStationContainer from './FavouriteVehicleRentalStationContainer';

const ParkOrBikeStationHeader = (
{ parkOrStation, breakpoint, parkType },
{ parkOrStation, breakpoint, parkType, backButton },
{ config },
) => {
const [zoneId, setZoneId] = useState(undefined);
Expand Down Expand Up @@ -48,7 +48,7 @@ const ParkOrBikeStationHeader = (

return (
<div className="bike-station-header">
{breakpoint === 'large' && (
{breakpoint === 'large' && backButton && (
<BackButton
icon="icon_arrow-collapse--left"
iconClassName="arrow-icon"
Expand Down Expand Up @@ -80,17 +80,21 @@ const ParkOrBikeStationHeader = (
};

ParkOrBikeStationHeader.propTypes = {
breakpoint: PropTypes.string.isRequired,
backButton: PropTypes.bool,
parkOrStation: PropTypes.shape({
name: PropTypes.string.isRequired,
stationId: PropTypes.string,
lat: PropTypes.number.isRequired,
lon: PropTypes.number.isRequired,
}).isRequired,
parkType: PropTypes.string,
breakpoint: PropTypes.string.isRequired,
};

ParkOrBikeStationHeader.defaultProps = { parkType: undefined };
ParkOrBikeStationHeader.defaultProps = {
parkType: undefined,
backButton: true,
};

ParkOrBikeStationHeader.contextTypes = {
config: configShape.isRequired,
Expand Down
4 changes: 0 additions & 4 deletions app/component/bike-park-rental-station.scss
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,7 @@
.bike-station-page-container {
height: calc(100% - 20rem);
padding: 18px 1.563em 2em;
background-color: white;
border-radius: 15px 15px 0 0;
box-shadow: 0 -5px 5px 0 rgba(0, 0, 0, 0.2);
position: relative;
top: -15px;
margin: 0;

.citybike-full-station-guide {
Expand Down
Loading