moar cleanup
This commit is contained in:
parent
44b5c27ef5
commit
3bbe2582e5
59 changed files with 190 additions and 214 deletions
|
@ -1,16 +1,30 @@
|
||||||
|
.asset-main {
|
||||||
|
height: 80vh;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
.asset-display {
|
.asset-display {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
flex: 1 0 auto;
|
flex: 1 1 auto;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
min-height: 50vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
.asset-title {
|
.asset-title {
|
||||||
padding-top: $secondary-padding;
|
padding-bottom: $thin-padding;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
@media (min-width: $break-point-mobile) {
|
||||||
|
padding-top: $secondary-padding;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.asset-image, .asset-video {
|
.asset-image, .asset-video {
|
||||||
|
@ -50,7 +64,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
.vertical-split, .visible-content {
|
.vertical-split, .visible-content {
|
||||||
flex : 1 0 auto;
|
flex : 1 0 auto;
|
||||||
display : flex;
|
display : flex;
|
||||||
|
@ -80,7 +94,6 @@
|
||||||
height: 25px;
|
height: 25px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
padding-left: 10px;
|
|
||||||
|
|
||||||
@media (max-width: $break-point-tablet) {
|
@media (max-width: $break-point-tablet) {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
@ -101,93 +114,25 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
.asset-info {
|
.asset-info {
|
||||||
$asset-info-width: 1000px;
|
$asset-info-width: 1000px;
|
||||||
max-width: $asset-info-width;
|
max-width: $asset-info-width;
|
||||||
|
margin: $primary-padding;
|
||||||
@media (max-width: $asset-info-width) {
|
max-width: 100%;
|
||||||
margin: 0px auto;
|
|
||||||
max-width: 100%;
|
|
||||||
width: calc(100% - 80px);
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: $break-point-tablet) {
|
@media (max-width: $break-point-tablet) {
|
||||||
width: calc(100% - 30px);
|
margin: $primary-padding $secondary-padding;
|
||||||
}
|
}
|
||||||
|
|
||||||
.horizontal-split {
|
@media (max-width: $break-point-mobile) {
|
||||||
justify-content: center;
|
margin: $primary-padding 0;
|
||||||
|
|
||||||
.column {
|
|
||||||
padding-top: $primary-padding;
|
|
||||||
padding-bottom: $primary-padding;
|
|
||||||
|
|
||||||
.row-labeled
|
|
||||||
{
|
|
||||||
margin-bottom: $secondary-padding;
|
|
||||||
&:last-child { margin-bottom: 0; }
|
|
||||||
}
|
|
||||||
|
|
||||||
&:first-child {
|
|
||||||
border-right: 1px solid $grey-border;
|
|
||||||
margin-right: -1px;
|
|
||||||
padding-right: 40px;
|
|
||||||
|
|
||||||
@media (max-width: $break-point-tablet) {
|
|
||||||
border: none;
|
|
||||||
margin: 0;
|
|
||||||
order: 2;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&:last-child {
|
|
||||||
border-left: 1px solid $grey-border;
|
|
||||||
padding-left: 60px;
|
|
||||||
|
|
||||||
@media (max-width: $break-point-tablet) {
|
|
||||||
border: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 40px 0 0 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
p.asset-description {
|
|
||||||
color: #2E2F31;
|
|
||||||
font-size: 14px;
|
|
||||||
letter-spacing: 0;
|
|
||||||
line-height: 18px;
|
|
||||||
padding-bottom: 80px;
|
|
||||||
white-space: pre-line;
|
|
||||||
width: 360px;
|
|
||||||
|
|
||||||
@media (max-width: $break-point-tablet) {
|
|
||||||
margin: 22px 0 60px;
|
|
||||||
max-width: 600px;
|
|
||||||
padding: 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.asset-information {
|
|
||||||
width: 320px;
|
|
||||||
|
|
||||||
@media (max-width: $break-point-tablet) {
|
|
||||||
border-bottom: 1px solid $grey-border;
|
|
||||||
min-width: 100%;
|
|
||||||
padding-bottom: 30px;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.asset-footer {
|
.asset-footer {
|
||||||
border-top: 1px solid $grey-border;
|
border-top: 1px solid $grey-border;
|
||||||
padding: $tertiary-padding $primary-padding;
|
padding-top: $primary-padding;
|
||||||
|
margin-top: $primary-padding;
|
||||||
color: $grey;
|
color: $grey;
|
||||||
}
|
}
|
7
client/scss/_form.scss
Normal file
7
client/scss/_form.scss
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
.form-group {
|
||||||
|
padding-bottom: $secondary-padding;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-title {
|
||||||
|
padding-bottom: $secondary-padding;
|
||||||
|
}
|
|
@ -6,6 +6,21 @@
|
||||||
display : flex;
|
display : flex;
|
||||||
flex-direction : row;
|
flex-direction : row;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
|
&.horizontal-split--mobile-collapse {
|
||||||
|
@media (max-width: $break-point-mobile) {
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
.horizontal-split__column {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.horizontal-split__column--right {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-top: $secondary-padding;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
.horizontal-split__column {
|
.horizontal-split__column {
|
||||||
|
@ -16,10 +31,18 @@
|
||||||
|
|
||||||
.horizontal-split__column--left {
|
.horizontal-split__column--left {
|
||||||
padding-right: $primary-padding;
|
padding-right: $primary-padding;
|
||||||
|
|
||||||
|
@media (max-width: $break-point-mobile) {
|
||||||
|
padding-right: $thin-padding;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.horizontal-split__column--right {
|
.horizontal-split__column--right {
|
||||||
padding-left: $primary-padding;
|
padding-left: $primary-padding;
|
||||||
|
|
||||||
|
@media (max-width: $break-point-mobile) {
|
||||||
|
padding-left: $thin-padding;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: $break-point-tablet) {
|
@media (max-width: $break-point-tablet) {
|
|
@ -10,10 +10,6 @@ input {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-text {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.input-slider {
|
.input-slider {
|
||||||
width: 100%
|
width: 100%
|
||||||
}
|
}
|
||||||
|
@ -42,6 +38,10 @@ input {
|
||||||
border-bottom: 1px solid $secondary-color;
|
border-bottom: 1px solid $secondary-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.form-group {
|
||||||
|
padding-bottom: $secondary-padding;
|
||||||
|
}
|
||||||
|
|
||||||
// modifiers
|
// modifiers
|
||||||
|
|
||||||
.input--full-width {
|
.input--full-width {
|
|
@ -2,18 +2,11 @@
|
||||||
margin-top: $thin-padding;
|
margin-top: $thin-padding;
|
||||||
margin-left: $primary-padding;
|
margin-left: $primary-padding;
|
||||||
margin-right: $primary-padding;
|
margin-right: $primary-padding;
|
||||||
|
|
||||||
@media (max-width: $break-point-mobile) {
|
@media (max-width: $break-point-mobile) {
|
||||||
margin-left: 15px;
|
margin-left: 15px;
|
||||||
margin-right: 15px;
|
margin-right: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.select--arrow {
|
|
||||||
padding: 0 1.5em 0 $input-padding;
|
|
||||||
font-size: 14px;
|
|
||||||
letter-spacing: 0.4px;
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-bar-link {
|
.nav-bar-link {
|
||||||
|
@ -35,7 +28,7 @@
|
||||||
padding-bottom: calc(1em - 2px);
|
padding-bottom: calc(1em - 2px);
|
||||||
padding-left: 1em;
|
padding-left: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: $break-point-mobile ) {
|
@media (max-width: $break-point-mobile ) {
|
||||||
|
@ -46,5 +39,3 @@
|
||||||
padding-left: 0.5em;
|
padding-left: 0.5em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
.progress-bar__wrapper {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
.progress-bar--inactive {
|
.progress-bar--inactive {
|
||||||
color: $grey;
|
color: $grey;
|
||||||
}
|
}
|
|
@ -2,6 +2,10 @@
|
||||||
max-width: $width-content-constrained;
|
max-width: $width-content-constrained;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
|
|
||||||
|
@media (max-width: $break-point-mobile) {
|
||||||
|
font-size: .8em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.publish-preview-dim {
|
.publish-preview-dim {
|
|
@ -7,6 +7,7 @@
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
|
padding-bottom: $tertiary-padding;
|
||||||
}
|
}
|
||||||
|
|
||||||
.row-labeled-label {
|
.row-labeled-label {
|
||||||
|
@ -14,8 +15,6 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
//bad, fix this
|
|
||||||
.label { padding-top: 0; padding-bottom: 0; }
|
|
||||||
}
|
}
|
||||||
.row-labeled-content {
|
.row-labeled-content {
|
||||||
align-self: center;
|
align-self: center;
|
||||||
|
@ -32,4 +31,4 @@
|
||||||
.row-labeled-content {
|
.row-labeled-content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
4
client/scss/_select.scss
Normal file
4
client/scss/_select.scss
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
select {
|
||||||
|
margin: 0;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
|
@ -1,45 +1,44 @@
|
||||||
@import '~variables/_variables';
|
@import '_variables';
|
||||||
@import '~reset/_reset';
|
@import '_reset';
|
||||||
@import '~font/_font';
|
@import 'font/_font.scss';
|
||||||
@import '~html/_html';
|
@import '_html';
|
||||||
@import '~body/_body';
|
@import '_body';
|
||||||
@import '~react-app/_react-app';
|
@import '_react-app';
|
||||||
@import '~text/_text';
|
@import '_text';
|
||||||
|
|
||||||
@import '~link/_link';
|
@import '_link';
|
||||||
@import '~input/_input';
|
@import '_input';
|
||||||
@import '~select/_select';
|
@import '_select';
|
||||||
@import '~textarea/_textarea';
|
@import '_textarea';
|
||||||
@import '~video/_video';
|
@import '_video';
|
||||||
|
@import '_form';
|
||||||
|
|
||||||
@import '~asset-display/_asset-display';
|
@import '_asset-display';
|
||||||
@import '~asset-preview/_asset-preview';
|
@import '_asset-preview';
|
||||||
@import '~button/_button';
|
@import '_button';
|
||||||
@import '~button-primary/_button-primary';
|
@import '_button-primary';
|
||||||
@import '~button-secondary/_button-secondary';
|
@import '_button-secondary';
|
||||||
@import '~click-to-copy/_click-to-copy';
|
@import '_click-to-copy';
|
||||||
@import '~form-feedback/_form-feedback';
|
@import '_form-feedback';
|
||||||
@import '~horizontal-split/_horizontal-split';
|
@import '_horizontal-split';
|
||||||
@import '~label/_label';
|
@import '_label';
|
||||||
@import '~nav-bar/_nav-bar';
|
@import '_nav-bar';
|
||||||
@import '~page-layout/_page-layout';
|
@import '_page-layout';
|
||||||
@import '~page-layout-show-lite/_page-layout-show-lite';
|
@import '_page-layout-show-lite';
|
||||||
@import '~page-content/_page-content';
|
@import '_page-content';
|
||||||
@import '~progress-bar/_progress-bar';
|
@import '_progress-bar';
|
||||||
@import '~publish-preview/_publish-preview';
|
@import '_publish-preview';
|
||||||
@import '~share-buttons/_share-buttons';
|
@import '_share-buttons';
|
||||||
@import '~space-between/_space-between';
|
@import '_space-between';
|
||||||
@import '~space-around/_space-around';
|
@import '_space-around';
|
||||||
@import '~row/_row';
|
@import '_row';
|
||||||
@import '~tooltip/_tooltip';
|
@import '_tooltip';
|
||||||
@import '~social-share-link/_social-share-link';
|
@import '_social-share-link';
|
||||||
|
|
||||||
@import '~channel-claims-display/_channel-claims-display';
|
|
||||||
@import '~dropzone/_dropzone';
|
|
||||||
@import '~publish-url-input/_publish-url-input';
|
|
||||||
@import '~publish-status/_publish-status';
|
|
||||||
@import '~publish-disabled-message/_publish-disabled-message';
|
|
||||||
|
|
||||||
@import '~media-queries/_media-queries';
|
|
||||||
|
|
||||||
|
@import '_channel-claims-display';
|
||||||
|
@import '_dropzone';
|
||||||
|
@import '_publish-url-input';
|
||||||
|
@import '_publish-status';
|
||||||
|
@import '_publish-disabled-message';
|
||||||
|
|
||||||
|
@import '_media-queries';
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
select {
|
|
||||||
margin: 0;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select--arrow {
|
|
||||||
-moz-appearance:none;
|
|
||||||
-webkit-appearance: none;
|
|
||||||
background: url('./icon/chevron-down.svg') no-repeat right;
|
|
||||||
cursor: pointer;
|
|
||||||
padding-right: 1.5em;
|
|
||||||
padding-left: $input-padding
|
|
||||||
}
|
|
|
@ -5,7 +5,6 @@ const ChannelSelectDropdown = ({ selectedChannel, handleSelection, loggedInChann
|
||||||
return (
|
return (
|
||||||
<select
|
<select
|
||||||
id='channel-name-select'
|
id='channel-name-select'
|
||||||
className='select select--arrow'
|
|
||||||
value={selectedChannel}
|
value={selectedChannel}
|
||||||
onChange={handleSelection}>
|
onChange={handleSelection}>
|
||||||
{ loggedInChannelName && (
|
{ loggedInChannelName && (
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
const FormFeedbackDisplay = ({ errorMessage, defaultMessage }) => {
|
const FormFeedbackDisplay = ({ errorMessage, defaultMessage }) => {
|
||||||
return (
|
return (errorMessage || defaultMessage) ? (
|
||||||
<div className={'form-feedback'}>
|
<div className={'form-feedback'}>
|
||||||
{ errorMessage ? (
|
{ errorMessage ? (
|
||||||
<span className={'text--small text--failure'}>{errorMessage}</span>
|
<span className={'text--small text--failure'}>{errorMessage}</span>
|
||||||
|
@ -15,7 +15,7 @@ const FormFeedbackDisplay = ({ errorMessage, defaultMessage }) => {
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
) : null;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default FormFeedbackDisplay;
|
export default FormFeedbackDisplay;
|
||||||
|
|
|
@ -2,13 +2,26 @@ import React from 'react';
|
||||||
|
|
||||||
class HorizontalSplit extends React.Component {
|
class HorizontalSplit extends React.Component {
|
||||||
render () {
|
render () {
|
||||||
|
const { leftSide, rightSide, collapseOnMobile } = this.props;
|
||||||
|
|
||||||
|
let className = 'horizontal-split';
|
||||||
|
if (collapseOnMobile) {
|
||||||
|
className += " horizontal-split--mobile-collapse";
|
||||||
|
}
|
||||||
|
|
||||||
|
// If there is no left side, move the right side to the left
|
||||||
|
// This is mostly for content with no description
|
||||||
|
// It doesn't need to be on the right side with nothing next to it.
|
||||||
|
const leftComponent = leftSide || rightSide;
|
||||||
|
const rightComponent = leftSide ? rightSide : null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={'horizontal-split'}>
|
<div className={className}>
|
||||||
<div className={'horizontal-split__column horizontal-split__column--left'}>
|
<div className={'horizontal-split__column horizontal-split__column--left'}>
|
||||||
{this.props.leftSide}
|
{leftComponent}
|
||||||
</div>
|
</div>
|
||||||
<div className={'horizontal-split__column horizontal-split__column--right'}>
|
<div className={'horizontal-split__column horizontal-split__column--right'}>
|
||||||
{this.props.rightSide}
|
{rightComponent}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -6,7 +6,6 @@ function NavBarChannelDropdown ({ channelName, handleSelection, defaultSelection
|
||||||
<select
|
<select
|
||||||
type='text'
|
type='text'
|
||||||
id='nav-bar-channel-select'
|
id='nav-bar-channel-select'
|
||||||
className='select select--arrow'
|
|
||||||
onChange={handleSelection}
|
onChange={handleSelection}
|
||||||
value={defaultSelection}
|
value={defaultSelection}
|
||||||
>
|
>
|
||||||
|
|
|
@ -62,7 +62,7 @@ class ProgressBar extends React.Component {
|
||||||
};
|
};
|
||||||
render () {
|
render () {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div className="progress-bar__wrapper">
|
||||||
{this.state.bars.map((bar, index) => bar.isActive ? <ActiveStatusBar key={index} /> : <InactiveStatusBar key={index}/>)}
|
{this.state.bars.map((bar, index) => bar.isActive ? <ActiveStatusBar key={index} /> : <InactiveStatusBar key={index}/>)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -13,7 +13,6 @@ const PublishLicenseInput = ({ handleSelect }) => {
|
||||||
type='text'
|
type='text'
|
||||||
name='license'
|
name='license'
|
||||||
id='publish-license'
|
id='publish-license'
|
||||||
className='select select--primary'
|
|
||||||
onChange={handleSelect}
|
onChange={handleSelect}
|
||||||
>
|
>
|
||||||
<option value=''>Unspecified</option>
|
<option value=''>Unspecified</option>
|
||||||
|
|
|
@ -19,6 +19,7 @@ class PublishPreview extends React.Component {
|
||||||
</Row>
|
</Row>
|
||||||
</div>
|
</div>
|
||||||
<HorizontalSplit
|
<HorizontalSplit
|
||||||
|
collapseOnMobile
|
||||||
leftSide={<Dropzone />}
|
leftSide={<Dropzone />}
|
||||||
rightSide={<PublishDetails />}
|
rightSide={<PublishDetails />}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -59,7 +59,7 @@ class ChannelCreateForm extends React.Component {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
{ !status ? (
|
{ !status ? (
|
||||||
<form onSubmit={this.handleSubmit}>
|
<form className="form-group" onSubmit={this.handleSubmit}>
|
||||||
<ChannelCreateNameInput
|
<ChannelCreateNameInput
|
||||||
value={name.value}
|
value={name.value}
|
||||||
error={name.error}
|
error={name.error}
|
||||||
|
@ -69,10 +69,7 @@ class ChannelCreateForm extends React.Component {
|
||||||
value={password.value}
|
value={password.value}
|
||||||
handlePasswordInput={this.handlePasswordInput}
|
handlePasswordInput={this.handlePasswordInput}
|
||||||
/>
|
/>
|
||||||
<FormFeedbackDisplay
|
<FormFeedbackDisplay errorMessage={formError} />
|
||||||
errorMessage={formError}
|
|
||||||
defaultMessage={'Choose a name and password for your channel'}
|
|
||||||
/>
|
|
||||||
<ButtonPrimary
|
<ButtonPrimary
|
||||||
type={'submit'}
|
type={'submit'}
|
||||||
value={'Create Channel'}
|
value={'Create Channel'}
|
||||||
|
|
|
@ -49,7 +49,7 @@ class ChannelLoginForm extends React.Component {
|
||||||
}
|
}
|
||||||
render () {
|
render () {
|
||||||
return (
|
return (
|
||||||
<form onSubmit={this.loginToChannel}>
|
<form className="form-group" onSubmit={this.loginToChannel}>
|
||||||
<ChannelLoginNameInput
|
<ChannelLoginNameInput
|
||||||
channelName={this.state.channelName}
|
channelName={this.state.channelName}
|
||||||
handleInput={this.handleInput}
|
handleInput={this.handleInput}
|
||||||
|
@ -58,10 +58,7 @@ class ChannelLoginForm extends React.Component {
|
||||||
channelPassword={this.state.channelPassword}
|
channelPassword={this.state.channelPassword}
|
||||||
handleInput={this.handleInput}
|
handleInput={this.handleInput}
|
||||||
/>
|
/>
|
||||||
<FormFeedbackDisplay
|
<FormFeedbackDisplay errorMessage={this.state.error} />
|
||||||
errorMessage={this.state.error}
|
|
||||||
defaultMessage={'Enter the name and password for your channel'}
|
|
||||||
/>
|
|
||||||
<ButtonPrimary
|
<ButtonPrimary
|
||||||
type={'submit'}
|
type={'submit'}
|
||||||
value={'Authenticate'}
|
value={'Authenticate'}
|
||||||
|
|
|
@ -40,16 +40,16 @@ class ChannelSelect extends React.Component {
|
||||||
const { publishInChannel, channelError, selectedChannel, loggedInChannelName, publishOnlyApproved } = this.props;
|
const { publishInChannel, channelError, selectedChannel, loggedInChannelName, publishOnlyApproved } = this.props;
|
||||||
if (publishOnlyApproved) {
|
if (publishOnlyApproved) {
|
||||||
return (
|
return (
|
||||||
<div>
|
<React.Fragment>
|
||||||
<RowLabeled
|
<RowLabeled
|
||||||
label={<Label value={'Channel:'} />}
|
label={<Label value={'Channel:'} />}
|
||||||
content={<span>{loggedInChannelName}</span>}
|
content={<span>{loggedInChannelName}</span>}
|
||||||
/>
|
/>
|
||||||
</div>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div>
|
<React.Fragment>
|
||||||
<RowLabeled
|
<RowLabeled
|
||||||
label={
|
label={
|
||||||
<ChooseAnonymousPublishRadio
|
<ChooseAnonymousPublishRadio
|
||||||
|
@ -87,7 +87,7 @@ class ChannelSelect extends React.Component {
|
||||||
{ (selectedChannel === CREATE) && <ChannelCreateForm /> }
|
{ (selectedChannel === CREATE) && <ChannelCreateForm /> }
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,14 +7,14 @@ class ChannelTools extends React.Component {
|
||||||
render () {
|
render () {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Row>
|
<h3 className="form-title">Log in to existing channel</h3>
|
||||||
<h3>Log in to existing channel</h3>
|
<ChannelLoginForm />
|
||||||
<ChannelLoginForm />
|
{!this.props.closedRegistration && (
|
||||||
</Row>
|
<React.Fragment>
|
||||||
{!this.props.closedRegistration && (<Row>
|
<h3 className="form-title">Create new channel</h3>
|
||||||
<h3>Create new channel</h3>
|
<ChannelCreateForm />
|
||||||
<ChannelCreateForm />
|
</React.Fragment>
|
||||||
</Row>)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,7 +84,7 @@ class Dropzone extends React.Component {
|
||||||
const { dragOver, mouseOver, dimPreview } = this.state;
|
const { dragOver, mouseOver, dimPreview } = this.state;
|
||||||
const { file, thumbnail, fileError, isUpdate, sourceUrl, fileExt } = this.props;
|
const { file, thumbnail, fileError, isUpdate, sourceUrl, fileExt } = this.props;
|
||||||
return (
|
return (
|
||||||
<div>
|
<React.Fragment>
|
||||||
{isUpdate && fileExt === 'mp4' ? (
|
{isUpdate && fileExt === 'mp4' ? (
|
||||||
<p>Video updates are currently disabled. This feature will be available soon. You can edit metadata.</p>
|
<p>Video updates are currently disabled. This feature will be available soon. You can edit metadata.</p>
|
||||||
) : (
|
) : (
|
||||||
|
@ -145,7 +145,7 @@ class Dropzone extends React.Component {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -45,7 +45,7 @@ class PublishDetails extends React.Component {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
{isUpdate ? (asset && (
|
{isUpdate ? (asset && (
|
||||||
<Row>
|
<React.Fragment>
|
||||||
<RowLabeled
|
<RowLabeled
|
||||||
label={
|
label={
|
||||||
<Label value={'Channel:'} />
|
<Label value={'Channel:'} />
|
||||||
|
@ -56,16 +56,14 @@ class PublishDetails extends React.Component {
|
||||||
</span>
|
</span>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</Row>
|
</React.Fragment>
|
||||||
)) : (
|
)) : (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<Row>
|
<Row>
|
||||||
<PublishUrlInput />
|
<PublishUrlInput />
|
||||||
</Row>
|
</Row>
|
||||||
|
|
||||||
<Row>
|
<ChannelSelect />
|
||||||
<ChannelSelect />
|
|
||||||
</Row>
|
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|
|
@ -32,23 +32,17 @@ class PublishMetadataInputs extends React.Component {
|
||||||
<div>
|
<div>
|
||||||
{(showMetadataInputs || isUpdate) && (
|
{(showMetadataInputs || isUpdate) && (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<Row>
|
<PublishDescriptionInput
|
||||||
<PublishDescriptionInput
|
description={this.props.description}
|
||||||
description={this.props.description}
|
handleInput={this.handleInput}
|
||||||
handleInput={this.handleInput}
|
/>
|
||||||
/>
|
<PublishLicenseInput
|
||||||
</Row>
|
handleSelect={this.handleSelect}
|
||||||
<Row>
|
/>
|
||||||
<PublishLicenseInput
|
<PublishNsfwInput
|
||||||
handleSelect={this.handleSelect}
|
nsfw={this.props.nsfw}
|
||||||
/>
|
handleInput={this.handleInput}
|
||||||
</Row>
|
/>
|
||||||
<Row>
|
|
||||||
<PublishNsfwInput
|
|
||||||
nsfw={this.props.nsfw}
|
|
||||||
handleInput={this.handleInput}
|
|
||||||
/>
|
|
||||||
</Row>
|
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
)}
|
)}
|
||||||
{!isUpdate && (
|
{!isUpdate && (
|
||||||
|
|
|
@ -13,6 +13,7 @@ class AboutPage extends React.Component {
|
||||||
pageUri={'about'}
|
pageUri={'about'}
|
||||||
>
|
>
|
||||||
<HorizontalSplit
|
<HorizontalSplit
|
||||||
|
collapseOnMobile
|
||||||
leftSide={<AboutSpeechOverview />}
|
leftSide={<AboutSpeechOverview />}
|
||||||
rightSide={<AboutSpeechDetails />}
|
rightSide={<AboutSpeechDetails />}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -20,6 +20,7 @@ class LoginPage extends React.Component {
|
||||||
pageUri={'login'}
|
pageUri={'login'}
|
||||||
>
|
>
|
||||||
<HorizontalSplit
|
<HorizontalSplit
|
||||||
|
collapseOnMobile
|
||||||
leftSide={<ChannelAbout />}
|
leftSide={<ChannelAbout />}
|
||||||
rightSide={<ChannelTools />}
|
rightSide={<ChannelTools />}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -14,7 +14,7 @@ class ShowAssetDetails extends React.Component {
|
||||||
// this.storageKey = 'vert-split-state-' + this.props.name;
|
// this.storageKey = 'vert-split-state-' + this.props.name;
|
||||||
// const closed = window && window.localStorage
|
// const closed = window && window.localStorage
|
||||||
// ? !!window.localStorage.getItem(this.storageKey) : false;
|
// ? !!window.localStorage.getItem(this.storageKey) : false;
|
||||||
const closed = false;
|
const closed = true;
|
||||||
this.state = { closed: closed };
|
this.state = { closed: closed };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,12 +35,15 @@ class ShowAssetDetails extends React.Component {
|
||||||
pageTitle={`${name} - details`}
|
pageTitle={`${name} - details`}
|
||||||
asset={asset}
|
asset={asset}
|
||||||
>
|
>
|
||||||
<AssetDisplay />
|
<div className="asset-main">
|
||||||
<AssetTitle />
|
<AssetDisplay />
|
||||||
<button className='collapse-button' onClick={this.collapse}>
|
<AssetTitle />
|
||||||
{this.state.closed ? <Icon.PlusCircle className='plus-icon' /> : <Icon.MinusCircle />}
|
|
||||||
</button>
|
<button className='collapse-button' onClick={this.collapse}>
|
||||||
{ !this.state.closed && <AssetInfo /> }
|
{this.state.closed ? <Icon.PlusCircle className='plus-icon' /> : <Icon.MinusCircle />}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
{!this.state.closed && <AssetInfo />}
|
||||||
</PageLayout>
|
</PageLayout>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
10
deployment-config.json
Normal file
10
deployment-config.json
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"type": "sftp",
|
||||||
|
"host": "sean.lbry.tech",
|
||||||
|
"username": "lbry",
|
||||||
|
"password": "",
|
||||||
|
"port": 22,
|
||||||
|
"remotePath": "/home/lbry/spee.ch",
|
||||||
|
"sshKeyFile": "/Users/sean/.ssh/id_rsa2",
|
||||||
|
"uploadOnSave": true
|
||||||
|
}
|
Loading…
Reference in a new issue