"plugins": [
"syntax-dynamic-import",
["transform-object-rest-spread", { "useBuiltIns": true }],
+ "transform-decorators-legacy",
"transform-class-properties",
[
"react-intl",
unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' },
});
-class Account extends ImmutablePureComponent {
+@injectIntl
+export default class Account extends ImmutablePureComponent {
static propTypes = {
account: ImmutablePropTypes.map.isRequired,
}
}
-
-export default injectIntl(Account);
const filename = url => url.split('/').pop().split('#')[0].split('?')[0];
-class AttachmentList extends ImmutablePureComponent {
+export default class AttachmentList extends ImmutablePureComponent {
static propTypes = {
media: ImmutablePropTypes.list.isRequired,
}
}
-
-export default AttachmentList;
}
};
-class AutosuggestTextarea extends ImmutablePureComponent {
+export default class AutosuggestTextarea extends ImmutablePureComponent {
static propTypes = {
value: PropTypes.string,
}
}
-
-export default AutosuggestTextarea;
import React from 'react';
import PropTypes from 'prop-types';
-class Avatar extends React.PureComponent {
+export default class Avatar extends React.PureComponent {
static propTypes = {
src: PropTypes.string.isRequired,
}
}
-
-export default Avatar;
import React from 'react';
import PropTypes from 'prop-types';
-class AvatarOverlay extends React.PureComponent {
+export default class AvatarOverlay extends React.PureComponent {
static propTypes = {
staticSrc: PropTypes.string.isRequired,
}
}
-
-export default AvatarOverlay;
import PropTypes from 'prop-types';
import classNames from 'classnames';
-class Button extends React.PureComponent {
+export default class Button extends React.PureComponent {
static propTypes = {
text: PropTypes.node,
}
}
-
-export default Button;
import PropTypes from 'prop-types';
import scrollTop from '../scroll';
-class Column extends React.PureComponent {
+export default class Column extends React.PureComponent {
static propTypes = {
children: PropTypes.node,
}
}
-
-export default Column;
import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
-class ColumnBackButton extends React.PureComponent {
+export default class ColumnBackButton extends React.PureComponent {
static contextTypes = {
router: PropTypes.object,
}
}
-
-export default ColumnBackButton;
import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
-class ColumnBackButtonSlim extends React.PureComponent {
+export default class ColumnBackButtonSlim extends React.PureComponent {
static contextTypes = {
router: PropTypes.object,
}
}
-
-export default ColumnBackButtonSlim;
import React from 'react';
import PropTypes from 'prop-types';
-class ColumnCollapsable extends React.PureComponent {
+export default class ColumnCollapsable extends React.PureComponent {
static propTypes = {
icon: PropTypes.string.isRequired,
}
}
-
-export default ColumnCollapsable;
import classNames from 'classnames';
import { FormattedMessage } from 'react-intl';
-class ColumnHeader extends React.PureComponent {
+export default class ColumnHeader extends React.PureComponent {
static contextTypes = {
router: PropTypes.object,
}
}
-
-export default ColumnHeader;
import escapeTextContentForBrowser from 'escape-html';
import emojify from '../emoji';
-class DisplayName extends React.PureComponent {
+export default class DisplayName extends React.PureComponent {
static propTypes = {
account: ImmutablePropTypes.map.isRequired,
}
}
-
-export default DisplayName;
import Dropdown, { DropdownTrigger, DropdownContent } from 'react-simple-dropdown';
import PropTypes from 'prop-types';
-class DropdownMenu extends React.PureComponent {
+export default class DropdownMenu extends React.PureComponent {
static contextTypes = {
router: PropTypes.object,
}
}
-
-export default DropdownMenu;
import React from 'react';
import PropTypes from 'prop-types';
-class ExtendedVideoPlayer extends React.PureComponent {
+export default class ExtendedVideoPlayer extends React.PureComponent {
static propTypes = {
src: PropTypes.string.isRequired,
}
}
-
-export default ExtendedVideoPlayer;
import spring from 'react-motion/lib/spring';
import PropTypes from 'prop-types';
-class IconButton extends React.PureComponent {
+export default class IconButton extends React.PureComponent {
static propTypes = {
className: PropTypes.string,
}
}
-
-export default IconButton;
import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
-class LoadMore extends React.PureComponent {
+export default class LoadMore extends React.PureComponent {
static propTypes = {
onClick: PropTypes.func,
}
}
-
-export default LoadMore;
}
-class MediaGallery extends React.PureComponent {
+@injectIntl
+export default class MediaGallery extends React.PureComponent {
static propTypes = {
sensitive: PropTypes.bool,
}
}
-
-export default injectIntl(MediaGallery);
import React from 'react';
import PropTypes from 'prop-types';
-class Permalink extends React.PureComponent {
+export default class Permalink extends React.PureComponent {
static contextTypes = {
router: PropTypes.object,
}
}
-
-export default Permalink;
minute: '2-digit',
};
-class RelativeTimestamp extends React.Component {
+@injectIntl
+export default class RelativeTimestamp extends React.Component {
static propTypes = {
intl: PropTypes.object.isRequired,
}
}
-
-export default injectIntl(RelativeTimestamp);
import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
-class SettingText extends React.PureComponent {
+export default class SettingText extends React.PureComponent {
static propTypes = {
settings: ImmutablePropTypes.map.isRequired,
}
}
-
-export default SettingText;
import ImmutablePureComponent from 'react-immutable-pure-component';
import scheduleIdleTask from '../features/ui/util/schedule_idle_task';
-class Status extends ImmutablePureComponent {
+export default class Status extends ImmutablePureComponent {
static contextTypes = {
router: PropTypes.object,
}
}
-
-export default Status;
unmuteConversation: { id: 'status.unmute_conversation', defaultMessage: 'Unmute conversation' },
});
-class StatusActionBar extends ImmutablePureComponent {
+@injectIntl
+export default class StatusActionBar extends ImmutablePureComponent {
static contextTypes = {
router: PropTypes.object,
}
}
-
-export default injectIntl(StatusActionBar);
import { FormattedMessage } from 'react-intl';
import Permalink from './permalink';
-class StatusContent extends React.PureComponent {
+export default class StatusContent extends React.PureComponent {
static contextTypes = {
router: PropTypes.object,
}
}
-
-export default StatusContent;
import IntersectionObserverWrapper from '../features/ui/util/intersection_observer_wrapper';
import { debounce } from 'lodash';
-class StatusList extends ImmutablePureComponent {
+export default class StatusList extends ImmutablePureComponent {
static propTypes = {
scrollKey: PropTypes.string.isRequired,
}
}
-
-export default StatusList;
expand_video: { id: 'video_player.expand', defaultMessage: 'Expand video' },
});
-class VideoPlayer extends React.PureComponent {
+@injectIntl
+export default class VideoPlayer extends React.PureComponent {
static propTypes = {
media: ImmutablePropTypes.map.isRequired,
}
}
-
-export default injectIntl(VideoPlayer);
const initialState = JSON.parse(document.getElementById('initial-state').textContent);
store.dispatch(hydrateStore(initialState));
-class Mastodon extends React.PureComponent {
+export default class Mastodon extends React.PureComponent {
+
+ static propTypes = {
+ locale: PropTypes.string.isRequired,
+ };
componentDidMount() {
const { locale } = this.props;
}
}
-
-Mastodon.propTypes = {
- locale: PropTypes.string.isRequired,
-};
-
-export default Mastodon;
unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' },
});
-class ActionBar extends React.PureComponent {
+@injectIntl
+export default class ActionBar extends React.PureComponent {
static propTypes = {
account: ImmutablePropTypes.map.isRequired,
}
}
-
-export default injectIntl(ActionBar);
}
-class Header extends ImmutablePureComponent {
+@connect(makeMapStateToProps)
+@injectIntl
+export default class Header extends ImmutablePureComponent {
static propTypes = {
account: ImmutablePropTypes.map,
}
}
-
-export default connect(makeMapStateToProps)(injectIntl(Header));
import ImmutablePureComponent from 'react-immutable-pure-component';
import Permalink from '../../../components/permalink';
-class MediaItem extends ImmutablePureComponent {
+export default class MediaItem extends ImmutablePureComponent {
static propTypes = {
media: ImmutablePropTypes.map.isRequired,
}
}
-
-export default MediaItem;
autoPlayGif: state.getIn(['meta', 'auto_play_gif']),
});
-class AccountGallery extends ImmutablePureComponent {
+@connect(mapStateToProps)
+export default class AccountGallery extends ImmutablePureComponent {
static propTypes = {
params: PropTypes.object.isRequired,
}
}
-
-export default connect(mapStateToProps)(AccountGallery);
import MissingIndicator from '../../../components/missing_indicator';
import ImmutablePureComponent from 'react-immutable-pure-component';
-class Header extends ImmutablePureComponent {
+export default class Header extends ImmutablePureComponent {
static propTypes = {
account: ImmutablePropTypes.map,
}
}
-
-export default Header;
me: state.getIn(['meta', 'me']),
});
-class AccountTimeline extends ImmutablePureComponent {
+@connect(mapStateToProps)
+export default class AccountTimeline extends ImmutablePureComponent {
static propTypes = {
params: PropTypes.object.isRequired,
}
}
-
-export default connect(mapStateToProps)(AccountTimeline);
accountIds: state.getIn(['user_lists', 'blocks', 'items']),
});
-class Blocks extends ImmutablePureComponent {
+@connect(mapStateToProps)
+@injectIntl
+export default class Blocks extends ImmutablePureComponent {
static propTypes = {
params: PropTypes.object.isRequired,
}
}
-
-export default connect(mapStateToProps)(injectIntl(Blocks));
settings: { id: 'home.settings', defaultMessage: 'Column settings' },
});
-class ColumnSettings extends React.PureComponent {
+@injectIntl
+export default class ColumnSettings extends React.PureComponent {
static propTypes = {
settings: ImmutablePropTypes.map.isRequired,
}
}
-
-export default injectIntl(ColumnSettings);
accessToken: state.getIn(['meta', 'access_token']),
});
-class CommunityTimeline extends React.PureComponent {
+@connect(mapStateToProps)
+@injectIntl
+export default class CommunityTimeline extends React.PureComponent {
static propTypes = {
dispatch: PropTypes.func.isRequired,
}
}
-
-export default connect(mapStateToProps)(injectIntl(CommunityTimeline));
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
-class AutosuggestAccount extends ImmutablePureComponent {
+export default class AutosuggestAccount extends ImmutablePureComponent {
static propTypes = {
account: ImmutablePropTypes.map.isRequired,
}
}
-
-export default AutosuggestAccount;
import PropTypes from 'prop-types';
import { length } from 'stringz';
-class CharacterCounter extends React.PureComponent {
+export default class CharacterCounter extends React.PureComponent {
static propTypes = {
text: PropTypes.string.isRequired,
}
}
-
-export default CharacterCounter;
publishLoud: { id: 'compose_form.publish_loud', defaultMessage: '{publish}!' },
});
-class ComposeForm extends ImmutablePureComponent {
+@injectIntl
+export default class ComposeForm extends ImmutablePureComponent {
static propTypes = {
intl: PropTypes.object.isRequired,
}
}
-
-export default injectIntl(ComposeForm);
let EmojiPicker; // load asynchronously
-class EmojiPickerDropdown extends React.PureComponent {
+@injectIntl
+export default class EmojiPickerDropdown extends React.PureComponent {
static propTypes = {
intl: PropTypes.object.isRequired,
}
}
-
-export default injectIntl(EmojiPickerDropdown);
import { FormattedMessage } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
-class NavigationBar extends ImmutablePureComponent {
+export default class NavigationBar extends ImmutablePureComponent {
static propTypes = {
account: ImmutablePropTypes.map.isRequired,
}
}
-
-export default NavigationBar;
lineHeight: '27px',
};
-class PrivacyDropdown extends React.PureComponent {
+@injectIntl
+export default class PrivacyDropdown extends React.PureComponent {
static propTypes = {
value: PropTypes.string.isRequired,
}
}
-
-export default injectIntl(PrivacyDropdown);
cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' },
});
-class ReplyIndicator extends ImmutablePureComponent {
+@injectIntl
+export default class ReplyIndicator extends ImmutablePureComponent {
static contextTypes = {
router: PropTypes.object,
}
}
-
-export default injectIntl(ReplyIndicator);
placeholder: { id: 'search.placeholder', defaultMessage: 'Search' },
});
-class Search extends React.PureComponent {
+@injectIntl
+export default class Search extends React.PureComponent {
static propTypes = {
value: PropTypes.string.isRequired,
}
}
-
-export default injectIntl(Search);
import Link from 'react-router-dom/Link';
import ImmutablePureComponent from 'react-immutable-pure-component';
-class SearchResults extends ImmutablePureComponent {
+export default class SearchResults extends ImmutablePureComponent {
static propTypes = {
results: ImmutablePropTypes.map.isRequired,
}
}
-
-export default SearchResults;
import React from 'react';
import PropTypes from 'prop-types';
-class TextIconButton extends React.PureComponent {
+export default class TextIconButton extends React.PureComponent {
static propTypes = {
label: PropTypes.string.isRequired,
}
}
-
-export default TextIconButton;
lineHeight: '27px',
};
-class UploadButton extends ImmutablePureComponent {
+@connect(makeMapStateToProps)
+@injectIntl
+export default class UploadButton extends ImmutablePureComponent {
static propTypes = {
disabled: PropTypes.bool,
}
}
-
-export default connect(makeMapStateToProps)(injectIntl(UploadButton));
undo: { id: 'upload_form.undo', defaultMessage: 'Undo' },
});
-class UploadForm extends React.PureComponent {
+@injectIntl
+export default class UploadForm extends React.PureComponent {
static propTypes = {
media: ImmutablePropTypes.list.isRequired,
}
}
-
-export default injectIntl(UploadForm);
import spring from 'react-motion/lib/spring';
import { FormattedMessage } from 'react-intl';
-class UploadProgress extends React.PureComponent {
+export default class UploadProgress extends React.PureComponent {
static propTypes = {
active: PropTypes.bool,
}
}
-
-export default UploadProgress;
import React from 'react';
import PropTypes from 'prop-types';
-class Warning extends React.PureComponent {
+export default class Warning extends React.PureComponent {
static propTypes = {
message: PropTypes.node.isRequired,
}
}
-
-export default Warning;
showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),
});
-class Compose extends React.PureComponent {
+@connect(mapStateToProps)
+@injectIntl
+export default class Compose extends React.PureComponent {
static propTypes = {
dispatch: PropTypes.func.isRequired,
}
}
-
-export default connect(mapStateToProps)(injectIntl(Compose));
loaded: state.getIn(['status_lists', 'favourites', 'loaded']),
});
-class Favourites extends ImmutablePureComponent {
+@connect(mapStateToProps)
+@injectIntl
+export default class Favourites extends ImmutablePureComponent {
static propTypes = {
dispatch: PropTypes.func.isRequired,
}
}
-
-export default connect(mapStateToProps)(injectIntl(Favourites));
accountIds: state.getIn(['user_lists', 'favourited_by', Number(props.params.statusId)]),
});
-class Favourites extends ImmutablePureComponent {
+@connect(mapStateToProps)
+export default class Favourites extends ImmutablePureComponent {
static propTypes = {
params: PropTypes.object.isRequired,
}
}
-
-export default connect(mapStateToProps)(Favourites);
reject: { id: 'follow_request.reject', defaultMessage: 'Reject' },
});
-class AccountAuthorize extends ImmutablePureComponent {
+@injectIntl
+export default class AccountAuthorize extends ImmutablePureComponent {
static propTypes = {
account: ImmutablePropTypes.map.isRequired,
}
}
-
-export default injectIntl(AccountAuthorize);
accountIds: state.getIn(['user_lists', 'follow_requests', 'items']),
});
-class FollowRequests extends ImmutablePureComponent {
+@connect(mapStateToProps)
+@injectIntl
+export default class FollowRequests extends ImmutablePureComponent {
static propTypes = {
params: PropTypes.object.isRequired,
}
}
-
-export default connect(mapStateToProps)(injectIntl(FollowRequests));
hasMore: !!state.getIn(['user_lists', 'followers', Number(props.params.accountId), 'next']),
});
-class Followers extends ImmutablePureComponent {
+@connect(mapStateToProps)
+export default class Followers extends ImmutablePureComponent {
static propTypes = {
params: PropTypes.object.isRequired,
}
}
-
-export default connect(mapStateToProps)(Followers);
hasMore: !!state.getIn(['user_lists', 'following', Number(props.params.accountId), 'next']),
});
-class Following extends ImmutablePureComponent {
+@connect(mapStateToProps)
+export default class Following extends ImmutablePureComponent {
static propTypes = {
params: PropTypes.object.isRequired,
}
}
-
-export default connect(mapStateToProps)(Following);
columns: state.getIn(['settings', 'columns']),
});
-class GettingStarted extends ImmutablePureComponent {
+@connect(mapStateToProps)
+@injectIntl
+export default class GettingStarted extends ImmutablePureComponent {
static propTypes = {
intl: PropTypes.object.isRequired,
}
}
-
-export default connect(mapStateToProps)(injectIntl(GettingStarted));
accessToken: state.getIn(['meta', 'access_token']),
});
-class HashtagTimeline extends React.PureComponent {
+@connect(mapStateToProps)
+export default class HashtagTimeline extends React.PureComponent {
static propTypes = {
params: PropTypes.object.isRequired,
}
}
-
-export default connect(mapStateToProps)(HashtagTimeline);
settings: { id: 'home.settings', defaultMessage: 'Column settings' },
});
-class ColumnSettings extends React.PureComponent {
+@injectIntl
+export default class ColumnSettings extends React.PureComponent {
static propTypes = {
settings: ImmutablePropTypes.map.isRequired,
}
}
-
-export default injectIntl(ColumnSettings);
hasFollows: state.getIn(['accounts_counters', state.getIn(['meta', 'me']), 'following_count']) > 0,
});
-class HomeTimeline extends React.PureComponent {
+@connect(mapStateToProps)
+@injectIntl
+export default class HomeTimeline extends React.PureComponent {
static propTypes = {
dispatch: PropTypes.func.isRequired,
}
}
-
-export default connect(mapStateToProps)(injectIntl(HomeTimeline));
accountIds: state.getIn(['user_lists', 'mutes', 'items']),
});
-class Mutes extends ImmutablePureComponent {
+@connect(mapStateToProps)
+@injectIntl
+export default class Mutes extends ImmutablePureComponent {
+
+ static propTypes = {
+ params: PropTypes.object.isRequired,
+ dispatch: PropTypes.func.isRequired,
+ accountIds: ImmutablePropTypes.list,
+ intl: PropTypes.object.isRequired,
+ };
componentWillMount () {
this.props.dispatch(fetchMutes());
}
}
-
-Mutes.propTypes = {
- params: PropTypes.object.isRequired,
- dispatch: PropTypes.func.isRequired,
- accountIds: ImmutablePropTypes.list,
- intl: PropTypes.object.isRequired,
-};
-
-export default connect(mapStateToProps)(injectIntl(Mutes));
import PropTypes from 'prop-types';
import { FormattedMessage } from 'react-intl';
-class ClearColumnButton extends React.Component {
+export default class ClearColumnButton extends React.Component {
static propTypes = {
onClick: PropTypes.func.isRequired,
}
}
-
-export default ClearColumnButton;
import ClearColumnButton from './clear_column_button';
import SettingToggle from './setting_toggle';
-class ColumnSettings extends React.PureComponent {
+export default class ColumnSettings extends React.PureComponent {
static propTypes = {
settings: ImmutablePropTypes.map.isRequired,
}
}
-
-export default ColumnSettings;
import escapeTextContentForBrowser from 'escape-html';
import ImmutablePureComponent from 'react-immutable-pure-component';
-class Notification extends ImmutablePureComponent {
+export default class Notification extends ImmutablePureComponent {
static propTypes = {
notification: ImmutablePropTypes.map.isRequired,
}
}
-
-export default Notification;
import ImmutablePropTypes from 'react-immutable-proptypes';
import Toggle from 'react-toggle';
-class SettingToggle extends React.PureComponent {
+export default class SettingToggle extends React.PureComponent {
static propTypes = {
prefix: PropTypes.string,
}
}
-
-export default SettingToggle;
hasMore: !!state.getIn(['notifications', 'next']),
});
-class Notifications extends React.PureComponent {
+@connect(mapStateToProps)
+@injectIntl
+export default class Notifications extends React.PureComponent {
static propTypes = {
columnId: PropTypes.string,
}
}
-
-export default connect(mapStateToProps)(injectIntl(Notifications));
accessToken: state.getIn(['meta', 'access_token']),
});
-class PublicTimeline extends React.PureComponent {
+@connect(mapStateToProps)
+@injectIntl
+export default class PublicTimeline extends React.PureComponent {
static propTypes = {
dispatch: PropTypes.func.isRequired,
}
}
-
-export default connect(mapStateToProps)(injectIntl(PublicTimeline));
accountIds: state.getIn(['user_lists', 'reblogged_by', Number(props.params.statusId)]),
});
-class Reblogs extends ImmutablePureComponent {
+@connect(mapStateToProps)
+export default class Reblogs extends ImmutablePureComponent {
static propTypes = {
params: PropTypes.object.isRequired,
}
}
-
-export default connect(mapStateToProps)(Reblogs);
import emojify from '../../../emoji';
import Toggle from 'react-toggle';
-class StatusCheckBox extends React.PureComponent {
+export default class StatusCheckBox extends React.PureComponent {
static propTypes = {
status: ImmutablePropTypes.map.isRequired,
}
}
-
-export default StatusCheckBox;
return mapStateToProps;
};
-class Report extends React.PureComponent {
+@connect(makeMapStateToProps)
+@injectIntl
+export default class Report extends React.PureComponent {
static contextTypes = {
router: PropTypes.object,
}
}
-
-export default connect(makeMapStateToProps)(injectIntl(Report));
report: { id: 'status.report', defaultMessage: 'Report @{name}' },
});
-class ActionBar extends React.PureComponent {
+@injectIntl
+export default class ActionBar extends React.PureComponent {
static contextTypes = {
router: PropTypes.object,
}
}
-
-export default injectIntl(ActionBar);
return parser.hostname;
};
-class Card extends React.PureComponent {
+export default class Card extends React.PureComponent {
static propTypes = {
card: ImmutablePropTypes.map,
}
}
-
-export default Card;
import CardContainer from '../containers/card_container';
import ImmutablePureComponent from 'react-immutable-pure-component';
-class DetailedStatus extends ImmutablePureComponent {
+export default class DetailedStatus extends ImmutablePureComponent {
static contextTypes = {
router: PropTypes.object,
}
}
-
-export default DetailedStatus;
return mapStateToProps;
};
-class Status extends ImmutablePureComponent {
+@injectIntl
+@connect(makeMapStateToProps)
+export default class Status extends ImmutablePureComponent {
static contextTypes = {
router: PropTypes.object,
}
}
-
-export default injectIntl(connect(makeMapStateToProps)(Status));
reblog: { id: 'status.reblog', defaultMessage: 'Boost' },
});
-class BoostModal extends ImmutablePureComponent {
+@injectIntl
+export default class BoostModal extends ImmutablePureComponent {
static contextTypes = {
router: PropTypes.object,
}
}
-
-export default injectIntl(BoostModal);
import { debounce } from 'lodash';
import scrollTop from '../../../scroll';
-class Column extends React.PureComponent {
+export default class Column extends React.PureComponent {
static propTypes = {
heading: PropTypes.string,
}
}
-
-export default Column;
import React from 'react';
import PropTypes from 'prop-types';
-class ColumnHeader extends React.PureComponent {
+export default class ColumnHeader extends React.PureComponent {
static propTypes = {
icon: PropTypes.string,
}
}
-
-export default ColumnHeader;
'HASHTAG': HashtagTimeline,
};
-class ColumnsArea extends ImmutablePureComponent {
+export default class ColumnsArea extends ImmutablePureComponent {
static contextTypes = {
router: PropTypes.object.isRequired,
}
}
-
-export default ColumnsArea;
import { injectIntl, FormattedMessage } from 'react-intl';
import Button from '../../../components/button';
-class ConfirmationModal extends React.PureComponent {
+@injectIntl
+export default class ConfirmationModal extends React.PureComponent {
static propTypes = {
message: PropTypes.node.isRequired,
}
}
-
-export default injectIntl(ConfirmationModal);
import React from 'react';
import PropTypes from 'prop-types';
-class ImageLoader extends React.PureComponent {
+export default class ImageLoader extends React.PureComponent {
static propTypes = {
alt: PropTypes.string,
}
}
-
-export default ImageLoader;
close: { id: 'lightbox.close', defaultMessage: 'Close' },
});
-class MediaModal extends ImmutablePureComponent {
+@injectIntl
+export default class MediaModal extends ImmutablePureComponent {
static propTypes = {
media: ImmutablePropTypes.list.isRequired,
}
}
-
-export default injectIntl(MediaModal);
'CONFIRM': ConfirmationModal,
};
-class ModalRoot extends React.PureComponent {
+export default class ModalRoot extends React.PureComponent {
static propTypes = {
type: PropTypes.string,
}
}
-
-export default ModalRoot;
domain: state.getIn(['meta', 'domain']),
});
-class OnboardingModal extends React.PureComponent {
+@connect(mapStateToProps)
+@injectIntl
+export default class OnboardingModal extends React.PureComponent {
static propTypes = {
onClose: PropTypes.func.isRequired,
}
}
-
-export default connect(mapStateToProps)(injectIntl(OnboardingModal));
return null;
};
-class TabsBar extends React.Component {
+export default class TabsBar extends React.Component {
render () {
return (
}
}
-
-export default TabsBar;
import spring from 'react-motion/lib/spring';
import { FormattedMessage } from 'react-intl';
-class UploadArea extends React.PureComponent {
+export default class UploadArea extends React.PureComponent {
static propTypes = {
active: PropTypes.bool,
}
}
-
-export default UploadArea;
close: { id: 'lightbox.close', defaultMessage: 'Close' },
});
-class VideoModal extends ImmutablePureComponent {
+@injectIntl
+export default class VideoModal extends ImmutablePureComponent {
static propTypes = {
media: ImmutablePropTypes.map.isRequired,
}
}
-
-export default injectIntl(VideoModal);
}
-class UI extends React.PureComponent {
+@connect()
+export default class UI extends React.PureComponent {
static propTypes = {
dispatch: PropTypes.func.isRequired,
}
}
-
-export default connect()(UI);
"babel-plugin-react-transform": "^2.0.2",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-transform-class-properties": "^6.24.1",
+ "babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
"babel-plugin-transform-object-rest-spread": "^6.23.0",
"babel-plugin-transform-react-jsx-self": "^6.22.0",
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de"
-babel-plugin-syntax-decorators@^6.13.0:
+babel-plugin-syntax-decorators@^6.1.18, babel-plugin-syntax-decorators@^6.13.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b"
babel-runtime "^6.22.0"
babel-template "^6.24.1"
+babel-plugin-transform-decorators-legacy@^1.3.4:
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz#741b58f6c5bce9e6027e0882d9c994f04f366925"
+ dependencies:
+ babel-plugin-syntax-decorators "^6.1.18"
+ babel-runtime "^6.2.0"
+ babel-template "^6.3.0"
+
babel-plugin-transform-decorators@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d"
core-js "^2.4.0"
regenerator-runtime "^0.10.0"
-babel-template@^6.24.1, babel-template@^6.25.0:
+babel-template@^6.24.1, babel-template@^6.25.0, babel-template@^6.3.0:
version "6.25.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071"
dependencies: