// ============================================================================== // Copyright (C) 2019 - Philip Paquette, Steven Bocco // // This program is free software: you can redistribute it and/or modify it under // the terms of the GNU Affero General Public License as published by the Free // Software Foundation, either version 3 of the License, or (at your option) any // later version. // // This program is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more // details. // // You should have received a copy of the GNU Affero General Public License along // with this program. If not, see . // ============================================================================== import React from "react"; import {Maps} from "./mapList"; import {FancyBox} from "../../components/fancyBox"; import PropTypes from "prop-types"; export class PanelChooseMap extends React.Component { render() { const mapImg = require(`../../../diplomacy/maps/svg/${this.props.params.map.svgName()}.svg`); const mapEntries = []; let count = 0; for (let mapInfo of Maps) { ++count; if (!mapInfo.variants) { mapEntries.push(
); } else { const dropDownID = `collapse-${count}-${mapInfo.name}`; const variants = mapInfo.variants.slice(); const defaultVariant = variants[0]; mapEntries.push(
{(() => { const views = []; for (let i = 1; i < variants.length; ++i) { const variantInfo = variants[i]; views.push(
); } return views; })()}
); } } return (
{mapEntries}
{this.props.params.map.title}/
); } } PanelChooseMap.propTypes = { forward: PropTypes.func.isRequired, cancel: PropTypes.func.isRequired, params: PropTypes.object.isRequired, onUpdateParams: PropTypes.func.isRequired };