Commit graph

918 commits

Author SHA1 Message Date
Sean Yesmunt
692862c769 collapsable sidebar initial commit 2020-08-11 17:04:14 -04:00
Sean Yesmunt
2f995be794 use new buffer analytics api 2020-08-07 22:54:29 -04:00
infiinte-persistence
e5b1177644 Patch 37a1fd88: Sync selectedChannel only if the channel doesn't exist
## Issue
The previous commit was over-doing the manual syncing, causing other usages like the Repost Modal to always reset to a different channel.

## Fix
Only do the manual syncing when the channel does not exist.
At this point, we could also just take `channel[0]` as the new value.
2020-08-07 16:28:41 -04:00
Sean Yesmunt
e64d925086 fix alignment 2020-08-07 16:28:09 -04:00
Sean Yesmunt
1854710093 fix app crash when file name can't be found 2020-08-07 16:28:09 -04:00
Sean Yesmunt
c4e6605ada use button group as publish file header instead of title for better app parity 2020-08-07 16:28:09 -04:00
Baltazar Gomez
3da4df6b8f increase max chars limit of post editor 2020-08-05 21:37:00 -04:00
jessop
5f5203a211 put file properties such as type and duration over thumb 2020-08-05 14:59:04 -04:00
infiinte-persistence
c75bab5979 Tip Modal: Don't do final submit when the intention is to create New Channel.
## Issue
Fixes `4544 Channel-creation in "Tip|Support" Modal shouldn't submit LBC immediately`

## Changes
`Form` seems to have already tried to stop the propagation of `onSubmit`, so I'm not sure why it was still propagated.

Fix by using the same method used in the `CommentCreate`, which is simply to check for `CHANNEL_NEW` as the current selection.
2020-08-05 13:01:29 -04:00
infiinte-persistence
37a1fd88e3 selectChannel: sync auto-resolved value during mounting.
## Issue
Fixes `4621 Can't create Comments if you recently deleted a channel`

The `channel` that the parent passes in is from a persisted state. If the channel has been deleted, `<select>` will automatically resolve to another selectable value. However, `onChange` will not be called for this scenario, so we now have a mismatch.

## Changes
- Manually check if the value has been auto-resolved and report it to the parent.
- An extra `setTimeout` was needed. It seems like `onChannelChange` needs to be called after the first `useEffect` of the parent, otherwise the call has no effect.
2020-08-05 12:59:54 -04:00
Baltazar Gomez
d64d278676 fix metadata not updating if post content doesn't change 2020-08-05 12:57:49 -04:00
Sean Yesmunt
42e989d0cc always use markdown editor for text posts 2020-08-04 11:49:12 -04:00
btzr-io
036aedd88d use redux to load post content 2020-08-04 11:49:12 -04:00
btzr-io
80e1965e46 prevent name change while editing and more fixes 2020-08-04 11:49:12 -04:00
btzr-io
8067793379 fix reselect file error 2020-08-04 11:49:12 -04:00
btzr-io
0f757bc101 fix typo 2020-08-04 11:49:12 -04:00
btzr-io
d93d97882b fix auto populate title logic 2020-08-04 11:49:12 -04:00
btzr-io
0b3fe001d0 autopopulate name from title 2020-08-04 11:49:12 -04:00
btzr-io
a565f7c5df fix labeling and rename some strings 2020-08-04 11:49:12 -04:00
btzr-io
18a6e7c7c1 generate temporal file for published story 2020-08-04 11:49:12 -04:00
btzr-io
c47c6f6034 fix story validation and content loading on web 2020-08-04 11:49:12 -04:00
btzr-io
c7ea2a14ad fix web version build 2020-08-04 11:49:12 -04:00
btzr-io
9fc2384649 fix changes not saving on edit mode 2020-08-04 11:49:12 -04:00
btzr-io
2ff1fc024c load story content from streaming url and improve form validation + minor fixes 2020-08-04 11:49:12 -04:00
btzr-io
a5d1746151 add in-app text and markdown publishing 2020-08-04 11:49:12 -04:00
Sean Yesmunt
80d8eeb4cf move ads in ClaimList behind SHOW_ADS config 2020-08-03 16:16:04 -04:00
jessop
314fb22638 pull sync on nav to settings 2020-07-31 17:09:05 -04:00
Sean Yesmunt
c65afb201d fix embedded link for encoded url 2020-07-30 17:20:39 -04:00
jessop
c33ce28805 sync settings generally based on navigation and settings paths 2020-07-30 17:05:30 -04:00
Sean Yesmunt
9acbdf9825 group comment notifications and clean up notification style 2020-07-30 16:15:02 -04:00
infiinte-persistence
0ab5ca080e Fix 'Related' being loaded on Autoplay despite not visible.
## Issue
In the `Autoplay` case, if the `WaitUntilOnPage` has already opened the gates previously, the next video's Related will be loaded regardless of scroll position.

