1
0
mirror of https://github.com/fazo96/ipfs-boards synced 2025-03-11 21:38:38 +01:00

clocks now updates itself! woo

This commit is contained in:
Enrico Fasoli 2015-11-23 18:55:28 +01:00
parent ae898444ad
commit 7d4e6b419b

View File

@ -3,21 +3,31 @@ var Icon = require('icon.jsx')
module.exports = React.createClass({
getInitialState: function(){
return { moment: false }
return { moment: false, text: '...' }
},
componentDidMount: function(){
require.ensure(['moment'],_ => {
if(this.isMounted()) this.setState({ moment: require('moment') })
if(this.isMounted()){
var moment = require('moment')
this.setState({
moment: moment,
interval: setInterval(this.upDate,60*1000),
text: moment.unix(this.props.date).fromNow()
})
}
})
},
upDate: function(){
if(this.isMounted())
this.setState({ text: this.state.moment.unix(this.props.date).fromNow() })
else
clearInterval(this.state.interval)
},
getDate: function(){
if(this.props.date){
if(this.state.moment)
return this.state.moment.unix(this.props.date).fromNow()
else return <Icon name="refresh" className="fa-spin" />
} else {
return 'Unknown Date'
}
if(this.state.moment)
return this.state.text
else
return <Icon name="refresh" className="fa-spin" />
},
render: function(){
return <div className="clock"><Icon name="clock-o" className={this.props.className} /> {this.getDate()}</div>