var React = require('react') var Icon = require('icon.jsx') module.exports = function(boardsAPI){ return React.createClass({ getDefaults: function(){ return { addr: 'localhost', port: 5001, api: false } }, getInitialState: function(){ boardsAPI.use(boards => { if(boards.isInit && this.isMounted()) this.setState({ api: true }) boards.getEventEmitter().on('init', err => { if(!err && this.isMounted()) this.setState({ api: true }) }) }) var s = localStorage.getItem('ipfs-boards-settings') var obj = this.getDefaults() try { obj = JSON.parse(s) } catch(e){ localStorage.removeItem('ipfs-boards-settings') } return obj || this.getDefaults() }, save: function(){ if(isNaN(this.state.port) || parseInt(this.state.port) > 65535 || parseInt(this.state.port) < 1){ alert('Port number invalid') } else { localStorage.setItem('ipfs-boards-settings',JSON.stringify({ addr: this.state.addr, port: parseInt(this.state.port) })) window.location.reload(false) } }, setDefaults: function(){ this.setState(this.getDefaults()) }, onChange: function(event){ if(event.target.id === 'nodeAddress'){ this.setState({ addr: event.target.value }) } else { this.setState({ port: event.target.value }) } }, isOK: function(){ if(this.state.api){ return
It's OK

You're connected to IPFS

} }, render: function(){ return (

Settings

Choose how the prototype connects to IPFS

In the future, this won't be necessary because IPFS will run in your browser.

All settings are saved in your browser's localStorage.

{this.isOK()}
) } }) }