Commit graph

66 commits

Author SHA1 Message Date
infinite-persistence 4259d6fc17
Consolidate keycode constants 2021-09-10 09:00:44 +08:00
infinite-persistence be9dca362d
Fix linked-comment auto scroll
## Ticket
6946: Linked-comment scroll position is inconsistent

## Issues
- If it is a deeply-nested reply, the positioning is incorrect.
- If there are pinned comments, the positioning is way off.
- If there is a delay in mounting, the positioning doesn't happen.
- When clicking on the comment's date to highlight it, the comment goes missing and the scroll position is weird.

## Changes
- Take into account that replies can be linked-comments.
- Perform a "one-time" search for the linked-comment after the initial fetch, if necessary. The expensive DOM search is only be executed minimally.
2021-09-01 16:02:54 +08:00
infinite-persistence a9672a4b5c
Fix extra renders when hovering over comments
Remove defunct "show comment menu on hover" implementation.

It was re-rendering on every mouse movement, plus the css classname no longer exists, and also it wasn't working right in the first place (reverted few Desktop revision back, and all it did was highlighting the menu rather than controlling the visibility).

If we want the "show comment menu on hover" behavior again in the future, the CPU usage problem can probably be addressed by debouncing/throttling state-change.
2021-09-01 14:41:42 +08:00
saltrafael d7344f5047
Add direct reacting from notifications 2021-08-28 20:48:49 +08:00
infinite-persistence 74986a8b3a
Comments: simplify blocked replies display
Previously, we decide when to display "Show More" based on the current fetched reply count vs. total replies in Commentron. It was already troublesome as `comment.List` and `comment.replies` give different values (one includes blocked content, while another does not).

Now, we are further filtering the list with Commentron blocklists (personal, admin, moderator), so it is not feasible to run the logic based on reply count.

## Solution
- Keep track of number of remaining pages instead and use that to determine when to display "Show More".
  - While it doesn't solve the "Show N replies" mismatch (YT has this problem too), it prevents the button from lingering.
- In the event that all replies are blocked, just show an empty space (same as YT). I didn't like the previous version that cluttered the space with "comment(s) blocked".
2021-08-24 16:55:36 +08:00
infinite-persistence 7da1d8cdf7
Add icon to "Show/Hide Reply" 2021-08-23 15:19:23 +08:00
infinite-persistence 1421a39518
Comment badge to reflect mod and admin status.
## Issue
6467 Add status indicators for messages from creator, delegated moderator, global moderator

## Changes
- Added the required icons.
- Added tooltip.

## Notes
- Left out "creator" since we are already highlighting the creator's name.
- Note that currently the status is only available via websocket deltas. `comment.List` does not provide the data.
- When `comment.List` includes the info, regular comments will automatically include these badges.
2021-08-16 10:08:56 +08:00
saltrafael 87ae041472 Add confirmation on comment removal 2021-07-30 10:24:04 -04:00
infinite-persistence 08738ffcee
Reaction-fetch: handle "deleted all channels"
- use `selectActiveChannelClaim` as that takes the current channel list into account (i.e. correct state when all channels are deleted).
    - `selectActiveChannelId` should probably be removed or not exposed through a selector, as it is not updated when channel list changes?
2021-07-20 15:22:50 +08:00
Anthony 7bb5df97fd Stripe 2
show visible card and add remove card button

show your transactions even if you dont have a card

fix presentational issues

show your transactions even if you dont have a card

fix presentational issues

add link to channel section

update yarn

show donation location

add remove card modal still needs completion and also changed how stripe is used on settings stripe card page

add confirm remove card modal to router

move bank account stuff to settings page

move account functionality to settings page

continuing to move account transactions to settings

list transactions for creator

updating copy

touchup tip error

do a better job autofocusing

bugfix

show an error on the card page if api returns 500

building out frontend for comment tip

display dollar sign if its a fiat tip

more frontend work

more frontend work

more frontend bug fixes

working with hardcoded payment intent id

working but with one bug

bugfixed

add toast if payment fails

add add card button

cant get claim id but otherwise done

