lbry-desktop/ui/util
Rafael Saes 83dbe8ec7c
Playlists v2: Refactors, touch ups + Queue Mode (#1604)
* Playlists v2

* Style pass

* Change playlist items arrange icon

* Playlist card body open by default

* Refactor collectionEdit components

* Paginate & Refactor bid field

* Collection page changes

* Add Thumbnail optional

* Replace extra info for description on collection page

* Playlist card right below video on medium screen

* Allow editing private collections

* Add edit option to menus

* Allow deleting a public playlist but keeping a private version

* Add queue to Save menu, remove edit option from Builtin pages, show queue on playlists page

* Fix scroll to recent persisting on medium screen

* Fix adding to queue from menu

* Fixes for delete

* PublishList: delay mounting Items tab to prevent lock-up (#1783)

For a large list, the playlist publish form is unusable (super-slow typing) due to the entire list being mounted despite the tab is not active.
The full solution is still to paginate it, but for now, don't mount the tab until it is selected. Add a spinner to indicate something is loading. It's not prefect, but it's throwaway code anyway. At least we can fill in the fields properly now.

* Batch-resolve private collections (#1782)

* makeSelectClaimForClaimId --> selectClaimForClaimId

Move away from the problematic `makeSelect*`, especially in large loops.

* Batch-resolve private collections
1758

This alleviates the lock-up that is caused by large number of invidual resolves. There will still be some minor stutter due to the large DOM that React needs to handle -- that is logged in 1758 and will be handled separately.

At least the stutter is short (1-2s) and the app is still usable.
Private list items are being resolve individually, super slow if the list is large (>100). Published lists doesn't have this issue.
doFetchItemsInCollections contains most of the useful logic, but it isn't called for private/built-in lists because it's not an actual claim.
Tweaked doFetchItemsInCollections to handle private (UUID-based) collections.

* Use persisted state for floating player playlist card body
- I find it annoying being open everytime

* Fix removing edits from published playlist

* Fix scroll on mobile

* Allow going editing items from toast

* Fix ClaimShareButton

* Prevent edit/publish of builtin

* Fix async inside forEach

* Fix sync on queue edit

* Fix autoplayCountdown replay

* Fix deleting an item scrolling the playlist

* CreatedAt fixes

* Remove repost for now

* Anon publish fixes

* Fix mature case on floating

Co-authored-by: infinite-persistence <64950861+infinite-persistence@users.noreply.github.com>
2022-07-13 10:59:59 -03:00
..
api-message.js Relay fund-transfer failure reason to user 2022-05-05 16:42:23 +08:00
autoLaunch.js fix autolaunch after changing linux cmd capitalization 2019-12-17 13:38:09 -05:00
batch-actions.js Desktop cherry-pick: "7240 Integrate lbry redux and lbryinc" 2021-10-19 20:40:07 +08:00
buildHomepage.js Homepage: add "reset" + 'hideByDefault' categories 2022-05-26 10:59:31 -04:00
claim.js Playlists v2: Refactors, touch ups + Queue Mode (#1604) 2022-07-13 10:59:59 -03:00
collections.js Playlists v2: Refactors, touch ups + Queue Mode (#1604) 2022-07-13 10:59:59 -03:00
comments.js Fixes 2022-02-08 12:35:40 -05:00
context-menu.js Desktop cherry-pick: "7240 Integrate lbry redux and lbryinc" 2021-10-19 20:40:07 +08:00
country.js Util to get list of countries 2021-04-21 10:49:31 -04:00
debounce.js refactor lbrytv web server 2019-11-11 13:27:29 -05:00
deep-equal.js refactor lbrytv web server 2019-11-11 13:27:29 -05:00
default-languages.js SearchInLanguage: honor user's setting before category's setting. 2022-04-22 09:39:23 -04:00
detect-typing.js refactor lbrytv web server 2019-11-11 13:27:29 -05:00
detect-user-bandwidth.js Send video bitrate and user bandwidth to Watchman (#7145) 2021-10-06 14:59:33 -04:00
downloadClaim.js Move 'Download' and 'Report Content' into overflow menu. 2021-06-18 15:50:13 -04:00
enhanced-layout.js mobile view 2019-12-20 15:03:18 -05:00
fetch.js Add a timeout on SDK calls to allow specific error messages. 2022-05-04 08:10:17 -04:00
file.js Support resume-able upload via tus (#186) 2021-11-10 13:16:16 -05:00
form-validation.js Desktop cherry-pick: "7240 Integrate lbry redux and lbryinc" 2021-10-19 20:40:07 +08:00
format-bytes.js use new buffer analytics api 2020-08-07 22:54:29 -04:00
format-credits.js Desktop cherry-pick: "7240 Integrate lbry redux and lbryinc" 2021-10-19 20:40:07 +08:00
formatAriaLabel.js Refactor dateTime component and getTimeAgoStr function to prevent displaying comments as 'in a few seconds' 2022-01-05 09:27:52 -05:00
formatMediaDuration.js add more info for claim-preview-tile aria label 2021-07-15 18:12:11 -05:00
full-screen.js refactor lbrytv web server 2019-11-11 13:27:29 -05:00
generate-thumbnail-name.js style pass for channel edit 2020-07-01 22:04:23 -04:00
geoRestriction.js Geoblock: fix anonymous claims passing through 2022-05-27 12:51:47 +08:00
handle-fetch.js Recsys: capture and use x-uuid from search results (#1727) 2022-06-22 09:43:54 -04:00
hex.js hyperchats 2021-04-23 16:20:17 -04:00
lazyImport.js ChunkLoadError: ask user to reload instead of automatically reloading (#139) 2021-10-27 11:07:06 -04:00
lbryURI.js Playlists v2: Refactors, touch ups + Queue Mode (#1604) 2022-07-13 10:59:59 -03:00
livestream.js Fix crash 2022-05-16 07:41:53 -04:00
merge-claim.js Desktop cherry-pick: "7240 Integrate lbry redux and lbryinc" 2021-10-19 20:40:07 +08:00
notifications.js Design fallout patch 2 (#1245) 2022-03-30 17:53:05 +02:00
number.js show total balance on wallet page/header 2021-01-22 11:46:27 -05:00
object.js refactor lbrytv web server 2019-11-11 13:27:29 -05:00
parse-data.js refactor lbrytv web server 2019-11-11 13:27:29 -05:00
platform.js Use videojs::http-streaming for all except iPhones 2022-04-25 09:14:24 -04:00
publish.js Playlists v2: Refactors, touch ups + Queue Mode (#1604) 2022-07-13 10:59:59 -03:00
query-params.js [on hold recsys work] Recommended For You (#782) 2022-03-15 15:07:31 -04:00
redux-utils.js refactor lbrytv web server 2019-11-11 13:27:29 -05:00
remark-emote.js Fix remark emote (#635) 2022-01-06 09:34:00 -05:00
remark-lbry.js Adjust channel mention regex (#269) 2021-11-10 14:53:42 -05:00
remark-timestamp.js [Comment/Livestream] Markdown and style fixes (#55) 2021-10-12 17:06:20 -04:00
saved-passwords.js Remove deprecated migration 2022-03-02 21:48:40 -05:00
search.js DRY: fix duplicate code for Recommended key generation 2022-06-21 22:14:07 +08:00
set-operations.js refactor lbrytv web server 2019-11-11 13:27:29 -05:00
shuffle-array.js refactor lbrytv web server 2019-11-11 13:27:29 -05:00
storage.js Fix localStorage crash 2022-05-26 08:27:35 -04:00
string.js Add announcement modal and open it after prefs sync'd. 2022-05-20 00:04:06 +08:00
stripe.js Chore desktop cleanup (#6896) 2021-08-17 18:34:16 -04:00
swap-json.js refactor lbrytv web server 2019-11-11 13:27:29 -05:00
sync-settings.js Desktop cherry-pick: "7240 Integrate lbry redux and lbryinc" 2021-10-19 20:40:07 +08:00
theme.js MAKE ODYSEE EVEN MORE BEAUTIFUL (#539) 2022-02-11 13:50:55 -05:00
throttle.js refactor lbrytv web server 2019-11-11 13:27:29 -05:00
thumbnail.js getImageProxyUrl: don't assume IMAGE_PROXY_URL is always defined 2022-03-29 10:16:52 -04:00
time.js Playlists v2: Refactors, touch ups + Queue Mode (#1604) 2022-07-13 10:59:59 -03:00
toast-wrappers.js Add 'dispatchToast' wrapper 2022-05-06 13:41:47 +08:00
transifex-upload.js Desktop cherry-pick: "7240 Integrate lbry redux and lbryinc" 2021-10-19 20:40:07 +08:00
tus.js Fix localStorage crash 2022-05-26 08:27:35 -04:00
url.js Playlists v2: Refactors, touch ups + Queue Mode (#1604) 2022-07-13 10:59:59 -03:00
web-file-system.js Support drag-and-drop file publishing (#4170) 2020-05-25 10:27:36 -04:00
web.js Update thumbnail cards URL (#1748) 2022-06-23 18:09:48 -04:00
window.js Playlists v2: Refactors, touch ups + Queue Mode (#1604) 2022-07-13 10:59:59 -03:00
zoomWindow.js Desktop cherry-pick: "7240 Integrate lbry redux and lbryinc" 2021-10-19 20:40:07 +08:00