diff options
Diffstat (limited to 'app/javascript/mastodon/features/ui')
4 files changed, 35 insertions, 21 deletions
diff --git a/app/javascript/mastodon/features/ui/components/actions_modal.js b/app/javascript/mastodon/features/ui/components/actions_modal.js index 3d40033be..79a5a20ef 100644 --- a/app/javascript/mastodon/features/ui/components/actions_modal.js +++ b/app/javascript/mastodon/features/ui/components/actions_modal.js @@ -1,32 +1,35 @@ import React from 'react'; import PropTypes from 'prop-types'; +import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePureComponent from 'react-immutable-pure-component'; import StatusContent from '../../../components/status_content'; import Avatar from '../../../components/avatar'; import RelativeTimestamp from '../../../components/relative_timestamp'; import DisplayName from '../../../components/display_name'; import IconButton from '../../../components/icon_button'; +import classNames from 'classnames'; export default class ActionsModal extends ImmutablePureComponent { static propTypes = { + status: ImmutablePropTypes.map, actions: PropTypes.array, onClick: PropTypes.func, }; renderAction = (action, i) => { if (action === null) { - return <li key={`sep-${i}`} className='dropdown__sep' />; + return <li key={`sep-${i}`} className='dropdown-menu__separator' />; } const { icon = null, text, meta = null, active = false, href = '#' } = action; return ( <li key={`${text}-${i}`}> - <a href={href} target='_blank' rel='noopener' onClick={this.props.onClick} data-index={i} className={active && 'active'}> + <a href={href} target='_blank' rel='noopener' onClick={this.props.onClick} data-index={i} className={classNames({ active })}> {icon && <IconButton title={text} icon={icon} role='presentation' tabIndex='-1' />} <div> - <div>{text}</div> + <div className={classNames({ 'actions-modal__item-label': !!meta })}>{text}</div> <div>{meta}</div> </div> </a> diff --git a/app/javascript/mastodon/features/ui/components/column_loading.js b/app/javascript/mastodon/features/ui/components/column_loading.js index 1c4058926..9503a7a1a 100644 --- a/app/javascript/mastodon/features/ui/components/column_loading.js +++ b/app/javascript/mastodon/features/ui/components/column_loading.js @@ -3,17 +3,28 @@ import PropTypes from 'prop-types'; import Column from '../../../components/column'; import ColumnHeader from '../../../components/column_header'; +import ImmutablePureComponent from 'react-immutable-pure-component'; -const ColumnLoading = ({ title = '', icon = ' ' }) => ( - <Column> - <ColumnHeader icon={icon} title={title} multiColumn={false} focusable={false} /> - <div className='scrollable' /> - </Column> -); +export default class ColumnLoading extends ImmutablePureComponent { -ColumnLoading.propTypes = { - title: PropTypes.node, - icon: PropTypes.string, -}; + static propTypes = { + title: PropTypes.oneOfType([PropTypes.node, PropTypes.string]), + icon: PropTypes.string, + }; -export default ColumnLoading; + static defaultProps = { + title: '', + icon: '', + }; + + render() { + let { title, icon } = this.props; + return ( + <Column> + <ColumnHeader icon={icon} title={title} multiColumn={false} focusable={false} /> + <div className='scrollable' /> + </Column> + ); + } + +} diff --git a/app/javascript/mastodon/features/ui/index.js b/app/javascript/mastodon/features/ui/index.js index 3732d301f..73bd23432 100644 --- a/app/javascript/mastodon/features/ui/index.js +++ b/app/javascript/mastodon/features/ui/index.js @@ -57,7 +57,7 @@ export default class UI extends React.PureComponent { static contextTypes = { router: PropTypes.object.isRequired, - } + }; static propTypes = { dispatch: PropTypes.func.isRequired, @@ -193,14 +193,18 @@ export default class UI extends React.PureComponent { document.removeEventListener('dragend', this.handleDragEnd); } - setRef = (c) => { + setRef = c => { this.node = c; } - setColumnsAreaRef = (c) => { + setColumnsAreaRef = c => { this.columnsAreaNode = c.getWrappedInstance().getWrappedInstance(); } + setOverlayRef = c => { + this.overlay = c; + } + render () { const { width, draggingOver } = this.state; const { children, layout, isWide, navbarUnder } = this.props; diff --git a/app/javascript/mastodon/features/ui/util/async-components.js b/app/javascript/mastodon/features/ui/util/async-components.js index ddb7e32c9..5d640810f 100644 --- a/app/javascript/mastodon/features/ui/util/async-components.js +++ b/app/javascript/mastodon/features/ui/util/async-components.js @@ -1,7 +1,3 @@ -export function EmojiPicker () { - return import(/* webpackChunkName: "emojione_picker" */'emojione-picker'); -} - export function Compose () { return import(/* webpackChunkName: "features/compose" */'../../compose'); } |