import React from 'react'; import PropTypes from 'prop-types'; import ortho from './styles/images/preview-ortho.png'; import vector from './styles/images/preview-vector.png'; const STYLES = { ortho: { title: 'Satellite', preview: ortho, color: '#fff' }, vector: { title: 'Vectoriel', preview: vector, color: '#000' } }; const IGN_STYLES = { ...STYLES, ign: { title: 'Carte IGN', preview: vector, color: '#000' } }; function getNextStyle(style, ign) { const styles = Object.keys(ign ? IGN_STYLES : STYLES); let index = styles.indexOf(style) + 1; if (index === styles.length) { return styles[0]; } return styles[index]; } function SwitchMapStyle({ style, setStyle, ign }) { const nextStyle = getNextStyle(style, ign); const { title, preview, color } = (ign ? IGN_STYLES : STYLES)[nextStyle]; const imgStyle = { width: '100%', height: '100%', cursor: 'pointer' }; const textStyle = { position: 'relative', bottom: '26px', left: '4px', color }; return (
setStyle(nextStyle)} >
{title}
{title}
); } SwitchMapStyle.propTypes = { style: PropTypes.string, setStyle: PropTypes.func, ign: PropTypes.bool }; export default SwitchMapStyle;