more frontend work

call is working

show fiat for livestream comments

add is fiat on comments

round and show values properly

dont allow review if tiperror

copy displaying properly

disable buttons conditionally properly

remove card button working

remove card working with a workaround by refreshing page

bugfix

send toast when tip on comment

jeremy frontend changes

only show cart on lbc
2021-07-17 13:19:33 -04:00
infinite-persistence 08c701ba19 Restore comment pagination
This reverts commit e6addb8c2a, reversing
changes made to 47b594107a.
2021-07-16 10:54:12 -04:00
infinite-persistence a2a1ddb403
Revert "Comments Pagination #6390"
This reverts commit 16ef013025, reversing
changes made to fba8b89b3b.
2021-07-15 22:23:26 +08:00
infinite-persistence 5ef95846d8
Add AUTO_EXPAND_REPLIES flag to toggle the feature. 2021-07-14 12:58:26 +08:00
infinite-persistence 0cf6fe3df5
Comments Pagination
## Issue
6158 - Support Comment Pagination
2021-07-14 12:58:25 +08:00
infinite-persistence fc7edc875b
ChannelThumbnail improvements
- [x] (6332) The IntersectionObserver method of lazy-loading loads cached images visibly late on slower devices. Previously, it was also showing the "broken image" icon briefly, which we mended by placing a dummy transparent image as the initial src.
  - Reverted that ugly transparent image fix.
  - Use the browser's built-in `loading="lazy"` instead. Sorry, Safari.

- [x] Size-optimization did not take "device pixel ratio" into account.
  - When resizing an image through the CDN, we can't just take the dimensions of the tag in pixels directly -- we need to take zooming into account, otherwise the image ends up blurry.
  - Previously, we quickly disabled optimization for the channel avatar in the Channel Page because of this. Now that we know the root-cause, the change was reverted and we now go through the CDN with appropriate sizes. This also improves our Web Vital scores.

- [x] Size-optimization wasn't really implemented for all ChannelThumbnail instances.
  - The CDN-optimized size was hardcoded to the largest instance, so small images like sidebar thumbnails are still loading images that are unnecessarily larger.
  - There's a little-bit of hardcoding of values from CSS here, but I think it's a ok compromise (not something we change often). It also doesn't need to be exact -- the "device pixel ratio" calculate will ensure it's slightly larger than what we need.

- [x] Set `width` and `height` of `<img>` to improve CLS.
  - Addresses Ligthhouse complaints, although technically the shifting was addressed at the `ClaimPreviewTile` level (sub-container dimensions are well defined).
  - Notes: the values don't need to be the final CSS-adjusted sizes. It just needs to be in the right aspect ratio to help the browser pre-allocate space to avoid shifts.

- [x] Add option to disable lazy-load Channel Thumbnails
  - The guidelines mentioned that items that are already in the viewport should not enable `loading="lazy"`.
  - We have a few areas where it doesn't make sense to lazy-load (e.g. thumbnail in Header, channel selector dropdown, publish preview, etc.).
2021-07-05 16:04:10 +08:00
Sean Yesmunt 6d89f0df7e hyperchats 2021-04-23 16:20:17 -04:00
saltrafael 3e1f6cdf4d Highlight comments made by content owner 2021-04-05 14:32:37 -04:00
Sean Yesmunt 21ad5077f7 add helplbrysavecrypto prompt and fix file page UI bugs 2021-04-04 23:32:47 -04:00
Sean Yesmunt 64e8c8e095 use comment component for livestream comments 2021-03-25 15:08:05 -04:00
infinite-persistence 0d850742f5 Disable video previews in Comments and Post if author is below a certain level. 2021-03-12 10:38:16 -05:00
infinite-persistence e361289c06 Don't close main player when editing comments
https://discord.com/channels/362322208485277697/363087331475062785/815132676293918730

- Renamed `closeInlinePlayer` to `clearPlayingUri` to reflect it's actual function.
- Add additional check to see if the current video is actually inline before closing it.

