1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-15 18:56:22 +00:00

実装:Profile Imageとしてgravatar Icon使用

This commit is contained in:
Rokt33r
2015-07-29 11:26:28 +09:00
parent c8851ecd2a
commit e5e6e2e1b8
6 changed files with 29 additions and 7 deletions

View File

@@ -4,6 +4,8 @@ var request = require('superagent')
var Catalyst = require('../Mixins/Catalyst') var Catalyst = require('../Mixins/Catalyst')
var ProfileImage = require('./ProfileImage')
var AuthActions = require('../Actions/AuthActions') var AuthActions = require('../Actions/AuthActions')
var AuthStore = require('../Stores/AuthStore') var AuthStore = require('../Stores/AuthStore')
@@ -243,7 +245,8 @@ module.exports = React.createClass({
content = ( content = (
<div className='logout'> <div className='logout'>
<p className='logoutLabel'>Are you sure to logout?</p> <p className='logoutLabel'>Are you sure to logout?</p>
<img className='userPhoto' width='150' height='150' src='../vendor/dummy.jpg'/><br/>
<ProfileImage className='userPhoto' size='150' email={this.props.currentUser.email}/><br/>
<button onClick={this.logOut} className='logoutButton btn-default'>Logout</button> <button onClick={this.logOut} className='logoutButton btn-default'>Logout</button>
</div> </div>
) )

View File

@@ -1,5 +1,7 @@
var React = require('react/addons') var React = require('react/addons')
var ProfileImage = require('./ProfileImage')
var PlanetNavigator = React.createClass({ var PlanetNavigator = React.createClass({
propTypes: { propTypes: {
currentPlanet: React.PropTypes.shape({ currentPlanet: React.PropTypes.shape({
@@ -25,7 +27,7 @@ var PlanetNavigator = React.createClass({
var users = this.props.currentPlanet.Users.map(function (user) { var users = this.props.currentPlanet.Users.map(function (user) {
return ( return (
<li key={'user-' + user.id}> <li key={'user-' + user.id}>
<img width='44' height='44' src='../vendor/dummy.jpg'/> <ProfileImage size='44' email={user.email}/>
<div className='userTooltip'>{user.profileName}</div> <div className='userTooltip'>{user.profileName}</div>
</li> </li>
) )

View File

@@ -4,6 +4,8 @@ var Select = require('react-select')
var Catalyst = require('../Mixins/Catalyst') var Catalyst = require('../Mixins/Catalyst')
var ProfileImage = require('./ProfileImage')
var PlanetActions = require('../Actions/PlanetActions') var PlanetActions = require('../Actions/PlanetActions')
var apiUrl = require('../../../config').apiUrl var apiUrl = require('../../../config').apiUrl
@@ -106,7 +108,7 @@ module.exports = React.createClass({
var members = this.props.currentPlanet.Users.map(function (user) { var members = this.props.currentPlanet.Users.map(function (user) {
return ( return (
<li key={'user-' + user.id}> <li key={'user-' + user.id}>
<img className='userPhoto' width='44' height='44' src='../vendor/dummy.jpg'/> <ProfileImage className='userPhoto' size='44' email={user.email}/>
<div className='userName'>{user.name}</div> <div className='userName'>{user.name}</div>
<div className='userControl'> <div className='userControl'>
{this.props.currentPlanet.OwnerId !== user.id ? <button onClick={this.removeUser(user.name)} className='btn-default'>Delete</button> : <span className='ownerLabel'>Owner</span>} {this.props.currentPlanet.OwnerId !== user.id ? <button onClick={this.removeUser(user.name)} className='btn-default'>Delete</button> : <span className='ownerLabel'>Owner</span>}

View File

@@ -0,0 +1,15 @@
var React = require('react/addons')
var md5 = require('md5')
module.exports = React.createClass({
propTypes: {
email: React.PropTypes.string,
size: React.PropTypes.string,
className: React.PropTypes.string
},
render: function () {
return (
<img className={this.props.className} width={this.props.size} height={this.props.size} src={'http://www.gravatar.com/avatar/' + md5(this.props.email.trim().toLowerCase()) + '?s=' + this.props.size}/>
)
}
})

View File

@@ -5,6 +5,7 @@ var Link = ReactRouter.Link
var ModalBase = require('./ModalBase') var ModalBase = require('./ModalBase')
var PersonalSettingModal = require('./PersonalSettingModal') var PersonalSettingModal = require('./PersonalSettingModal')
var PlanetCreateModal = require('./PlanetCreateModal') var PlanetCreateModal = require('./PlanetCreateModal')
var ProfileImage = require('./ProfileImage')
var AuthStore = require('../Stores/AuthStore') var AuthStore = require('../Stores/AuthStore')
@@ -52,8 +53,6 @@ module.exports = React.createClass({
} }
}, },
render: function () { render: function () {
console.log(this.props.currentUser)
console.log(this.props.currentPlanet)
var planets = this.props.currentUser.Planets.map(function (planet, index) { var planets = this.props.currentUser.Planets.map(function (planet, index) {
return ( return (
<li key={planet.id} className={this.props.currentPlanet != null && this.props.currentPlanet.userName === planet.userName && this.props.currentPlanet.name === planet.name ? 'active' : ''}> <li key={planet.id} className={this.props.currentPlanet != null && this.props.currentPlanet.userName === planet.userName && this.props.currentPlanet.name === planet.name ? 'active' : ''}>
@@ -75,7 +74,7 @@ module.exports = React.createClass({
return ( return (
<div tabIndex='2' className='UserNavigator'> <div tabIndex='2' className='UserNavigator'>
<button onClick={this.openPersonalSettingModal} className='userButton'> <button onClick={this.openPersonalSettingModal} className='userButton'>
<img width='50' height='50' src='../vendor/dummy.jpg'/> <ProfileImage size='50' email={this.props.currentUser.email}/>
</button> </button>
<ul className='planetList'> <ul className='planetList'>
{planets} {planets}

View File

@@ -35,13 +35,14 @@
"electron-stylus": "^0.1.0", "electron-stylus": "^0.1.0",
"font-awesome": "^4.3.0", "font-awesome": "^4.3.0",
"markdown-it": "^4.3.1", "markdown-it": "^4.3.1",
"md5": "^2.0.0",
"moment": "^2.10.3", "moment": "^2.10.3",
"nib": "^1.1.0",
"node-jsx": "^0.13.3", "node-jsx": "^0.13.3",
"react": "^0.13.3", "react": "^0.13.3",
"react-router": "^0.13.3", "react-router": "^0.13.3",
"react-select": "^0.5.4", "react-select": "^0.5.4",
"reflux": "^0.2.8", "reflux": "^0.2.8",
"nib": "^1.1.0",
"superagent": "^1.2.0" "superagent": "^1.2.0"
}, },
"devDependencies": { "devDependencies": {