1
0
mirror of https://github.com/ascribe/onion.git synced 2024-11-15 01:25:17 +01:00

cc fixes in licenses, collection and details

This commit is contained in:
diminator 2015-09-29 15:58:24 +02:00
parent 8e62206a21
commit f64fb73aa6
4 changed files with 49 additions and 8 deletions

View File

@ -25,7 +25,7 @@ import CollapsibleParagraph from './../ascribe_collapsible/collapsible_paragraph
import Form from './../ascribe_forms/form'; import Form from './../ascribe_forms/form';
import Property from './../ascribe_forms/property'; import Property from './../ascribe_forms/property';
import EditionDetailProperty from './detail_property'; import EditionDetailProperty from './detail_property';
import LicenseDetail from './license_detail';
import EditionFurtherDetails from './further_details'; import EditionFurtherDetails from './further_details';
import ListRequestActions from './../ascribe_forms/list_form_request_actions'; import ListRequestActions from './../ascribe_forms/list_form_request_actions';
@ -317,6 +317,7 @@ let EditionSummary = React.createClass({
<EditionDetailProperty <EditionDetailProperty
label={getLangText('OWNER')} label={getLangText('OWNER')}
value={ this.props.edition.owner } /> value={ this.props.edition.owner } />
<LicenseDetail license={this.props.edition.license_type}/>
{this.getStatus()} {this.getStatus()}
{this.getActions()} {this.getActions()}
<hr/> <hr/>

View File

@ -0,0 +1,31 @@
'use strict';
import React from 'react';
import DetailProperty from './detail_property';
/**
* This is the component that implements display-specific functionality
*/
let LicenseDetail = React.createClass({
propTypes: {
license: React.PropTypes.object
},
render () {
if (this.props.license.code === 'default') {
return null;
}
return (
<DetailProperty
label="LICENSE"
value={
<a href={this.props.license.url} target="_blank">
{ this.props.license.code.toUpperCase() + ': ' + this.props.license.name}
</a>
}
/>
);
}
});
export default LicenseDetail;

View File

@ -19,6 +19,7 @@ import CollapsibleParagraph from './../ascribe_collapsible/collapsible_paragraph
import FurtherDetails from './further_details'; import FurtherDetails from './further_details';
import DetailProperty from './detail_property'; import DetailProperty from './detail_property';
import LicenseDetail from './license_detail';
import HistoryIterator from './history_iterator'; import HistoryIterator from './history_iterator';
import AclButtonList from './../ascribe_buttons/acl_button_list'; import AclButtonList from './../ascribe_buttons/acl_button_list';
@ -224,6 +225,7 @@ let PieceContainer = React.createClass({
<div className="ascribe-detail-header"> <div className="ascribe-detail-header">
<DetailProperty label={getLangText('REGISTREE')} value={ this.state.piece.user_registered } /> <DetailProperty label={getLangText('REGISTREE')} value={ this.state.piece.user_registered } />
<DetailProperty label={getLangText('ID')} value={ this.state.piece.bitcoin_id } ellipsis={true} /> <DetailProperty label={getLangText('ID')} value={ this.state.piece.bitcoin_id } ellipsis={true} />
<LicenseDetail license={this.state.piece.license_type} />
</div> </div>
} }
buttons={this.getActions()}> buttons={this.getActions()}>

View File

@ -46,12 +46,19 @@ let CCRegisterPiece = React.createClass({
label={getLangText('Copyright license%s', '...')} label={getLangText('Copyright license%s', '...')}
onChange={this.onLicenseChange} onChange={this.onLicenseChange}
footer={ footer={
<a <span className="pull-right">
className="pull-right" <a
href={this.state.licenses[this.state.selectedLicense].url} href={this.state.licenses[this.state.selectedLicense].url}
target="_blank"> target="_blank">
{getLangText('Learn more')} {getLangText('Learn more about ') + this.state.licenses[this.state.selectedLicense].code}
</a> </a>
&nbsp;(
<a
href='https://www.ascribe.io/faq/#legals'
target="_blank">
{getLangText('ascribe faq')}
</a>)
</span>
}> }>
<select name="license"> <select name="license">
{this.state.licenses.map((license, i) => { {this.state.licenses.map((license, i) => {
@ -74,7 +81,7 @@ let CCRegisterPiece = React.createClass({
return ( return (
<RegisterPiece <RegisterPiece
enableLocalHashing={false} enableLocalHashing={false}
headerMessage={getLangText('Submit to Creative Commons')} headerMessage={getLangText('Register under a Creative Commons license')}
submitMessage={getLangText('Submit')}> submitMessage={getLangText('Submit')}>
{this.getLicenses()} {this.getLicenses()}
</RegisterPiece> </RegisterPiece>