Progress
This commit is contained in:
parent
32cd8e622a
commit
0bd1eb2c77
26
app/javascript/gabsocial/assets/circle_icon.js
Normal file
26
app/javascript/gabsocial/assets/circle_icon.js
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
const CircleIcon = ({
|
||||||
|
className = '',
|
||||||
|
width = '16px',
|
||||||
|
height = '16px',
|
||||||
|
viewBox = '0 0 48 48',
|
||||||
|
title = '',
|
||||||
|
}) => (
|
||||||
|
<svg
|
||||||
|
className={className}
|
||||||
|
version='1.1'
|
||||||
|
xmlns='http://www.w3.org/2000/svg'
|
||||||
|
x='0px'
|
||||||
|
y='0px'
|
||||||
|
width={width}
|
||||||
|
height={height}
|
||||||
|
viewBox={viewBox}
|
||||||
|
xmlSpace='preserve'
|
||||||
|
aria-label={title}
|
||||||
|
>
|
||||||
|
<g>
|
||||||
|
<circle cx='24' cy='24' r='20' />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
)
|
||||||
|
|
||||||
|
export default CircleIcon
|
61
app/javascript/gabsocial/assets/index.js
Normal file
61
app/javascript/gabsocial/assets/index.js
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
import AddIcon from './add_icon'
|
||||||
|
import AppsIcon from './apps_icon'
|
||||||
|
import AngleRightIcon from './angle_right_icon'
|
||||||
|
import BackIcon from './back_icon'
|
||||||
|
import CalendarIcon from './calendar_icon'
|
||||||
|
import ChatIcon from './chat_icon'
|
||||||
|
import CircleIcon from './circle_icon'
|
||||||
|
import CloseIcon from './close_icon'
|
||||||
|
import CommentIcon from './comment_icon'
|
||||||
|
import DissenterIcon from './dissenter_icon'
|
||||||
|
import EllipsisIcon from './ellipsis_icon'
|
||||||
|
import GlobeIcon from './globe_icon'
|
||||||
|
import GroupIcon from './group_icon'
|
||||||
|
import HomeIcon from './home_icon'
|
||||||
|
import LikeIcon from './like_icon'
|
||||||
|
import ListIcon from './list_icon'
|
||||||
|
import LoadingIcon from './loading_icon'
|
||||||
|
import MediaIcon from './media_icon'
|
||||||
|
import MoreIcon from './more_icon'
|
||||||
|
import NotificationsIcon from './notifications_icon'
|
||||||
|
import PollIcon from './poll_icon'
|
||||||
|
import RepostIcon from './repost_icon'
|
||||||
|
import SearchIcon from './search_icon'
|
||||||
|
import ShareIcon from './share_icon'
|
||||||
|
import ShopIcon from './shop_icon'
|
||||||
|
import SubtractIcon from './subtract_icon'
|
||||||
|
import TrendsIcon from './trends_icon'
|
||||||
|
import VerifiedIcon from './verified_icon'
|
||||||
|
import WarningIcon from './warning_icon'
|
||||||
|
|
||||||
|
export {
|
||||||
|
AddIcon,
|
||||||
|
AppsIcon,
|
||||||
|
AngleRightIcon,
|
||||||
|
BackIcon,
|
||||||
|
CalendarIcon,
|
||||||
|
ChatIcon,
|
||||||
|
CircleIcon,
|
||||||
|
CloseIcon,
|
||||||
|
CommentIcon,
|
||||||
|
DissenterIcon,
|
||||||
|
EllipsisIcon,
|
||||||
|
GlobeIcon,
|
||||||
|
GroupIcon,
|
||||||
|
HomeIcon,
|
||||||
|
LikeIcon,
|
||||||
|
ListIcon,
|
||||||
|
LoadingIcon,
|
||||||
|
MediaIcon,
|
||||||
|
MoreIcon,
|
||||||
|
NotificationsIcon,
|
||||||
|
PollIcon,
|
||||||
|
RepostIcon,
|
||||||
|
SearchIcon,
|
||||||
|
ShareIcon,
|
||||||
|
ShopIcon,
|
||||||
|
SubtractIcon,
|
||||||
|
TrendsIcon,
|
||||||
|
VerifiedIcon,
|
||||||
|
WarningIcon,
|
||||||
|
}
|
@ -1,27 +0,0 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`<AutosuggestEmoji /> renders emoji with custom url 1`] = `
|
|
||||||
<div
|
|
||||||
className="autosuggest-emoji"
|
|
||||||
>
|
|
||||||
<img
|
|
||||||
alt="foobar"
|
|
||||||
className="emojione"
|
|
||||||
src="http://example.com/emoji.png"
|
|
||||||
/>
|
|
||||||
:foobar:
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`<AutosuggestEmoji /> renders native emoji 1`] = `
|
|
||||||
<div
|
|
||||||
className="autosuggest-emoji"
|
|
||||||
>
|
|
||||||
<img
|
|
||||||
alt="💙"
|
|
||||||
className="emojione"
|
|
||||||
src="/emoji/1f499.svg"
|
|
||||||
/>
|
|
||||||
:foobar:
|
|
||||||
</div>
|
|
||||||
`;
|
|
@ -1,33 +0,0 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`<Avatar /> Autoplay renders a animated avatar 1`] = `
|
|
||||||
<div
|
|
||||||
className="account__avatar"
|
|
||||||
onMouseEnter={[Function]}
|
|
||||||
onMouseLeave={[Function]}
|
|
||||||
style={
|
|
||||||
Object {
|
|
||||||
"backgroundImage": "url(/animated/alice.gif)",
|
|
||||||
"backgroundSize": "100px 100px",
|
|
||||||
"height": "100px",
|
|
||||||
"width": "100px",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`<Avatar /> Still renders a still avatar 1`] = `
|
|
||||||
<div
|
|
||||||
className="account__avatar"
|
|
||||||
onMouseEnter={[Function]}
|
|
||||||
onMouseLeave={[Function]}
|
|
||||||
style={
|
|
||||||
Object {
|
|
||||||
"backgroundImage": "url(/static/alice.jpg)",
|
|
||||||
"backgroundSize": "100px 100px",
|
|
||||||
"height": "100px",
|
|
||||||
"width": "100px",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
`;
|
|
@ -1,108 +0,0 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`<Button /> adds class "button--secondary" if props.secondary given 1`] = `
|
|
||||||
<button
|
|
||||||
className="button button--secondary"
|
|
||||||
onClick={[Function]}
|
|
||||||
style={
|
|
||||||
Object {
|
|
||||||
"height": "36px",
|
|
||||||
"lineHeight": "36px",
|
|
||||||
"padding": "0 16px",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`<Button /> renders a button element 1`] = `
|
|
||||||
<button
|
|
||||||
className="button"
|
|
||||||
onClick={[Function]}
|
|
||||||
style={
|
|
||||||
Object {
|
|
||||||
"height": "36px",
|
|
||||||
"lineHeight": "36px",
|
|
||||||
"padding": "0 16px",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`<Button /> renders a disabled attribute if props.disabled given 1`] = `
|
|
||||||
<button
|
|
||||||
className="button"
|
|
||||||
disabled={true}
|
|
||||||
onClick={[Function]}
|
|
||||||
style={
|
|
||||||
Object {
|
|
||||||
"height": "36px",
|
|
||||||
"lineHeight": "36px",
|
|
||||||
"padding": "0 16px",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`<Button /> renders class="button--block" if props.block given 1`] = `
|
|
||||||
<button
|
|
||||||
className="button button--block"
|
|
||||||
onClick={[Function]}
|
|
||||||
style={
|
|
||||||
Object {
|
|
||||||
"height": "36px",
|
|
||||||
"lineHeight": "36px",
|
|
||||||
"padding": "0 16px",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`<Button /> renders the children 1`] = `
|
|
||||||
<button
|
|
||||||
className="button"
|
|
||||||
onClick={[Function]}
|
|
||||||
style={
|
|
||||||
Object {
|
|
||||||
"height": "36px",
|
|
||||||
"lineHeight": "36px",
|
|
||||||
"padding": "0 16px",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<p>
|
|
||||||
children
|
|
||||||
</p>
|
|
||||||
</button>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`<Button /> renders the given text 1`] = `
|
|
||||||
<button
|
|
||||||
className="button"
|
|
||||||
onClick={[Function]}
|
|
||||||
style={
|
|
||||||
Object {
|
|
||||||
"height": "36px",
|
|
||||||
"lineHeight": "36px",
|
|
||||||
"padding": "0 16px",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
>
|
|
||||||
foo
|
|
||||||
</button>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`<Button /> renders the props.text instead of children 1`] = `
|
|
||||||
<button
|
|
||||||
className="button"
|
|
||||||
onClick={[Function]}
|
|
||||||
style={
|
|
||||||
Object {
|
|
||||||
"height": "36px",
|
|
||||||
"lineHeight": "36px",
|
|
||||||
"padding": "0 16px",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
>
|
|
||||||
foo
|
|
||||||
</button>
|
|
||||||
`;
|
|
@ -1,25 +0,0 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`<DisplayName /> renders display name + account name 1`] = `
|
|
||||||
<span
|
|
||||||
className="display-name"
|
|
||||||
>
|
|
||||||
<bdi>
|
|
||||||
<strong
|
|
||||||
className="display-name__html"
|
|
||||||
dangerouslySetInnerHTML={
|
|
||||||
Object {
|
|
||||||
"__html": "<p>Foo</p>",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
</bdi>
|
|
||||||
|
|
||||||
<span
|
|
||||||
className="display-name__account"
|
|
||||||
>
|
|
||||||
@
|
|
||||||
bar@baz
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
`;
|
|
@ -1,28 +0,0 @@
|
|||||||
import renderer from 'react-test-renderer';
|
|
||||||
import AutosuggestEmoji from '../autosuggest_emoji';
|
|
||||||
|
|
||||||
describe('<AutosuggestEmoji />', () => {
|
|
||||||
it('renders native emoji', () => {
|
|
||||||
const emoji = {
|
|
||||||
native: '💙',
|
|
||||||
colons: ':foobar:',
|
|
||||||
};
|
|
||||||
const component = renderer.create(<AutosuggestEmoji emoji={emoji} />);
|
|
||||||
const tree = component.toJSON();
|
|
||||||
|
|
||||||
expect(tree).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('renders emoji with custom url', () => {
|
|
||||||
const emoji = {
|
|
||||||
custom: true,
|
|
||||||
imageUrl: 'http://example.com/emoji.png',
|
|
||||||
native: 'foobar',
|
|
||||||
colons: ':foobar:',
|
|
||||||
};
|
|
||||||
const component = renderer.create(<AutosuggestEmoji emoji={emoji} />);
|
|
||||||
const tree = component.toJSON();
|
|
||||||
|
|
||||||
expect(tree).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
@ -1,35 +0,0 @@
|
|||||||
import renderer from 'react-test-renderer';
|
|
||||||
import { fromJS } from 'immutable';
|
|
||||||
import Avatar from '../avatar';
|
|
||||||
|
|
||||||
describe('<Avatar />', () => {
|
|
||||||
const account = fromJS({
|
|
||||||
username: 'alice',
|
|
||||||
acct: 'alice',
|
|
||||||
display_name: 'Alice',
|
|
||||||
avatar: '/animated/alice.gif',
|
|
||||||
avatar_static: '/static/alice.jpg',
|
|
||||||
});
|
|
||||||
|
|
||||||
const size = 100;
|
|
||||||
|
|
||||||
describe('Autoplay', () => {
|
|
||||||
it('renders a animated avatar', () => {
|
|
||||||
const component = renderer.create(<Avatar account={account} animate size={size} />);
|
|
||||||
const tree = component.toJSON();
|
|
||||||
|
|
||||||
expect(tree).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('Still', () => {
|
|
||||||
it('renders a still avatar', () => {
|
|
||||||
const component = renderer.create(<Avatar account={account} size={size} />);
|
|
||||||
const tree = component.toJSON();
|
|
||||||
|
|
||||||
expect(tree).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// TODO add autoplay test if possible
|
|
||||||
});
|
|
@ -1,74 +0,0 @@
|
|||||||
import { shallow } from 'enzyme';
|
|
||||||
import renderer from 'react-test-renderer';
|
|
||||||
import Button from '../button';
|
|
||||||
|
|
||||||
describe('<Button />', () => {
|
|
||||||
it('renders a button element', () => {
|
|
||||||
const component = renderer.create(<Button />);
|
|
||||||
const tree = component.toJSON();
|
|
||||||
|
|
||||||
expect(tree).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('renders the given text', () => {
|
|
||||||
const text = 'foo';
|
|
||||||
const component = renderer.create(<Button text={text} />);
|
|
||||||
const tree = component.toJSON();
|
|
||||||
|
|
||||||
expect(tree).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('handles click events using the given handler', () => {
|
|
||||||
const handler = jest.fn();
|
|
||||||
const button = shallow(<Button onClick={handler} />);
|
|
||||||
button.find('button').simulate('click');
|
|
||||||
|
|
||||||
expect(handler.mock.calls.length).toEqual(1);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('does not handle click events if props.disabled given', () => {
|
|
||||||
const handler = jest.fn();
|
|
||||||
const button = shallow(<Button onClick={handler} disabled />);
|
|
||||||
button.find('button').simulate('click');
|
|
||||||
|
|
||||||
expect(handler.mock.calls.length).toEqual(0);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('renders a disabled attribute if props.disabled given', () => {
|
|
||||||
const component = renderer.create(<Button disabled />);
|
|
||||||
const tree = component.toJSON();
|
|
||||||
|
|
||||||
expect(tree).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('renders the children', () => {
|
|
||||||
const children = <p>children</p>;
|
|
||||||
const component = renderer.create(<Button>{children}</Button>);
|
|
||||||
const tree = component.toJSON();
|
|
||||||
|
|
||||||
expect(tree).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('renders the props.text instead of children', () => {
|
|
||||||
const text = 'foo';
|
|
||||||
const children = <p>children</p>;
|
|
||||||
const component = renderer.create(<Button text={text}>{children}</Button>);
|
|
||||||
const tree = component.toJSON();
|
|
||||||
|
|
||||||
expect(tree).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('renders class="button--block" if props.block given', () => {
|
|
||||||
const component = renderer.create(<Button block />);
|
|
||||||
const tree = component.toJSON();
|
|
||||||
|
|
||||||
expect(tree).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('adds class "button--secondary" if props.secondary given', () => {
|
|
||||||
const component = renderer.create(<Button secondary />);
|
|
||||||
const tree = component.toJSON();
|
|
||||||
|
|
||||||
expect(tree).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
@ -1,17 +0,0 @@
|
|||||||
import renderer from 'react-test-renderer';
|
|
||||||
import { fromJS } from 'immutable';
|
|
||||||
import DisplayName from '../display_name';
|
|
||||||
|
|
||||||
describe('<DisplayName />', () => {
|
|
||||||
it('renders display name + account name', () => {
|
|
||||||
const account = fromJS({
|
|
||||||
username: 'bar',
|
|
||||||
acct: 'bar@baz',
|
|
||||||
display_name_html: '<p>Foo</p>',
|
|
||||||
});
|
|
||||||
const component = renderer.create(<DisplayName account={account} />);
|
|
||||||
const tree = component.toJSON();
|
|
||||||
|
|
||||||
expect(tree).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
@ -31,7 +31,7 @@ export default class Avatar extends ImmutablePureComponent {
|
|||||||
this.setState({ hovering: false })
|
this.setState({ hovering: false })
|
||||||
}
|
}
|
||||||
|
|
||||||
render () {
|
render() {
|
||||||
const { account, size, animate } = this.props
|
const { account, size, animate } = this.props
|
||||||
const { hovering, sameImg } = this.state
|
const { hovering, sameImg } = this.state
|
||||||
|
|
||||||
|
77
app/javascript/gabsocial/components/icon.js
Normal file
77
app/javascript/gabsocial/components/icon.js
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
import * as I from '../assets'
|
||||||
|
|
||||||
|
export default class Icon extends PureComponent {
|
||||||
|
|
||||||
|
static propTypes = {
|
||||||
|
id: PropTypes.string.isRequired,
|
||||||
|
className: PropTypes.string,
|
||||||
|
width: PropTypes.string,
|
||||||
|
height: PropTypes.string,
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { id, ...options } = this.props
|
||||||
|
|
||||||
|
switch (id) {
|
||||||
|
case 'add':
|
||||||
|
return <I.AddIcon {...options} />
|
||||||
|
case 'apps':
|
||||||
|
return <I.AppsIcon {...options} />
|
||||||
|
case 'angle-right':
|
||||||
|
return <I.AngleRightIcon {...options} />
|
||||||
|
case 'back':
|
||||||
|
return <I.BackIcon {...options} />
|
||||||
|
case 'calendar':
|
||||||
|
return <I.CalendarIcon {...options} />
|
||||||
|
case 'chat':
|
||||||
|
return <I.ChatIcon {...options} />
|
||||||
|
case 'close':
|
||||||
|
return <I.CloseIcon {...options} />
|
||||||
|
case 'comment':
|
||||||
|
return <I.CommentIcon {...options} />
|
||||||
|
case 'dissenter':
|
||||||
|
return <I.DissenterIcon {...options} />
|
||||||
|
case 'ellipsis':
|
||||||
|
return <I.EllipsisIcon {...options} />
|
||||||
|
case 'globe':
|
||||||
|
return <I.GlobeIcon {...options} />
|
||||||
|
case 'group':
|
||||||
|
return <I.GroupIcon {...options} />
|
||||||
|
case 'home':
|
||||||
|
return <I.HomeIcon {...options} />
|
||||||
|
case 'like':
|
||||||
|
return <I.LikeIcon {...options} />
|
||||||
|
case 'list':
|
||||||
|
return <I.ListIcon {...options} />
|
||||||
|
case 'loading':
|
||||||
|
return <I.LoadingIcon {...options} />
|
||||||
|
case 'more':
|
||||||
|
return <I.MoreIcon {...options} />
|
||||||
|
case 'media':
|
||||||
|
return <I.MediaIcon {...options} />
|
||||||
|
case 'notifications':
|
||||||
|
return <I.NotificationsIcon {...options} />
|
||||||
|
case 'poll':
|
||||||
|
return <I.PollIcon {...options} />
|
||||||
|
case 'repost':
|
||||||
|
return <I.RepostIcon {...options} />
|
||||||
|
case 'search':
|
||||||
|
return <I.SearchIcon {...options} />
|
||||||
|
case 'share':
|
||||||
|
return <I.ShareIcon {...options} />
|
||||||
|
case 'shop':
|
||||||
|
return <I.ShopIcon {...options} />
|
||||||
|
case 'subtract':
|
||||||
|
return <I.SubtractIcon {...options} />
|
||||||
|
case 'trends':
|
||||||
|
return <I.TrendsIcon {...options} />
|
||||||
|
case 'verified':
|
||||||
|
return <I.VerifiedIcon {...options} />
|
||||||
|
case 'warning':
|
||||||
|
return <I.WarningIcon {...options} />
|
||||||
|
default:
|
||||||
|
return <I.CircleIcon {...options} />
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -1,104 +0,0 @@
|
|||||||
import AddIcon from './svgs/add_icon'
|
|
||||||
import AppsIcon from './svgs/apps_icon'
|
|
||||||
import AngleRightIcon from './svgs/angle_right_icon'
|
|
||||||
import BackIcon from './svgs/back_icon'
|
|
||||||
import CalendarIcon from './svgs/calendar_icon'
|
|
||||||
import ChatIcon from './svgs/chat_icon'
|
|
||||||
import CloseIcon from './svgs/close_icon'
|
|
||||||
import CommentIcon from './svgs/comment_icon'
|
|
||||||
import DissenterIcon from './svgs/dissenter_icon'
|
|
||||||
import EllipsisIcon from './svgs/ellipsis_icon'
|
|
||||||
import GlobeIcon from './svgs/globe_icon'
|
|
||||||
import GroupIcon from './svgs/group_icon'
|
|
||||||
import HomeIcon from './svgs/home_icon'
|
|
||||||
import LikeIcon from './svgs/like_icon'
|
|
||||||
import ListIcon from './svgs/list_icon'
|
|
||||||
import LoadingIcon from './svgs/loading_icon'
|
|
||||||
import MediaIcon from './svgs/media_icon'
|
|
||||||
import MoreIcon from './svgs/more_icon'
|
|
||||||
import NotificationsIcon from './svgs/notifications_icon'
|
|
||||||
import PollIcon from './svgs/poll_icon'
|
|
||||||
import RepostIcon from './svgs/repost_icon'
|
|
||||||
import SearchIcon from './svgs/search_icon'
|
|
||||||
import ShareIcon from './svgs/share_icon'
|
|
||||||
import ShopIcon from './svgs/shop_icon'
|
|
||||||
import SubtractIcon from './svgs/subtract_icon'
|
|
||||||
import TrendsIcon from './svgs/trends_icon'
|
|
||||||
import VerifiedIcon from './svgs/verified_icon'
|
|
||||||
import WarningIcon from './svgs/warning_icon'
|
|
||||||
|
|
||||||
export default class Icon extends PureComponent {
|
|
||||||
|
|
||||||
static propTypes = {
|
|
||||||
id: PropTypes.string.isRequired,
|
|
||||||
className: PropTypes.string,
|
|
||||||
width: PropTypes.string,
|
|
||||||
height: PropTypes.string,
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
const { id, ...options } = this.props
|
|
||||||
|
|
||||||
switch (id) {
|
|
||||||
case 'add':
|
|
||||||
return <AddIcon {...options} />
|
|
||||||
case 'apps':
|
|
||||||
return <AppsIcon {...options} />
|
|
||||||
case 'angle-right':
|
|
||||||
return <AngleRightIcon {...options} />
|
|
||||||
case 'back':
|
|
||||||
return <BackIcon {...options} />
|
|
||||||
case 'calendar':
|
|
||||||
return <CalendarIcon {...options} />
|
|
||||||
case 'chat':
|
|
||||||
return <ChatIcon {...options} />
|
|
||||||
case 'close':
|
|
||||||
return <CloseIcon {...options} />
|
|
||||||
case 'comment':
|
|
||||||
return <CommentIcon {...options} />
|
|
||||||
case 'dissenter':
|
|
||||||
return <DissenterIcon {...options} />
|
|
||||||
case 'ellipsis':
|
|
||||||
return <EllipsisIcon {...options} />
|
|
||||||
case 'globe':
|
|
||||||
return <GlobeIcon {...options} />
|
|
||||||
case 'group':
|
|
||||||
return <GroupIcon {...options} />
|
|
||||||
case 'home':
|
|
||||||
return <HomeIcon {...options} />
|
|
||||||
case 'like':
|
|
||||||
return <LikeIcon {...options} />
|
|
||||||
case 'list':
|
|
||||||
return <ListIcon {...options} />
|
|
||||||
case 'loading':
|
|
||||||
return <LoadingIcon {...options} />
|
|
||||||
case 'more':
|
|
||||||
return <MoreIcon {...options} />
|
|
||||||
case 'media':
|
|
||||||
return <MediaIcon {...options} />
|
|
||||||
case 'notifications':
|
|
||||||
return <NotificationsIcon {...options} />
|
|
||||||
case 'poll':
|
|
||||||
return <PollIcon {...options} />
|
|
||||||
case 'repost':
|
|
||||||
return <RepostIcon {...options} />
|
|
||||||
case 'search':
|
|
||||||
return <SearchIcon {...options} />
|
|
||||||
case 'share':
|
|
||||||
return <ShareIcon {...options} />
|
|
||||||
case 'shop':
|
|
||||||
return <ShopIcon {...options} />
|
|
||||||
case 'subtract':
|
|
||||||
return <SubtractIcon {...options} />
|
|
||||||
case 'trends':
|
|
||||||
return <TrendsIcon {...options} />
|
|
||||||
case 'verified':
|
|
||||||
return <VerifiedIcon {...options} />
|
|
||||||
case 'warning':
|
|
||||||
return <WarningIcon {...options} />
|
|
||||||
default:
|
|
||||||
return <NotificationsIcon {...options} />
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
export { default } from './icon';
|
|
@ -219,7 +219,8 @@ class Item extends ImmutablePureComponent {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class MediaGallery extends PureComponent {
|
class MediaGallery extends PureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -14,7 +14,8 @@ const messages = defineMessages({
|
|||||||
combo: { id: 'boost_modal.combo', defaultMessage: 'You can press {combo} to skip this next time' },
|
combo: { id: 'boost_modal.combo', defaultMessage: 'You can press {combo} to skip this next time' },
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class BoostModal extends ImmutablePureComponent {
|
class BoostModal extends ImmutablePureComponent {
|
||||||
|
|
||||||
static contextTypes = {
|
static contextTypes = {
|
||||||
|
@ -16,7 +16,8 @@ const mapStateToProps = state => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class ComposeModal extends ImmutablePureComponent {
|
class ComposeModal extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -8,7 +8,8 @@ const messages = defineMessages({
|
|||||||
preview: { id: 'embed.preview', defaultMessage: 'Here is what it will look like:' },
|
preview: { id: 'embed.preview', defaultMessage: 'Here is what it will look like:' },
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class EmbedModal extends ImmutablePureComponent {
|
class EmbedModal extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -17,7 +17,8 @@ const mapDispatchToProps = (dispatch, { id }) => ({
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps, mapDispatchToProps)
|
export default
|
||||||
|
@connect(mapStateToProps, mapDispatchToProps)
|
||||||
class FocalPointModal extends ImmutablePureComponent {
|
class FocalPointModal extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -18,7 +18,8 @@ const messages = defineMessages({
|
|||||||
|
|
||||||
export const previewState = 'previewMediaModal';
|
export const previewState = 'previewMediaModal';
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class MediaModal extends ImmutablePureComponent {
|
class MediaModal extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -24,7 +24,8 @@ const mapDispatchToProps = (dispatch) => ({
|
|||||||
|
|
||||||
const cx = classNames.bind(_s)
|
const cx = classNames.bind(_s)
|
||||||
|
|
||||||
export default @connect(mapStateToProps, mapDispatchToProps)
|
export default
|
||||||
|
@connect(mapStateToProps, mapDispatchToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class ModalBase extends PureComponent {
|
class ModalBase extends PureComponent {
|
||||||
|
|
||||||
|
@ -36,7 +36,8 @@ const mapDispatchToProps = dispatch => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export default @connect(mapStateToProps, mapDispatchToProps)
|
export default
|
||||||
|
@connect(mapStateToProps, mapDispatchToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class MuteModal extends PureComponent {
|
class MuteModal extends PureComponent {
|
||||||
|
|
||||||
|
@ -38,7 +38,8 @@ const makeMapStateToProps = () => {
|
|||||||
return mapStateToProps;
|
return mapStateToProps;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default @connect(makeMapStateToProps)
|
export default
|
||||||
|
@connect(makeMapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class ReportModal extends ImmutablePureComponent {
|
class ReportModal extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -9,7 +9,8 @@ const messages = defineMessages({
|
|||||||
close: { id: 'lightbox.close', defaultMessage: 'Close' },
|
close: { id: 'lightbox.close', defaultMessage: 'Close' },
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class StatusRevisionModal extends ImmutablePureComponent {
|
class StatusRevisionModal extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -4,7 +4,8 @@ const mapStateToProps = state => ({
|
|||||||
count: state.getIn(['notifications', 'unread']),
|
count: state.getIn(['notifications', 'unread']),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
class NotificationCounter extends PureComponent {
|
class NotificationCounter extends PureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -15,7 +15,8 @@ const mapStateToProps = (state) => ({
|
|||||||
groupIds: state.getIn(['group_lists', 'member']),
|
groupIds: state.getIn(['group_lists', 'member']),
|
||||||
})
|
})
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class GroupSidebarPanel extends ImmutablePureComponent {
|
class GroupSidebarPanel extends ImmutablePureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -21,7 +21,8 @@ const mapDispatchToProps = dispatch => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default @connect(mapStateToProps, mapDispatchToProps)
|
export default
|
||||||
|
@connect(mapStateToProps, mapDispatchToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class HashtagsPanel extends ImmutablePureComponent {
|
class HashtagsPanel extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -20,7 +20,8 @@ const mapDispatchToProps = dispatch => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export default @connect(mapStateToProps, mapDispatchToProps)
|
export default
|
||||||
|
@connect(mapStateToProps, mapDispatchToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class ListDetailsPanel extends ImmutablePureComponent {
|
class ListDetailsPanel extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -22,7 +22,8 @@ const mapDispatchToProps = dispatch => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export default @connect(mapStateToProps, mapDispatchToProps)
|
export default
|
||||||
|
@connect(mapStateToProps, mapDispatchToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class WhoToFollowPanel extends ImmutablePureComponent {
|
class WhoToFollowPanel extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -22,7 +22,8 @@ const mapDispatchToProps = dispatch => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export default @connect(mapStateToProps, mapDispatchToProps)
|
export default
|
||||||
|
@connect(mapStateToProps, mapDispatchToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class WhoToFollowPanel extends ImmutablePureComponent {
|
class WhoToFollowPanel extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -9,7 +9,8 @@ const messages = defineMessages({
|
|||||||
register: { id: 'account.register', defaultMessage: 'Sign up' },
|
register: { id: 'account.register', defaultMessage: 'Sign up' },
|
||||||
})
|
})
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class SignUpPanel extends PureComponent {
|
class SignUpPanel extends PureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
intl: PropTypes.object.isRequired,
|
intl: PropTypes.object.isRequired,
|
||||||
|
@ -25,7 +25,8 @@ const mapStateToProps = state => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class UserPanel extends ImmutablePureComponent {
|
class UserPanel extends ImmutablePureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -22,7 +22,8 @@ const mapDispatchToProps = dispatch => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export default @connect(mapStateToProps, mapDispatchToProps)
|
export default
|
||||||
|
@connect(mapStateToProps, mapDispatchToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class WhoToFollowPanel extends ImmutablePureComponent {
|
class WhoToFollowPanel extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -25,7 +25,8 @@ const makeEmojiMap = record => record.get('emojis').reduce((obj, emoji) => {
|
|||||||
return obj;
|
return obj;
|
||||||
}, {});
|
}, {});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class Poll extends ImmutablePureComponent {
|
class Poll extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -109,7 +109,8 @@ const timeRemainingString = (intl, date, now) => {
|
|||||||
return relativeTime
|
return relativeTime
|
||||||
}
|
}
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class RelativeTimestamp extends Component {
|
class RelativeTimestamp extends Component {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -4,7 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes'
|
|||||||
import ImmutablePureComponent from 'react-immutable-pure-component'
|
import ImmutablePureComponent from 'react-immutable-pure-component'
|
||||||
import { me } from '../initial_state'
|
import { me } from '../initial_state'
|
||||||
import { makeGetAccount } from '../selectors'
|
import { makeGetAccount } from '../selectors'
|
||||||
import GabLogo from './assets/gab_logo'
|
import GabLogo from '../assets/gab_logo'
|
||||||
import SidebarSectionItem from './sidebar_section_item'
|
import SidebarSectionItem from './sidebar_section_item'
|
||||||
|
|
||||||
const mapStateToProps = state => {
|
const mapStateToProps = state => {
|
||||||
|
@ -52,7 +52,8 @@ export const defaultMediaVisibility = status => {
|
|||||||
return (displayMedia !== 'hide_all' && !status.get('sensitive')) || displayMedia === 'show_all';
|
return (displayMedia !== 'hide_all' && !status.get('sensitive')) || displayMedia === 'show_all';
|
||||||
};
|
};
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class Status extends ImmutablePureComponent {
|
class Status extends ImmutablePureComponent {
|
||||||
|
|
||||||
static contextTypes = {
|
static contextTypes = {
|
||||||
|
@ -98,7 +98,8 @@ class StatusActionBarItem extends PureComponent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default @connect(null, mapDispatchToProps)
|
export default
|
||||||
|
@connect(null, mapDispatchToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class StatusActionBar extends ImmutablePureComponent {
|
class StatusActionBar extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -19,7 +19,8 @@ const mapDispatchToProps = (dispatch, { id }) => ({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps, mapDispatchToProps)
|
export default
|
||||||
|
@connect(mapStateToProps, mapDispatchToProps)
|
||||||
class StatusCheckBox extends ImmutablePureComponent {
|
class StatusCheckBox extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -4,7 +4,8 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
|
|||||||
import ModalLoading from './modal_loading';
|
import ModalLoading from './modal_loading';
|
||||||
import RelativeTimestamp from './relative_timestamp';
|
import RelativeTimestamp from './relative_timestamp';
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class StatusRevisionsList extends ImmutablePureComponent {
|
class StatusRevisionsList extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -72,7 +72,8 @@ class LoadMoreMedia extends ImmutablePureComponent {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class AccountGallery extends ImmutablePureComponent {
|
class AccountGallery extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -51,7 +51,8 @@ const mapStateToProps = (state, { params: { username }, withReplies = false }) =
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class AccountTimeline extends ImmutablePureComponent {
|
class AccountTimeline extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -45,7 +45,8 @@ const messages = defineMessages({
|
|||||||
domainBlocked: { id: 'account.domain_blocked', defaultMessage: 'Domain hidden' },
|
domainBlocked: { id: 'account.domain_blocked', defaultMessage: 'Domain hidden' },
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class Header extends ImmutablePureComponent {
|
class Header extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -30,7 +30,8 @@ const mapStateToProps = (state, { account }) => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class ProfileInfoPanel extends ImmutablePureComponent {
|
class ProfileInfoPanel extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -16,7 +16,8 @@ const mapStateToProps = state => ({
|
|||||||
hasMore: !!state.getIn(['user_lists', 'blocks', 'next']),
|
hasMore: !!state.getIn(['user_lists', 'blocks', 'next']),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class Blocks extends ImmutablePureComponent {
|
class Blocks extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -16,7 +16,8 @@ const mapDispatchToProps = (dispatch) => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export default @connect(mapStateToProps, mapDispatchToProps)
|
export default
|
||||||
|
@connect(mapStateToProps, mapDispatchToProps)
|
||||||
class ColumnSettings extends ImmutablePureComponent {
|
class ColumnSettings extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -32,7 +32,8 @@ const messages = defineMessages({
|
|||||||
schedulePost: { id: 'compose_form.schedule_post', defaultMessage: 'Schedule Post' }
|
schedulePost: { id: 'compose_form.schedule_post', defaultMessage: 'Schedule Post' }
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class ComposeForm extends ImmutablePureComponent {
|
class ComposeForm extends ImmutablePureComponent {
|
||||||
|
|
||||||
state = {
|
state = {
|
||||||
|
@ -289,7 +289,8 @@ class EmojiPickerMenu extends ImmutablePureComponent {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class EmojiPickerDropdown extends ImmutablePureComponent {
|
class EmojiPickerDropdown extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -13,7 +13,8 @@ const mapStateToProps = state => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
class NavigationBar extends ImmutablePureComponent {
|
class NavigationBar extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -11,7 +11,8 @@ const messages = defineMessages({
|
|||||||
cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' },
|
cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' },
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class ReplyIndicator extends ImmutablePureComponent {
|
class ReplyIndicator extends ImmutablePureComponent {
|
||||||
|
|
||||||
static contextTypes = {
|
static contextTypes = {
|
||||||
|
@ -11,7 +11,8 @@ const messages = defineMessages({
|
|||||||
delete: { id: 'upload_form.undo', defaultMessage: 'Delete' },
|
delete: { id: 'upload_form.undo', defaultMessage: 'Delete' },
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class Upload extends ImmutablePureComponent {
|
class Upload extends ImmutablePureComponent {
|
||||||
|
|
||||||
static contextTypes = {
|
static contextTypes = {
|
||||||
|
@ -8,7 +8,8 @@ const mapStateToProps = state => ({
|
|||||||
mediaIds: state.getIn(['compose', 'media_attachments']).map(item => item.get('id')),
|
mediaIds: state.getIn(['compose', 'media_attachments']).map(item => item.get('id')),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
class UploadForm extends ImmutablePureComponent {
|
class UploadForm extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -8,7 +8,8 @@ const mapStateToProps = state => ({
|
|||||||
progress: state.getIn(['compose', 'progress']),
|
progress: state.getIn(['compose', 'progress']),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
class UploadProgress extends PureComponent {
|
class UploadProgress extends PureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -31,7 +31,8 @@ const mapStateToProps = (state, ownProps) => ({
|
|||||||
showSearch: ownProps.isSearchPage,
|
showSearch: ownProps.isSearchPage,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class Compose extends ImmutablePureComponent {
|
class Compose extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -17,7 +17,8 @@ const mapStateToProps = state => ({
|
|||||||
hasMore: !!state.getIn(['domain_lists', 'blocks', 'next']),
|
hasMore: !!state.getIn(['domain_lists', 'blocks', 'next']),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class Blocks extends ImmutablePureComponent {
|
class Blocks extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -16,7 +16,8 @@ const mapStateToProps = (state, { params: { username } }) => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
class Favourites extends ImmutablePureComponent {
|
class Favourites extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -33,7 +33,8 @@ const mapDispatchToProps = (dispatch, { id }) => ({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(makeMapStateToProps, mapDispatchToProps)
|
export default
|
||||||
|
@connect(makeMapStateToProps, mapDispatchToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class AccountAuthorize extends ImmutablePureComponent {
|
class AccountAuthorize extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -16,7 +16,8 @@ const mapStateToProps = state => ({
|
|||||||
hasMore: !!state.getIn(['user_lists', 'follow_requests', 'next']),
|
hasMore: !!state.getIn(['user_lists', 'follow_requests', 'next']),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class FollowRequests extends ImmutablePureComponent {
|
class FollowRequests extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -39,7 +39,8 @@ const mapStateToProps = (state, { params: { username } }) => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
class Followers extends ImmutablePureComponent {
|
class Followers extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -41,7 +41,8 @@ const mapStateToProps = (state, { params: { username } }) => {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
class Following extends ImmutablePureComponent {
|
class Following extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -22,7 +22,8 @@ const mapStateToProps = (state, { activeTab }) => ({
|
|||||||
account: state.getIn(['accounts', me]),
|
account: state.getIn(['accounts', me]),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class Groups extends ImmutablePureComponent {
|
class Groups extends ImmutablePureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -26,7 +26,8 @@ const mapDispatchToProps = dispatch => ({
|
|||||||
reset: () => dispatch(reset()),
|
reset: () => dispatch(reset()),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps, mapDispatchToProps)
|
export default
|
||||||
|
@connect(mapStateToProps, mapDispatchToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class Create extends PureComponent {
|
class Create extends PureComponent {
|
||||||
|
|
||||||
|
@ -29,7 +29,8 @@ const mapDispatchToProps = dispatch => ({
|
|||||||
setUp: group => dispatch(setUp(group)),
|
setUp: group => dispatch(setUp(group)),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps, mapDispatchToProps)
|
export default
|
||||||
|
@connect(mapStateToProps, mapDispatchToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class Edit extends ImmutablePureComponent {
|
class Edit extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -17,7 +17,8 @@ const mapStateToProps = (state, { id }) => ({
|
|||||||
relationships: state.getIn(['group_relationships', id]),
|
relationships: state.getIn(['group_relationships', id]),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class GroupCard extends ImmutablePureComponent {
|
class GroupCard extends ImmutablePureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -22,7 +22,8 @@ const mapStateToProps = (state, { activeTab }) => ({
|
|||||||
account: state.getIn(['accounts', me]),
|
account: state.getIn(['accounts', me]),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class Groups extends ImmutablePureComponent {
|
class Groups extends ImmutablePureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -19,7 +19,8 @@ const mapStateToProps = (state, { params: { id } }) => ({
|
|||||||
hasMore: !!state.getIn(['user_lists', 'groups', id, 'next']),
|
hasMore: !!state.getIn(['user_lists', 'groups', id, 'next']),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
class GroupMembers extends ImmutablePureComponent {
|
class GroupMembers extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -22,7 +22,8 @@ const mapStateToProps = (state, { params: { id } }) => ({
|
|||||||
hasMore: !!state.getIn(['user_lists', 'groups_removed_accounts', id, 'next']),
|
hasMore: !!state.getIn(['user_lists', 'groups_removed_accounts', id, 'next']),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class GroupRemovedAccounts extends ImmutablePureComponent {
|
class GroupRemovedAccounts extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
@ -2,7 +2,8 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
|
|||||||
import { injectIntl, FormattedMessage } from 'react-intl';
|
import { injectIntl, FormattedMessage } from 'react-intl';
|
||||||
import SettingToggle from '../../../../components/setting_toggle';
|
import SettingToggle from '../../../../components/setting_toggle';
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class ColumnSettings extends PureComponent {
|
class ColumnSettings extends PureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -12,7 +12,8 @@ const messages = defineMessages({
|
|||||||
edit: { id: 'groups.edit', defaultMessage: 'Edit' }
|
edit: { id: 'groups.edit', defaultMessage: 'Edit' }
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class Header extends ImmutablePureComponent {
|
class Header extends ImmutablePureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
group: ImmutablePropTypes.map,
|
group: ImmutablePropTypes.map,
|
||||||
|
@ -7,7 +7,8 @@ const messages = defineMessages({
|
|||||||
group_admin: { id: 'groups.detail.role_admin', defaultMessage: 'You\'re an admin' }
|
group_admin: { id: 'groups.detail.role_admin', defaultMessage: 'You\'re an admin' }
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @injectIntl
|
export default
|
||||||
|
@injectIntl
|
||||||
class GroupPanel extends ImmutablePureComponent {
|
class GroupPanel extends ImmutablePureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
group: ImmutablePropTypes.map,
|
group: ImmutablePropTypes.map,
|
||||||
|
@ -20,7 +20,8 @@ const mapStateToProps = (state, props) => ({
|
|||||||
hasUnread: state.getIn(['timelines', `group:${props.params.id}`, 'unread']) > 0,
|
hasUnread: state.getIn(['timelines', `group:${props.params.id}`, 'unread']) > 0,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default
|
||||||
|
@connect(mapStateToProps)
|
||||||
@injectIntl
|
@injectIntl
|
||||||
class GroupTimeline extends ImmutablePureComponent {
|
class GroupTimeline extends ImmutablePureComponent {
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user