## Changes
Add a `lastUpdateDate` prop to `WaitUntilOnPage` to allow the parent to reset the gating state.

I don't really like the `lastUpdateDate` prop since it's purpose is not intuitive. Is there a standard way to do a "one-time trigger" from the parent?
2020-07-29 17:56:38 -04:00
infiinte-persistence
c1dbb752d8 RecommendedContent: Move WaitUntilOnPage to within the component instead.
This allows `RecommendedContent` to render the Card but with an empty list, so that the area isn't totally blank while waiting for `WaitUntilOnPage` to debounce.
2020-07-29 17:56:38 -04:00
infiinte-persistence
1383b19817 WaitUntilOnPage: Debounce to fix false positives.
There are cases where `WaitUntilOnPage` will incorrectly render, such as at the beginning if the upper components hasn't expanded to full size, so `WaitUntilOnPage` would be briefly visible.

Added a 300ms debounce to fix this, which would also improve scrolling performance a bit by doing less. Hopefully 300ms is enough for the upper components to inflate to full size.
2020-07-29 17:56:38 -04:00
jessopb
2a5d87ee54
Merge pull request #4602 from lbryio/fix-syncThemeSetting
trigger sync on theme change in nav menu
2020-07-29 17:56:06 -04:00
Sean Yesmunt
ca89dab45f move claim uri under file/channel details 2020-07-29 13:04:58 -04:00
jessop
b185857eb0 trigger sync on theme change in nav menu 2020-07-28 22:52:44 -04:00
Sean Yesmunt
0df388280e add search code from lbry-redux 2020-07-27 16:37:36 -04:00
jessop
142e695150 reverse child comments 2020-07-27 16:14:23 -04:00
Sean Yesmunt
d76ece04bc group similar settings in preparation of tabular settings page 2020-07-27 14:19:18 -04:00
jessop
0b3dbfc8f8 bump redux 2020-07-27 11:53:14 -04:00
jessop
d9bf72a351 all settings constants come from redux
sync settings

backout nav cases and anon preference key

more robust backout header

put notificationSettings under backout bar

review changes
2020-07-27 11:53:14 -04:00
Sean Yesmunt
e10647b5a2 hide some file page buttons with SIMPLE_SITE flag 2020-07-27 10:48:05 -04:00
Sean Yesmunt
5ea87b76c9 use SITE_NAME from config for tos copy 2020-07-27 10:48:05 -04:00
Sean Yesmunt
312ff91994 add SIMPLE_SITE config value to disable complex UIs 2020-07-27 10:48:05 -04:00
Sean Yesmunt
4b6c772adc copy changes 2020-07-27 10:48:05 -04:00
Sean Yesmunt
201417efcf Publish => Upload 2020-07-27 10:48:05 -04:00
Sean Yesmunt
fd6be7d3af simplify share modal slightly 2020-07-27 10:48:05 -04:00
infiinte-persistence
58adba306a Block mature content: Updates based on feedback. 2020-07-24 16:59:02 -04:00
infiinte-persistence
4c57cdd99f Block mature content when accessed directly from URL
## Issue:
Fixes 4549 `Mature content + navigating to URLs directly`
_If a user navigates to mature content directly, we currently show the page even if mature content setting is not enabled. With our recent mature content verification setting, we should hide the page until the user turns it on - we can prompt directly on the file page._

