Commit graph

2509 commits

Author SHA1 Message Date
Sean Yesmunt
8641a3ee1c comment out youtube badge on file page to fix mobile style 2020-07-15 20:00:18 -04:00
infiinte-persistence
8e7604ec33 Video: Consolidate showTapButton() into a single call since the functionality is mutually exclusive. 2020-07-15 16:10:10 -04:00
infiinte-persistence
7bef092013 Add option to retry video stream on failure
## Issue
Closes 4475 Option to retry video stream on failure
2020-07-15 16:10:10 -04:00
infiinte-persistence
115c456318 Video: Stop loading circle when there's an error. 2020-07-15 16:10:10 -04:00
infiinte-persistence
5e51016602 VideoJSOptions: Remove duplicate poster declaration 2020-07-15 16:10:10 -04:00
infiinte-persistence
cba2ccf1cb Show "YT Creator" label in File Page as well.
## Issue
Closes 3964 `Add Youtuber info to file page`

## Changes
(1) Refactor the YT-info query into `YoutubeBadge` component.
(2) For the File Page case, don't show "- last sync <date>" since the date has nothing to do with the file.

## Test
[x] YT Channel page
[x] YT Channel's claim page
[x] Non YT Channel page
[x] Non YT Channel's claim page
[x] No channel (anonymous) claim page
[x] Various RENDER_MODES
2020-07-15 15:27:03 -04:00
Sean Yesmunt
2fdc4376bf fix import statement 2020-07-15 12:33:20 -04:00
Sean Yesmunt
69cfcd81e9 bring in 'blocked' code from lbry-redux take 2 2020-07-15 09:52:08 -04:00
Sean Yesmunt
9c9530c6f3 Revert "bring in comments/blocked code from 'lbry-redux'"
This reverts commit fa7f74f979.
2020-07-14 19:23:25 -04:00
infiinte-persistence
2ea66f9d8d Refactor zooming code into "effects/use-zoom.js" 2020-07-14 16:08:24 -04:00
infiinte-persistence
bc19503419 Allow zooming on Desktop
## Issue
Closes 4501 `Font size`

## New behavior
The Desktop app can now zoom the same way as browsers:
- Zoom In: "Ctrl+=" or "Ctrl+numpadPlus" or "Ctrl+WheelUp"
- Zoom Out: "Ctrl+-" or "Ctrl+numpadMinus" or "Ctrl+WheelDown"
- Zoom Reset: "Ctrl+0" or "Ctrl+numpad0"

## Code changes
(1) Electron provides this functionality through the `zoomIn|zoomOut|resetZoom` roles in the Menu, so it would have been a quick job.

However, given that Electron currently does not support having multiple accelerators for one item, we can't add `Ctrl+WheelUp` to the mix and would have to implement our own handler and use `webFrame`.

Given that we need to add code anyways, we handle both keyboard and mouse cases through the same handler, hence the existence of `zoomWindow.js`.  It also provides the opportunity to few a few quirks with Electron's default implementation (e.g. stuck at both extremes)

(2) I recall there is another Issue for adding keyboard shortcuts.  Given that these shortcuts are universally used in browsers, they are probably "reserved", so shouldn't clash with that task.
2020-07-14 16:08:24 -04:00
infiinte-persistence
2754c962a4 Inf-scroll: Fix glitch when results are exactly the page size.
## Issue
Fixes 2675 `Claim search with exactly 20 results keep fetching next page`

