Vulcan/packages/vulcan-base-components/lib/posts/PostsNewButton.jsx
2017-05-16 11:04:43 +09:00

28 lines
974 B
JavaScript

import { Components, registerComponent, withCurrentUser } from 'meteor/vulcan:core';
import React, { PropTypes, Component } from 'react';
import { FormattedMessage, intlShape } from 'react-intl';
import { Button } from 'react-bootstrap';
const PostsNewButton = (props, context) => {
const size = props.currentUser ? 'large' : 'small';
const button = <Button className="posts-new-button" bsStyle="primary"><Components.Icon name="new"/> <FormattedMessage id="posts.new_post"/></Button>;
return (
<Components.ModalTrigger size={size} title={context.intl.formatMessage({id: "posts.new_post"})} component={button}>
<Components.PostsNewForm />
</Components.ModalTrigger>
)
}
PostsNewButton.displayName = "PostsNewButton";
PostsNewButton.propTypes = {
currentUser: React.PropTypes.object,
};
PostsNewButton.contextTypes = {
messages: React.PropTypes.object,
intl: intlShape
};
registerComponent('PostsNewButton', PostsNewButton, withCurrentUser);