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 --- .../account_timeline/components/header.jsx | 158 +++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 app/javascript/flavours/glitch/features/account_timeline/components/header.jsx (limited to 'app/javascript/flavours/glitch/features/account_timeline/components/header.jsx') diff --git a/app/javascript/flavours/glitch/features/account_timeline/components/header.jsx b/app/javascript/flavours/glitch/features/account_timeline/components/header.jsx new file mode 100644 index 000000000..eec065b43 --- /dev/null +++ b/app/javascript/flavours/glitch/features/account_timeline/components/header.jsx @@ -0,0 +1,158 @@ +import React from 'react'; +import ImmutablePropTypes from 'react-immutable-proptypes'; +import PropTypes from 'prop-types'; +import InnerHeader from 'flavours/glitch/features/account/components/header'; +import ActionBar from 'flavours/glitch/features/account/components/action_bar'; +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 { + + static propTypes = { + account: ImmutablePropTypes.map, + onFollow: PropTypes.func.isRequired, + onBlock: PropTypes.func.isRequired, + onMention: PropTypes.func.isRequired, + onDirect: PropTypes.func.isRequired, + onReblogToggle: PropTypes.func.isRequired, + onReport: PropTypes.func.isRequired, + onMute: PropTypes.func.isRequired, + onBlockDomain: PropTypes.func.isRequired, + onUnblockDomain: PropTypes.func.isRequired, + onEndorseToggle: PropTypes.func.isRequired, + onAddToList: PropTypes.func.isRequired, + onChangeLanguages: PropTypes.func.isRequired, + onInteractionModal: PropTypes.func.isRequired, + onOpenAvatar: PropTypes.func.isRequired, + hideTabs: PropTypes.bool, + domain: PropTypes.string.isRequired, + hidden: PropTypes.bool, + }; + + static contextTypes = { + router: PropTypes.object, + }; + + handleFollow = () => { + this.props.onFollow(this.props.account); + }; + + handleBlock = () => { + this.props.onBlock(this.props.account); + }; + + handleMention = () => { + this.props.onMention(this.props.account, this.context.router.history); + }; + + handleDirect = () => { + this.props.onDirect(this.props.account, this.context.router.history); + }; + + handleReport = () => { + this.props.onReport(this.props.account); + }; + + handleReblogToggle = () => { + this.props.onReblogToggle(this.props.account); + }; + + handleNotifyToggle = () => { + this.props.onNotifyToggle(this.props.account); + }; + + handleMute = () => { + this.props.onMute(this.props.account); + }; + + handleBlockDomain = () => { + const domain = this.props.account.get('acct').split('@')[1]; + + if (!domain) return; + + this.props.onBlockDomain(domain); + }; + + handleUnblockDomain = () => { + const domain = this.props.account.get('acct').split('@')[1]; + + if (!domain) return; + + this.props.onUnblockDomain(domain); + }; + + handleEndorseToggle = () => { + this.props.onEndorseToggle(this.props.account); + }; + + handleAddToList = () => { + this.props.onAddToList(this.props.account); + }; + + handleEditAccountNote = () => { + this.props.onEditAccountNote(this.props.account); + }; + + handleChangeLanguages = () => { + this.props.onChangeLanguages(this.props.account); + }; + + handleInteractionModal = () => { + this.props.onInteractionModal(this.props.account); + }; + + handleOpenAvatar = () => { + this.props.onOpenAvatar(this.props.account); + }; + + render () { + const { account, hidden, hideTabs } = this.props; + + if (account === null) { + return null; + } + + return ( +
+ {(!hidden && account.get('moved')) && } + +
+ ); + } + +} -- cgit