From 48ee1a065debde5027fc17e49144d348258dc5e4 Mon Sep 17 00:00:00 2001
From: notoraptor <stevenbocco@gmail.com>
Date: Thu, 25 Jul 2019 10:59:36 -0400
Subject: [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
---
 diplomacy/web/src/gui/forms/create_form.jsx | 95 -----------------------------
 1 file changed, 95 deletions(-)
 delete mode 100644 diplomacy/web/src/gui/forms/create_form.jsx

(limited to 'diplomacy/web/src/gui/forms/create_form.jsx')

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
-};
-- 
cgit v1.2.3

