const preact = require('preact'); const { Component } = require('preact') const { connect } = require('preact-redux'); const linkState = require('linkstate').default; const SpawnButton = require('./spawn.button'); const { postData, errorToast, infoToast } = require('../utils'); const actions = require('../actions'); const addState = connect( function receiveState(state) { const { account, ping, ws, } = state; function setPassword(current, password) { postData('/account/password', { current, password }) .then(res => res.json()) .then(data => { if (!data.success) return errorToast(data.error_message); infoToast('Password changed. Reloading...') setTimeout(() => window.location.reload(), 5000); }) .catch(error => errorToast(error)); } function logout() { postData('/account/logout').then(() => window.location.reload(true)); } function sendConstructSpawn(name) { return ws.sendMtxConstructSpawn(name); } return { account, ping, logout, setPassword, sendConstructSpawn, }; }, ); class AccountStatus extends Component { constructor(props) { super(props); this.state = { setPassword: { current: '', password: '', confirm: ''}, }; } render(args) { const { account, ping, logout, setPassword, sendConstructSpawn, } = args; if (!account) return null; const passwordsEqual = () => this.state.setPassword.password === this.state.setPassword.confirm; const setPasswordDisabled = () => { const { current, password, confirm } = this.state.setPassword; return !(passwordsEqual() && password && current && confirm); } return (

{account.name}

Subscription
{account.subscribed ? 'some date' : 'unsubscribed'}
Current Email
{account.email ? account.email : 'No email set'}
Status
{account.email_confirmed ? 'Confirmed' : 'Unconfirmed'}
spawn new construct
); } } module.exports = addState(AccountStatus);