aboutsummaryrefslogtreecommitdiff
path: root/diplomacy/web/src/gui/forms/create_form.jsx
diff options
context:
space:
mode:
authornotoraptor <stevenbocco@gmail.com>2019-07-25 10:59:36 -0400
committerPhilip Paquette <pcpaquette@gmail.com>2019-07-25 11:15:59 -0400
commit48ee1a065debde5027fc17e49144d348258dc5e4 (patch)
treeb85be5b31a61ad911a89789c2089eaf7852ad4d9 /diplomacy/web/src/gui/forms/create_form.jsx
parent09f9589bfa1a9e19805c2cc7dc58cad4da93f17f (diff)
[Web] Added game creation interface
- Replaced fancybox with react-confirm-alert + dialog box - Removed unused code - Default map can be selected with 1-click - Added ability to select map variants
Diffstat (limited to 'diplomacy/web/src/gui/forms/create_form.jsx')
-rw-r--r--diplomacy/web/src/gui/forms/create_form.jsx95
1 files changed, 0 insertions, 95 deletions
diff --git a/diplomacy/web/src/gui/forms/create_form.jsx b/diplomacy/web/src/gui/forms/create_form.jsx
deleted file mode 100644
index 6753519..0000000
--- a/diplomacy/web/src/gui/forms/create_form.jsx
+++ /dev/null
@@ -1,95 +0,0 @@
-// ==============================================================================
-// 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 <https://www.gnu.org/licenses/>.
-// ==============================================================================
-import React from 'react';
-import {Forms} from "../components/forms";
-import {STRINGS} from "../../diplomacy/utils/strings";
-import PropTypes from "prop-types";
-
-export class CreateForm extends React.Component {
- constructor(props) {
- super(props);
- this.state = this.initState();
- }
-
- initState() {
- const state = {
- game_id: '',
- power_name: '',
- n_controls: 7,
- deadline: 300,
- registration_password: ''
- };
- for (let rule of STRINGS.PUBLIC_RULES)
- state[`rule_${rule.toLowerCase()}`] = false;
- return state;
- }
-
- render() {
- const onChange = Forms.createOnChangeCallback(this, this.props.onChange);
- const onSubmit = Forms.createOnSubmitCallback(this, this.props.onSubmit);
- return (
- <form>
- {Forms.createRow(
- Forms.createColLabel('game_id', 'Game ID (optional)'),
- <input id={'game_id'} className={'form-control'} type={'text'}
- value={Forms.getValue(this.state, 'game_id')} onChange={onChange}/>
- )}
- {Forms.createRow(
- Forms.createColLabel('power_name', 'power:'),
- <select id={'power_name'} className={'form-control custom-select'}
- value={Forms.getValue(this.state, 'power_name')} onChange={onChange}>
- {Forms.createSelectOptions(STRINGS.ALL_POWER_NAMES, true)}
- </select>
- )}
- {Forms.createRow(
- Forms.createColLabel('n_controls', 'number of required players:'),
- <input id={'n_controls'} className={'form-control'} type={'number'}
- value={Forms.getValue(this.state, 'n_controls')} onChange={onChange}/>
- )}
- {Forms.createRow(
- Forms.createColLabel('deadline', 'deadline (in seconds)'),
- <input id={'deadline'} className={'form-control'} type={'number'}
- value={Forms.getValue(this.state, 'deadline')}
- onChange={onChange}/>
- )}
- {Forms.createRow(
- Forms.createColLabel('registration_password', 'registration password'),
- <input id={'registration_password'} className={'form-control'} type={'password'}
- value={Forms.getValue(this.state, 'registration_password')} onChange={onChange}/>
- )}
- <div><strong>RULES:</strong></div>
- <div className={'mb-4'}>
- {STRINGS.PUBLIC_RULES.map((rule, index) => (
- <div key={index} className={'form-check-inline'}>
- {Forms.createCheckbox(
- `rule_${rule.toLowerCase()}`,
- rule,
- Forms.getValue(this.state, `rule_${rule.toLowerCase()}`),
- onChange)}
- </div>
- ))}
- </div>
- {Forms.createRow('', Forms.createSubmit('create a game', true, onSubmit))}
- </form>
- );
- }
-}
-
-CreateForm.propTypes = {
- onChange: PropTypes.func,
- onSubmit: PropTypes.func
-};