Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Onboarding + youtube transfer + channels page #2925

Merged
merged 8 commits into from
Oct 1, 2019
Merged

Conversation

neb-b
Copy link

@neb-b neb-b commented Sep 26, 2019

Cleanup from the initial MVP

Before you review

  • A ton of changes in this PR are from moving blocks to use the new <Card /> component. You can skip page/settings/view.jsx and page/help/view.jsx since I just moved stuff around.

Changes

  • Adds channel page with youtube sync status component
    • Add link from the channel page to this so youtubers who just search for their channel in the search bar can easily get to the channels page
  • moves all effects out of util/ and into effects/
  • moves a lot of cards over to the new Card component
    • Removed a decent amount of .cardxx styles
    • Also made some progress removing .card--xxx references on non-card elements to use the more generic .section--xx classes

@neb-b neb-b force-pushed the onboarding-desktop branch 2 times, most recently from b724046 to 106baa9 Compare September 26, 2019 19:41
return (
<Form onSubmit={handleSubmit}>
<Card
title={__('Enter Your LBRY Password')}
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably could use some help text here? This is when you are logging in to an account that was encrypted with a password. You need to use the password you used on the previous device

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Wallet Password [?]"

[?]: Your wallet password was set when you previously installed LBRY on another device.

where [?] = mouseoverable help thing

Does it have to be another device though? Is wallet password put into OS keyring? If not, couldn't it be the same machine/install?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, it could be saved from an old install on the same device.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's just say the following, it's nice and ambiguous:

[?]: You set your wallet password when you previously installed LBRY.

name="sync_checkbox"
label={__('Sync your balance between devices')}
helper={
balance > 0 ? __('This is only available for empty wallets') : __('Maybe some more text about something')
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy check

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is it only available for empty wallets?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is a current restriction of the sync API, though I don't think it will be like that for long.

@lbry-bot lbry-bot assigned neb-b and unassigned neb-b Sep 27, 2019
@neb-b neb-b force-pushed the onboarding-desktop branch 2 times, most recently from af6f155 to cb0387c Compare September 27, 2019 18:57
@lbry-bot lbry-bot assigned neb-b and unassigned neb-b Sep 27, 2019
Copy link
Member

@kauffj kauffj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mostly requested copy, did not look at most of PR

src/ui/component/userEmailNew/view.jsx Outdated Show resolved Hide resolved
src/ui/component/userEmailNew/view.jsx Outdated Show resolved Hide resolved
src/ui/component/userEmailNew/view.jsx Outdated Show resolved Hide resolved
src/ui/component/userEmailNew/view.jsx Outdated Show resolved Hide resolved
@lbry-bot lbry-bot assigned neb-b and unassigned neb-b Sep 27, 2019
@tzarebczan
Copy link
Contributor

tzarebczan commented Sep 28, 2019

  • dark mode inputs need to be fixed - see tag selection/settings page

  • prompt for sync after signing in - this way we can compare local to remote hashes, and support existing balances if the hashes match or if no wallet has been synced before (many existing users).

  • support youtube scenario where channel is not synced and claim id won't resolve. This will happen if someone opens the app but isn't synced up yet, or if their channel was never synced for some reason. We'd want to show the status (pending/queued/abandoned) here and maybe a link to the sync page.

  • if someone has a completed channel transfer, we won't show any pending ones (we do a .some on completed)

nice to have:

  • driver from channel page to claim channel
  • delete button on channel page (help those with duplicate/multiple channels clean up after sync)
  • at least show lbc locked in tips ...this will really help with youtubers being confused about their balance

bugs:

  • publish page shows "You are currently editing a claim." even if you aren't (cleared state)
  • scroll to top bugs

@tzarebczan
Copy link
Contributor

another small thing - a channel pending confirmation refreshes repeated on channels page. We may eventually have to do something similar to pending publishes.

@neb-b neb-b changed the title [wip] Onboarding + youtube transfer + channels page Onboarding + youtube transfer + channels page Sep 30, 2019
@kauffj kauffj self-requested a review September 30, 2019 19:02
@lbry-bot lbry-bot assigned kauffj and unassigned neb-b Sep 30, 2019
Copy link
Member

@kauffj kauffj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally looks good.

@@ -219,7 +232,7 @@ const ClaimPreview = forwardRef<any, {}>((props: Props, ref: any) => {
</div>
)}
</div>
<ClaimTags uri={uri} type={type} />
{properties !== undefined ? properties : <ClaimTags uri={uri} type={type} />}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What should properties be when you want the positive action to happen? I suspect this check should be stronger

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mainly properties={false} to hide them.

src/ui/component/publishFile/view.jsx Outdated Show resolved Hide resolved
src/ui/component/publishPrice/view.jsx Outdated Show resolved Hide resolved
this.setState({
message: __('Blockchain Sync'),
details: `${__('Catching up...')} (${__(format, wallet.blocks_behind)})`,
details: `${__('Catching up...')} (${__(amountBehind, { amountBehind: wallet.blocks_behind })})`,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should just be __( now, not ${__(, right?

(Also, this is where __n could be useful if we want it)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We still need the $ because it's wrapped in a template string

const hasYoutubeChannels = youtubeChannels && Boolean(youtubeChannels.length);
const hasTransferrableYoutubeChannels = hasYoutubeChannels && youtubeChannels.some(channel => channel.transferable);
const hasPendingYoutubeTransfer =
hasYoutubeChannels && youtubeChannels.some(channel => channel.transfer_state === 'pending_transfer');
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'pending_transfer' should probably be a lbryio constant :/

src/ui/component/youtubeTransferWelcome/view.jsx Outdated Show resolved Hide resolved
src/ui/component/youtubeTransferWelcome/view.jsx Outdated Show resolved Hide resolved
) : (
<section className="main--empty">
<div className=" section--small">
<h2 className="section__title--large">{__('No Channels Created Yet')}</h2>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stylistically I think empty states could still use work

because the state is empty, anything being displayed already has a lot of emphasis

this empty state (and some others) use large bold text, I think this could be softened/reduced

I also think more horizontal space could be used before wrapping

Maybe look at https://material.io/design/communication/empty-states.html for how Material Design does it

src/ui/page/discover/view.jsx Show resolved Hide resolved
src/ui/page/help/view.jsx Outdated Show resolved Hide resolved
@lbry-bot lbry-bot assigned neb-b and unassigned kauffj and neb-b Sep 30, 2019
@lbry-bot lbry-bot assigned neb-b and unassigned neb-b Oct 1, 2019
@neb-b neb-b force-pushed the onboarding-desktop branch 2 times, most recently from 6d62207 to 064b47e Compare October 1, 2019 05:04
@neb-b neb-b merged commit 30a9aac into master Oct 1, 2019
@neb-b neb-b deleted the onboarding-desktop branch October 15, 2019 19:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants