From 45de83fdf3807cc0c210d943375656558086db11 Mon Sep 17 00:00:00 2001 From: Sean Yesmunt Date: Tue, 17 Jul 2018 13:43:43 -0400 Subject: [PATCH 1/6] thumbnail preview on publish page --- src/renderer/component/publishForm/view.jsx | 2 +- .../component/selectThumbnail/view.jsx | 99 +++++++++++++----- src/renderer/scss/_gui.scss | 14 ++- src/renderer/scss/component/_card.scss | 6 ++ static/img/thumbnail.png | Bin 0 -> 6994 bytes 5 files changed, 90 insertions(+), 31 deletions(-) create mode 100644 static/img/thumbnail.png diff --git a/src/renderer/component/publishForm/view.jsx b/src/renderer/component/publishForm/view.jsx index 2b3739d93..7c572ced3 100644 --- a/src/renderer/component/publishForm/view.jsx +++ b/src/renderer/component/publishForm/view.jsx @@ -74,7 +74,7 @@ class PublishForm extends React.PureComponent { componentWillMount() { const { isStillEditing, thumbnail } = this.props; - if (!isStillEditing || !thumbnail) { + if (!thumbnail) { this.props.resetThumbnailStatus(); } } diff --git a/src/renderer/component/selectThumbnail/view.jsx b/src/renderer/component/selectThumbnail/view.jsx index e93b6327a..d34d90289 100644 --- a/src/renderer/component/selectThumbnail/view.jsx +++ b/src/renderer/component/selectThumbnail/view.jsx @@ -4,6 +4,7 @@ import React from 'react'; import { FormField, FormRow } from 'component/common/form'; import FileSelector from 'component/common/file-selector'; import Button from 'component/button'; +import Native from 'native'; type Props = { thumbnail: ?string, @@ -15,7 +16,29 @@ type Props = { resetThumbnailStatus: () => void, }; -class SelectThumbnail extends React.PureComponent { +type State = { + thumbnailValid: boolean, +} + +class SelectThumbnail extends React.PureComponent { + constructor() { + super(); + + this.state = { + thumbnailValid: false, + }; + + (this: any).handleThumbnailChange = this.handleThumbnailChange.bind(this); + } + + handleThumbnailChange(e) { + const { updatePublishForm } = this.props; + const newThumbnail = e.target.value.replace(' ', ''); + + updatePublishForm({ thumbnail: newThumbnail }); + this.setState({ thumbnailValid: true }) + } + render() { const { thumbnail, @@ -26,25 +49,44 @@ class SelectThumbnail extends React.PureComponent { thumbnailPath, resetThumbnailStatus, } = this.props; - + + const { thumbnailValid } = this.state; + return ( -
+
{status === THUMBNAIL_STATUSES.API_DOWN || status === THUMBNAIL_STATUSES.MANUAL ? ( - - updatePublishForm({ thumbnail: e.target.value })} +
+
+ +
+
+
+ Thumbnail Preview { + this.setState({ thumbnailValid: false }) + }} /> - +
) : (
- {(status === THUMBNAIL_STATUSES.READY || status === THUMBNAIL_STATUSES.COMPLETE) && ( + {status === THUMBNAIL_STATUSES.READY && ( { /> )} {status === THUMBNAIL_STATUSES.COMPLETE && ( -
-

- Upload complete. View it{' '} -

+
+ +
+

+ Upload complete.{' '} +

+
)}
)} @@ -72,13 +120,6 @@ class SelectThumbnail extends React.PureComponent { } /> )} - {status === THUMBNAIL_STATUSES.MANUAL && ( -
{status === THUMBNAIL_STATUSES.IN_PROGRESS &&

{__('Uploading thumbnail')}...

} diff --git a/src/renderer/scss/_gui.scss b/src/renderer/scss/_gui.scss index c240197da..439a05c33 100644 --- a/src/renderer/scss/_gui.scss +++ b/src/renderer/scss/_gui.scss @@ -153,7 +153,6 @@ dd { p { font-family: 'metropolis-medium'; - padding: $spacing-vertical * 1/3 0; } .page { @@ -302,6 +301,14 @@ p { opacity: 0.5; } +.column { + display: flex; + + .column__item:not(:first-child) { + padding-left: $spacing-width * 2/3; + } +} + .truncated-text { //display: inline-block; display: -webkit-box; @@ -361,3 +368,8 @@ p { margin-top: $spacing-vertical * 2/3; } } + +.thumbnail-preview { + height: 100px; + width: 177px; +} diff --git a/src/renderer/scss/component/_card.scss b/src/renderer/scss/component/_card.scss index 50cdc4478..f44a60d91 100644 --- a/src/renderer/scss/component/_card.scss +++ b/src/renderer/scss/component/_card.scss @@ -255,6 +255,12 @@ right: $spacing-vertical; } +.card__actions-bottom-corner { + position: absolute; + bottom: $spacing-vertical; + right: $spacing-vertical; +} + .card__actions--end { justify-content: flex-end; } diff --git a/static/img/thumbnail.png b/static/img/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..05d7e2b4406436c525391be715d50fed5ab89d4a GIT binary patch literal 6994 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 EKRCdd)c^nh literal 0 HcmV?d00001 -- 2.45.2 From 6df4032c9060bc91aa26abc310f0fb4f3dd5c72d Mon Sep 17 00:00:00 2001 From: Sean Yesmunt Date: Wed, 18 Jul 2018 11:46:21 -0400 Subject: [PATCH 2/6] improve thumbnail preview styling --- .../component/common/file-selector.jsx | 4 +- src/renderer/component/publishForm/view.jsx | 28 ++++--- .../component/selectThumbnail/view.jsx | 80 ++++++++++--------- src/renderer/scss/component/_form-field.scss | 4 +- 4 files changed, 63 insertions(+), 53 deletions(-) diff --git a/src/renderer/component/common/file-selector.jsx b/src/renderer/component/common/file-selector.jsx index ec19394e1..3729202d0 100644 --- a/src/renderer/component/common/file-selector.jsx +++ b/src/renderer/component/common/file-selector.jsx @@ -9,7 +9,7 @@ type Props = { type: string, currentPath: ?string, onFileChosen: (string, string) => void, - fileLabel: ?string, + fileLabel?: string, directoryLabel?: string, }; @@ -56,7 +56,7 @@ class FileSelector extends React.PureComponent { type === 'file' ? fileLabel || __('Choose File') : directoryLabel || __('Choose Directory'); return ( - +
)} - - {!!isStillEditing && ( -

- {__("If you don't choose a file, the file from your existing claim")} - {` "${name}" `} - {__('will be used.')} -

- )} +
+ + {!!isStillEditing && + name && ( +

+ {__("If you don't choose a file, the file from your existing claim")} + {` "${name}" `} + {__('will be used.')} +

+ )} +
@@ -400,10 +403,9 @@ class PublishForm extends React.PureComponent { __('Enter a URL for your thumbnail.') ) : ( - {__( - 'Upload your thumbnail (.png/.jpg/.jpeg/.gif) to spee.ch, or enter the URL manually. Learn more about spee.ch ' - )} -
diff --git a/src/renderer/component/selectThumbnail/view.jsx b/src/renderer/component/selectThumbnail/view.jsx index d34d90289..0c8f6b813 100644 --- a/src/renderer/component/selectThumbnail/view.jsx +++ b/src/renderer/component/selectThumbnail/view.jsx @@ -1,7 +1,7 @@ // @flow import { THUMBNAIL_STATUSES, MODALS } from 'lbry-redux'; -import React from 'react'; -import { FormField, FormRow } from 'component/common/form'; +import * as React from 'react'; +import { FormField } from 'component/common/form'; import FileSelector from 'component/common/file-selector'; import Button from 'component/button'; import Native from 'native'; @@ -17,28 +17,28 @@ type Props = { }; type State = { - thumbnailValid: boolean, -} + thumbnailError: boolean, +}; class SelectThumbnail extends React.PureComponent { constructor() { super(); - + this.state = { - thumbnailValid: false, + thumbnailError: false, }; - + (this: any).handleThumbnailChange = this.handleThumbnailChange.bind(this); } - - handleThumbnailChange(e) { + + handleThumbnailChange(e: SyntheticInputEvent<*>) { const { updatePublishForm } = this.props; const newThumbnail = e.target.value.replace(' ', ''); - + updatePublishForm({ thumbnail: newThumbnail }); - this.setState({ thumbnailValid: true }) + this.setState({ thumbnailError: false }); } - + render() { const { thumbnail, @@ -49,43 +49,46 @@ class SelectThumbnail extends React.PureComponent { thumbnailPath, resetThumbnailStatus, } = this.props; - - const { thumbnailValid } = this.state; - + const { thumbnailError } = this.state; + const thumbnailSrc = + !thumbnail || thumbnailError ? Native.imagePath('thumbnail.png') : thumbnail; + return (
{status === THUMBNAIL_STATUSES.API_DOWN || status === THUMBNAIL_STATUSES.MANUAL ? (
+ {__('Thumbnail { + this.setState({ thumbnailError: true }); + }} + />
+ />
- Thumbnail Preview { - this.setState({ thumbnailValid: false }) - }} - />
) : ( -
+ {status === THUMBNAIL_STATUSES.READY && ( { + alt={__('Thumbnail Preview')} + />

Upload complete.{' '}

-
+
)} - + )} -
- {status === THUMBNAIL_STATUSES.READY && ( + {status === THUMBNAIL_STATUSES.READY && ( +
+
+ )} {status === THUMBNAIL_STATUSES.IN_PROGRESS &&

{__('Uploading thumbnail')}...

} diff --git a/src/renderer/scss/component/_form-field.scss b/src/renderer/scss/component/_form-field.scss index e46223982..0b5ad5f4a 100644 --- a/src/renderer/scss/component/_form-field.scss +++ b/src/renderer/scss/component/_form-field.scss @@ -67,8 +67,8 @@ width: 35px; } - input.paginate-channel { - width: 35px; + input.input--thumbnail { + width: 370px; } &.form-field--auto-height { -- 2.45.2 From a68f276fb09d17f526cb8d32ef712e1303149b26 Mon Sep 17 00:00:00 2001 From: Sean Yesmunt Date: Wed, 18 Jul 2018 11:55:17 -0400 Subject: [PATCH 3/6] use variables for thumbnail size --- src/renderer/scss/_gui.scss | 6 +++--- src/renderer/scss/_vars.scss | 4 ++++ src/renderer/scss/component/_form-field.scss | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/renderer/scss/_gui.scss b/src/renderer/scss/_gui.scss index 439a05c33..bf711e78a 100644 --- a/src/renderer/scss/_gui.scss +++ b/src/renderer/scss/_gui.scss @@ -303,7 +303,7 @@ p { .column { display: flex; - + .column__item:not(:first-child) { padding-left: $spacing-width * 2/3; } @@ -370,6 +370,6 @@ p { } .thumbnail-preview { - height: 100px; - width: 177px; + height: var(--thumbnail-preview-height); + width: var(--thumbnail-preview-width); } diff --git a/src/renderer/scss/_vars.scss b/src/renderer/scss/_vars.scss index bc0ec1428..d2bba62e2 100644 --- a/src/renderer/scss/_vars.scss +++ b/src/renderer/scss/_vars.scss @@ -179,4 +179,8 @@ $large-breakpoint: 1921px; // /* Animation :) */ --animation-duration: 0.3s; --animation-style: cubic-bezier(0.55, 0, 0.1, 1); + + /* Image */ + --thumbnail-preview-height: 100px; + --thumbnail-preview-width: 177px; } diff --git a/src/renderer/scss/component/_form-field.scss b/src/renderer/scss/component/_form-field.scss index 0b5ad5f4a..1c8db8db9 100644 --- a/src/renderer/scss/component/_form-field.scss +++ b/src/renderer/scss/component/_form-field.scss @@ -68,7 +68,7 @@ } input.input--thumbnail { - width: 370px; + width: 400px; } &.form-field--auto-height { -- 2.45.2 From 0179357e7cf37fa15190b36ef89e05b5a5fcefc6 Mon Sep 17 00:00:00 2001 From: Sean Yesmunt Date: Wed, 18 Jul 2018 12:01:28 -0400 Subject: [PATCH 4/6] fix spacing --- src/renderer/component/selectThumbnail/view.jsx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/renderer/component/selectThumbnail/view.jsx b/src/renderer/component/selectThumbnail/view.jsx index 0c8f6b813..975356f15 100644 --- a/src/renderer/component/selectThumbnail/view.jsx +++ b/src/renderer/component/selectThumbnail/view.jsx @@ -106,13 +106,15 @@ class SelectThumbnail extends React.PureComponent {

Upload complete.{' '} -

)} -- 2.45.2 From 8ed40be8a4101304013975798f9375c1fe92994b Mon Sep 17 00:00:00 2001 From: Sean Yesmunt Date: Thu, 19 Jul 2018 10:51:03 -0400 Subject: [PATCH 5/6] better thumbnail placeholder --- src/renderer/component/selectThumbnail/view.jsx | 2 +- src/renderer/scss/_gui.scss | 1 + src/renderer/scss/_vars.scss | 2 ++ static/img/no-thumbnail.png | Bin 0 -> 2791 bytes static/img/thumbnail.png | Bin 6994 -> 0 bytes yarn.lock | 4 ++-- 6 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 static/img/no-thumbnail.png delete mode 100644 static/img/thumbnail.png diff --git a/src/renderer/component/selectThumbnail/view.jsx b/src/renderer/component/selectThumbnail/view.jsx index 975356f15..1fcd59cb6 100644 --- a/src/renderer/component/selectThumbnail/view.jsx +++ b/src/renderer/component/selectThumbnail/view.jsx @@ -51,7 +51,7 @@ class SelectThumbnail extends React.PureComponent { } = this.props; const { thumbnailError } = this.state; const thumbnailSrc = - !thumbnail || thumbnailError ? Native.imagePath('thumbnail.png') : thumbnail; + !thumbnail || thumbnailError ? Native.imagePath('no-thumbnail.png') : thumbnail; return (
diff --git a/src/renderer/scss/_gui.scss b/src/renderer/scss/_gui.scss index bf711e78a..582448d59 100644 --- a/src/renderer/scss/_gui.scss +++ b/src/renderer/scss/_gui.scss @@ -372,4 +372,5 @@ p { .thumbnail-preview { height: var(--thumbnail-preview-height); width: var(--thumbnail-preview-width); + border: var(--thumbnail-preview-border); } diff --git a/src/renderer/scss/_vars.scss b/src/renderer/scss/_vars.scss index d2bba62e2..517f33fdd 100644 --- a/src/renderer/scss/_vars.scss +++ b/src/renderer/scss/_vars.scss @@ -183,4 +183,6 @@ $large-breakpoint: 1921px; /* Image */ --thumbnail-preview-height: 100px; --thumbnail-preview-width: 177px; + // This will awlways white, it looks fine on light mode + --thumbnail-preview-border: 1px solid var(--color-white); } diff --git a/static/img/no-thumbnail.png b/static/img/no-thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..af89f26919afc2cbefaf77596e24f1c4712e8a8a GIT binary patch literal 2791 zcmd^Bdr(tX8b9~uLM{P9R;k66)LW^e?H17mtvrOwOR5-P1$-2VbY0z6(PY&?Se0DK zwzbRRvJXYT5)?76I)qxMREZ=)x3Coi6$Yph(-CAN580F$c_i8IV5jZO&g^t&`(N|V zJ?Hzr-{bpoa&q5KNlNe*{8WGt@?P_L+YL|#RmrmyId}- z)w+4}W|n1JTU$Af>+S6=EiJut>C(W!fJ7qMv15n9VA!{BUv+hLQBje>Uebb)K(;0> zI!!4ZHoiz;YR08oallB;h4qj4qx!aYwzsZH9A6sfRh3R3p&vQ6j)eZ>jB5NKFQ?GA zQ987sqV}uxBRzv2OTu2NY)ig%Hh}zW+IL&ng39*fTiO89 z>QkKKEn*3ZNc-EK9UES9{Ec zq6>)!9CNtT@D0sA48uJLbllh-u^;?j9PJJn_-*JOSnAjH%Pvp?rufE6A4}<}s4N`Q z&OaBF;0ciQ^8B-_Hef`OMVoXC&EaKt8b&-9bL^j-BMqFzjYAc;AKw$s0m);tUy1{$xY6L6R9S}%)~ZkJ`qFa!lZf;91CmN)l3x(nw0)mhc^6%CpI^9u!v@g)#oRV z;GQ4Vyxg^WKAy@3t?s?tQ#_g)xxbMJ;ERs*8iHc`5g9#YAMjtvvBS>lL^C2koGK|Z z64Wp4x*C!%qWcV;@h?Pk9ggsU7J`bg>jW?rSEIYA!%$05<3ZVoaCpL(hePz;D1vHy zl8g@5I%cy>wu|~fLmdVioTIF+5Xay+Xlz-lN_4$;GO8MnHRh&b^1&|-tp>@K?P-e1 z^;;uPLp=M#bzTnsOm$p&!_fJ*sYNi`Q;DkjqZxM0VO;2F>X2dIYlX((T=@iiBPnuJ zQLny%^Rswkmrvcl2u!|y+^-c~tD&#T9u%SCmps-WGTz;s7i)+I(ZwOCedxRur~io# zhWe!D%KwF__M-g$lR>sl@s>|8i9aV({oZy$uP($>(pT(RAo)wKJoOUJ&Etk5Ri%2h z?9dgA%tn!eLExzGxgk*cySv#ir7XLu_Ot;oh9@s~J&4TXKW~BDc6ala8n<2AQS+>4 z`qOngtU{>)lg{PZ^BP;l`W)u)I=s9YB4o)R|g-~7> z>+uv9uRuYcs5fH%YIn0+?pPS+?m+r}VT0~AMtK_xN6o1p#o*##6m(5}_t6Nhd5R)* zS0#PdACCg|9lm+6Y^YN_ZNfbrMEN!4SJn5w0Q~1Z#&%oXc&il>wOxR@Qe%Sf$Md*B zh3#`7%4#B%QdLGBw2>W#+IQ9L!ZR!4oAWZSNwMfs6x4Bl1D=kXyE(pWXf0MZB7Mrn zX9m5DiMG1sxUIv4^2)2*3W{ zi8(hB9gaL1Q4X5JGQ$Wii5_Cp|5>P1pqif%_d<;*A{qXn+AZ~o!WdY{EagiQUWEH( zHct*dNacBIsZeCZrV5bhGd=(x?V#c>w*_dy*BqdC1em`k?tc=&#jHkiIyr&*!^F#d^Y+Ft$kb>c_3;=c1X aRY?kut$qEAwvSKZL9B^SimQpqD)=`6pH_ST literal 0 HcmV?d00001 diff --git a/static/img/thumbnail.png b/static/img/thumbnail.png deleted file mode 100644 index 05d7e2b4406436c525391be715d50fed5ab89d4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6994 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 EKRCdd)c^nh diff --git a/yarn.lock b/yarn.lock index 789b4c997..e4c5512dc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5221,9 +5221,9 @@ lazy-val@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.3.tgz#bb97b200ef00801d94c317e29dc6ed39e31c5edc" -lbry-redux@lbryio/lbry-redux#177ef2c1916f9672e713267500e447d671ae1bc3: +lbry-redux@lbryio/lbry-redux#e0909b08647a790d155f3189b9f9bf0b3e55bd17: version "0.0.1" - resolved "https://codeload.github.com/lbryio/lbry-redux/tar.gz/177ef2c1916f9672e713267500e447d671ae1bc3" + resolved "https://codeload.github.com/lbryio/lbry-redux/tar.gz/e0909b08647a790d155f3189b9f9bf0b3e55bd17" dependencies: proxy-polyfill "0.1.6" reselect "^3.0.0" -- 2.45.2 From b3c7738668b8fb7efd81d30df074ab50f72ae6c1 Mon Sep 17 00:00:00 2001 From: Sean Yesmunt Date: Thu, 19 Jul 2018 10:53:12 -0400 Subject: [PATCH 6/6] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 502730a1d..aa56f8542 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/). ### Added * Added 3D file viewer for OBJ & STL file types ([#1558](https://github.com/lbryio/lbry-desktop/pull/1558)) - + * Added thumbnail preview on publish page ([#1755](https://github.com/lbryio/lbry-desktop/pull/1755)) ### Changed -- 2.45.2