Wanted to refactor out an actual `closeInlinePlayer`, but let's wait until there are more usages.
2021-03-08 11:21:57 -05:00
Sean Yesmunt ea74a66dbd
New moderation tools: block & mute (#5572)
* initial support for block/mute

* hide blocked + muted content everywhere

* add info message for blocked/muted characteristics

* sort blocked list by most recent block first

* add 'blocked' message on channel page for channels that you have blocked

* cleanup

* delete unused files

* always pass mute/block list to claim_search on homepage

* PR cleanup
2021-03-03 13:50:16 -05:00
Sean Yesmunt 09b689ba1c add channel staked amount indicator on channel thumbnails 2021-02-18 01:14:39 -05:00
Sean Yesmunt 92fc807e3d fix missing prop 2021-02-11 14:01:22 -05:00
Sean Yesmunt 1f117e43bd add initial support for comment API outside of SDK 2021-02-11 10:45:34 -05:00
Sean Yesmunt db87125dc8 refactor 'active' channel usage across the app 2021-02-11 10:45:34 -05:00
Daniela Narvaez e9d28918cd Add type definition for new prop in comment component 2021-01-26 16:34:50 -05:00
Daniela Narvaez 0a2f9fa0be Fixing inline videos in comments 2021-01-26 16:34:50 -05:00
Sean Yesmunt ad20e355cf creator only like reactions 2020-10-27 12:27:30 -04:00
Sean Yesmunt ca7a0794a8 lower threshold for comments slimed to death 2020-10-26 14:06:33 -04:00
Sean Yesmunt 295b8cf2e1 refactor floatingUri to allow inline players in comments/markdown 2020-10-21 15:29:29 -04:00
jessop 14e1b6c1f7 pin only top level 2020-10-20 13:09:08 -04:00
Sean Yesmunt 106f5a0ac2 initial comment pin PR with new commit 2020-10-19 23:37:39 -04:00
Sean Yesmunt 264a85d837 Revert "comment pin action"
This reverts commit 636ab7427d.
2020-10-19 15:01:09 -04:00
jessop 636ab7427d comment pin action
owners can pin and unpin comments

tweak pin icon styles

move commenting activeChannel from localStorage to redux
2020-10-19 14:48:01 -04:00
Sean Yesmunt 8bb6643a41 switch back to 'slimed to death' 2020-10-09 11:38:50 -04:00
Sean Yesmunt 60569de672 hide comments that were slimed to death TM 2020-10-08 15:57:20 -04:00
Sean Yesmunt b1bca7982a re-enable lbry:// link styles in comments
will add support for odysee/lbry.tv once the style is finalized
2020-10-08 14:19:21 -04:00
Sean Yesmunt 761b93d811 add style for comments with is_pinned=true 2020-10-08 11:48:32 -04:00
Sean Yesmunt c43eff8587 comments v69 2020-10-07 17:11:22 -04:00
Sean Yesmunt 00c05437ca add comment sorting and improve comment focus styles 2020-10-06 16:04:52 -04:00
Sean Yesmunt 61dfc2f74a handle comment time display correctly immediately after posting 2020-10-05 11:54:20 -04:00
jessop e954bce821 allow reaction list without channel
uncomment

reacts requireauth, commentReact handles missing channels

enable config, better track pending reacts
2020-10-01 15:23:15 -04:00
jessop 63ce107cc1 comment reactions 2020-09-29 17:12:32 -04:00
Sean Yesmunt b0d19455c1 add placeholder upvote/downvote buttons on comments 2020-09-29 17:12:32 -04:00
Sean Yesmunt 248e578422 new comments 2020-09-29 17:12:32 -04:00
Sean Yesmunt 312ff91994 add SIMPLE_SITE config value to disable complex UIs 2020-07-27 10:48:05 -04:00
Sean Yesmunt 69d010435b allow blocking channels from comment 2020-07-20 14:48:25 -04:00
jessop e7e7d6dba4 fix comments functions import 2020-07-16 13:18:06 -04:00
Sean Yesmunt 69cfcd81e9 bring in 'blocked' code from lbry-redux take 2 2020-07-15 09:52:08 -04:00