diff options
author | Renaud Chaput <renchap@gmail.com> | 2023-02-25 14:34:32 +0100 |
---|---|---|
committer | Claire <claire.github-309c@sitedethib.com> | 2023-02-25 14:35:31 +0100 |
commit | 81ef21a0c802f1d905f37a2a818544a8b400793c (patch) | |
tree | 33043286868ca9efb627ed38accab03c756adbcb /app/javascript/flavours/glitch/components/avatar_composite.js | |
parent | 859eb01aacc27fa01a8d4063f26a5a1f81e5d3a9 (diff) |
[Glitch] Rename JSX files with proper `.jsx` extension
Port 44a7d87cb1f5df953b6c14c16c59e2e4ead1bcb9 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
Diffstat (limited to 'app/javascript/flavours/glitch/components/avatar_composite.js')
-rw-r--r-- | app/javascript/flavours/glitch/components/avatar_composite.js | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/app/javascript/flavours/glitch/components/avatar_composite.js b/app/javascript/flavours/glitch/components/avatar_composite.js deleted file mode 100644 index c0ce7761d..000000000 --- a/app/javascript/flavours/glitch/components/avatar_composite.js +++ /dev/null @@ -1,110 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import ImmutablePropTypes from 'react-immutable-proptypes'; -import { autoPlayGif } from 'flavours/glitch/initial_state'; - -export default class AvatarComposite extends React.PureComponent { - - static propTypes = { - accounts: ImmutablePropTypes.list.isRequired, - animate: PropTypes.bool, - size: PropTypes.number.isRequired, - }; - - static defaultProps = { - animate: autoPlayGif, - }; - - renderItem (account, size, index) { - const { animate } = this.props; - - let width = 50; - let height = 100; - let top = 'auto'; - let left = 'auto'; - let bottom = 'auto'; - let right = 'auto'; - - if (size === 1) { - width = 100; - } - - if (size === 4 || (size === 3 && index > 0)) { - height = 50; - } - - if (size === 2) { - if (index === 0) { - right = '1px'; - } else { - left = '1px'; - } - } else if (size === 3) { - if (index === 0) { - right = '1px'; - } else if (index > 0) { - left = '1px'; - } - - if (index === 1) { - bottom = '1px'; - } else if (index > 1) { - top = '1px'; - } - } else if (size === 4) { - if (index === 0 || index === 2) { - right = '1px'; - } - - if (index === 1 || index === 3) { - left = '1px'; - } - - if (index < 2) { - bottom = '1px'; - } else { - top = '1px'; - } - } - - const style = { - left: left, - top: top, - right: right, - bottom: bottom, - width: `${width}%`, - height: `${height}%`, - backgroundSize: 'cover', - backgroundImage: `url(${account.get(animate ? 'avatar' : 'avatar_static')})`, - }; - - return ( - <a - href={account.get('url')} - target='_blank' - onClick={(e) => this.props.onAccountClick(account.get('acct'), e)} - title={`@${account.get('acct')}`} - key={account.get('id')} - > - <div style={style} data-avatar-of={`@${account.get('acct')}`} /> - </a> - ); - } - - render() { - const { accounts, size } = this.props; - - return ( - <div className='account__avatar-composite' style={{ width: `${size}px`, height: `${size}px` }}> - {accounts.take(4).map((account, i) => this.renderItem(account, Math.min(accounts.size, 4), i))} - - {accounts.size > 4 && ( - <span className='account__avatar-composite__label'> - +{accounts.size - 4} - </span> - )} - </div> - ); - } - -} |