diff options
author | Thibaut Girka <thib@sitedethib.com> | 2018-03-29 14:43:20 +0200 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2018-03-29 14:59:20 +0200 |
commit | a59c146bf866e28840db37ffe9cfa9759a6497ad (patch) | |
tree | 661250627b8e59bfe143151267c0cd9761feb2ca /app/javascript/flavours/glitch/features/account_timeline/components | |
parent | 4e45954280390f90dcacc2fd0a33bf75114b38d6 (diff) |
[Glitch] Profile redirect notes
Port WebUI changes from 58cede4808baa4db6cc143b80ef23e8179a8415b
Diffstat (limited to 'app/javascript/flavours/glitch/features/account_timeline/components')
-rw-r--r-- | app/javascript/flavours/glitch/features/account_timeline/components/header.js | 3 | ||||
-rw-r--r-- | app/javascript/flavours/glitch/features/account_timeline/components/moved_note.js | 48 |
2 files changed, 51 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/features/account_timeline/components/header.js b/app/javascript/flavours/glitch/features/account_timeline/components/header.js index 43fa68ce2..e788ea660 100644 --- a/app/javascript/flavours/glitch/features/account_timeline/components/header.js +++ b/app/javascript/flavours/glitch/features/account_timeline/components/header.js @@ -7,6 +7,7 @@ import MissingIndicator from 'flavours/glitch/components/missing_indicator'; import ImmutablePureComponent from 'react-immutable-pure-component'; import { FormattedMessage } from 'react-intl'; import { NavLink } from 'react-router-dom'; +import MovedNote from './moved_note'; export default class Header extends ImmutablePureComponent { @@ -76,6 +77,8 @@ export default class Header extends ImmutablePureComponent { return ( <div className='account-timeline__header'> + {account.get('moved') && <MovedNote from={account} to={account.get('moved')} />} + <InnerHeader account={account} onFollow={this.handleFollow} diff --git a/app/javascript/flavours/glitch/features/account_timeline/components/moved_note.js b/app/javascript/flavours/glitch/features/account_timeline/components/moved_note.js new file mode 100644 index 000000000..1c0e081cc --- /dev/null +++ b/app/javascript/flavours/glitch/features/account_timeline/components/moved_note.js @@ -0,0 +1,48 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import ImmutablePropTypes from 'react-immutable-proptypes'; +import { FormattedMessage } from 'react-intl'; +import ImmutablePureComponent from 'react-immutable-pure-component'; +import AvatarOverlay from '../../../components/avatar_overlay'; +import DisplayName from '../../../components/display_name'; + +export default class MovedNote extends ImmutablePureComponent { + + static contextTypes = { + router: PropTypes.object, + }; + + static propTypes = { + from: ImmutablePropTypes.map.isRequired, + to: ImmutablePropTypes.map.isRequired, + }; + + handleAccountClick = e => { + if (e.button === 0) { + e.preventDefault(); + this.context.router.history.push(`/accounts/${this.props.to.get('id')}`); + } + + e.stopPropagation(); + } + + render () { + const { from, to } = this.props; + const displayNameHtml = { __html: from.get('display_name_html') }; + + return ( + <div className='account__moved-note'> + <div className='account__moved-note__message'> + <div className='account__moved-note__icon-wrapper'><i className='fa fa-fw fa-suitcase account__moved-note__icon' /></div> + <FormattedMessage id='account.moved_to' defaultMessage='{name} has moved to:' values={{ name: <strong dangerouslySetInnerHTML={displayNameHtml} /> }} /> + </div> + + <a href={to.get('url')} onClick={this.handleAccountClick} className='detailed-status__display-name'> + <div className='detailed-status__display-avatar'><AvatarOverlay account={to} friend={from} /></div> + <DisplayName account={to} /> + </a> + </div> + ); + } + +} |