import * as React from "react"; import { Navbar } from "./nav/navbar"; import { login, register } from "./auth/actions"; import { connect } from "react-redux"; import { changeApiHost, changeApiPort } from "./config/actions"; import { Everything } from "./interfaces"; import * as i18next from "i18next"; let setHost = (dispatch: Function) => (e: React.FormEvent) => dispatch( changeApiHost((e.target as any).value)); let setPort = (dispatch: Function) => (e: React.FormEvent) => dispatch( changeApiPort((e.target as any).value)); class LoginPage extends React.Component { get url(): string { return `//${ this.props.config.host }:${ this.props.config.port }`; } set(name: string) { return function(event: React.FormEvent){ let state: {[name: string]: string} = {}; state[name] = (event.target as any).value; this.setState(state); }; } submitLogin(e: React.FormEvent) { e.preventDefault(); let password = (this.state || {}).loginPassword; let email = (this.state || {}).loginEmail; return this.props.dispatch(login(email, password, this.url)); } submitRegistration(e: React.FormEvent) { e.preventDefault(); let state = this.state || {}; let name = state.regName; let email = state.regEmail; let password = state.regPass; let confirmation = state.regConfirmation; let action = register(name, email, password, confirmation, this.url); return this.props.dispatch(action); } render() { return (
{i18next.t("Login")}
{i18next.t("Server Port")}
); } }; export let Login = connect(state => state)(LoginPage);