Add policyLink configuration to piwik

Also:
 - Make CookieBar ES6 class
 - Alter phrasing on CookieBar
 - Conditionaly display longer "...(See our ++cookie and privacy
   policies++)." if policy link is configured.
pull/21833/head
Luke Barnard 2018-05-16 15:49:23 +01:00
parent 4e6594d64b
commit d15051a635
3 changed files with 35 additions and 28 deletions

View File

@ -355,7 +355,8 @@ const LoggedInView = React.createClass({
let topBar;
const isGuest = this.props.matrixClient.isGuest();
if (this.props.showCookieBar) {
topBar = <CookieBar />;
const policyUrl = this.props.config.piwik ? (this.props.config.piwik.policyUrl || null) : null;
topBar = <CookieBar policyUrl={policyUrl} />;
} else if (this.props.hasNewVersion) {
topBar = <NewVersionBar version={this.props.version} newVersion={this.props.newVersion}
releaseNotes={this.props.newVersionReleaseNotes}

View File

@ -15,59 +15,64 @@ limitations under the License.
*/
import React from 'react';
import PropTypes from 'prop-types';
import dis from '../../../dispatcher';
import { _t } from '../../../languageHandler';
import sdk from '../../../index';
const makeLink = (href) => (sub) =>
<a
className="mx_MatrixToolbar_link"
target="_blank"
href={href}
>
{ sub }
</a>;
export default class CookieBar extends React.Component {
static propTypes = {
policyUrl: PropTypes.string,
}
export default React.createClass({
onAccept: function() {
constructor() {
super();
}
onAccept() {
dis.dispatch({
action: 'accept_cookies',
});
},
}
onReject: function() {
onReject() {
dis.dispatch({
action: 'reject_cookies',
});
},
}
render: function() {
render() {
const AccessibleButton = sdk.getComponent('elements.AccessibleButton');
const toolbarClasses = "mx_MatrixToolbar";
return (
<div className={toolbarClasses}>
<img className="mx_MatrixToolbar_warning" src="img/warning.svg" width="24" height="23" alt="Warning" />
<div className="mx_MatrixToolbar_content">
{ _t(
"Help us improve Riot by sending usage data. " +
"This will use a cookie " +
"(see our <CookieLink>cookie</CookieLink> and " +
"<PrivacyLink>privacy</PrivacyLink> policies)",
{ this.props.policyUrl ? _t(
"Help improve Riot by sending usage data? " +
"This will use a cookie. " +
"(See our <PolicyLink>cookie and privacy policies</PolicyLink>).",
{},
{
// XXX: We need to link to the page that explains our cookies
'CookieLink': makeLink("https://riot.im/privacy"),
'PrivacyLink': makeLink("https://riot.im/privacy"),
'PolicyLink': (sub) => <a
className="mx_MatrixToolbar_link"
target="_blank"
href={this.props.policyUrl}
>
{ sub }
</a>
,
},
) }
) : _t("Help improve Riot by sending usage data? This will use a cookie.") }
</div>
<AccessibleButton element='button' className="mx_MatrixToolbar_action" onClick={this.onAccept}>
{ _t("Send usage data") }
{ _t("Yes please") }
</AccessibleButton>
<AccessibleButton className="mx_MatrixToolbar_close" onClick={this.onReject}>
<img src="img/cancel.svg" width="18" height="18" />
</AccessibleButton>
</div>
);
},
});
}
}

View File

@ -634,8 +634,9 @@
"Something went wrong when trying to get your communities.": "Something went wrong when trying to get your communities.",
"Display your community flair in rooms configured to show it.": "Display your community flair in rooms configured to show it.",
"You're not currently a member of any communities.": "You're not currently a member of any communities.",
"Help us improve Riot by sending usage data. This will use a cookie (see our <CookieLink>cookie</CookieLink> and <PrivacyLink>privacy</PrivacyLink> policies)": "Help us improve Riot by sending usage data. This will use a cookie (see our <CookieLink>cookie</CookieLink> and <PrivacyLink>privacy</PrivacyLink> policies)",
"Send usage data": "Send usage data",
"Help improve Riot by sending usage data? This will use a cookie. (See our <PolicyLink>cookie and privacy policies</PolicyLink>).": "Help improve Riot by sending usage data? This will use a cookie. (See our <PolicyLink>cookie and privacy policies</PolicyLink>).",
"Help improve Riot by sending usage data? This will use a cookie.": "Help improve Riot by sending usage data? This will use a cookie.",
"Yes please": "Yes please",
"You are not receiving desktop notifications": "You are not receiving desktop notifications",
"Enable them now": "Enable them now",
"What's New": "What's New",