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:
@@ -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>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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>}
|
||||||
|
|||||||
15
browser/main/Components/ProfileImage.jsx
Normal file
15
browser/main/Components/ProfileImage.jsx
Normal 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}/>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
})
|
||||||
@@ -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}
|
||||||
|
|||||||
@@ -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": {
|
||||||
|
|||||||
Reference in New Issue
Block a user