var React = require('react')
var Markdown = require('markdown.jsx')
var Link = require('react-router').Link
var Icon = require('icon.jsx')
var GetIPFS = require('getipfs.jsx')
module.exports = function(boardsAPI){
return React.createClass({
getInitialState: function(){
return { name: '...', boards: [], api: false }
},
componentDidMount: function(){
boardsAPI.use(boards => {
if(boards.isInit){
this.setState({ api: boards, id: boards.id })
this.init(boards)
}
var ee = boards.getEventEmitter()
ee.on('init',err => {
if(!err && this.isMounted()){
this.setState({ api: boards, id: boards.id })
this.init(boards)
}
})
})
},
componentWillReceiveProps: function(nextProps) {
boardsAPI.use(boards => this.downloadProfile(boards,nextProps))
},
downloadProfile: function(boards,props){
var ee = boards.getEventEmitter()
var uid = props.params.userid
if(uid === 'me') uid = boards.id
ee.on('boards for '+uid,l => {
var u2id = props.params.userid
if(u2id === 'me') u2id = boards.id
if(!this.isMounted() || u2id !== uid) return true
this.setState({ boards: l })
})
boards.getProfile(uid,(err,res) => {
if(!this.isMounted()) return true
if(err){
this.setState({
name: