// eslint-disable-next-line const preact = require('preact'); const { Component } = require('preact') const { connect } = require('preact-redux'); const linkState = require('linkstate').default; const { postData, errorToast, infoToast } = require('../utils'); const addState = connect( (state) => { const { ws } = state; function submitRegister(name, password) { postData('/account/register', { name, password }) .then(res => res.json()) .then(data => { if (data.error) return errorToast(data.error); infoToast(data.message); ws.connect(); }) .catch(error => errorToast(error)); } return { submitRegister, } }, ); function Register(args) { const { submitRegister, } = args; const { password, confirm, name, terms } = this.state; const registerSubmit = (event) => { event.preventDefault(); submitRegister(name, password); } const registerConfirm = () => password === confirm; const registerDisabled = () => { return !(registerConfirm() && password && name && terms); } return (
); } module.exports = addState(Register);