## Changes
Use `claimSearchResultLastPageReached` (I didn't know it existed back then).

The unnecessary "loading" refresh will still happen one time, but at least now it doesn't happen every time we scroll to the bottom (and incorrectly incrementing 'page').
2020-07-14 16:05:42 -04:00
eatdostacos
5869734a15 Remove extra button 2020-07-14 15:58:02 -04:00
eatdostacos
b3606d15f7 Small typo correction 2020-07-14 15:58:02 -04:00
eatdostacos
9b10b775cd Add a LBRY status card to help page with links to new FAQ page and status page 2020-07-14 15:58:02 -04:00
Sean Yesmunt
fa7f74f979 bring in comments/blocked code from 'lbry-redux' 2020-07-14 15:57:19 -04:00
infiinte-persistence
860e5f097c Inf-scroll: Handle case of "pop from claim"
This is a follow-up on PR-4392.

## Issue:
The previous PR covered "pop from within the same page but with different query/order", but missed "pop after entering a claim".

1. Click `Your Tags`.
2. Set order to `New`.
3. Restart app or reload (crucial step)
4. Click `Your Tags`.
5. Click any claim.
6. `Back`. The order incorrectly resets to `Trending` -- it should stay at `New`.
2020-07-13 14:30:58 -04:00
Sean Yesmunt
856cc41f39 comment out lbry-first code 2020-07-13 10:03:00 -04:00
infiinte-persistence
2cba296db2 String update and fixes for 0.47.0-rcX 2020-07-13 09:51:04 -04:00
Sean Yesmunt
c86ac6e587 fix password reset link 2020-07-10 11:52:23 -04:00
jessopb
b39ff9ff7a
Merge pull request #4511 from lbryio/fix-matomo-useridemailonly
only set matomo userid if hasverifiedemail
2020-07-10 10:33:12 -04:00
jessop
1881627a89 only set matomo userid if hasverifiedemail 2020-07-10 10:14:06 -04:00
Sean Yesmunt
da7b331760 style cleanup 2020-07-09 14:49:36 -04:00
Sean Yesmunt
951d7bbb63 remove 'show both' date option in DateTime 2020-07-09 14:49:36 -04:00
Sean Yesmunt
706c4afd04 disable submit button while login is pending 2020-07-09 14:49:36 -04:00
infiinte-persistence
86484eb13f TipModal: Move "Buy More" next to price selection.
Having the "Buy More LBC" at the bottom seems out of place, since the context of LBC/amount is in the middle of the modal.
2020-07-09 13:04:18 -04:00
Sean Yesmunt
81344b9826 make sure lbryfirst error makes it up to UI 2020-07-09 11:01:12 -04:00
jessop
4131165d6a fix title 2020-07-08 18:35:49 -04:00
Sean Yesmunt
27e44b0320 update punctuation 2020-07-08 15:02:14 -04:00
infiinte-persistence
7feb123a45 Improve auto string addition to produce better diffs and ease merging.
## Issue
- The diff for new strings are polluted by the need to add a comma to the previous entry.
- Having to re-add the newline at the end of file before commiting is a repetitive pain.

## Caveats to this approach
- When manually adding strings, developers need to put it above the `--end--` entry. Hopefully it is obvious without having to put verbose comments like "^--- add new string before this line ---^"
- Translators will surely ask how to translate "--end--".
2020-07-08 15:01:05 -04:00
Sean Yesmunt
5c6e2e96fb update title/subtitle on support modal if user is sending a tip 2020-07-08 14:57:37 -04:00
infiinte-persistence
9389b61f02 UserPasswordReset: Handle 'Cancel' and 'X' for the direct entry scenario.
The `UserPasswordReset` can be accessed in two places:
(1) While signing in
(2) From the Settings Page when changing password.

This commit:
- maintains the existing `Cancel|X` behavior for case-1, which is to remain in the Sign-in page.
- For case-2 and any future direct-entry, we'll simply call `goBack()`.
2020-07-08 14:36:04 -04:00
infiinte-persistence
3f8d447b2a Add 'Forgot Password' button when changing passwords in the Settings Page.
This will directly go into the Reset Password page. This scenario is only possible after already signed in.
2020-07-08 14:36:04 -04:00
infiinte-persistence
fdcfd3b6fc Add: PasswordResetPage (the real one) 2020-07-08 14:36:04 -04:00
infiinte-persistence
47f600e797 Rename: PasswordResetPage --> PasswordSetPage
There will be an actual "Reset" page coming up next.
2020-07-08 14:36:04 -04:00
infiinte-persistence
19a94d3039 Revert "Add password reset ... (4468)" to redo using redirect page method. 2020-07-08 14:36:04 -04:00
infiinte-persistence
e5c4246e15 Add password reset link to settings page (4468) 2020-07-08 14:36:04 -04:00
infiinte-persistence
ad0d96328b Add ability to support language subsets, with only CT and CS enabled for now.
CT - Chinese Traditional
CS - Chinese Simplified

Note that if English subsets like en-GB is enabled in the future, the default 'en' value used throughout the code (including in redux.git) needs to be changed to 'en-US'.
2020-07-08 14:25:14 -04:00
Sean Yesmunt
38b26f0bfc don't allow lbry-first tag to be added manually 2020-07-08 14:23:43 -04:00
Sean Yesmunt
2f1e126551 don't count 'lbry-first' towards max tag limit 2020-07-08 14:23:43 -04:00
Sean Yesmunt
d6335464d3 cleanup - broken? 2020-07-08 14:23:43 -04:00
Sean Yesmunt
f9325a816e only start lbryFirst daemon for approved users 2020-07-08 14:23:43 -04:00
Thomas Zarebczan
4291c36c58 Initial commit for LBRY-First
fix killing daemon

bump lbry-first
2020-07-08 14:23:43 -04:00
Suisse00
11c5e9a307 Normalize email place holder value
Use a more neutral exemple domain already in use
2020-07-07 09:31:08 -04:00
infiinte-persistence
92be15ae04 ShareModal: Change "..." icon to "Links" 2020-07-07 09:29:05 -04:00
infiinte-persistence
12db7c519f Revert the Links Modal; we'll augment the Share Modal to include the download link.
This reverts commit cb47ed61375b4de32adacd89ce46d5da183150b5.
2020-07-07 09:29:05 -04:00
infiinte-persistence
3a2284a244 Add dialog to copy various types of links for a claim.
## Issue
Fixes 4293 `Better download link support`

- [x] make it so you can right click a download button > copy download URL
   Given that this could be useful in mobile/web as well, I used a button+modal instead of the right-click approach.

- [ ] in share dialog, show download URL to copy for non-video content
   This is already implemented, albeit hidden in the "More..." expansion.
2020-07-07 09:29:05 -04:00
infiinte-persistence
833bceeacc Fix unmuted state lost or reverted when playing a new video.
## Issue
Fixes 4460 `unmuted state lost / reverted`

1. Play a video.
2. Press mute.
3. Drag the volume bar to unmute.
4. Play a new video --> the video starts muted.

## Fix
The `volumechange` handler was comparing against stale variables, so there are times where the state was not saved. Just save both `muted` and `volume` without additional gating (the gating is probably unnecessary in the first place, since we are in a onChange function).
2020-07-07 09:28:04 -04:00
jessop
0039b94832 add userid for matomo 2020-07-07 09:27:34 -04:00
infiinte-persistence
1a3669ca76 Patch for "7839bbf2: Fix language-change not applied to all components immediately"
- Missed the "Account Password" card that is used for authenticated case.
- For cards that are only used in Settings, listen to the language change in "select" instead of passing in as a prop. I think this is cleaner.
2020-07-06 09:52:16 -04:00
infiinte-persistence
8920b4ca75 Fix video transcode setting not reflected correctly (MP3 incorrectly transcoded to MP4)
## Issue
4332: Video transcode setting not reflected correctly (MP3 incorrectly transcoded to MP4)

2 issues here:
(1) The checkbox is mixing between user state and logic state.
(2) The variables (e.g. `optimize`, `isVid`, `filePath`, etc) will have values from the previous operation when you enter Publish Page, so GUI issues beyond Transcode can be also produced (e.g. showing Transcode enabled for an image).

## Changes
The "Transcode" checkbox state (checked vs. unchecked) will now reflect the user's desire and will be a persisted state. Whether or not this setting is used will be reflected by the checkbox's grayed-out state (i.e. it can be checked for non videos, but it will be grayed out).
2020-07-06 09:42:16 -04:00
infiinte-persistence
0fcf78a700 Minor renaming for clarity. No functional change.
updateOptimizeState --> updateFileInfo
available --> ffmpegAvail
2020-07-06 09:42:16 -04:00
Suisse00
406ca3b998 Un hardcoded price filter label options 2020-07-03 17:05:23 -04:00
Sean Yesmunt
cfd5d46802 rewards redirect fix for manually approved users 2020-07-03 13:18:28 -04:00
jessop
70ee34f52e amount part deux 2020-07-03 11:03:29 -04:00
jessopb
64d67026cc
Merge branch 'master' into feat-newChannelCreate 2020-07-03 10:53:16 -04:00
jessop
4fa6a561ed amount 2020-07-03 10:44:29 -04:00
jessop
2315727385 tweaks 2020-07-03 10:32:48 -04:00
jessop
c91ce52be8 old channel create default bid 2020-07-03 10:27:01 -04:00
jessop
d66f2cd604 fix bid amount 2020-07-03 10:23:49 -04:00
jessop
1f32d454db error handling, ux tweaks, apiLogPublish 2020-07-02 18:27:49 -04:00
Sean Yesmunt
f4310cd3aa fix thumbnail/cover edits 2020-07-02 13:41:16 -04:00
jessop
9952359e28 fix redirect after delete 2020-07-02 13:18:06 -04:00
Sean Yesmunt
ba71d36e9a remove unused styles and add title fallback 2020-07-02 13:01:31 -04:00
jessop
d8098d8eb1 fix resolve loop 2020-07-02 12:47:36 -04:00
jessop
ffa248a353 limit tags, new channel link 2020-07-02 12:18:59 -04:00
Sean Yesmunt
8b266ebacb fix typo 2020-07-02 11:39:12 -04:00
Sean Yesmunt
8fe618c5be fix typo 2020-07-02 11:08:58 -04:00
infiinte-persistence
16ea14887c Inf-scroll: Change region to 'main' to ignore long tag/following list.
## Issue:
2789 `Infinite scrolling should activate at end of listed claims, not subscription list`
2020-07-02 10:37:31 -04:00
eatdostacos
aede386c22 Add/Correct Strings 2020-07-02 10:34:11 -04:00
infiinte-persistence
d51e52444c Allow entering Blocked Page even for 0 blocked channels.
Issue 4447 (item 2)
2020-07-02 10:33:51 -04:00
Sean Yesmunt
259f51abd6 style pass for channel edit
clean up sections and improve navigation handling

cleanup + image upload modal styling
2020-07-01 22:04:23 -04:00
jessop
36f93343f6 new channel creating and editing 2020-07-01 22:01:48 -04:00
Jeremy Kauffman
c54832c335
meh 2020-07-01 17:45:04 -04:00
Sean Yesmunt
15dec5398b update list of youtubers on homepage 2020-07-01 12:03:32 -04:00
infiinte-persistence
defbdc1ca2 Fix "Notification" page button being incorrectly disabled by 0 blocked channels.
Issue 4447
2020-07-01 11:21:22 -04:00
infiinte-persistence
145acda9cc [mobile] show "time left/progress" on video player bar
## Fixes:
4220

## Changes:
For `vjs-layout-small`, there is still space to display the said controls. This layout covers devices like Galaxy S5 up to Nexus 6P.

For layouts smaller that that (e.g. 'vjs-layout-xsmall'), they will remain hidden.
2020-07-01 11:20:26 -04:00
eatdostacos
84886e4b8a Put LBC amount with 4 precision on tip menu for all versions 2020-07-01 11:19:47 -04:00
infiinte-persistence
87e53db699 Don't expand search filters automatically if popping from Back action.
The existing behavior of automatically expanding when needed && when entering the page is still maintained.
2020-07-01 11:11:47 -04:00
infiinte-persistence
defcda519e Inf-scroll: Remove history of whether we've serviced the bottom.
## Fixes:
4351: "Infinite load won't work if the same sort option clicked"

Test case:
1. Click Following
2. Click New
3. Scroll down to load at least 1 extra page.
4. Go up and click New again.

## The Issue:
`scrollBottomCbMap[page]` in this case did not reset since the `id` remained the same.

## The Fix:
I don't know how else to notify the effect to run. Perhaps "when `page=1`" is one criteria, but I found that removing `scrollBottomCbMap` can also fix it.

I don't know what scenario that `scrollBottomCbMap` was originally meant to handle, so will need to depend of reviewer to confirm I did not break something else. This fix assumes that recent inf-scroll fixes and debouncing would have addressed the "weird stuff happening with fast scrolling" problem mentioned in the comments.
2020-07-01 11:11:47 -04:00
infiinte-persistence
9c7b882fbd Properly debounce the inf-scroll handling.
The previous code was simply delaying the handler, which served the intention of the time, which is to avoid using the wrong coordinate from querying too early. However, we ended up servicing each scroll message.

This is the proper fix, and should technically make scrolling smoother. Maybe this will fix 3576 as well, although I don't see much difference.
2020-07-01 11:11:47 -04:00
infiinte-persistence
ad37edf681 Inf-scroll: Fix scroll not working when navigating back from claim.
## Fixes:
3071: "Infinite scroll stops working when navigating to file page / back"

## The Issue:
In the POP operation, the `page` value is back to 1 due to the initializer `useState(1)`. If the results cache already contained more than 1 page's worth, then the rest of the logic thinks there's nothing to do.

## The Fix:
Previous fixes to Inf-Scroll added a "page correction" code to handle the mismatch. This fix simply adds this scenario to the list of scenarios to perform the correction.
2020-07-01 11:11:47 -04:00
infiinte-persistence
3288f235fb Refresh on publish page does not have loading indicator
## Fixes:
4214

## Approach:
`ClaimList` currently only shows the loading indicator if there is a header. We could make the indicator always appear at the top of the list when `loading=true`, but that would be the list jump up and down as the indicator appears/dissapears. I assume that is too distracting and is the reason why it was not made that way in the first place.

Show the indicator in place of the Refresh button while fetching instead.
2020-06-30 10:25:53 -04:00
Sean Yesmunt
7a588ccecf sort by release_time for youtube row on homepage 2020-06-29 17:29:58 -04:00
infiinte-persistence
86bae6eaee AbandonedChannelPreview: Handle blocked channels as well.
Issue 3800
2020-06-29 16:05:23 -04:00
infiinte-persistence
be7eaff6f1 Add modal to remove uri from Blocked list.
Issue 3800
2020-06-29 16:05:23 -04:00
infiinte-persistence
44ae8a64cd Blocked-Page: Set 'showUnresolvedClaims' so that 'AbandonedChannelPreview' is used instead of regular version.
Issue 3800
2020-06-29 16:05:23 -04:00
Sean Yesmunt
06ea8bf932 update homepage order 2020-06-29 16:02:21 -04:00
Sean Yesmunt
258a3e636a update homepage - remove lbrytvpaidbeta 2020-06-29 16:02:21 -04:00
Sean Yesmunt
74a18b724e fix subscribe button label not showing on mobile 2020-06-29 13:25:29 -04:00
infiinte-persistence
192bf12a0e refresh youtube creator status when switching between channels
Issue 3750
2020-06-29 10:19:05 -04:00
infiinte-persistence
2673a18923 Fix unresolved translations in the Splash Screen. 2020-06-29 09:52:05 -04:00
infiinte-persistence
7839bbf2a1 Fix language-change not applied to all components immediately.
## Fixes:
3641 Language switch does not take effect right away

## Assessment:
Although `Card`s in the Settings Page are actually being re-rendered, the `actions` within them might not be getting the signal, depending on their props.

## Changes:
(1) Pass the language variable to the `actions`'s props for items that are affected.
(2) Make the Wunderbar listen to language-changes as well (the only component outside of Settings that would need an immediate update).
2020-06-29 09:48:12 -04:00
eatdostacos
ed624a1b5d Correct link to buy page 2020-06-29 09:47:26 -04:00
eatdostacos
d9a0e7c655 Add link to buy LBC when you don't have enough for paid content
I added the link and I updated the strings to accomodate updated content.
2020-06-29 09:47:26 -04:00
infiinte-persistence
adb2a60d58 Skip translating blank string; Add new strings from Settings Page. 2020-06-29 09:46:42 -04:00
infiinte-persistence
b010325618 Pause 'Autoplay': cleanup
1. Use a constant for the classname instead of being hardcoded.
2. Use existing 'debounce' function instead of introducing another.
3. Added changelog entry.
2020-06-25 00:23:47 -04:00
infiinte-persistence
2c695b8150 Pause 'Autoplay' when a Modal is present. 2020-06-25 00:23:47 -04:00
infiinte-persistence
39db18046f Pause 'Autoplay' when scrolled off screen.
Fixes #-4021.

## Changes:
When the autoplay overlay gets partially off-screen, the timer will be stopped. We can tweak how much down it needs to be scrolled.

When timer is paused, the countdown resets.

The pausing mechanism has no effect on the floating player (since the 'top' can never go negative). This behavior is the same as another big video platform.
2020-06-25 00:23:47 -04:00
Sean Yesmunt
63ce5526ca update label text 2020-06-23 17:56:41 -04:00