Make all account links into permalinks (open public except on left click)

This commit is contained in:
Eugen Rochko
2016-12-02 15:05:50 +01:00
parent 470f629b06
commit 8cfcc52876
4 changed files with 37 additions and 9 deletions

View File

@ -2,7 +2,7 @@ import PureRenderMixin from 'react-addons-pure-render-mixin';
import ImmutablePropTypes from 'react-immutable-proptypes';
import Avatar from './avatar';
import DisplayName from './display_name';
import { Link } from 'react-router';
import Permalink from './permalink';
import IconButton from './icon_button';
import { defineMessages, injectIntl } from 'react-intl';
@ -78,10 +78,10 @@ const Account = React.createClass({
return (
<div style={outerStyle}>
<div style={{ display: 'flex' }}>
<Link key={account.get('id')} style={itemStyle} className='account__display-name' to={`/accounts/${account.get('id')}`}>
<Permalink key={account.get('id')} style={itemStyle} className='account__display-name' href={account.get('url')} to={`/accounts/${account.get('id')}`}>
<div style={{ float: 'left', marginLeft: '12px', marginRight: '10px' }}><Avatar src={account.get('avatar')} size={36} /></div>
<DisplayName account={account} />
</Link>
</Permalink>
<div style={buttonsStyle}>
{buttons}

View File

@ -0,0 +1,27 @@
const Permalink = React.createClass({
contextTypes: {
router: React.PropTypes.object
},
propTypes: {
href: React.PropTypes.string.isRequired,
to: React.PropTypes.string.isRequired
},
handleClick (e) {
if (e.button === 0) {
e.preventDefault();
this.context.router.push(this.props.to);
}
},
render () {
const { href, children, ...other } = this.props;
return <a href={href} onClick={this.handleClick} {...other}>{children}</a>;
}
});
export default Permalink;