digitransit-ui/app/component/itinerary/customizesearch/MinTransferTimeSection.js
Vesa Meskanen 540efd6679 fix: start major rewrite of search settings
DOM structure and styles were too messy, need to refactor thoroughly
2026-02-19 11:50:02 +02:00

52 lines
1.6 KiB
JavaScript

import PropTypes from 'prop-types';
import React from 'react';
import { intlShape } from 'react-intl';
import { saveRoutingSettings } from '../../../action/SearchSettingsActions';
import { settingsShape, minTransferTimeShape } from '../../../util/shapes';
import { addAnalyticsEvent } from '../../../util/analyticsUtils';
import SearchSettingsDropdown from './SearchSettingsDropdown';
const MinTransferTimeSection = (
{ currentSettings, defaultSettings, minTransferTimeOptions },
{ intl, executeAction },
options = minTransferTimeOptions,
currentSelection = options.find(
option => option.value === currentSettings.minTransferTime,
),
) => (
<div className="settings-option-container">
<SearchSettingsDropdown
currentSelection={currentSelection}
defaultValue={defaultSettings.minTransferTime}
onOptionSelected={value => {
executeAction(saveRoutingSettings, {
minTransferTime: value,
});
addAnalyticsEvent({
category: 'ItinerarySettings',
action: 'ChangeMinTransferTime',
name: value,
});
}}
options={options}
labelText={intl.formatMessage({ id: 'min-transfer-time' })}
highlightDefaulValue
formatOptions
name="minTransferTime"
translateLabels={false}
/>
</div>
);
MinTransferTimeSection.propTypes = {
defaultSettings: settingsShape.isRequired,
minTransferTimeOptions: minTransferTimeShape.isRequired,
currentSettings: settingsShape.isRequired,
};
MinTransferTimeSection.contextTypes = {
intl: intlShape.isRequired,
executeAction: PropTypes.func.isRequired,
};
export default MinTransferTimeSection;