1
0
mirror of https://github.com/ascribe/onion.git synced 2024-12-22 17:33:14 +01:00

Merge pull request #25 from ascribe/AD-1309-change-share-to-email

Change Share button to Email
This commit is contained in:
Tim Daubenschütz 2015-11-16 17:01:30 +01:00
commit 5316c818b4
6 changed files with 28 additions and 16 deletions

View File

@ -6,9 +6,9 @@ import UserActions from '../../actions/user_actions';
import UserStore from '../../stores/user_store'; import UserStore from '../../stores/user_store';
import ConsignButton from './acls/consign_button'; import ConsignButton from './acls/consign_button';
import EmailButton from './acls/email_button';
import LoanButton from './acls/loan_button'; import LoanButton from './acls/loan_button';
import LoanRequestButton from './acls/loan_request_button'; import LoanRequestButton from './acls/loan_request_button';
import ShareButton from './acls/share_button';
import TransferButton from './acls/transfer_button'; import TransferButton from './acls/transfer_button';
import UnconsignButton from './acls/unconsign_button'; import UnconsignButton from './acls/unconsign_button';
@ -90,7 +90,7 @@ let AclButtonList = React.createClass({
return ( return (
<div className={className}> <div className={className}>
<span ref="buttonList" style={buttonsStyle}> <span ref="buttonList" style={buttonsStyle}>
<ShareButton <EmailButton
availableAcls={availableAcls} availableAcls={availableAcls}
pieceOrEditions={pieceOrEditions} pieceOrEditions={pieceOrEditions}
currentUser={currentUser} currentUser={currentUser}

View File

@ -3,7 +3,7 @@
import React from 'react'; import React from 'react';
import classnames from 'classnames'; import classnames from 'classnames';
import { InformationTexts } from '../../constants/information_text'; import { AclInformationText } from '../../constants/acl_information_text';
import { replaceSubstringAtIndex, sanitize, intersectLists } from '../../utils/general_utils'; import { replaceSubstringAtIndex, sanitize, intersectLists } from '../../utils/general_utils';
import { getLangText } from '../../utils/lang_utils'; import { getLangText } from '../../utils/lang_utils';
@ -38,7 +38,7 @@ let AclInformation = React.createClass({
}, },
getInfoText(title, info, example){ getInfoText(title, info, example){
let aim = this.props.aim; const aim = this.props.aim;
if(aim) { if(aim) {
if(aim === 'form') { if(aim === 'form') {
@ -75,7 +75,7 @@ let AclInformation = React.createClass({
}, },
produceInformationBlock() { produceInformationBlock() {
const { titles, informationSentences, exampleSentences } = InformationTexts; const { titles, informationSentences, exampleSentences } = AclInformationText;
const { verbs, aim } = this.props; const { verbs, aim } = this.props;
const availableInformations = intersectLists(verbs, Object.keys(titles)); const availableInformations = intersectLists(verbs, Object.keys(titles));
@ -95,7 +95,13 @@ let AclInformation = React.createClass({
} }
return verbsToDisplay.map((verb) => { return verbsToDisplay.map((verb) => {
return this.getInfoText(getLangText(titles[verb]), getLangText(informationSentences[verb]), getLangText(exampleSentences[verb])); const title = titles[verb];
const informationSentence = informationSentences[verb];
const exampleSentence = exampleSentences[verb];
if (title && informationSentence && exampleSentence) {
return this.getInfoText(getLangText(title), getLangText(informationSentence), getLangText(exampleSentence));
}
}); });
}, },

View File

@ -11,6 +11,8 @@ import ModalWrapper from '../../ascribe_modal/modal_wrapper';
import AppConstants from '../../../constants/application_constants'; import AppConstants from '../../../constants/application_constants';
import { AclInformationText } from '../../../constants/acl_information_text';
export default function ({ action, displayName, title, tooltip }) { export default function ({ action, displayName, title, tooltip }) {
if (AppConstants.aclList.indexOf(action) < 0) { if (AppConstants.aclList.indexOf(action) < 0) {
@ -34,12 +36,11 @@ export default function ({ action, displayName, title, tooltip }) {
className: React.PropTypes.string className: React.PropTypes.string
}, },
// Removes the acl_ prefix and converts to upper case
sanitizeAction() { sanitizeAction() {
if (this.props.buttonAcceptName) { if (this.props.buttonAcceptName) {
return this.props.buttonAcceptName; return this.props.buttonAcceptName;
} }
return action.split('acl_')[1].toUpperCase(); return AclInformationText.titles[action];
}, },
render() { render() {

View File

@ -8,7 +8,7 @@ import { getLangText } from '../../../utils/lang_utils';
export default AclButton({ export default AclButton({
action: 'acl_share', action: 'acl_share',
displayName: 'ShareButton', displayName: 'EmailButton',
title: getLangText('Share artwork'), title: getLangText('Share artwork via email'),
tooltip: getLangText('Share the artwork') tooltip: getLangText("Share the artwork to another user's collection through email")
}); });

View File

@ -1,10 +1,12 @@
'use strict'; 'use strict';
export const InformationTexts = { export const AclInformationText = {
'titles': { 'titles': {
'acl_consign': 'CONSIGN', 'acl_consign': 'CONSIGN',
'acl_loan': 'LOAN', 'acl_loan': 'LOAN',
'acl_share': 'SHARE', 'acl_loan_request': 'LOAN',
'acl_share': 'EMAIL',
'acl_transfer': 'TRANSFER',
'acl_delete': 'DELETE', 'acl_delete': 'DELETE',
'acl_create_editions': 'CREATE EDITIONS', 'acl_create_editions': 'CREATE EDITIONS',
'acl_unconsign': 'UNCONSIGN', 'acl_unconsign': 'UNCONSIGN',
@ -13,7 +15,7 @@ export const InformationTexts = {
'informationSentences': { 'informationSentences': {
'acl_consign': ' - Lets someone represent you in dealing with the work, under the terms you agree to.', 'acl_consign': ' - Lets someone represent you in dealing with the work, under the terms you agree to.',
'acl_loan': ' - Lets someone use or put the Work on display for a limited amount of time.', 'acl_loan': ' - Lets someone use or put the Work on display for a limited amount of time.',
'acl_share': ' - Lets someone view the Work or Edition, but does not give rights to publish or display it.', 'acl_share': ' - Lets someone view the Work or Edition via email, but does not give rights to publish or display it.',
'acl_delete': ' - Removes the Work from your Wallet. Note that the previous registration and transfer ' + 'acl_delete': ' - Removes the Work from your Wallet. Note that the previous registration and transfer ' +
'history will still exist on the blockchain and cannot be deleted.', 'history will still exist on the blockchain and cannot be deleted.',
'acl_create_editions': ' Lets the artist set a fixed number of editions of a work which can then be transferred, guaranteeing each edition is authentic and from the artist.', 'acl_create_editions': ' Lets the artist set a fixed number of editions of a work which can then be transferred, guaranteeing each edition is authentic and from the artist.',
@ -24,10 +26,10 @@ export const InformationTexts = {
'acl_consign': '(e.g. an artist Consigns 10 Editions of her new Work to a gallery ' + 'acl_consign': '(e.g. an artist Consigns 10 Editions of her new Work to a gallery ' +
'so the gallery can sell them on her behalf, under the terms the artist and the gallery have agreed to)', 'so the gallery can sell them on her behalf, under the terms the artist and the gallery have agreed to)',
'acl_loan': '(e.g. a collector Loans a Work to a gallery for one month for display in the gallery\'s show)', 'acl_loan': '(e.g. a collector Loans a Work to a gallery for one month for display in the gallery\'s show)',
'acl_share': '(e.g. a photographer Shares proofs of a graduation photo with the graduate\'s grandparents)', 'acl_share': '(e.g. a photographer Shares proofs of a graduation photo with the graduate\'s grandparents by email)',
'acl_delete': '(e.g. an artist uploaded the wrong file and doesn\'t want it cluttering his Wallet, so he Deletes it)', 'acl_delete': '(e.g. an artist uploaded the wrong file and doesn\'t want it cluttering his Wallet, so he Deletes it)',
'acl_create_editions': '(e.g. A company commissions a visual artists to create three limited edition prints for a giveaway)', 'acl_create_editions': '(e.g. A company commissions a visual artists to create three limited edition prints for a giveaway)',
'acl_unconsign': '(e.g. An artist regains full control over their work and releases the consignee of any rights or responsibilities)', 'acl_unconsign': '(e.g. An artist regains full control over their work and releases the consignee of any rights or responsibilities)',
'acl_request_unconsign': '(e.g. An artist submits an unconsign request to a gallery after his exhibition ends, as per their agreement)' 'acl_request_unconsign': '(e.g. An artist submits an unconsign request to a gallery after his exhibition ends, as per their agreement)'
} }
}; };

View File

@ -17,6 +17,7 @@ const languages = {
'%s license': '%s license', '%s license': '%s license',
'Log into': 'Log into', 'Log into': 'Log into',
'Email': 'Email', 'Email': 'Email',
'EMAIL': 'EMAIL',
'Enter your email': 'Enter your email', 'Enter your email': 'Enter your email',
'Password': 'Password', 'Password': 'Password',
'Enter your password': 'Enter your password', 'Enter your password': 'Enter your password',
@ -245,6 +246,7 @@ const languages = {
'%s license': '%s license', '%s license': '%s license',
'Log into': 'Log into', 'Log into': 'Log into',
'Email': 'Email', 'Email': 'Email',
'EMAIL': 'EMAIL',
'Enter your email': 'Enter your email', 'Enter your email': 'Enter your email',
'Password': 'Password', 'Password': 'Password',
'Enter your password': 'Enter your password', 'Enter your password': 'Enter your password',
@ -473,6 +475,7 @@ const languages = {
'%s license': '%s license', '%s license': '%s license',
'Log into': 'Se connecter à', 'Log into': 'Se connecter à',
'Email': 'E-mail', 'Email': 'E-mail',
'EMAIL': 'E-MAIL',
'Enter your email': 'Entrez votre courriel', 'Enter your email': 'Entrez votre courriel',
'Password': 'Mot de passe', 'Password': 'Mot de passe',
'Enter your password': 'Entrez votre mot de passe', 'Enter your password': 'Entrez votre mot de passe',