mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-15 18:56:22 +00:00
Contact Modal追加
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
/* global localStorage */
|
||||
|
||||
var ipc = require('ipc')
|
||||
|
||||
var React = require('react/addons')
|
||||
var ReactRouter = require('react-router')
|
||||
var RouteHandler = ReactRouter.RouteHandler
|
||||
@@ -8,35 +10,45 @@ var State = ReactRouter.State
|
||||
|
||||
var Hq = require('../Services/Hq')
|
||||
|
||||
var Modal = require('../Mixins/Modal')
|
||||
|
||||
var UserStore = require('../Stores/UserStore')
|
||||
|
||||
// function fetchPlanet (planet) {
|
||||
// return Hq.fetchPlanet(planet.userName, planet.name)
|
||||
// .then(function (res) {
|
||||
// var _planet = res.body
|
||||
// _planet.userName = planet.userName
|
||||
//
|
||||
// _planet.Snippets = _planet.Snippets.map(function (snippet) {
|
||||
// snippet.type = 'snippet'
|
||||
// return snippet
|
||||
// })
|
||||
//
|
||||
// _planet.Blueprints = _planet.Blueprints.map(function (blueprint) {
|
||||
// blueprint.type = 'blueprint'
|
||||
// return blueprint
|
||||
// })
|
||||
//
|
||||
// localStorage.setItem('planet-' + _planet.id, JSON.stringify(_planet))
|
||||
// console.log('planet-' + _planet.id + ' fetched')
|
||||
// })
|
||||
// .catch(function (err) {
|
||||
// console.error(err)
|
||||
// })
|
||||
// }
|
||||
var ContactModal = require('../Components/ContactModal')
|
||||
|
||||
function fetchPlanet (userName, planetName) {
|
||||
Hq.fetchPlanet(userName, planetName)
|
||||
.then(function (res) {
|
||||
var planet = res.body
|
||||
|
||||
planet.Codes.forEach(function (code) {
|
||||
code.type = 'code'
|
||||
})
|
||||
|
||||
planet.Notes.forEach(function (note) {
|
||||
note.type = 'note'
|
||||
})
|
||||
|
||||
console.log('planet-' + planet.id + ' fetched!')
|
||||
localStorage.setItem('planet-' + planet.id, JSON.stringify(planet))
|
||||
})
|
||||
.catch(function (err) {
|
||||
console.error(err)
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = React.createClass({
|
||||
mixins: [State, Navigation],
|
||||
mixins: [State, Navigation, Modal],
|
||||
getInitialState: function () {
|
||||
return {
|
||||
updateAvailable: false
|
||||
}
|
||||
},
|
||||
componentDidMount: function () {
|
||||
ipc.on('update-available', function (message) {
|
||||
this.setState({updateAvailable: true})
|
||||
}.bind(this))
|
||||
|
||||
if (this.isActive('root')) {
|
||||
if (localStorage.getItem('currentUser') == null) {
|
||||
this.transitionTo('login')
|
||||
@@ -49,9 +61,19 @@ module.exports = React.createClass({
|
||||
|
||||
Hq.getUser()
|
||||
.then(function (res) {
|
||||
console.log(res.body)
|
||||
localStorage.setItem('currentUser', JSON.stringify(res.body))
|
||||
UserStore.Actions.update(res.body)
|
||||
var user = res.body
|
||||
localStorage.setItem('currentUser', JSON.stringify(user))
|
||||
UserStore.Actions.update(user)
|
||||
|
||||
user.Planets.forEach(function (planet) {
|
||||
fetchPlanet(planet.userName, planet.name)
|
||||
})
|
||||
user.Teams.forEach(function (team) {
|
||||
team.Planets.forEach(function (planet) {
|
||||
fetchPlanet(planet.userName, planet.name)
|
||||
})
|
||||
})
|
||||
|
||||
})
|
||||
.catch(function (err) {
|
||||
if (err.status === 401) {
|
||||
@@ -63,9 +85,19 @@ module.exports = React.createClass({
|
||||
console.error(err)
|
||||
}.bind(this))
|
||||
},
|
||||
updateApp: function () {
|
||||
ipc.send('update-app', 'Deal with it.')
|
||||
},
|
||||
openContactModal: function () {
|
||||
this.openModal(ContactModal)
|
||||
},
|
||||
render: function () {
|
||||
return (
|
||||
<div className='Main'>
|
||||
{this.state.updateAvailable ? (
|
||||
<button onClick={this.updateApp} className='appUpdateButton'><i className='fa fa-cloud-download'/> Update available!</button>
|
||||
) : null}
|
||||
<button onClick={this.openContactModal} className='contactButton'><i className='fa fa-paper-plane-o'/></button>
|
||||
<RouteHandler/>
|
||||
</div>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user