// 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, code) {
            postData('/account/register', { name, password, code })
                .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,
        navRegister,
    } = args;

    return (
        <div class="login">
            <p>
                mnml is made deep in the southern hemisphere by ntr & mashy.
            </p>
            <p>
                if you like this game please support the development by buying credits or subscribing.
            </p>
            <p>
                this site has no trackers or ads.
            </p>
            <p>
                you can reach us for feedback and support with the discord and email buttons below.
            </p>
            <p>
                the access code grep842 is currently active.
            </p>
            <button
                class="login-btn"
                onClick={() => document.location.assign('https://discord.gg/YJJgurM')}>
                Discord
            </button>
            <button
                class="login-btn"
                onClick={() => navRegister()}>
                Register
            </button>
        </div>
    );
}

module.exports = addState(Register);
