import React from 'react' import FileReaderInput from 'react-file-reader-input' import MdFileDownload from 'react-icons/lib/md/file-download' import MdFileUpload from 'react-icons/lib/md/file-upload' import MdOpenInBrowser from 'react-icons/lib/md/open-in-browser' import MdSettings from 'react-icons/lib/md/settings' import MdInfo from 'react-icons/lib/md/info' import MdLayers from 'react-icons/lib/md/layers' import MdSave from 'react-icons/lib/md/save' import MdStyle from 'react-icons/lib/md/style' import MdMap from 'react-icons/lib/md/map' import MdInsertEmoticon from 'react-icons/lib/md/insert-emoticon' import MdFontDownload from 'react-icons/lib/md/font-download' import MdHelpOutline from 'react-icons/lib/md/help-outline' import MdFindInPage from 'react-icons/lib/md/find-in-page' import SettingsModal from './modals/SettingsModal' import SourcesModal from './modals/SourcesModal' import OpenModal from './modals/OpenModal' import style from '../libs/style' import colors from '../config/colors' import { margins, fontSizes } from '../config/scales' const IconText = props => {props.children} const actionStyle = { display: "inline-block", padding: 12.5, fontSize: fontSizes[4], cursor: "pointer", color: colors.white, textDecoration: 'none', } const ToolbarLink = props => {props.children} class ToolbarAction extends React.Component { static propTypes = { onClick: React.PropTypes.func.isRequired, } constructor(props) { super(props) this.state = { hover: false } } render() { return this.setState({hover: true})} onMouseOut={e => this.setState({hover: false})} style={{ ...actionStyle, ...this.props.style, backgroundColor: this.state.hover ? colors.gray : null, }}> {this.props.children} } } export default class Toolbar extends React.Component { static propTypes = { mapStyle: React.PropTypes.object.isRequired, onStyleChanged: React.PropTypes.func.isRequired, // A new style has been uploaded onStyleUpload: React.PropTypes.func.isRequired, // Current style is requested for download onStyleDownload: React.PropTypes.func.isRequired, // Style is explicitely saved to local cache onStyleSave: React.PropTypes.func, } constructor(props) { super(props) this.state = { openSettingsModal: false, openSourcesModal: false, openOpenModal: false, } } downloadButton() { return Download } toggleSettings() { this.setState({openSettingsModal: !this.state.openSettingsModal}) } toggleSources() { this.setState({openSourcesModal: !this.state.openSourcesModal}) } toggleOpen() { this.setState({openOpenModal: !this.state.openOpenModal}) } render() { return
{this.state.openSettingsModal && } {this.state.openOpenModal && } {this.state.openSourcesModal && } Maputnik Maputnik Open {this.downloadButton()} Sources Style Settings Inspect Help
} }