Commit graph

44 commits

Author SHA1 Message Date
zeppi
ee9f63a161 integrate all the things
bugfix

wip

flow

fix

cleaning

clean
2021-10-15 23:49:41 -04:00
infinite-persistence
3b47edc3b9
Livestream category improvements (#7115)
*  Remove old method of displaying active livestreams

Completely remove it for now to make the commit deltas clearer.
We'll replace it with the new method at the end.

* Fetch and store active-livestream info in redux

* Tiles can now query active-livestream state from redux instead of getting from parent.

*  ClaimTilesDiscover: revert and cleanup

## Simplify
- Simplify to just `uris` instead of having multiple arrays (`uris`, `modifiedUris`, `prevUris`)
- The `prevUris` is for CLS prevention. With this removal, the CLS issue is back, but we'll handle it differently later.
- Temporarily disable the view-count fetching. Code is left there so that I don't forget.

## Fix
- `shouldPerformSearch` was never true when `prefixUris` is present. Corrected the logic.
- Aside: prefix and pin is so similar in function. Hm ....

* ClaimTilesDiscover: factor out options

## Change
Move the `option` code outside and passed in as a pre-calculated prop.

## Reason
To skip rendering while waiting for `claim_search`, we need to add `React.memo(areEqual)`. However, the flag that determines if we are fetching `claim_search` (fetchingClaimSearchByQuery[]) depends on the derived options as the key.

Instead of calculating `options` twice, we moved it to the props so both sides can use it.

It also makes the component a bit more readable.

The downside is that the prop-passing might not be clear.

* ClaimTilesDiscover: reduce ~17 renders at startup to just 2.

* ClaimTilesDiscover: fill with placeholder while waiting for claim_search

## Issue
Livestream claims are fetched seperately, so they might already exists. While claim_search is running, the list only consists of livestreams (collapsed).

## Fix
Fill up the space with placeholders to prevent layout shift.

* Add 'useFetchViewCount' to handle fetching from lists

This effect also stashes fetched uris, so that we won't re-fetch the same uris during the same instance (e.g. during infinite scroll).

*  ClaimListDiscover: revert and cleanup

## Revert
- Removed the 'finalUris' stuff that was meant to "pause" visual changes when fetching. I think it'll be cleaner to use React.memo to achieve that.

## Alterations
- Added `renderUri` to make it clear which array that this component will render.
- Re-do the way we fetch view counts now that 'finalUris' is gone. Not the best method, but at least correct for now.

* ClaimListDiscover: add prefixUris, similar to ClaimTilesDiscover

This will be initially used to append livestreams at the top.

*  Re-enable active livestream tiles using the new method

* doFetchActiveLivestreams: add interval check

- Added a default minimum of 5 minutes between fetches. Clients can bypass this through `forceFetch` if needed.

* doFetchActiveLivestreams: add option check

We'll need to support different 'orderBy', so adding an "options check" when determining if we just made the same fetch.

* WildWest: limit livestream tiles + add ability to show more

Most likely this behavior will change in the future, so we'll leave `ClaimListDiscover` untouched and handle the logic at the page level.

This solution uses 2 `ClaimListDiscover` -- if the reduced livestream list is visible, it handles the header; else the normal list handles the header.

* Use better tile-count on larger screens.

Used the same method as how the homepage does it.
2021-09-24 10:26:21 -04:00
zeppi
1f2762af02 tags patch 2021-08-02 16:14:33 -04:00
zeppi
8fef6c6160 ugly discover recon 2021-07-24 11:29:30 -04:00
zeppi
0bb9c520ff fix livestream display 2021-07-08 15:08:53 -04:00
infinite-persistence
742110c81c Homepage|Discover: hide livestreams, then append active livestreams at the top.
This essentially hides inactive livestreams from the list.
2021-04-30 14:11:42 -04:00
infinite-persistence
0258c2d3c3 useGetLivestreams: add ability to filter by minimum viewers 2021-04-30 14:11:42 -04:00
infinite-persistence
c2a766a3e8 ClaimListDiscover: repeat livestream-sorting changes in ClaimTilesDiscover 2021-04-30 14:11:42 -04:00
Sean Yesmunt
9f3d779cf2 add tags to mobile navigation and add manage tags link on tag page 2021-04-13 17:08:24 -04:00
zeppi
d04b0f09ba fix ad areas and drivers 2021-01-26 19:39:22 -05:00
Sean Yesmunt
fe2656cfa9 don't default to 'new' on discover page 2020-11-20 12:01:16 -05:00
Sean Yesmunt
44602c4213 add lbc help message on discover page 2020-11-16 19:09:09 -05:00
Sean Yesmunt
1023f30b4c initial PR for custom homepages - take 2 2020-11-10 12:08:19 -05:00
Sean Yesmunt
353c1a5689 Revert "unified custom homepage"
This reverts commit 55768fc6b5.
2020-11-10 10:36:11 -05:00
jessop
55768fc6b5 unified custom homepage 2020-11-10 10:24:04 -05:00
jessop
9d4f7dc642 sync reducer stuff
bring tags into app repo

prevent prefset until prefsReady

prefs ready on sign up

prefsReady-desktop
2020-10-27 10:17:11 -04:00
infiinte-persistence
80b4600f60 Str-context-split: "Follow"
## Issue
4192
2020-10-14 17:44:44 -04:00
Sean Yesmunt
bf9be7c46d keep header on regular discover page 2020-09-29 17:12:32 -04:00
Sean Yesmunt
51d8d85c60 re-enable reposts for SIMPLE_SITE 2020-09-29 17:12:32 -04:00
Sean Yesmunt
19fb7d7f06 new layout 🕺 2020-09-29 17:12:32 -04:00
Sean Yesmunt
692862c769 collapsable sidebar initial commit 2020-08-11 17:04:14 -04:00
Sean Yesmunt
80d8eeb4cf move ads in ClaimList behind SHOW_ADS config 2020-08-03 16:16:04 -04:00
Sean Yesmunt
2066205b8f add user + rewards redux code from lbryinc 2020-06-16 09:56:32 -04:00
jessop
e3c2919373 rename lbrytv to web
language and API consts

improve customization
custom homepages
get config from .env.default
custom title and logo

small changes

add pinned item to sidebar

rebase?
2020-05-25 17:21:02 -04:00
Sean Yesmunt
c2abcf110c
Paid content on lbry.tv (#4197) 2020-05-21 11:38:28 -04:00
Sean Yesmunt
22a4255320 add footer for web 2020-05-13 12:13:13 -04:00
jessop
867b5eb134 two bugfixes: i18n tags, all reposts loading loop 2020-04-29 15:49:14 -04:00
Sean Yesmunt
10914e5350 Revert "use claim_id for reposts page instead of uri so we don't have to resolve before"
This reverts commit b494c061aa.
2020-03-31 16:30:56 -04:00
Sean Yesmunt
b494c061aa use claim_id for reposts page instead of uri so we don't have to resolve before 2020-03-31 16:12:28 -04:00
Sean Yesmunt
c4fc2993d5 initial commit for inline video ads 2020-03-30 09:40:10 -04:00
Sean Yesmunt
6c93d3caeb fix repostedUri being passed in as "null" which breaks discover pages 2020-03-24 14:49:42 -04:00
Sean Yesmunt
6e953c098c fix reposts page when navigating directly by url 2020-03-24 12:32:44 -04:00
seanyesmunt
e46fd6088b prettier and update lbry-redux 2020-03-19 13:56:45 -04:00
Jeremy Kauffman
73d2eebb07 display repost counts on file pages, link to all reposts 2020-03-19 13:56:45 -04:00
jessop
d9e65e8328 select tags before channels and filter channels by tag
moartags

CS tags followed category
continue button,
Remove card header on tags select

limitShow tags count

tags limit fix

debug cs tags highlighting

bugfix

yarnlock
2020-03-16 16:47:22 -04:00
jessop
a07fb2514e sync tags with lbry on startup and change 2020-03-11 21:47:48 -04:00
Sean Yesmunt
7a572f0c08 fix discover page 2020-02-28 18:13:49 -05:00
Sean Yesmunt
ffd2c4f793 hide claimList filters on channel discovery and sign in pages 2020-02-28 16:55:48 -05:00
Sean Yesmunt
73c60f62ac merge discover page and tags page 2020-02-28 09:37:31 -05:00
Sean Yesmunt
ef9b34c51f cleanup 2020-01-02 18:16:54 -05:00
Sean Yesmunt
a8711c027f navigation redesign 2020-01-02 18:16:54 -05:00
Sean Yesmunt
e00f89b890 cleanup 2019-12-09 10:04:07 -05:00
Oleg Silkin
b389a4e139 Adds icons for claim-list alt control buttons & styles them 2019-12-09 10:04:07 -05:00
Sean Yesmunt
6ad31a3ce9 refactor lbrytv web server 2019-11-11 13:27:29 -05:00