Commit graph

3018 commits

Author SHA1 Message Date
Rave | 図書館猫
86fcd87f53
Notification Menu Upgrade (#1713)
* Mark notification as seen on hover

* Clean code

* Mark notifications as seen on button click

* Clean code

* Animate bubble
2022-06-21 20:59:37 -04:00
mayeaux
d50f51bd3b
fix plays inline bug on ios (#1723) 2022-06-21 09:55:25 -04:00
mayeaux
63f7a8f15c
bugfix streams continuing to run in the background (#1714) 2022-06-20 18:17:12 -04:00
Rave | 図書館猫
20ff660cb2
Minor design fixes in modals (#1711)
* Minor design fixes in modals

* Adjust button icon color
2022-06-20 13:51:57 +02:00
infinite-persistence
f9ebd0863d Consolidate the mobile tile to use the poster size for better caching.
It's all approximation anyway.
2022-06-17 11:58:43 -04:00
infinite-persistence
b8fceacb8a Only apply the larger thumbnail width on mobile + tile layout
## Ticket
1526 strange thumbnail size requested on mobile layout (pc only?)

## Notes
The 900px was to account for blur tile thumbnails in mobile homepage (4f4803c6).
Fix to only do that in tile mode.
2022-06-17 11:58:43 -04:00
Raphael Wickihalder
7cdeb9593f Add settings page button to header in guest mode 2022-06-17 18:23:53 +08:00
Raphael Wickihalder
8e15f30ace
Fix typo 2022-06-17 11:27:23 +02:00
Raphael Wickihalder
70a19d32be
Add preventDefault to notification delete 2022-06-17 06:22:24 +02:00
infinite-persistence
df2a717e8d Change poster-fetch implementation
## Ticket
1526: strange thumbnail size requested on mobile layout (pc only?)

## General Problem
It was trying to fetch based on the exact size of the video container, which would satisfy Core Vitals (in an overkill way), but would bring several issues:
- server-side caching would not work since everyone's window size is different in a responsive layout design.
- the additional 200ms wait for container size to settle down is not good (hardcoded wait time).
- the code did not account for device-pixel-ratio, so it's quite a futile effort.

Aside:  In the past, we used to take the same image url as the tiles, so the video poster would appear immediately from due to browser cache, but the quality is bad because the tile requested a much smaller size.

The embed wrapper was not going through the CDN either as a null `containerRef` was passed in.

## Change
Removed the container-size check and just request for 1280x720. Reasons for this size:
- On average, that would be the ballpark of the final calculated value anyway for the average screen (+DPR consideration).
- That seems to be the current suggested thumbnail size in most recommendations.
- Our YT Sync is grabbing a much smaller size anyway.
2022-06-16 15:18:15 -04:00
Rave | 図書館猫
70dad5e057
Notification menu patch (#1701)
* Add href links to notification menu entries

* Add href link to notification page

* 2nd try
2022-06-16 15:56:39 +02:00
mayeaux
4d849a4821
Revert "Add href links to notification menu entries (#1699)" (#1700)
This reverts commit 268130a913.
2022-06-16 15:22:45 +02:00
Rave | 図書館猫
268130a913
Add href links to notification menu entries (#1699)
* Add href links to notification menu entries

* Add href link to notification page
2022-06-16 14:42:16 +02:00
infinite-persistence
3e5a9ba193
Rename: use-thumbnail --> use-get-poster
This disambiguates the other effect file called `use-get-thumbnail`, and is also clearer.
2022-06-16 12:04:52 +08:00
Anthony
c3fd7ab8d7 show poster on first audio file 2022-06-15 09:59:41 -04:00
infinite-persistence
e70ed61d4e OBR-hack: move AdsSticky up to make it load first
We are asking Outbrain to make it order-agnostic, but for now, we need to load the Sticky script first before the Banner script.

This is ugly code because the requirement is not obvious unless we put a bunch of comments, but I don't want to pollute `app/view.jsx`. Hopefully they can address this and we can revert in the coming days.
2022-06-15 07:34:36 -04:00
Rave | 図書館猫
4ffec69f25
Mini-Player controls patch (#1688)
* Remove draggable component from mini player on mobile

* Replace draggable disabling method

* Clean code
2022-06-14 08:16:23 +02:00
infinite-persistence
363fe82050
Fix chromecast title handling (#1685)
Fixed the title that did not update from stale closure because we no longer re-initialize the plugin.

We still continue to sever the connection when switching sources for now (although videojs is now single-instance) due to a problem that stops the next remote playback after 5-10 seconds. Unclear whether it is the plugin problem or due to our changes (although I don't see this issue in their repo).
2022-06-14 00:34:35 -04:00
infinite-persistence
94d5c11a71
ChannelThumbnail: remove alt text to prevent from being used as search result (#1687)
1684

While Lighthouse suggests adding `alt`, I think it's just a recommendation that does not affect the Core Vitals score directly -- the large css plays a bigger role at the moment.

Also, these are more "decorative" than "functional", because one could click the channel name navigate.
2022-06-14 00:17:46 -04:00
Rave | 図書館猫
cf53fdbc92
Fix missing tile in full grid (#1682) 2022-06-13 18:27:04 +02:00
infinite-persistence
d3365d69f9
Playback-rate: fix popup behavior (#1650)
* Playback-rate: fix popup behavior

- Part of 1637 - invokes the popup menu when clicked.
- This also makes the button consistent with other `MenuButton`s, i.e. to invoke a menu popup when clicked instead of hovered.

* Adjust CSS

Co-authored-by: Raphael Wickihalder <raphael.wickihalder@odysee.com>
2022-06-13 15:55:05 +02:00
Rave | 図書館猫
50fb15c7f2
Update notification menu (#1673) 2022-06-11 20:56:43 +02:00
mayeaux
2432cf2fe1
dont show quality selector with default quality on non transcoded (#1670) 2022-06-10 14:48:48 -04:00
mayeaux
87c94e3c1c
Reuse videojs instance between video reload, return mobile UI plugin for iOS (#1512)
* add mobile plugin back on ios

* further touchups and fix ios

* finish mobile functionality

* dont show big play button on mobile

* remove logs

* proof of concept

* dont go full screen on rotate

* add back functionality

* replace dispose event with navigate away

* bugfix

* turn off show if you liked button and nag only on homepage

* add back old functionality

* ending event not working

* test here

* working but needs cleanup

* more player touchups

* bugfix

* add settings button on mobile

* more touchups

* more cleanups

* touchup loading functionality

* fix hover thumbnails

* touchup and eslint fix

* fix repopulation bug

* change recsys event name

* bugfix events

* change the way buttons are removed and added

* finish chapters button

* refactor to use videojs methods

* refactor to fix autoplay next

* ux touchups

* seems to be behaving properly

* control bar behaving how it should

* fix control bar on ios

* working on flow and eslint errors

* bugfix and flow fixes

* bring back nudge

* fix playlist button bug

* remove chapter markers properly

* show big play button

* bugfix recsys closed event

* fix analytics bug

* fix embeds

* bugfix

* possible bugfix for kp

* bugfix playlist buttons

* fix issue with mobile ui plugin

* fix firefox autoplay issue

* fix bug for play on floating player closed

* bugfix volume control for ios

* instantiate new player if switching between claim types

* fix flow and lint errors

* fix control bar not showing up when switching sources

* dispose old player if recreating

* bugfix save position

* reset recsys data between videos

* fix audio upload posters

* clear claimSrcVhs on reload

* bugfix errant image previews showing up

* reset player value of having already switched quality

* fix watch position not being used

* bugfix switching between sources not perserving position

* fix save position bug

* fix playlist buttons

* bugfix

* code cleanup and add back 5 second feature
2022-06-10 12:18:58 -04:00
infinite-persistence
4c804af02c
MediaSession: handle null thumbnail
The exception thrown was causing the rest of `onInitPlay` to not run, e.g. "Tap to mute" not appearing, etc.

Closes 1663
2022-06-10 14:10:45 +08:00
infinite-persistence
b12fe2192b
Notification-popup patch
- Rename components per filename changes.
- Fix missing React key.
- Add new strings.
2022-06-10 12:55:30 +08:00
saltrafael
c38e37cd38
Remove polling, still happen on channel pages (#1558) 2022-06-09 14:43:45 -04:00
Rave | 図書館猫
54ee4ee94a
Notification menu (#1652)
* Save notification menu prototype

* Add dynamic links

* Add timestamps

* Mark as seen on click

* Fix guest mode

* Fix discussion links & channel thumbnails

* Adjust some details

* Adjust theme

* Replaxe Menu with MuiMenu

* Fix Mui behavior & transitions

* Adjust Mui menu behavior

* Adjust some padding

* Fix read & see

* Clean code

* Adjust border on top notification

* Add case for comment replies

* Save

* Make alignment pixel perfect

* Clean code

* Adjust gif avatars, stickers & tips

* Add delete function

* Add delete icon hover effect

* Add outline to delete icon

* Fix seeNotification call

* Add case for empty notification listä
2022-06-09 10:29:56 -04:00
infinite-persistence
1ab140c192
ChannelThumbnail: fix quality typo + consolidate 'small' variant sizes
- Fixed quality typo
- Make all the 'small' variants use the same size for better caching.
2022-06-07 14:21:48 +08:00
infinite-persistence
f43577a2dd
Variable naming and doc cleanup
- The function name is good and self-documenting, so removed the redundant comment. Whether it's 'precise' or not, it could change in the future and not worth maintaining a comment like that.
  - Focused on the non-obvious reason for SHIFT key instead.

- Fixed "on scroll" variable naming since it is not just for scrolling (it applies to keyboard up/down too)
2022-06-07 11:19:55 +08:00
infinite-persistence
151749d4c3
LbryVolumeBarClass: add documentation 2022-06-07 11:09:03 +08:00
mayeaux
4893085ee3
bump eslint version (#1640) 2022-06-06 12:19:35 -04:00
mayeaux
8aaa820e2f
Add volume control using scroll wheel from myzel, with flow errors fixed (#1638)
* created function

* removed console logs

* made volume change on mousewheel functional

* improved code

* added precise volume control

* updated behavior

* fixed error

* fix flow errors

Co-authored-by: myzel394 <50424412+Myzel394@users.noreply.github.com>
2022-06-06 09:37:44 -04:00
Rave | 図書館猫
e83d667b25
Player icons patch (#1636)
* Adjust player icon size & position on desktop & mobile

* Adjust control-bar position

* Fix chapter button offset
2022-06-05 13:32:21 +02:00
Rave | 図書館猫
2762d43224
Restructure header navigation (#1611)
* Restructure header navigation

* Hide theme button in guest mode

* Update channel selector width and navigation top in header
2022-06-03 09:43:31 -04:00
Rave | 図書館猫
81eddb2b5d
Publish revamp (Part 1) (#1593)
* Rearrange fields

* Autocomplete title

* Fix class position

* Hide deposit behind advanced settings

* Redesign additional options

* Redesign price section

* Update price section

* Redesign tags section

* Fix title edit

* Make with dynamic

* Redesign thumbnail section

* Redesign description section

* Resedign file section

* Polish sections

* Adjust help text

* Clear title on form reset

* Adjust price section

* Fix help color in light theme

* Polish

* Mobile adjustments

* More mobile adjustments

* Remove border-bottom from publish rows

* Redesign date section

* Adjust some details

* Adjust clear button

* Adjust channel selector on mobile

* Adjust post save button position

* Adjust browse button color

* Adjust channel picker on mobile

* Eenable announcement page

* Remove file title, remove space, redesign licence section

* Fix edit form, existing claim warning, missing title warning

* Adjust light theme

* Adjust icon collor in button
2022-06-03 09:28:12 -04:00
Thomas Zarebczan
547781c07c
Update messaging around bitrates / resolution
Allow for higher bitrates, but still recommend transcode over 8mbps until we have transcode on upload.
2022-06-02 14:47:50 -04:00
Thomas Zarebczan
328c8938c6 Use separate ad for file pages 2022-06-02 13:02:38 -04:00
infinite-persistence
70ddd08df6 Show Sticky in Content and Channel Page for incognito
https://odysee-workspace.slack.com/archives/C02G20Z2AEL/p1654171314724029?thread_ts=1654089384.715699&cid=C02G20Z2AEL

Content: not showing ads for signed-in users because it interferes with commenting.

Channel: same behavior as Categories (i.e. show is not Premium+).
2022-06-02 10:49:42 -04:00
infinite-persistence
16da04e6b9
SnackBar: pause dismiss timer when mouse is over it 2022-06-02 15:56:45 +08:00
infinite-persistence
d89e04942b
Tweak tip/boost toast message
- Split the friendly text (non-essential) to `subMessage`.
- Put a link to the wallet history for all these tipping toasts.
- Don't say "tip" for the Wallet Send action (Issue_1605)
- Make the link font-size smaller than the main text.
2022-06-02 15:36:05 +08:00
infinite-persistence
f69097b488
Don't block entire router while fetching Categories
This is a follow up for 2b60fe95

## Issues
- Not every page needs the Category data, so only block for Category pages.
- `categoryPages.length` was rendered as a number while blocking for the fetch.

## Change
It's a chicken-and-egg thing because we don't know what the category path is, but fortunately categories and internal pages start with `/$/`, so we can make a reliable guess. The other internal pages would have matched the defined routes and would not reach this function.
2022-06-02 14:11:52 +08:00
Thomas Zarebczan
b6eb580c82 Revert "Recsys: determine the clicked index based on raw results instead of rendered order"
This reverts commit e4214b1c1b.
2022-06-01 09:55:56 -04:00
infinite-persistence
32f0d1d7a1 Tip: show modal instead of toast when timeout
## Issue
The toast wasn't good enough as the user might miss it and attempt to re-send.

## Change
- Change the tip timeout from Toast to Modal.
- For the case of Comments, add additional info about being unable to re-link the txid to the comment for now. Not really useful to the user, but better than nothing.
2022-06-01 08:40:39 -04:00
infinite-persistence
e4214b1c1b Recsys: determine the clicked index based on raw results instead of rendered order
## Ticket
1606

## Issue
The displayed order of the recs are often re-adjusted -- viewed content are pushed to the bottom to avoid auto-play-next from picking it up again. This was causing recsys to be confused, because the click order does not correspond the results.

## Change
Refactored the selector we can grab the raw results and use that as the index reference.
2022-06-01 08:32:37 -04:00
Anthony
9b2cc7eb79 dont show subs for ios and correct position for actual subs 2022-05-31 10:41:31 -04:00
infinite-persistence
0bcea943d5 Re-implement/enable sticky ad
## Ticket
1583: "add incontent ads to category/channel pages (break up every X claims?), or add back bottom ad in those areas."

## Behavioral changes
- Hide when in homepage (as currently we have ads between categories).
- Fix the light theme (it was transparent).

## Code changes
- While an Effect is the 'right' choice given that there is no jsx to mount, the need to prop-drill from the parent was getting a bit annoying, so converted to a Component instead.
- Remove the delay for Core Vitals avoidance for now -- seems to make the sticky less likely to serve an ad.
- Now that the membership state is correctly populated for incognito (see 9d830615), there is no more need to check for `isAuthenticated`.
2022-05-31 10:34:38 -04:00
infinite-persistence
a2f15b8348
Player: fix i18n for 'Auto' 2022-05-31 18:12:51 +08:00
Rave | 図書館猫
ea3d8e01ef
Design patch 22-05-31 (#1598)
* Redesign form elements with background

* Adjust list ads

* Fix progress bar in mini player

* Fix progress bar on mobile

* Fix progress bar in theater mode

* Redesign repost modal

* Update channel selector in modal

* Remove border radius from embedded media

* Adjust quality selector

* Adjust updated player theme for light mode

* Rename wrapper class
2022-05-31 11:14:59 +02:00
Raphael Wickihalder
9eda81db58 Replace state with ref for uriBuffer 2022-05-31 10:38:39 +08:00