From f390320030487afb6450b0bd38e5080b301587da Mon Sep 17 00:00:00 2001 From: DispatchCommit Date: Thu, 8 Jul 2021 01:26:58 -0700 Subject: [PATCH 01/14] add retargeting pixel --- ui/page/home/view.jsx | 7 +++++++ ui/page/signInVerify/view.jsx | 7 ++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ui/page/home/view.jsx b/ui/page/home/view.jsx index 1941091a3..78754d67b 100644 --- a/ui/page/home/view.jsx +++ b/ui/page/home/view.jsx @@ -128,6 +128,13 @@ function HomePage(props: Props) { {rowData.map(({ title, route, link, icon, help, options = {} }, index) => { return getRowElements(title, route, link, icon, help, options, index); })} + + {SIMPLE_SITE && ( + + )} ); } diff --git a/ui/page/signInVerify/view.jsx b/ui/page/signInVerify/view.jsx index 8abb8495b..acdf97a74 100644 --- a/ui/page/signInVerify/view.jsx +++ b/ui/page/signInVerify/view.jsx @@ -10,7 +10,7 @@ import I18nMessage from 'component/i18nMessage'; import Card from 'component/common/card'; type Props = { - history: { push: string => void, location: { search: string } }, + history: { push: (string) => void, location: { search: string } }, doToast: ({}) => void, }; @@ -132,6 +132,11 @@ function SignInVerifyPage(props: Props) { } /> + + ); } -- 2.45.3 From 0bb9c520ff2e9e6b46874a03972b4fc96d9ef5d9 Mon Sep 17 00:00:00 2001 From: zeppi Date: Thu, 8 Jul 2021 12:21:42 -0400 Subject: [PATCH 02/14] fix livestream display --- ui/component/claimTilesDiscover/view.jsx | 8 +++++++- ui/component/livestreamList/view.jsx | 1 + ui/page/channelsFollowing/view.jsx | 3 ++- ui/page/discover/view.jsx | 3 ++- ui/page/home/view.jsx | 15 ++++++++++++--- 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/ui/component/claimTilesDiscover/view.jsx b/ui/component/claimTilesDiscover/view.jsx index 7770e5ae4..b38863a6f 100644 --- a/ui/component/claimTilesDiscover/view.jsx +++ b/ui/component/claimTilesDiscover/view.jsx @@ -115,6 +115,7 @@ type Props = { liveLivestreamsFirst?: boolean, livestreamMap?: { [string]: any }, pin?: boolean, + showNoSourceClaims?: boolean, }; function ClaimTilesDiscover(props: Props) { @@ -147,6 +148,7 @@ function ClaimTilesDiscover(props: Props) { livestreamMap, // pin, // let's pin from /web folder prefixUris, + showNoSourceClaims, } = props; const { location } = useHistory(); @@ -290,7 +292,11 @@ function ClaimTilesDiscover(props: Props) { ? uris.map((uri, index) => ( )) - : new Array(pageSize).fill(1).map((x, i) => )} + : new Array(pageSize) + .fill(1) + .map((x, i) => ( + + ))} ); } diff --git a/ui/component/livestreamList/view.jsx b/ui/component/livestreamList/view.jsx index 5a5c5646c..8bf033466 100644 --- a/ui/component/livestreamList/view.jsx +++ b/ui/component/livestreamList/view.jsx @@ -56,6 +56,7 @@ export default function LivestreamList() { {livestreamMap && Object.keys(livestreamMap).length > 0 && ( diff --git a/ui/page/discover/view.jsx b/ui/page/discover/view.jsx index fca41e4fe..59a7a49d3 100644 --- a/ui/page/discover/view.jsx +++ b/ui/page/discover/view.jsx @@ -1,5 +1,5 @@ // @flow -import { SHOW_ADS, DOMAIN, SIMPLE_SITE } from 'config'; +import { SHOW_ADS, DOMAIN, SIMPLE_SITE, ENABLE_NO_SOURCE_CLAIMS } from 'config'; import * as ICONS from 'constants/icons'; import * as PAGES from 'constants/pages'; import React, { useRef } from 'react'; @@ -153,6 +153,7 @@ function DiscoverPage(props: Props) { liveLivestreamsFirst livestreamMap={livestreamMap} hasSource + showNoSourceClaims={ENABLE_NO_SOURCE_CLAIMS} /> ); diff --git a/ui/page/home/view.jsx b/ui/page/home/view.jsx index 1941091a3..d70398b62 100644 --- a/ui/page/home/view.jsx +++ b/ui/page/home/view.jsx @@ -1,7 +1,7 @@ // @flow import * as ICONS from 'constants/icons'; import * as PAGES from 'constants/pages'; -import { SITE_NAME, SIMPLE_SITE, DOMAIN } from 'config'; +import { SITE_NAME, SIMPLE_SITE, DOMAIN, ENABLE_NO_SOURCE_CLAIMS } from 'config'; import React from 'react'; import Page from 'component/page'; import Button from 'component/button'; @@ -43,11 +43,20 @@ function HomePage(props: Props) { const tilePlaceholder = (
    {new Array(options.pageSize || 8).fill(1).map((x, i) => ( - + ))}
); - const claimTiles = ; + const claimTiles = ( + + ); return (
-- 2.45.3 From 814acc5b1112ff9a289379da351d2bb9082d872c Mon Sep 17 00:00:00 2001 From: zeppi Date: Sat, 3 Jul 2021 23:19:13 -0400 Subject: [PATCH 03/14] restore playlists tab --- ui/page/channel/index.js | 2 ++ ui/page/channel/view.jsx | 47 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/ui/page/channel/index.js b/ui/page/channel/index.js index 3b92172e5..9befca133 100644 --- a/ui/page/channel/index.js +++ b/ui/page/channel/index.js @@ -7,6 +7,7 @@ import { selectCurrentChannelPage, makeSelectClaimForUri, makeSelectClaimIsPending, + selectMyUnpublishedCollections, } from 'lbry-redux'; import { selectBlackListedOutpoints, doFetchSubCount, makeSelectSubCountForUri } from 'lbryinc'; import { selectYoutubeChannels } from 'redux/selectors/user'; @@ -30,6 +31,7 @@ const select = (state, props) => ({ youtubeChannels: selectYoutubeChannels(state), blockedChannels: selectModerationBlockList(state), mutedChannels: selectMutedChannels(state), + unpublishedCollections: selectMyUnpublishedCollections(state), }); const perform = (dispatch) => ({ diff --git a/ui/page/channel/view.jsx b/ui/page/channel/view.jsx index 8e0d21ed4..094e88d8a 100644 --- a/ui/page/channel/view.jsx +++ b/ui/page/channel/view.jsx @@ -25,6 +25,7 @@ import Yrbl from 'component/yrbl'; export const PAGE_VIEW_QUERY = `view`; const CONTENT_PAGE = 'content'; +const LISTS_PAGE = 'lists'; const ABOUT_PAGE = `about`; export const DISCUSSION_PAGE = `discussion`; const EDIT_PAGE = 'edit'; @@ -50,6 +51,7 @@ type Props = { youtubeChannels: ?Array<{ channel_claim_id: string, sync_status: string, transfer_state: string }>, blockedChannels: Array, mutedChannels: Array, + unpublishedCollections: CollectionGroup, }; function ChannelPage(props: Props) { @@ -68,6 +70,7 @@ function ChannelPage(props: Props) { youtubeChannels, blockedChannels, mutedChannels, + unpublishedCollections, } = props; const { push, @@ -98,6 +101,31 @@ function ChannelPage(props: Props) { } }); + const hasUnpublishedCollections = unpublishedCollections && Object.keys(unpublishedCollections).length; + + let collectionEmpty; + if (channelIsMine) { + collectionEmpty = hasUnpublishedCollections ? ( +
+ { +

+ , + }} + > + You have unpublished lists! %pick% one and publish it! + +

+ } +
+ ) : ( +
{__('You have no lists! Create one from any playable content.')}
+ ); + } else { + collectionEmpty =
{__('No Lists Found')}
; + } + let channelIsBlackListed = false; if (claim && blackListedOutpoints) { @@ -114,12 +142,15 @@ function ChannelPage(props: Props) { case CONTENT_PAGE: tabIndex = 0; break; - case ABOUT_PAGE: + case LISTS_PAGE: tabIndex = 1; break; - case DISCUSSION_PAGE: + case ABOUT_PAGE: tabIndex = 2; break; + case DISCUSSION_PAGE: + tabIndex = 3; + break; default: tabIndex = 0; break; @@ -132,6 +163,8 @@ function ChannelPage(props: Props) { if (newTabIndex === 0) { search += `${PAGE_VIEW_QUERY}=${CONTENT_PAGE}`; } else if (newTabIndex === 1) { + search += `${PAGE_VIEW_QUERY}=${LISTS_PAGE}`; + } else if (newTabIndex === 2) { search += `${PAGE_VIEW_QUERY}=${ABOUT_PAGE}`; } else { search += `${PAGE_VIEW_QUERY}=${DISCUSSION_PAGE}`; @@ -240,6 +273,7 @@ function ChannelPage(props: Props) { {__('Content')} + {__('Playlists')} {editing ? __('Editing Your Channel') : __('About --[tab title in Channel Page]--')} {__('Community')} @@ -252,6 +286,15 @@ function ChannelPage(props: Props) { empty={
{__('No Content Found')}
} /> + + + -- 2.45.3 From 8e2ad8b8cae420fe72ce64d73cbd7bf2a1f588e8 Mon Sep 17 00:00:00 2001 From: zeppi Date: Sun, 4 Jul 2021 11:01:15 -0400 Subject: [PATCH 04/14] fix missing i18n on channel page --- ui/page/channel/view.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/page/channel/view.jsx b/ui/page/channel/view.jsx index 094e88d8a..ac0105a13 100644 --- a/ui/page/channel/view.jsx +++ b/ui/page/channel/view.jsx @@ -22,6 +22,7 @@ import ClaimSupportButton from 'component/claimSupportButton'; import ChannelStakedIndicator from 'component/channelStakedIndicator'; import ClaimMenuList from 'component/claimMenuList'; import Yrbl from 'component/yrbl'; +import I18nMessage from 'component/i18nMessage'; export const PAGE_VIEW_QUERY = `view`; const CONTENT_PAGE = 'content'; -- 2.45.3 From e2de9bf9e708089493c2b5ba0eb69ac8b6ffac29 Mon Sep 17 00:00:00 2001 From: saltrafael Date: Tue, 29 Jun 2021 13:57:22 -0300 Subject: [PATCH 05/14] Fix recommended tab style issues --- ui/scss/component/_claim-list.scss | 4 ++++ ui/scss/component/_search.scss | 4 +++- ui/scss/component/_snack-bar.scss | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ui/scss/component/_claim-list.scss b/ui/scss/component/_claim-list.scss index d5602e264..e0cdab712 100644 --- a/ui/scss/component/_claim-list.scss +++ b/ui/scss/component/_claim-list.scss @@ -94,6 +94,10 @@ .claim-preview__wrapper--small { padding: var(--spacing-s); + + .button--uri-indicator { + max-width: 12rem; + } } .claim-preview { diff --git a/ui/scss/component/_search.scss b/ui/scss/component/_search.scss index db1272154..1fcb5f2c0 100644 --- a/ui/scss/component/_search.scss +++ b/ui/scss/component/_search.scss @@ -128,10 +128,12 @@ } .recommended-content__toggles { - margin-right: var(--spacing-s); + margin-top: var(--spacing-xs); + margin-right: var(--spacing-xs); button { padding: 0 var(--spacing-xs); height: 2rem; + max-width: 15rem; } } diff --git a/ui/scss/component/_snack-bar.scss b/ui/scss/component/_snack-bar.scss index faff99c7b..57d51e318 100644 --- a/ui/scss/component/_snack-bar.scss +++ b/ui/scss/component/_snack-bar.scss @@ -47,6 +47,8 @@ } .snack-bar__message { + overflow: hidden; + text-overflow: ellipsis; align-items: center; display: flex; flex-direction: row; -- 2.45.3 From d97a23b69979dbed5c801c1d16f006cd51f04a64 Mon Sep 17 00:00:00 2001 From: infinite-persistence Date: Tue, 6 Jul 2021 09:29:46 +0800 Subject: [PATCH 06/14] Rename default import/exports for clarity in text search (no functional change) I believe it was just due to copy/pasting from another file and not renaming it. --- ui/component/channelContent/index.js | 4 ++-- ui/component/channelEdit/index.js | 4 ++-- ui/component/channelMuteButton/view.jsx | 10 +++------- ui/component/channelSelector/index.js | 6 +++--- ui/component/claimCollectionAddButton/index.js | 4 ++-- ui/component/collectionEdit/index.js | 4 ++-- ui/component/collectionMenuList/view.jsx | 4 ++-- ui/component/collectionPreviewOverlay/view.jsx | 4 ++-- ui/component/livestreamComment/view.jsx | 4 ++-- ui/component/livestreamComments/index.js | 4 ++-- ui/component/livestreamList/index.js | 4 ++-- ui/component/markdownLink/index.js | 6 +++--- ui/component/nagContinueFirstRun/index.js | 6 +++--- ui/component/notificationBubble/index.js | 4 ++-- ui/component/notificationContentChannelMenu/index.js | 4 ++-- ui/component/publishAdditionalOptions/index.js | 10 +++++----- ui/component/recommendedContent/index.js | 4 ++-- ui/page/settingsAdvanced/index.js | 12 ++++++------ ui/page/settingsAdvanced/view.jsx | 10 +++++----- ui/page/settingsNotifications/index.js | 8 ++++---- ui/page/settingsStripeCard/index.js | 8 ++++---- ui/page/settingsStripeCard/view.jsx | 4 ++-- 22 files changed, 62 insertions(+), 66 deletions(-) diff --git a/ui/component/channelContent/index.js b/ui/component/channelContent/index.js index 5338a7218..8d3bbc6fb 100644 --- a/ui/component/channelContent/index.js +++ b/ui/component/channelContent/index.js @@ -14,7 +14,7 @@ import { withRouter } from 'react-router'; import { selectUserVerifiedEmail } from 'redux/selectors/user'; import { makeSelectClientSetting, selectShowMatureContent } from 'redux/selectors/settings'; -import ChannelPage from './view'; +import ChannelContent from './view'; const select = (state, props) => { const { search } = props.location; @@ -37,4 +37,4 @@ const perform = (dispatch) => ({ doResolveUris: (uris, returnCachedUris) => dispatch(doResolveUris(uris, returnCachedUris)), }); -export default withRouter(connect(select, perform)(ChannelPage)); +export default withRouter(connect(select, perform)(ChannelContent)); diff --git a/ui/component/channelEdit/index.js b/ui/component/channelEdit/index.js index 3835fdf88..82618960f 100644 --- a/ui/component/channelEdit/index.js +++ b/ui/component/channelEdit/index.js @@ -17,7 +17,7 @@ import { } from 'lbry-redux'; import { doOpenModal } from 'redux/actions/app'; import { doUpdateBlockListForPublishedChannel } from 'redux/actions/comments'; -import ChannelPage from './view'; +import ChannelForm from './view'; const select = (state, props) => ({ claim: makeSelectClaimForUri(props.uri)(state), @@ -52,4 +52,4 @@ const perform = (dispatch) => ({ clearChannelErrors: () => dispatch(doClearChannelErrors()), }); -export default connect(select, perform)(ChannelPage); +export default connect(select, perform)(ChannelForm); diff --git a/ui/component/channelMuteButton/view.jsx b/ui/component/channelMuteButton/view.jsx index 2ffa6866b..a87478d7e 100644 --- a/ui/component/channelMuteButton/view.jsx +++ b/ui/component/channelMuteButton/view.jsx @@ -10,7 +10,7 @@ type Props = { doChannelUnmute: (string, boolean) => void, }; -function ChannelBlockButton(props: Props) { +function ChannelMuteButton(props: Props) { const { uri, doChannelMute, doChannelUnmute, isMuted } = props; function handleClick() { @@ -22,12 +22,8 @@ function ChannelBlockButton(props: Props) { } return ( -
- - + {/* @if TARGET='web' */} + + {/* @endif */} ); } diff --git a/web/component/pixel.jsx b/web/component/pixel.jsx new file mode 100644 index 000000000..697e378d3 --- /dev/null +++ b/web/component/pixel.jsx @@ -0,0 +1,36 @@ +// @flow +import React from 'react'; +import { SIMPLE_SITE } from 'config'; +type Props = { + type: string, +}; + +const Pixel = (props: Props) => { + const { type } = props; + if (!SIMPLE_SITE) { + return null; + } + if (type === 'retargeting') { + return ( + <> + + + ); + } else if (type === 'kill') { + return ( + <> + + + ); + } else { + return null; + } +}; + +export default Pixel; -- 2.45.3 From f1c9aa7907690239811ed62eddbd7ff34ce5b37a Mon Sep 17 00:00:00 2001 From: zeppi Date: Tue, 13 Jul 2021 23:45:51 -0400 Subject: [PATCH 14/14] review this --- ui/page/signInVerify/view.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ui/page/signInVerify/view.jsx b/ui/page/signInVerify/view.jsx index f201ff683..39964e677 100644 --- a/ui/page/signInVerify/view.jsx +++ b/ui/page/signInVerify/view.jsx @@ -8,8 +8,9 @@ import Button from 'component/button'; import { Lbryio } from 'lbryinc'; import I18nMessage from 'component/i18nMessage'; import Card from 'component/common/card'; +// @if TARGET='web' import Pixel from 'web/component/pixel'; - +// @endif type Props = { history: { push: (string) => void, location: { search: string } }, doToast: ({}) => void, -- 2.45.3