## Changes:
1. Show basic info of the claim like URL and Title, so that user knows which page is being blocked.
2. Initially, I had 2 "boxes" -- one for the title and another for the message. It felt a bit messy, so `FileTitle` was augmented to house everything in one box.
2020-07-24 16:59:02 -04:00
Sean Yesmunt
f94cf9da93 Library => Purchased on web 2020-07-23 11:16:32 -04:00
Sean Yesmunt
642e3663f7 simplify floating player controls 2020-07-23 11:16:32 -04:00
Sean Yesmunt
8960a4f5cb simplify wunderbar copy 2020-07-23 11:16:32 -04:00
Sean Yesmunt
90327a72ed add comments behind a flag 2020-07-23 11:03:00 -04:00
Sean Yesmunt
ed1ee8ac98 better handle channel thumbnail upload and remove spee.ch text 2020-07-22 12:26:31 -04:00
Sean Yesmunt
69d010435b allow blocking channels from comment 2020-07-20 14:48:25 -04:00
jessop
81ffd7ae79 specify first run follow in config 2020-07-20 13:59:46 -04:00
infiinte-persistence
ca4dd9e246 New Channel: Fix incorrect GUI configuration at entry
## Issue:
Fixes 4411 `"SelectChannel=New" doesn't show all fields on re-entry`

## Code Changes:
`selectChannel`: Correct the value of `addingChannel` in the constructor based on the given props.
2020-07-20 11:36:36 -04:00
infiinte-persistence
99c1401164 Restore and fix "comment out youtube badge on file page to fix mobile style"
(1) This reverts commit 8641a3ee1c.

(2) Fix floating-player misalignment due to YT badge in mobile by hiding the badge.

At first, the suggestion to truncate the left URI to keep the entire thing single-lined was implemented, but during testing, I realized that the YT badge will take up the entire width anyway (especially on other languages). The URI is more important than the badge, and truncating both of them would be ugly.

Given the preference to not have 2 lines for this, we'll just hide the badge for the mobile case.

For the Channel Page case, let's make it single-line through "4454: URL / top claims overlap" instead. We'll keep this commit/PR limited to fixing the YT badge.
2020-07-20 10:48:32 -04:00
infiinte-persistence
ff5518e421 Fix missing str change in [0c3a3ae4] - 'updated' -> 'checked'
The json was updated but the actual usage was not.
2020-07-20 10:48:32 -04:00
infiinte-persistence
60af367b18 Fix channel file-search not available in mobile
## Issue
Fixes 4524 `[mobile] in channel search not available`

## Changes
There are currently 3 wunderbars: (1) header (2) channel list (3) downloaded list.

The additional `wrapperStyle` in the header made it hard to find a solution that works for all 3, so I split 2 and 3 into `wunderbar__input--inline`.
2020-07-20 10:37:10 -04:00
infiinte-persistence
f31369a16d Fix 'transcoding' checkbox state when switching file types.
## Issue:
Currently, the checkbox grayed-out state is only correctly updated when changing from "no-file" to "file selected". If you have selected a video file and later changed to a text file, the checkbox doesn't gray out.

## Code Changes:
`fileVid` wasn't being updated for the case of non-videos; now it does.
2020-07-20 09:57:59 -04:00
jessop
e7e7d6dba4 fix comments functions import 2020-07-16 13:18:06 -04:00
Sean Yesmunt
0e2b1b98b8 add id to iframe for easier embed styling 2020-07-15 23:33:14 -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
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
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
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
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
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
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