diff --git a/webclient/src/forms/ConnectForm/ConnectForm.css b/webclient/src/forms/ConnectForm/ConnectForm.css index e65fb941..9b41eaad 100644 --- a/webclient/src/forms/ConnectForm/ConnectForm.css +++ b/webclient/src/forms/ConnectForm/ConnectForm.css @@ -11,4 +11,8 @@ .connectForm-submit.MuiButton-root { display: block; margin: 20px auto 0; +} + +.selectKnownHosts-items { + margin-bottom: 4px; } \ No newline at end of file diff --git a/webclient/src/forms/ConnectForm/ConnectForm.tsx b/webclient/src/forms/ConnectForm/ConnectForm.tsx index adb559cf..855958f8 100644 --- a/webclient/src/forms/ConnectForm/ConnectForm.tsx +++ b/webclient/src/forms/ConnectForm/ConnectForm.tsx @@ -1,34 +1,59 @@ // eslint-disable-next-line -import React, { Component } from "react"; +import React, { useState } from "react"; import { connect } from "react-redux"; -import { Form, Field, reduxForm } from "redux-form" +import { Form, Field, reduxForm, change} from "redux-form" import Button from "@material-ui/core/Button"; import { InputField } from "components"; -import { FormKey } from 'types'; +import { FormKey, KnownHost, KnownHosts } from 'types'; import "./ConnectForm.css"; +import { Select, MenuItem } from "@material-ui/core"; -const ConnectForm = ({ handleSubmit }) => ( -
-); +const ConnectForm = (props) => { + const { handleSubmit, dispatch } = props; + const [knownHosts, setKnownHosts] = useState(KnownHost.ROOSTER); + + const handleChange = (event) => { + setKnownHosts(event.target.value); + dispatch(change(FormKey.CONNECT,'host', KnownHosts[event.target.value].host)); + dispatch(change(FormKey.CONNECT,'port', KnownHosts[event.target.value].port)) + }; + + return ( + + ); +} const propsMap = { form: FormKey.CONNECT diff --git a/webclient/src/types/server.tsx b/webclient/src/types/server.tsx index a1807268..ba8ebb30 100644 --- a/webclient/src/types/server.tsx +++ b/webclient/src/types/server.tsx @@ -16,6 +16,16 @@ export enum StatusEnumLabel { "Disconnecting" = 99 } +export enum KnownHost { + ROOSTER = 'Rooster', + TETRARCH = 'Tetrarch', +} + +export const KnownHosts = { + [KnownHost.ROOSTER]: { port: 443, host: 'server.cockatrice.us', }, + [KnownHost.TETRARCH]: { port: 443, host: 'mtg.tetrarch.co/servatrice'}, +} + export const getStatusEnumLabel = (statusEnum: number) => { if (StatusEnumLabel[statusEnum] !== undefined) { return StatusEnumLabel[statusEnum];