Files
mattermost/webapp/components/about_build_modal.jsx
2016-04-01 23:17:56 +05:00

181 lines
6.1 KiB
JavaScript

// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
import {Modal} from 'react-bootstrap';
import {FormattedMessage} from 'react-intl';
import React from 'react';
import Constants from 'utils/constants.jsx';
export default class AboutBuildModal extends React.Component {
constructor(props) {
super(props);
this.doHide = this.doHide.bind(this);
}
doHide() {
this.props.onModalDismissed();
}
render() {
const config = global.window.mm_config;
const license = global.window.mm_license;
const mattermostLogo = Constants.MATTERMOST_ICON_SVG;
let title = (
<FormattedMessage
id='about.teamEditiont0'
defaultMessage='Team Edition'
/>
);
let subTitle = (
<FormattedMessage
id='about.teamEditionSt'
defaultMessage='All your team communication in one place, instantly searchable and accessible anywhere.'
/>
);
let learnMore = (
<div>
<FormattedMessage
id='about.teamEditionLearn'
defaultMessage='Join the Mattermost community at '
/>
<a
target='_blank'
href='http://www.mattermost.org/'
>
{'mattermost.org'}
</a>
</div>
);
let licensee;
if (config.BuildEnterpriseReady === 'true') {
title = (
<FormattedMessage
id='about.teamEditiont1'
defaultMessage='Enterprise Edition'
/>
);
subTitle = (
<FormattedMessage
id='about.enterpriseEditionSt'
defaultMessage='Modern enterprise communication from behind your firewall.'
/>
);
learnMore = (
<div>
<FormattedMessage
id='about.enterpriseEditionLearn'
defaultMessage='Learn more about Enterprise Edition at '
/>
<a
target='_blank'
href='http://about.mattermost.com/'
>
{'about.mattermost.com'}
</a>
</div>
);
if (license.IsLicensed === 'true') {
title = (
<FormattedMessage
id='about.enterpriseEditione1'
defaultMessage='Enterprise Edition'
/>
);
licensee = (
<div className='form-group'>
<FormattedMessage
id='about.licensed'
defaultMessage='Licensed by:'
/>
&nbsp;{license.Company}
</div>
);
}
}
return (
<Modal
dialogClassName='about-modal'
show={this.props.show}
onHide={this.doHide}
>
<Modal.Header closeButton={true}>
<Modal.Title>
<FormattedMessage
id='about.title'
defaultMessage='About Mattermost'
/>
</Modal.Title>
</Modal.Header>
<Modal.Body>
<div className='about-modal__content'>
<div className='about-modal__logo'>
<span
className='icon'
dangerouslySetInnerHTML={{__html: mattermostLogo}}
/>
</div>
<div>
<h3 className='about-modal__title'>{'Mattermost'} {title}</h3>
<p className='about-modal__subtitle padding-bottom'>{subTitle}</p>
<div className='form-group less'>
<div>
<FormattedMessage
id='about.version'
defaultMessage='Version:'
/>
&nbsp;{config.Version}&nbsp;({config.BuildNumber})
</div>
</div>
{licensee}
</div>
</div>
<div className='about-modal__footer'>
{learnMore}
<div className='form-group about-modal__copyright'>
<FormattedMessage
id='about.copyright'
defaultMessage='Copyright 2016 Mattermost, Inc. All rights reserved'
/>
</div>
</div>
<div className='about-modal__hash form-group padding-top x2'>
<p>
<FormattedMessage
id='about.hash'
defaultMessage='Build Hash:'
/>
&nbsp;{config.BuildHash}
</p>
<p>
<FormattedMessage
id='about.date'
defaultMessage='Build Date:'
/>
&nbsp;{config.BuildDate}
</p>
</div>
</Modal.Body>
</Modal>
);
}
}
AboutBuildModal.defaultProps = {
show: false
};
AboutBuildModal.propTypes = {
show: React.PropTypes.bool.isRequired,
onModalDismissed: React.PropTypes.func.isRequired
};