Staging #1066

Merged
jessopb merged 55 commits from staging into release 2020-05-16 17:08:51 +02:00
4 changed files with 69 additions and 61 deletions
Showing only changes of commit 28699f0992 - Show all commits

View file

@ -1,44 +1,44 @@
@import '_variables'; @import '~scss/_variables';
@import '_reset'; @import '~scss/_reset';
@import 'font/_font.scss'; @import '~scss/font/_font.scss';
@import '_html'; @import '~scss/_html';
@import '_body'; @import '~scss/_body';
@import '_react-app'; @import '~scss/_react-app';
@import '_text'; @import '~scss/_text';
@import '_link'; @import '~scss/_link';
@import '_input'; @import '~scss/_input';
@import '_select'; @import '~scss/_select';
@import '_textarea'; @import '~scss/_textarea';
@import '_video'; @import '~scss/_video';
@import '_form'; @import '~scss/_form';
@import '_asset-display'; @import '~scss/_asset-display';
@import '_asset-preview'; @import '~scss/_asset-preview';
@import '_button'; @import '~scss/_button';
@import '_button-primary'; @import '~scss/_button-primary';
@import '_button-secondary'; @import '~scss/_button-secondary';
@import '_click-to-copy'; @import '~scss/_click-to-copy';
@import '_form-feedback'; @import '~scss/_form-feedback';
@import '_horizontal-split'; @import '~scss/_horizontal-split';
@import '_label'; @import '~scss/_label';
@import '_nav-bar'; @import '~scss/_nav-bar';
@import '_page-layout'; @import '~scss/_page-layout';
@import '_page-layout-show-lite'; @import '~scss/_page-layout-show-lite';
@import '_page-content'; @import '~scss/_page-content';
@import '_progress-bar'; @import '~scss/_progress-bar';
@import '_publish-preview'; @import '~scss/_publish-preview';
@import '_share-buttons'; @import '~scss/_share-buttons';
@import '_space-between'; @import '~scss/_space-between';
@import '_space-around'; @import '~scss/_space-around';
@import '_row'; @import '~scss/_row';
@import '_tooltip'; @import '~scss/_tooltip';
@import '_social-share-link'; @import '~scss/_social-share-link';
@import '_channel-claims-display'; @import '~scss/_channel-claims-display';
@import '_dropzone'; @import '~scss/_dropzone';
@import '_publish-url-input'; @import '~scss/_publish-url-input';
@import '_publish-status'; @import '~scss/_publish-status';
@import '_publish-disabled-message'; @import '~scss/_publish-disabled-message';
@import '_media-queries'; @import '~scss/_media-queries';

View file

