35 lines
1.2 KiB
JavaScript
35 lines
1.2 KiB
JavaScript
import React from 'react';
|
|
import ImmutablePureComponent from 'react-immutable-pure-component';
|
|
import ImmutablePropTypes from 'react-immutable-proptypes';
|
|
import { injectIntl, defineMessages } from 'react-intl';
|
|
|
|
const messages = defineMessages({
|
|
group_archived: { id: 'group.detail.archived_group', defaultMessage: 'Archived group' },
|
|
group_admin: { id: 'groups.detail.role_admin', defaultMessage: 'You\'re an admin' }
|
|
});
|
|
|
|
export default @injectIntl
|
|
class GroupPanel extends ImmutablePureComponent {
|
|
static propTypes = {
|
|
group: ImmutablePropTypes.map,
|
|
relationships: ImmutablePropTypes.map,
|
|
}
|
|
|
|
render() {
|
|
const { group, relationships, intl } = this.props;
|
|
|
|
return (
|
|
<div className="group__panel">
|
|
<h1 className="group__panel__title">
|
|
{group.get('title')}
|
|
{group.get('archived') && <Icon id='lock' title={intl.formatMessage(messages.group_archived)} />}
|
|
</h1>
|
|
|
|
{relationships.get('admin') && <span className="group__panel__label">{intl.formatMessage(messages.group_admin)}</span>}
|
|
|
|
<div className="group__panel__description">{group.get('description')}</div>
|
|
</div>
|
|
);
|
|
}
|
|
}
|