digitransit-ui/app/component/itinerary/AirportCollectLuggageLeg.js
Vesa Meskanen 3f2fa2ae0b feat: move all itinerary page related components to a dedicated folder
Also:
- Move generic Toggle to componentfolder root
- Remove dead styles
- Refactor some componets
2024-04-22 08:49:15 +03:00

76 lines
2.4 KiB
JavaScript

import PropTypes from 'prop-types';
import React from 'react';
import { FormattedMessage } from 'react-intl';
import { Link } from 'found';
import { legShape, configShape } from '../../util/shapes';
import { legTimeStr } from '../../util/legUtils';
import Icon from '../Icon';
import ItineraryCircleLine from './ItineraryCircleLine';
import ItineraryMapAction from './ItineraryMapAction';
import { PREFIX_STOPS } from '../../util/path';
/* eslint-disable jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */
function AirportCollectLuggageLeg(props, { config }) {
const modeClassName = 'airport-wait';
const { name } = props.leg.to;
const { focusAction } = props;
return (
<div className="row itinerary-row">
<div className="small-2 columns itinerary-time-column">
<div className="itinerary-time-column-time">
{legTimeStr(props.leg.end)}
</div>
</div>
<ItineraryCircleLine index={props.index} modeClassName={modeClassName} />
<div
onClick={props.focusAction}
className="small-9 columns itinerary-instruction-column airport-wait"
>
<div className="itinerary-leg-first-row">
<div className="itinerary-leg-row">
<Link
onClick={e => {
e.stopPropagation();
}}
to={`/${PREFIX_STOPS}/${props.leg.to.stop.gtfsId}`}
>
{name}
<Icon
img="icon-icon_arrow-collapse--right"
className="itinerary-arrow-icon"
color={config.colors.primary}
/>
</Link>
<div className="stop-code-container">{props.children}</div>
</div>
<ItineraryMapAction target={name || ''} focusAction={focusAction} />
</div>
<div className="info-message">
<Icon img="icon-icon_info" />
<FormattedMessage
id="airport-collect-luggage"
defaultMessage="Collect your luggage"
/>
</div>
</div>
</div>
);
}
AirportCollectLuggageLeg.propTypes = {
index: PropTypes.number.isRequired,
leg: legShape.isRequired,
focusAction: PropTypes.func.isRequired,
children: PropTypes.node,
};
AirportCollectLuggageLeg.defaultProps = {
children: undefined,
};
AirportCollectLuggageLeg.contextTypes = {
config: configShape.isRequired,
};
export default AirportCollectLuggageLeg;