@ -2,22 +2,20 @@ import React from 'react';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import Label from '@components/Label'; import Label from '@components/Label';
import RowLabeled from '@components/RowLabeled'; import RowLabeled from '@components/RowLabeled';
import Row from '@components/Row';
import SpaceBetween from '@components/SpaceBetween'; import SpaceBetween from '@components/SpaceBetween';
import AssetShareButtons from '@components/AssetShareButtons'; import AssetShareButtons from '@components/AssetShareButtons';
import ClickToCopy from '@components/ClickToCopy'; import ClickToCopy from '@components/ClickToCopy';
import HorizontalSplit from '@components/HorizontalSplit'; import HorizontalSplit from '@components/HorizontalSplit';
import siteConfig from '@config/siteConfig.json'; import siteConfig from '@config/siteConfig.json';
const { details: { host } } = siteConfig;
import createCanonicalLink from '../../../../utils/createCanonicalLink'; import createCanonicalLink from '../../../../utils/createCanonicalLink';
import AssetInfoFooter from '../../components/AssetInfoFooter/index'; import AssetInfoFooter from '../../components/AssetInfoFooter/index';
const { details: { host } } = siteConfig;
class AssetInfo extends React.Component { class AssetInfo extends React.Component {
render () { render () {
const { editable, asset } = this.props; const { editable, asset } = this.props;
const { claimViews, claimData } = asset; const { claimViews, claimData } = asset;
const { channelName, claimId, channelShortId, description, name, fileExt, contentType, host } = claimData; const { channelName, claimId, channelShortId, description, name, fileExt, contentType, host, certificateId } = claimData;
const canonicalUrl = createCanonicalLink({ asset: { ...claimData, shortId: asset.shortId }}); const canonicalUrl = createCanonicalLink({ asset: { ...claimData, shortId: asset.shortId }});
const assetCanonicalUrl = `${host}${canonicalUrl}`; const assetCanonicalUrl = `${host}${canonicalUrl}`;
@ -25,7 +23,7 @@ class AssetInfo extends React.Component {
let channelCanonicalUrl; let channelCanonicalUrl;
if (channelName) { if (channelName) {
const channel = { const channel = {
name: channelName, name : channelName,
shortId: channelShortId, shortId: channelShortId,
}; };
channelCanonicalUrl = `${createCanonicalLink({channel})}`; channelCanonicalUrl = `${createCanonicalLink({channel})}`;
@ -116,6 +114,18 @@ class AssetInfo extends React.Component {
} }
/> />
<RowLabeled
label={
<Label value={'ID for Robots'} />
}
content={
<ClickToCopy
id={'short-link'}
value={`${channelName}#${certificateId}/${name}`}
/>
}
/>
<SpaceBetween> <SpaceBetween>
<a <a
className='link--primary' className='link--primary'
@ -130,6 +140,13 @@ class AssetInfo extends React.Component {
> >
Download Download
</a> </a>
<a
className={'link--primary'}
href={`https://open.lbry.io/${channelName}#${certificateId}/${name}`}
download={name}
>
LBRY URL
</a>
<a <a
className={'link--primary'} className={'link--primary'}
target='_blank' target='_blank'
@ -140,7 +157,7 @@ class AssetInfo extends React.Component {
</SpaceBetween> </SpaceBetween>
</div> </div>
} /> } />
<AssetInfoFooter/> <AssetInfoFooter />
</div> </div>
); );
} }

View file

@ -2,6 +2,7 @@ const { statSync, existsSync, readdirSync } = require('fs');
const { join, resolve } = require('path'); const { join, resolve } = require('path');
const DEFAULT_ROOT = 'client/build'; const DEFAULT_ROOT = 'client/build';
const CUSTOM_ROOT = 'site/custom/build'; const CUSTOM_ROOT = 'site/custom/build';
const DEFAULT_SCSS_ROOT = 'client/scss';
const CUSTOM_SCSS_ROOT = 'site/custom/scss'; const CUSTOM_SCSS_ROOT = 'site/custom/scss';
const getFolders = path => { const getFolders = path => {
@ -23,17 +24,6 @@ const addAliasesForCustomComponentFolder = (name, aliasObject) => {
return aliasObject; return aliasObject;
}; };
const addAlliasesForSCSS = (aliasObject) => { // scss
// creates an alias for every folder found in the custom scss folder
const customScssRoot = resolve(`${CUSTOM_SCSS_ROOT}`);
const customFolders = getFolders(customScssRoot);
for (let i = 0; i < customFolders.length; i++) {
let folderName = customFolders[i];
aliasObject[folderName] = resolve(`${CUSTOM_SCSS_ROOT}/${folderName}`);
}
return aliasObject;
};
module.exports = () => { module.exports = () => {
let moduleAliases = {}; let moduleAliases = {};
@ -58,9 +48,6 @@ module.exports = () => {
moduleAliases['@sagas'] = resolve(`${DEFAULT_ROOT}/sagas`); moduleAliases['@sagas'] = resolve(`${DEFAULT_ROOT}/sagas`);
moduleAliases['@app'] = resolve(`${DEFAULT_ROOT}/app.js`); moduleAliases['@app'] = resolve(`${DEFAULT_ROOT}/app.js`);
// scss aliases
moduleAliases = addAlliasesForSCSS(moduleAliases);
// return finished aliases // return finished aliases
return moduleAliases; return moduleAliases;
}; };

View file

@ -2,6 +2,8 @@ const Path = require('path');
const ExtractTextPlugin = require('extract-text-webpack-plugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin');
const createModuleAliases = require('./utils/createModuleAliases.js'); const createModuleAliases = require('./utils/createModuleAliases.js');
const SCSS_ROOT = Path.join(__dirname, 'client/scss/'); const SCSS_ROOT = Path.join(__dirname, 'client/scss/');
const CLIENT_ROOT = Path.join(__dirname, 'client/');
const CUSTOM_CLIENT_ROOT = Path.join(__dirname, 'site/custom/');
const customAliases = createModuleAliases(); const customAliases = createModuleAliases();
@ -38,6 +40,8 @@ module.exports = {
}, },
resolve: { resolve: {
modules: [ modules: [
CUSTOM_CLIENT_ROOT,
CLIENT_ROOT,
SCSS_ROOT, SCSS_ROOT,
'node_modules', 'node_modules',
__dirname, __dirname,