Commit graph

85 commits

Author SHA1 Message Date
infinite-persistence 032e17cecd
Improve CLS on Posts
## Issue
6068 Fix "Cumulative Layout Shift" for Core Web Vitals

In Posts, the Comments section appears first while we fetch the MD file. When the MD is fetched, Comments get pushed to the bottom (or shifted up for short posts), hence the red CLS scores.

## Approach
There are too many layers between `<FilePage>` and `<DocumentViewer>` to pass the `loading` state around to hide the Comments section, so just make Comments fade in after a 2s delay.

## Changes
- Posts: Add 2s fade-in delay to Comments.
- Posts: remove the gray placeholder. This improves the score a bit more, and reduces flicker as well. There's already a spinner from `FileRenderInline` to tell the user to be patient.
- Posts: add a minimum 30vh height so that short posts don't get collapsed too much, causing the `FileDetails` and Comments to shift. Small shifts are fine as long as CLS is below 0.1.
2021-07-22 10:38:01 +08:00
infinite-persistence 3243ce6e0a
Image Claims: minimum layout shift on desktop layout
## Issue
6068

## Change
Lock all images to fit a 16:9 container. We have implemented 'ZoomableImg', so no reason in trying to display in full size.

This reduces CLS from 0.4xx to 0.01x.

## Flaws
CLS could probably be zero if not for the spinner shifting things slightly. Also, mobile CLS is 0.07.

The troublesome part in this PR is that FileRenderInitiator, FileRender and their subcomponents are broken apart and it's hard to synchronize their visibility and size. There are time gaps where none of them are visible, etc.

This PR only tackles the major part (most bang for buck), which is the elimination of variable height of the rendered image.

## Aside
I think `claimIsMine` is unused, so don't waste time requesting it.
2021-07-19 14:26:00 +08:00
DispatchCommit 8253f5e0dc center play button 2021-07-13 00:06:32 -04:00
DispatchCommit b777669a7e Add pre-roll ads
change ad macro url
rework video.js load logic
fix autoplay and retry errors
yeet player.ended error
fix another race condition
fix another error message
add allowPreRoll restrictions
fix some lint issues
remove annoying lint rule
remove video.js lazy loading
more linting fixes
2021-07-13 00:06:32 -04:00
infinite-persistence 0de6be77de Fix missing "currrent/remaining time" control is mobile
## Root-cause
`https://github.com/videojs/video.js/pull/7098`

videojs was recently upgraded.

## Change
Override videojs default theme of hiding the time control in smaller layouts.
2021-07-13 10:58:59 +08:00
infinite-persistence 5d8e3d8b0a
Revert lazy-loading videojs
## Issue
The loading circle wasn't showing up, causing confusion.

Splitting CSS doesn't seem trivial as there seems to be a huge dependency on the load order. Pretty much similar to what this person is facing https://lihautan.com/css-code-splitting/#the-problem

## Change
This reverts videojs-specific changes from 4d638bcf.
2021-07-06 17:04:16 +08:00
infinite-persistence 3539031e5a
CodeSplit: Initial work 2021-06-25 16:00:44 +08:00
saltrafael 0532e759d4 Fix preview link background 2021-06-22 18:47:25 -04:00
Anthony eef218a807 use video js viewer for ios and add playsinline 2021-06-04 15:41:42 -04:00
saltrafael 213c336192 fix multi line links 2021-06-03 10:56:28 -04:00
infinite-persistence 09d8b38073
Markdown editor tweaks (#6096)
* Markdown: make '>Quote' look less like a banner

Quotes should be subtle as it is primarily intended for redundant content, but currently it looks more like a banner that brings lots of focus.

This change is also background-independent. Currently, the Quotes in Posts doesn't look like it has a background color, because it happened to be the same as the Post's background. This makes it inconsistent with Quotes in Comments. Let's just always make it blend in + grayish text.

* Markdown: inline code tweak

- better symmetry
- less spacing to the left and right, since it's common to already have a space in the sentence (even if it doesn't, like in CJK, the new spacing looks sufficient).

* 4481: Use regular font in Markdown Editor

I think we should not use Monospace fonts for the Markdown Editor since we are not coding.

Similar to Github, code-blocks and inline-code only gets converted to monospace in the Preview.
2021-05-20 15:31:14 -04:00
Sean Yesmunt 6d89f0df7e hyperchats 2021-04-23 16:20:17 -04:00
Louis Sandoval d58d96b8dd Fixes #5822 display of upload date and view count on smaller screens 2021-04-04 22:51:07 -04:00
Sean Yesmunt 7dccba5813 only use new post styling for markdown 2021-03-12 11:54:37 -05:00
Sean Yesmunt 7702477e71 better posts styling 2021-03-11 14:12:59 -05:00
DispatchCommit 5a6743a4ce Bring in the initial styling 2021-03-05 16:51:45 -05:00
togekk1 232841ef5e Open ZoomableImage viewer when clicking on the image 2021-02-19 14:05:51 -05:00
togekk1 00017e241e Revert "Open the actual image when clicking on the image viewer"
This reverts commit 6a99947ac2d3fada59438d818599af6b68dcebd8.
2021-02-19 14:05:51 -05:00
togekk1 6144b08cf9 Open the actual image when clicking on the image viewer 2021-02-19 14:05:51 -05:00
infiinte-persistence d26d76fc70 Theater: hide button when not needed
## Issues
5349: Remove theater mode button from player in comments
5519: Theatre mode button doesn't do anything in full screen mode [Odysse/LBRY desktop app]

