Commit graph

67 commits

Author SHA1 Message Date
infinite-persistence
077207e203
ChannelPage: Don't mount inactive ChannelContent
## Issue
In the Channel Page, if the _Collections_ `claim_search` comes in after the main content's `claim_search`, the Collection's `ChannelContent` is being re-rendered despite not being in the active Tab. This causes a 0.4 CLS score (it's ridiculous that invisible components are taken into account). Apparently 41% of users are hitting this scenario, causing a poor aggregate.

## Change
Don't mount the `ChannelContent` components unless its tab is the active one. It doesn't seem like Reach Tab hides components under the inactive tab.
2021-07-26 22:01:31 +08:00
infinite-persistence
f6e648222e
Change constants to object for IDE auto complete
No functional change; just thought this is cleaner (group up the constants) and easier to type via IDE auto-complete, at the expense of creating an extra object.
2021-07-26 22:01:30 +08:00
saltrafael
b164a5d1f4 Pop up Menu Fixes and Improvements
Pop up Menu Fixes and Improvements

Improve re-directs

Fix file deletion

Improve code, and more

Fix List Layout collection popup

Allow to edit list

Fix blocking when not logged or no channel

Fix Edit and Delete showing for not owned Lists

Fix actions breaking when not logged in

Fix List options not showing

Lint

Shorten logic

Lint
2021-07-21 14:40:44 -04:00
infinite-persistence
a21b4c5cf3
Optimize banner image 2021-07-20 16:21:51 +08:00
infinite-persistence
6f4ce0a57c
Apply placeholder images
https://lbryians.slack.com/archives/C81FGKR51/p1624278721203900?thread_ts=1624269131.202200&cid=C81FGKR51

The intrinsic size needs to be at least equal the final image's size. Stretching, SVGs, etc. doesn't count.
2021-07-19 12:07:26 +08:00
zeppi
8e2ad8b8ca fix missing i18n on channel page 2021-07-08 15:55:40 -04:00
zeppi
814acc5b11 restore playlists tab 2021-07-08 15:55:40 -04: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
zeppi
608a421ce5 lint 2021-07-01 16:01:51 -04:00
zeppi
9c8c00a21f fix tabindexes 2021-07-01 16:01:51 -04:00
zeppi
e9868e37a1 restore single channel content tab 2021-07-01 16:01:51 -04:00
zeppi
ba5586933d fix lists empty on channel page 2021-06-16 12:56:31 -04:00
zeppi
761974ca6f extra collection publish buttons, styling 2021-06-15 18:37:35 -04:00
saltrafael
4ef8247985 remove redundancy when buttons are already on page 2021-06-15 13:47:56 -04:00
saltrafael
2aaa9f358b Additional pop up menu options 2021-06-15 13:47:56 -04:00
zeppi
e8d352cc4c fix channel tabs again 2021-06-11 07:49:27 -04:00
zeppi
d55ef7e899 Empty states for channel tabs 2021-06-10 17:47:02 -04:00
zeppi
501d1cf5f1 include tabs fix from ody 2021-06-10 17:47:02 -04:00
zeppi
ca116ba010 wip
wip

wip - everything but publish, autoplay, and styling

collection publishing

add channel to collection publish

cleanup

wip

bump

clear mass add after success

move collection item management controls

redirect replace to published collection id

bump

playlist selector on create

bump

use new collection add ui element

bump

wip

gitignore

add content json

wip

bump

context add to playlist

basic collections page style pass wip

wip: edits, buttons, styles...

change fileAuthor to claimAuthor

update, pending bugfixes, delete modal progress, collection header, other bugfixes

bump

cleaning

show page bugfix

builtin collection headers

no playlists, no grid title

wip

style tweaks

use normal looking claim previews for collection tiles

add collection changes

style library previews

collection menulist for delete/view on library

delete modal works for unpublished

rearrange collection publish tabs

clean up collection publishing and items

show on odysee

begin collectoin edit header and css renaming

better thumbnails

bump

fix collection publish redirect

view collection in menu does something

copy and thumbs

list previews, pending, context menus, list page

enter to add collection, lists page empty state

playable lists only, delete feature, bump

put fileListDownloaded back

better collection titles

improve collection claim details

fix horiz more icon

fix up channel page

style, copy, bump

refactor preview overlay properties,
fix reposts showing as floppydisk
add watch later toast,
small overlay properties on wunderbar results,
fix collection actions buttons

bump

cleanup

cleaning, refactoring

bump

preview thumb styling, cleanup

support discover page lists search

sync, bump

bump, fix sync more

enforce builtin order for now

new lists page empty state

try to indicate unpublished edits in lists

bump

fix autoplay and linting

consts, fix autoplay

bugs

fixes

cleanup

fix, bump

lists experimental ui, fixes

refactor listIndex out

hack in collection fallback thumb

bump
2021-06-08 13:25:52 -04:00
infinite-persistence
2a6df18b72
ChannelThumbnail fixes (#6075)
* Restore "use cdn for channel thumbnails"

This reverts commit e7adc607fa.

* ChannelThumbnail: disable optimization in Channel Page and for GIFs

## Issue
5564: Don't use optimized URLs on channel pages (profile/banner)

## Notes
This is not the best/full solution yet, but it is better than what we have to today (one step in the right direction).

Optimized channel thumbnail size is currently hardcoded to a lowest common denominator.
- Pro(s):
  - For images used in multiple places (different sizes) in a page, the total time needed to get the optimized version for each size is too much. Also, the optimizer seems to increase the size of the image in some cases. So, getting 1 image and re-using it is faster for this scenario.
  - Simpler code (no need to mount first -> get dimension -> load image)
- Cons:
  - We aren't fully optimizing the size, so not really addressing Core Web Vitals score problem.
    - e.g. in the front page, we could have used a smaller image for the channel thumbnails.
  - We haven't address the problem with large screen sizes.

* Restore channel selector

This reverts b5cc0bb42d

* ChannelThumbnail: fix lazy-loading

- Closes 6066: Revisit lazy-loading Channel thumbnails
- Properly fixes 5933: Thumbnail lazy-load causes ChannelSelector icon to not update.
    - Add effect-dependency on `channelThumbnail` and `thumbError`.
- Really perform the lazy-loading now.
    - `data-src` was not used, so it wasn't actually lazy loading previously.
2021-05-17 15:51:21 -04:00
Sean Yesmunt
e2bd128cc4 show click through on channel page for muted channels too 2021-03-05 16:51:38 -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
infinite-persistence
3d6304bc25 Revert optimized URLs on channel banner.
## Issue
5564: Don't use optimized URLs on channel pages (profile/banner)
2021-02-23 12:53:16 -05:00
Sean Yesmunt
09b689ba1c add channel staked amount indicator on channel thumbnails 2021-02-18 01:14:39 -05:00
Sean Yesmunt
62dfaf0709 use thumbnail cdn for cover photos 2020-12-15 13:59:08 -05:00
Sean Yesmunt
295b8cf2e1 refactor floatingUri to allow inline players in comments/markdown 2020-10-21 15:29:29 -04:00
infiinte-persistence
567316cfbe Support for multiple string context + "About" as initial example.
## Issue
4796 - i18n: Allow support for string overloading (multiple contexts)

## Approach
- Minimal code and process change.
- Handle on a case-by-case basis when reported by translators.
- Split the affected key in the string json by appending the context.
- Translators need to be aware of the new format and not translate context itself. Code is added to detect bad translations and will revert to English.

Sample in json:
  "About --[About section in Help Page]--": "About",
  "About --[tab title in Channel Page]--":  "About",

Sample in client code:
  title={__('About --[About section in Help Page]--')}

- "--[ ]--" was chosen as it's unique enough (unlikely for real strings to use it) and hopefully not that distracting in the client code.
- In the key itself, spaces are allowed after the string (i.e. before '--[') for neatness. It will be trimmed by the system.

## First example
"About" is used in 3 places:
   - Channel Page
   - Help Page
   - Footer (in Odysee branch)

For Russian, the word "About" is "O" and is usually not used standalone, but requires something behind it. A translator said so, and seems to be the case in other sites as well.
   "O xxx"
   "O yyy"

## Other languages
For other languages that are not impacted, they can just clone the same translation for each of the split keys, just like in English.

## Possible enhancement in Transifex
I see that Transifex's API includes a `context` entry. It might be possible to move the context-metadata there during the upload, so translators will never see the "--[]--" messiness (it will be shown as "Context: xxx" in the Transifex GUI).

I'm not sure how to test the Transifex side, so I did not investigate further.
2020-10-14 17:44:44 -04:00
Sean Yesmunt
c1b5280446 move youtube badge to 'channel about' section 2020-10-06 16:30:03 -04:00
Sean Yesmunt
295fec0370 copy changes 2020-09-29 17:12:32 -04:00
Sean Yesmunt
bc89d774ba add youtube sync to first run 2020-09-29 17:12:32 -04:00
Sean Yesmunt
5014b1a027 fix notification linking to channel page 2020-09-29 17:12:32 -04:00
Sean Yesmunt
ca89dab45f move claim uri under file/channel details 2020-07-29 13:04:58 -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
infiinte-persistence
2f5beb84fa Fix sluggish Back button when navigation back to channels with lots of comments
## Issue
When navigating back and forth between a File and Channel page, the back-action will be laggy (no response) if the channel contains a lot of comments and is in the midst of resolving them.

## Changes
The "full" fix would be to batch-load comments, as this would improve the performance of fetching both Channel and File comments. For now, this commit focuses on the Back action problem only.

Skip fetching comments by not mounting 'ChannelDiscussion' until the tab is selected. I couldn't find anything in the Reach UI documentation on how to not render inactive `TabPanel`s, so I used the straight-forward state method.
2020-07-24 09:22:35 -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
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
infiinte-persistence
192bf12a0e refresh youtube creator status when switching between channels
Issue 3750
2020-06-29 10:19:05 -04:00
jessop
e065c81f88 support channel pending state 2020-06-22 11:27:03 -04:00
jessopb
dbac4aca39
Revert "improve channel update" 2020-06-19 13:10:34 -04:00
jessop
99753f7717 improve channel edit 2020-06-19 12:41:45 -04:00
Sean Yesmunt
7f6c5c544e only add gradient to bottom of channel cover 2020-06-18 12:19:21 -04:00
Sean Yesmunt
fa246a7f1f move channel search into ChannelContent component 2020-06-18 12:19:21 -04:00
Sean Yesmunt
019d1f9176 tip/support marriage 2020-06-15 10:50:01 -04:00
jessop
91662a9d57 force https thumbs or handle img src error 2020-06-08 09:42:19 -04:00
Sean Yesmunt
85ec35f246 pause gifs until hover round 2 2020-05-28 13:07:51 -04:00
Sean Yesmunt
06f71f2f0d Revert "pause gifs until hover"
This reverts commit e97a03c5c9.
2020-05-28 12:31:45 -04:00
Sean Yesmunt
e97a03c5c9 pause gifs until hover 2020-05-28 11:39:39 -04:00
Sean Yesmunt
b244261715 commas 2020-05-25 13:29:38 -04:00
Sean Yesmunt
25984444ca hide footer on channel pages 2020-05-15 10:27:38 -04:00