From 81ef21a0c802f1d905f37a2a818544a8b400793c Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Sat, 25 Feb 2023 14:34:32 +0100 Subject: [Glitch] Rename JSX files with proper `.jsx` extension Port 44a7d87cb1f5df953b6c14c16c59e2e4ead1bcb9 to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/components/status_header.jsx | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 app/javascript/flavours/glitch/components/status_header.jsx (limited to 'app/javascript/flavours/glitch/components/status_header.jsx') diff --git a/app/javascript/flavours/glitch/components/status_header.jsx b/app/javascript/flavours/glitch/components/status_header.jsx new file mode 100644 index 000000000..21d8b4212 --- /dev/null +++ b/app/javascript/flavours/glitch/components/status_header.jsx @@ -0,0 +1,71 @@ +// Package imports. +import React from 'react'; +import PropTypes from 'prop-types'; +import ImmutablePropTypes from 'react-immutable-proptypes'; + +// Mastodon imports. +import Avatar from './avatar'; +import AvatarOverlay from './avatar_overlay'; +import AvatarComposite from './avatar_composite'; +import DisplayName from './display_name'; + +export default class StatusHeader extends React.PureComponent { + + static propTypes = { + status: ImmutablePropTypes.map.isRequired, + friend: ImmutablePropTypes.map, + parseClick: PropTypes.func.isRequired, + }; + + // Handles clicks on account name/image + handleClick = (acct, e) => { + const { parseClick } = this.props; + parseClick(e, `/@${acct}`); + }; + + handleAccountClick = (e) => { + const { status } = this.props; + this.handleClick(status.getIn(['account', 'acct']), e); + }; + + // Rendering. + render () { + const { + status, + friend, + } = this.props; + + const account = status.get('account'); + + let statusAvatar; + if (friend === undefined || friend === null) { + statusAvatar = ; + } else { + statusAvatar = ; + } + + return ( +
+ + {statusAvatar} + + + + +
+ ); + } + +} -- cgit