## Notes
5349: Wanted to hide for 'markdown' as well, but it seems useful for 'markdown' (to clear the screen from Related), so I did not include it.
2021-02-17 17:56:10 -05:00
infiinte-persistence 0699c55229 videojs: make control bar slightly transparent.
## Issue
Closes #5392 better support for non-standard resolution videos

It's not actually cropped -- the control bar was opaque.

## Change
Use 0.80 opacity to somewhat see the full picture.

Using 0.5 or less would be even better, but due to the default tiny size of the control bar, the text becomes unreadable (it's readable if you zoom the browser to get larger text). Don't want to mess with sizing for now, so using 0.80 to get the best of both worlds.
2021-02-01 17:06:49 -05:00
Sean Yesmunt 80a7cbe16f add quality selector to transcoded videos 2021-01-15 10:34:41 -05:00
Sean Yesmunt f59cdb1929 fix for hls support 2021-01-04 15:04:36 -05:00
infiinte-persistence 49abbecbd7 mobile-ui: Fix missing chromecast button in Android-Chrome
## Issue:
5119 "Video: Mobile UI + overlay for keyboard shortcut feedback" was disabled because the feature broke the chromecast button in Android Chrome
2020-12-21 12:15:45 -05:00
infinite-persistence 04fbde49ec
Video: Mobile UI + overlay for keyboard shortcut feedback (#5119)
Co-authored-by: import <>
2020-12-14 11:40:59 -05:00
Sean Yesmunt 495cf89a38 remove overflow: auto but keep width the same 2020-12-07 11:47:19 -05:00
Electron - Mark Firth 459a4752ed Wider Post Area
Wider post area for bigger text, while keeping the character count the same or less.
Removed `overflow: auto;` as it was not required and was creating unnecessary scrollbars when margins were incorrectly calculated.
2020-12-07 11:47:19 -05:00
infiinte-persistence e12506feef videojs: Squeeze in 'playback rate' button for Mobile Portrait.
## Issue
- Personally annoyed of having to switch to landscape just to change the setting. There's still space for it.
- This serves as a quick fix until "4712: Video: Allow access to all control in small screen" is figured out
2020-11-23 13:05:58 -05:00
infiinte-persistence 00350fec80 Hide mouse cursor when video is playing
## Issue:
5044: Auto hide cursor on video on static hover

## Approach
The existing code only hides the cursor when playing in fullscreen. Extend that to normal mode as well.

## Extra
Add in few new strings
2020-11-17 12:53:01 -05:00
Sean Yesmunt 68b1a0971c Revert "remove unused style"
This reverts commit 57a69be7e8.
2020-11-02 17:15:02 -05:00
Sean Yesmunt 57a69be7e8 remove unused style 2020-10-29 17:02:40 -04:00
Sean Yesmunt 295b8cf2e1 refactor floatingUri to allow inline players in comments/markdown 2020-10-21 15:29:29 -04:00
Sean Yesmunt d9acb034e1 odysee alignment 2020-10-05 14:55:52 -04:00
Sean Yesmunt a92a3305b1 align FileActions with odysee style 2020-09-30 17:00:18 -04:00
Sean Yesmunt 83a6589cd0 new lbc icon 2020-09-29 17:12:32 -04:00
Sean Yesmunt 2db2b870ff fix document layout and remove WaitUntilOnPage wrapper for related content 2020-08-12 11:47:00 -04:00
Sean Yesmunt 692862c769 collapsable sidebar initial commit 2020-08-11 17:04:14 -04:00
Sean Yesmunt da7b331760 style cleanup 2020-07-09 14:49:36 -04:00
infiinte-persistence 145acda9cc [mobile] show "time left/progress" on video player bar
## Fixes:
4220

## Changes:
For `vjs-layout-small`, there is still space to display the said controls. This layout covers devices like Galaxy S5 up to Nexus 6P.

For layouts smaller that that (e.g. 'vjs-layout-xsmall'), they will remain hidden.
2020-07-01 11:20:26 -04:00
Sean Yesmunt c45e5c751e use css variables for button placement 2020-06-16 17:14:22 -04:00
infiinte-persistence a20ea08ac7 Show "unmute" option on videos automatically muted by browser.
Implementation:
- The code is placed in <VideoJs> instead of <VideoViewer> as we need to control the video itself. It's more self-contained here, rather than trying to pass refs around between parent and child.
- useState cannot be used as it will cause a re-render when the hint it clicked and dismissed. The DOM is used to hide the button.
2020-06-16 17:14:22 -04:00
Sean Yesmunt 44cfe25ac2 fix height for embedded content 2020-06-12 17:41:26 -04:00
Sean Yesmunt e7cdd6c13d moonpay 2020-06-03 14:16:43 -04:00
Sean Yesmunt 68e687ee6e moar improvements 2020-05-26 14:42:44 -04:00
Sean Yesmunt 03518c8a5a show price on embeds in markdown 2020-05-22 16:48:24 -04:00
Sean Yesmunt 8d888d3e23 improve floating behavior when coming from embeds 2020-04-30 15:13:45 -04:00
Sean Yesmunt 49275c298a embeds style fixes 2020-04-30 11:06:06 -04:00
Jeremy Kauffman 6b02805645 fix play button on embed end 2020-04-30 10:37:39 -04:00
Sean Yesmunt 1a50e697ce embed functionality inside markdown posts 2020-04-30 10:13:01 -04:00
Sean Yesmunt ad6d36f2e0 add back embed title background 2020-04-29 17:45:43 -04:00