From e4544087a89f533f98964f5bf95d06564f14febf Mon Sep 17 00:00:00 2001 From: Sonata Green Date: Sun, 21 Aug 2016 11:51:20 -0500 Subject: [PATCH 01/19] fix watch/download links on ?show= page --- js/page/show.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/page/show.js b/js/page/show.js index 523df5491..9f8654c0b 100644 --- a/js/page/show.js +++ b/js/page/show.js @@ -86,7 +86,7 @@ var FormatsSection = React.createClass({ {/* In future, anticipate multiple formats, just a guess at what it could look like // var formats = this.props.claimInfo.formats // return ({formats.map(function(format,i){ */} - + {/* })}); */} ); } From 13f7f1995e5425f31c99e5dfb7ce4d7e24dbbfe4 Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Mon, 22 Aug 2016 05:38:17 -0400 Subject: [PATCH 02/19] Improve wording and formatting on Help page --- js/page/help.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/js/page/help.js b/js/page/help.js index 98d853447..ff3f81a55 100644 --- a/js/page/help.js +++ b/js/page/help.js @@ -15,7 +15,7 @@ var HelpPage = React.createClass({

Get Live Help

- Live help is available most hours in the #help channel of our Slack chat room. + Live help is available most hours in the #help channel of our Slack chat room.

@@ -24,15 +24,17 @@ var HelpPage = React.createClass({

Common Issues

Nothing seems to start downloading.

-

If you can't download anything, including 'wonderfullife', try forwarding ports 4444 and 3333 on your firewall or router. If you can access 'wonderfullife' but not other content, it's possible the content is not longer hosted on the network.

+

If you can't download anything, including the Featured Content on the front page, your system may be unable to receive connections from other LBRY users hosting content. If you're able, try forwarding ports 4444 and 3333 on your firewall or router.

+ +

If only certain content is failing to download, the user(s) hosting the file may have disconnected from LBRY, or are having issues with their own connection. We are currently rolling out improvements to the network that will make content more consistently available.

Videos have trouble playing.

-

Sometimes your video player will start the file while it's still empty. Try reloading the page after a few seconds and it may work. You should also see the file appear in your downloads folder (configured in settings).

+

Sometimes the video player will start before enough of the file has downloaded to start playing. Try reloading the page after a few seconds. You should also see the file appear in your downloads folder (configured on the ).

A real fix for this is underway!

How do I turn LBRY off?

-

If you're on OS X you can find the app running in the notification area at the top right of your screen. Click the LBRY icon and choose Quit.

+

If you're on OS X, you can find the app running in the notification area at the top right of your screen. Click the LBRY icon and choose Quit.

On Linux, you'll find a close button in the menu at the top right of LBRY.

From 3edc93c8427c37f0b691da72811f6e9d702baf74 Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Mon, 22 Aug 2016 08:00:58 -0400 Subject: [PATCH 03/19] Blur NSFW content on home page Also adds a mouse-over overlay explaining you can choose to show NSFW stuff on the Settings page (not implemented yet) --- js/page/discover.js | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/js/page/discover.js b/js/page/discover.js index c76b92827..b2b189f70 100644 --- a/js/page/discover.js +++ b/js/page/discover.js @@ -106,7 +106,9 @@ var SearchResultRow = React.createClass({ } }); - +var featuredContentItemContainerStyle = { + position: 'relative', +}; var FeaturedContentItem = React.createClass({ propTypes: { @@ -118,9 +120,24 @@ var FeaturedContentItem = React.createClass({ metadata: null, title: null, amount: 0.0, + overlayShowing: false, }; }, + handleMouseOver: function() { + if (this.state.metadata && this.state.metadata.nsfw) { + this.setState({ + overlayShowing: true, + }); + } + }, + + handleMouseOut: function() { + this.setState({ + overlayShowing: false, + }); + }, + componentWillMount: function() { lbry.search(this.props.name, (results) => { var result = results[0]; @@ -140,9 +157,16 @@ var FeaturedContentItem = React.createClass({ return null; } - return ; + //@TODO: Make this check the "show NSFW" setting once it's implemented + + return (
+
+ +
+ {!this.state.overlayShowing ? null :

This content is Not Safe For Work. To show NSFW content in Community Content and search results, visit the and enable the option "Show NSFW content."

} +
); } }); From 124b2b9a181e9a281ddecc41d39a26828175465c Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Mon, 22 Aug 2016 09:03:36 -0400 Subject: [PATCH 04/19] Add styles --- scss/_global.scss | 1 + scss/_gui.scss | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/scss/_global.scss b/scss/_global.scss index 8bfde1b90..ad5854a36 100644 --- a/scss/_global.scss +++ b/scss/_global.scss @@ -21,6 +21,7 @@ $header-height: $spacing-vertical * 2.5; $default-box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12); +$blur-intensity: 8px; @mixin clearfix() { diff --git a/scss/_gui.scss b/scss/_gui.scss index 7f042b433..40997c37a 100644 --- a/scss/_gui.scss +++ b/scss/_gui.scss @@ -17,6 +17,10 @@ section { margin-bottom: 0; } + &:only-child { + /* If it's an only child, assume it's part of a React layout that will handle the last child condition on its own */ + margin-bottom: $spacing-vertical; + } } main h1 { @@ -186,6 +190,28 @@ input[type="text"], input[type="search"], textarea top: 0.16em; } +.blur { + -webkit-filter: blur($blur-intensity); + -moz-filter: blur($blur-intensity); + -o-filter: blur($blur-intensity); + -ms-filter: blur($blur-intensity); + filter: blur($blur-intensity); +} + +.translucent-overlay { + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + padding: 5%; + background-color: rgba(210, 210, 210, 0.8); + color: #fff; + display: flex; + align-items: center; + font-weight: 600; +} + .help { font-size: .85em; color: $color-help; From b75004c5f6e52c88a91cc17828dff8a59522c8dc Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Mon, 22 Aug 2016 09:14:56 -0400 Subject: [PATCH 05/19] Make search work from pages other than Discover --- js/page/discover.js | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/js/page/discover.js b/js/page/discover.js index b2b189f70..ba201dd70 100644 --- a/js/page/discover.js +++ b/js/page/discover.js @@ -206,17 +206,25 @@ var DiscoverPage = React.createClass({ componentDidUpdate: function() { if (this.props.query != this.state.query) { - this.setState({ - searching: true, - query: this.props.query, - }); - - lbry.search(this.props.query, this.searchCallback); + this.handleSearchChanged(); } }, + handleSearchChanged: function() { + this.setState({ + searching: true, + query: this.props.query, + }); + + lbry.search(this.props.query, this.searchCallback); + }, + componentDidMount: function() { document.title = "Discover"; + if (this.props.query !== '') { + // Rendering with a query already typed + this.handleSearchChanged(); + } }, getInitialState: function() { From 0a2c0586d423aaf0e6d8c19ed219c6df9f9d2214 Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Mon, 22 Aug 2016 14:13:41 -0400 Subject: [PATCH 06/19] Light refactor of daemon settings processing - Rename the daemon setter/getter methods to lbry.getDaemonSettings() and lbry.setDaemonSettings() to differentiate them from the new methods for client settings - Add lbry.setDaemonSetting(), for changing individual daemon settings easy to - Refactor Settings page to submit only changed settings instead of re-submitting all settings every time --- js/lbry.js | 14 ++++++++++---- js/page/settings.js | 38 +++++++++++++++----------------------- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/js/lbry.js b/js/lbry.js index cca8c6af7..a90f32c2d 100644 --- a/js/lbry.js +++ b/js/lbry.js @@ -90,13 +90,19 @@ lbry.getNewAddress = function(callback) { lbry.call('get_new_address', {}, callback); } -lbry.getSettings = function(callback) { +lbry.getDaemonSettings = function(callback) { lbry.call('get_settings', {}, callback); -}; +} -lbry.setSettings = function(settings, callback) { +lbry.setDaemonSettings = function(settings, callback) { lbry.call('set_settings', settings, callback); -}; +} + +lbry.setDaemonSetting = function(setting, value, callback) { + var setSettingsArgs = {}; + setSettingsArgs[setting] = value; + lbry.call('set_settings', setSettingsArgs, callback) +} lbry.getBalance = function(callback) { diff --git a/js/page/settings.js b/js/page/settings.js index 44fb795c5..c7248d190 100644 --- a/js/page/settings.js +++ b/js/page/settings.js @@ -14,44 +14,36 @@ var settingsRadioOptionStyles = { }; var SettingsPage = React.createClass({ - storeSetting: function(setting, val) { - var settings = Object.assign({}, this.state.settings); - settings[setting] = val; - this.setState({ - 'settings': settings - }); - lbry.setSettings(settings); - }, onRunOnStartChange: function (event) { - this.storeSetting('run_on_startup', event.target.checked); + lbry.setDaemonSetting('run_on_startup', event.target.checked); }, onShareDataChange: function (event) { - this.storeSetting('upload_log', event.target.checked); + lbry.setDaemonSetting('upload_log', event.target.checked); }, onDownloadDirChange: function(event) { - this.storeSetting('download_directory', event.target.value); + lbry.setDaemonSetting('download_directory', event.target.value); }, onMaxUploadPrefChange: function(isLimited) { if (!isLimited) { - this.storeSetting('max_upload', 0.0); + lbry.setDaemonSetting('max_upload', 0.0); } this.setState({ isMaxUpload: isLimited }); }, onMaxUploadFieldChange: function(event) { - this.storeSetting('max_upload', Number(event.target.value)); + lbry.setDaemonSetting('max_upload', Number(event.target.value)); }, onMaxDownloadPrefChange: function(isLimited) { if (!isLimited) { - this.storeSetting('max_download', 0.0); + lbry.setDaemonSetting('max_download', 0.0); } this.setState({ isMaxDownload: isLimited }); }, onMaxDownloadFieldChange: function(event) { - this.storeSetting('max_download', Number(event.target.value)); + lbry.setDaemonSetting('max_download', Number(event.target.value)); }, getInitialState: function() { return { @@ -62,16 +54,16 @@ var SettingsPage = React.createClass({ document.title = "Settings"; }, componentWillMount: function() { - lbry.getSettings(function(settings) { + lbry.getDaemonSettings(function(settings) { this.setState({ - settings: settings, + initDaemonSettings: settings, isMaxUpload: settings.max_upload != 0, isMaxDownload: settings.max_download != 0 }); }.bind(this)); }, render: function() { - if (!this.state.settings) { // If the settings aren't loaded yet, don't render anything. + if (!this.state.initDaemonSettings) { return null; } @@ -80,13 +72,13 @@ var SettingsPage = React.createClass({

Run on Startup

Download Directory

Where would you like the files you download from LBRY to be saved?
- +

Bandwidth Limits

@@ -97,7 +89,7 @@ var SettingsPage = React.createClass({
@@ -107,14 +99,14 @@ var SettingsPage = React.createClass({

Share Diagnostic Data

From 0472ea5d9de095c8f745b3362c90e4d4186b16b1 Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Mon, 22 Aug 2016 15:07:41 -0400 Subject: [PATCH 07/19] Add support for client side settings using localStorage --- js/lbry.js | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/js/lbry.js b/js/lbry.js index a90f32c2d..cb8a6dc02 100644 --- a/js/lbry.js +++ b/js/lbry.js @@ -4,7 +4,8 @@ var lbry = { daemonConnectionString: 'http://localhost:5279/lbryapi', colors: { primary: '#155B4A' - } + }, + defaultClientSettings: {} }; lbry.jsonrpc_call = function (connectionString, method, params, callback, errorCallback, connectFailedCallback) { @@ -104,6 +105,7 @@ lbry.setDaemonSetting = function(setting, value, callback) { lbry.call('set_settings', setSettingsArgs, callback) } + lbry.getBalance = function(callback) { lbry.call("get_balance", {}, callback); @@ -214,6 +216,31 @@ lbry.checkNewVersionAvailable = function(callback) { }); } +lbry.getClientSettings = function() { + var outSettings = {}; + for (let setting of Object.keys(lbry.defaultClientSettings)) { + var localStorageVal = localStorage.getItem('setting_' + setting); + outSettings[setting] = (localStorageVal === null ? lbry.defaultClientSettings[setting] : JSON.parse(localStorageVal)); + } + return outSettings; +} + +lbry.getClientSetting = function(setting) { + var localStorageVal = localStorage.getItem('setting_' + setting); + return (localStorageVal === null ? lbry.defaultClientSettings[setting] : JSON.parse(localStorageVal)); +} + +lbry.setClientSettings = function(settings) { + for (let setting of Object.keys(settings)) { + lbry.setClientSetting(setting, settings[setting]); + } +} + +lbry.setClientSetting = function(setting, value) { + return localStorage.setItem('setting_' + setting, JSON.stringify(value)); +} + + lbry.reportBug = function(message, callback) { lbry.call('upload_log', { name_prefix: 'report', From 8378a7a387563318674c30ac00410107e7e81c1d Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Mon, 22 Aug 2016 15:19:04 -0400 Subject: [PATCH 08/19] Add option to show/hide NSFW content --- js/lbry.js | 4 +++- js/page/discover.js | 7 ++++--- js/page/settings.js | 11 +++++++++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/js/lbry.js b/js/lbry.js index cb8a6dc02..00cbbe626 100644 --- a/js/lbry.js +++ b/js/lbry.js @@ -5,7 +5,9 @@ var lbry = { colors: { primary: '#155B4A' }, - defaultClientSettings: {} + defaultClientSettings: { + showNsfw: false, + } }; lbry.jsonrpc_call = function (connectionString, method, params, callback, errorCallback, connectFailedCallback) { diff --git a/js/page/discover.js b/js/page/discover.js index ba201dd70..14a085617 100644 --- a/js/page/discover.js +++ b/js/page/discover.js @@ -34,9 +34,10 @@ var SearchNoResults = React.createClass({ var SearchResults = React.createClass({ render: function() { + var showNsfw = lbry.getClientSetting('showNsfw'); var rows = []; this.props.results.forEach(function(result) { - if (!result.value.nsfw) { + if (showNsfw || !result.value.nsfw) { rows.push( @@ -157,10 +158,10 @@ var FeaturedContentItem = React.createClass({ return null; } - //@TODO: Make this check the "show NSFW" setting once it's implemented + var blur = !lbry.getClientSetting('showNsfw') && this.state.metadata.nsfw; return (
-
+
diff --git a/js/page/settings.js b/js/page/settings.js index c7248d190..fef48c711 100644 --- a/js/page/settings.js +++ b/js/page/settings.js @@ -14,6 +14,7 @@ var settingsRadioOptionStyles = { }; var SettingsPage = React.createClass({ + _initClientSettings: null, onRunOnStartChange: function (event) { lbry.setDaemonSetting('run_on_startup', event.target.checked); }, @@ -52,6 +53,7 @@ var SettingsPage = React.createClass({ }, componentDidMount: function() { document.title = "Settings"; + this._initClientSettings = lbry.getClientSettings(); }, componentWillMount: function() { lbry.getDaemonSettings(function(settings) { @@ -62,6 +64,9 @@ var SettingsPage = React.createClass({ }); }.bind(this)); }, + onShowNsfwChange: function(event) { + lbry.setClientSetting('showNsfw', event.target.checked); + }, render: function() { if (!this.state.initDaemonSettings) { return null; @@ -103,6 +108,12 @@ var SettingsPage = React.createClass({
+
+

Content

+ +

Share Diagnostic Data

Content

- +
+ +
NSFW content may include nudity, intense sexuality, profanity, or other adult content.
+

Share Diagnostic Data

diff --git a/scss/_canvas.scss b/scss/_canvas.scss index 0a9ae7f26..2e8f0cc27 100644 --- a/scss/_canvas.scss +++ b/scss/_canvas.scss @@ -157,6 +157,30 @@ $header-icon-size: 1.5em; box-shadow: $default-box-shadow; border-radius: 2px; } +.card-obscured +{ + position: relative; +} +.card-obscured .card-content { + -webkit-filter: blur($blur-intensity); + -moz-filter: blur($blur-intensity); + -o-filter: blur($blur-intensity); + -ms-filter: blur($blur-intensity); + filter: blur($blur-intensity); +} +.card-overlay { + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + padding: 20px; + background-color: rgba(128, 128, 128, 0.8); + color: #fff; + display: flex; + align-items: center; + font-weight: 600; +} .card-series-submit { diff --git a/scss/_gui.scss b/scss/_gui.scss index 40997c37a..dc3e19585 100644 --- a/scss/_gui.scss +++ b/scss/_gui.scss @@ -190,28 +190,6 @@ input[type="text"], input[type="search"], textarea top: 0.16em; } -.blur { - -webkit-filter: blur($blur-intensity); - -moz-filter: blur($blur-intensity); - -o-filter: blur($blur-intensity); - -ms-filter: blur($blur-intensity); - filter: blur($blur-intensity); -} - -.translucent-overlay { - position: absolute; - left: 0px; - right: 0px; - top: 0px; - bottom: 0px; - padding: 5%; - background-color: rgba(210, 210, 210, 0.8); - color: #fff; - display: flex; - align-items: center; - font-weight: 600; -} - .help { font-size: .85em; color: $color-help; From 6f9bec804b8a749be57a20b1b98ce352d05eab85 Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Tue, 23 Aug 2016 01:03:03 -0400 Subject: [PATCH 12/19] Use existing metadata to fill missing fields when updating claims --- js/page/publish.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/js/page/publish.js b/js/page/publish.js index 47dd06fb9..3414a3d4e 100644 --- a/js/page/publish.js +++ b/js/page/publish.js @@ -41,7 +41,16 @@ var PublishPage = React.createClass({ return; } - var metadata = {ver: '0.0.2'}; + if (this.state.nameIsMine) { + // Pre-populate with existing metadata + var metadata = Object.assign({}, this.state.claimMetadata); + if (this.refs.file.getValue() !== '') { + delete metadata.sources; + } + } else { + var metadata = {}; + } + metadata['ver'] = '0.0.2'; for (let metaField of ['title', 'author', 'description', 'thumbnail', 'license', 'license_url', 'language', 'nsfw']) { var value = this.refs['meta_' + metaField].getValue(); if (value !== '') { @@ -71,9 +80,7 @@ var PublishPage = React.createClass({ metadata: metadata, }; - if (this.refs.file.getValue() === '') { - publishArgs.metadata.sources = this.state.claimMetadata.sources; - } else { + if (this.refs.file.getValue() !== '') { publishArgs.file_path = this._tempFilePath; } From d16c4aa18161f2da3e377a7efb7017e412ffdf41 Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Tue, 23 Aug 2016 01:22:29 -0400 Subject: [PATCH 13/19] Show correct price on Show page --- js/page/show.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/js/page/show.js b/js/page/show.js index 9f8654c0b..048281ad0 100644 --- a/js/page/show.js +++ b/js/page/show.js @@ -12,6 +12,7 @@ var FormatItem = React.createClass({ claimInfo: React.PropTypes.object, amount: React.PropTypes.number, name: React.PropTypes.string, + available: React.PropTypes.string, }, render: function() { @@ -24,6 +25,7 @@ var FormatItem = React.createClass({ var license = claimInfo.license; var fileContentType = claimInfo['content-type']; + var available = this.props.available; var amount = this.props.amount || 0.0; return ( @@ -39,7 +41,7 @@ var FormatItem = React.createClass({ Content-Type{fileContentType} - Cost + Cost Author{author} @@ -65,6 +67,7 @@ var FormatsSection = React.createClass({ claimInfo: React.PropTypes.object, amount: React.PropTypes.number, name: React.PropTypes.string, + available: React.PropTypes.string, }, render: function() { var name = this.props.name; @@ -86,7 +89,7 @@ var FormatsSection = React.createClass({ {/* In future, anticipate multiple formats, just a guess at what it could look like // var formats = this.props.claimInfo.formats // return ({formats.map(function(format,i){ */} - + {/* })}); */} ); } @@ -109,7 +112,8 @@ var DetailPage = React.createClass({ lbry.search(this.props.name, (results) => { var result = results[0]; this.setState({ - amount: result.amount, + amount: result.cost, + available: result.available, claimInfo: result.value, searching: false, }); @@ -122,13 +126,14 @@ var DetailPage = React.createClass({ } var name = this.props.name; + var available = this.state.available; var claimInfo = this.state.claimInfo; var amount = this.state.amount; return (
- +
); } From 61bd7ce5c52b46b4162667caa4c187b2dd42c2fd Mon Sep 17 00:00:00 2001 From: kimihiro64 Date: Tue, 23 Aug 2016 09:53:45 -0500 Subject: [PATCH 14/19] Quick typo --- js/app.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/app.js b/js/app.js index 3d01dc888..a052f804c 100644 --- a/js/app.js +++ b/js/app.js @@ -31,7 +31,7 @@ var App = React.createClass({ } var message = 'The version of LBRY you\'re using is not up to date.\n\n' + - 'Choose "OK" to download the latest version."'; + 'Choose "OK" to download the latest version.'; lbry.getVersionInfo(function(versionInfo) { if (versionInfo.os_system == 'Darwin') { @@ -115,4 +115,4 @@ var App = React.createClass({ ); } -}); \ No newline at end of file +}); From f8045ea104ca84ff670289108a9da97f1b3c9e29 Mon Sep 17 00:00:00 2001 From: Jeremy Kauffman Date: Wed, 24 Aug 2016 11:14:46 -0400 Subject: [PATCH 15/19] NSFW legalese --- js/page/settings.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/js/page/settings.js b/js/page/settings.js index 8391cc829..c06a61022 100644 --- a/js/page/settings.js +++ b/js/page/settings.js @@ -113,7 +113,10 @@ var SettingsPage = React.createClass({ -
NSFW content may include nudity, intense sexuality, profanity, or other adult content.
+
+ NSFW content may include nudity, intense sexuality, profanity, or other adult content. + By displaying NSFW content, you are affirming you are of legal age to view mature content in your country or jurisdiction. +
From 5ae7bb4ac28039bdc50ab0378761879f85e83539 Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Fri, 26 Aug 2016 06:54:30 -0400 Subject: [PATCH 16/19] Fix wide thumbnails in My Files --- js/page/my_files.js | 1 + 1 file changed, 1 insertion(+) diff --git a/js/page/my_files.js b/js/page/my_files.js index 14cef41d8..01038af6b 100644 --- a/js/page/my_files.js +++ b/js/page/my_files.js @@ -57,6 +57,7 @@ var moreButtonColumnStyle = { }, artStyle = { maxHeight: '100px', + maxWidth: '100%', display: 'block', marginLeft: 'auto', marginRight: 'auto', From a679c9944a4e3a30f4e407b8eb1fafbc1b81ca19 Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Fri, 26 Aug 2016 08:03:08 -0400 Subject: [PATCH 17/19] Add default thumbnails everywhere --- dist/img/default-thumb.svg | 9 +++++++++ js/page/discover.js | 4 ++-- js/page/my_files.js | 2 +- js/page/show.js | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 dist/img/default-thumb.svg diff --git a/dist/img/default-thumb.svg b/dist/img/default-thumb.svg new file mode 100644 index 000000000..d63adb3cc --- /dev/null +++ b/dist/img/default-thumb.svg @@ -0,0 +1,9 @@ + + + + + + + ++C0 + diff --git a/js/page/discover.js b/js/page/discover.js index 36b3a2e91..ce023059c 100644 --- a/js/page/discover.js +++ b/js/page/discover.js @@ -96,7 +96,7 @@ var SearchResultRow = React.createClass({
- {'Photo + {'Photo
@@ -174,7 +174,7 @@ var FeaturedContentItem = React.createClass({ } return (
-
); diff --git a/js/page/my_files.js b/js/page/my_files.js index 01038af6b..5b8596960 100644 --- a/js/page/my_files.js +++ b/js/page/my_files.js @@ -98,7 +98,7 @@ var MyFilesRow = React.createClass({
- {this.props.imgUrl ? {'Photo : null} + {'Photo

{this.props.pending ? this.props.title : {this.props.title}}

diff --git a/js/page/show.js b/js/page/show.js index 048281ad0..63500e190 100644 --- a/js/page/show.js +++ b/js/page/show.js @@ -31,7 +31,7 @@ var FormatItem = React.createClass({ return (
- {'Photo + {'Photo

{description}

From 0e30c6c8c8c51157658819586e7362ae5bdcb069 Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Fri, 26 Aug 2016 08:07:46 -0400 Subject: [PATCH 18/19] Update Featured Content and add "five" slot to Community Content --- js/page/discover.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/js/page/discover.js b/js/page/discover.js index ce023059c..68fb6b37d 100644 --- a/js/page/discover.js +++ b/js/page/discover.js @@ -195,16 +195,19 @@ var FeaturedContent = React.createClass({

Featured Content

- - + + + +

Community Content

+ tooltip='Community Content is a public space where anyone can share content with the rest of the LBRY community. Bid on the names "one," "two," "three," "four" and "five" to put your content here!' /> +
); From 596a122d25ba8af40a4156292b486ff336e166e1 Mon Sep 17 00:00:00 2001 From: alexliebowitz Date: Fri, 26 Aug 2016 16:51:12 -0400 Subject: [PATCH 19/19] Fixed capitalization on featured content item URI --- js/page/discover.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/page/discover.js b/js/page/discover.js index 68fb6b37d..7bbb5bf97 100644 --- a/js/page/discover.js +++ b/js/page/discover.js @@ -197,7 +197,7 @@ var FeaturedContent = React.createClass({ - +