2019-05-07 04:35:04 +02:00
|
|
|
// @flow
|
2020-06-30 07:51:15 +02:00
|
|
|
import React from 'react';
|
2019-05-11 21:06:22 +02:00
|
|
|
import { parseURI } from 'lbry-redux';
|
|
|
|
import classnames from 'classnames';
|
odysee
fix replay select styling
make meme a link
Fix audio references
get newest livestream claim in livestreamLink
pin crackermilk
fix livestream banner placement
fix live page
fix rebase
fix rebase
fix error nag
fix darkmode blockquote style
break word on livestream comment text
fix dark mode snack
fix live badge
fix lint
small fixes - word wrap, live badge
wip
Fix invisible snack in Odysee Light Theme
Revert "wip"
This reverts commit d17e477fe0e6633709ea30bdc403448825db4c71.
Revert "small fixes - word wrap, live badge"
This reverts commit 0e431d4038d774079c78f0de32238aac7260e4ca.
fix blank
pinned destiny
fix badges and homepage again
only get livestreams live for less than a day
pinned hammy and olivia
multi pin
pin destiny
updated pinned videos
update tagline
Update view.jsx
pins
updated destiny's video
updated pinned videos
removed destiny, added lie likes music
pinned destiny and mason's woodshop
removed hammy and olivia
unpinned mason's woodshop
removed pins
added hammy and olivia
pinned sam seder
unpinned destiny and hammy and olivia
Fix merge on ChannelThumbnails
- sam seder, + hammy & olivia and passion for food
update tagline (#6086)
removed everyone, added kona and suba
Theme color fixes (odysee) (#6089)
* Cherry-pick master's 'base-theme.scss'
* Non-functional cleanup (remove dups, re-order, etc.)
* Dark: update positive Toast to --color-primary as well.
This follows the intention of the refactoring, which I guess was (1) reduce the number of color names (2) reduce the number of customizations needed.
The only issue I have with this is that the current Odysee primary color is pink, which can be intepreted as an error.
The original (pre-refactoring color was green).
For now, I follow the refactoring path. We can tweak this later.
* Fix text color inside '--color-card-background-highlighted'
Light: use base-theme (it was the same value anyway).
Dark: use bright text.
* Dark: add some contrast between the components
The color for the background, header, card, placeholder, etc. is almost identical -- it looks like there are all in the same component. The almost-invisible border doesn't help. One would have to crank up the monitor's contrast setting to see separation of components.
Brighten up the components a bit, somewhat following the same scale as lbry.tv's dark theme.
Overall, I still think it's too dark. The Card's background color can still be brightened up further for better contrast, but I try not to make too drastic of a change for now.
The original lbry.tv's gray theme is the most pleasant theme I've seen so far, but this is all subjective.
changed pins
removed kona and suba
added destiny
changed pins
removed destiny
pinned sgtducky
changed pins
removed sgtducky
added hammy and olivia
added chrissie mayr
added the bite shot
changed pins
removed the bite shot
added heads of tech
changed pins
removed hammy and olivia
removed chrissie mayr
changed pins
removed heads of tech
added crackermilk
changed pins
removed crackermilk
added some ordinary gamer
added passion for food
changed pins
removed some ordinary gamers
removed passion for food
added emmy hucker
changed pins
added game knights
Update view.jsx
Force rebuild
changed pins
removed emmy hucker
changed pins
removed game knights
added crackermilk
changed pins
removed crackermilk
added some ordinary gamer
changed pins
removed some ordinary gamers
added passion for food
added green renaissance
changed pins
removed passion for food
removed green renaissance
added expand love
changed pins
removed expand love
added dr nora
change tagline (#6122)
there's so much room for activities
comment out music
changed pins
removed dr nora
added kona and suba
changed pins
removed kona and suba
added destiny
changed pins
removed destiny
added crackermilk
changed pins
removed crackermilk
added someordinarygamers
change tagline
Drake, where's the door hole?
changed pins
unpinned someordinarygamers
pinned kona and suba
Add message for mature content
changed pin
changed pins
removed creative model
changed pins
added bcpov
added krish mohan
added cigarvixen
changed pins
removed krish mohan
added adrian logan
bump
fix footer
change tagline
just like the simulations
changed pins
removed:
bcpov
cigarvixen
adrian logan
added:
someordinarygamers
quick fix for reposts
oops
fix channel tabs
changed pin
removed someordinarygamers
added kona and suba
changed pins
removed kona and suba
added dirtyworkz
added crackermilk
fix channel tabs again again
changed pins
someordinarygamers
arvie's cookbook
changed pins
removed some ordinary gamers
removed arvie's cookbook
added fna van life
changed pins
removed fna vanlife
added game knights
change tagline
"this cave is not a natural formation"
changed pins
removed game knights
added some ordinary gamers
fix popup
put footer back
bump lightouse throttle
bump lighthouse throttle
changed pins
removed some orginary gamers
added adrian logan
pinned bret weinstein
fix referral
fix-superchats
changed pins
removed bret weinstein
added passion for food
added dark horse clips
fix incorrect variable being used to determine view state
changed pins
removed passion for food
changed pins
removed bret weinstein
added sgt ducky
add recsys related functionality
Create plugin to hold code for recsys
send recsys on dispose
cleanup recsys code
add userId to props validation
appease the linter
add todo note
extra characters
pinned jungle survival
fix autoplay for transcoded files
change tagline
changed pins
pinned destiny
pinned chris williamson
FIX video.js event firing issues fore RecsysPlugin
- The `rateChange` event now logs the updated speed,
not just the time at which it occurred.
- The `scrub` now (more) accurately logs the position
it came from before the destination.
- The recsys events get consolidated for logical consistency.
Wunderbar: change throttle to debounce + add min chars
6314: prevent lighthouse spam from wunderbar
- Wunderbar: change throttle to debounce + add min chars.
- useLighthouse: added option to not throttle.
Wunderbar: immediate feedback to convey status
Make immediate GUI feedback to convey the current status, which can be the following:
- typing
- waiting lighthouse results
- waiting claim resolve
- no results or failed.
pinned someordinarygamers
Wunderbar: bump debounce to 1s
per feedback
pinned jungle survival
pinned james julier
Fix compile error
Lint
summit pin
summit pin
update pins
added humblemechanic
removed everyone else
update pins
pinned samtime
FIX stop event translation and remove preprocessing
I think different browsers behave in different ways for the media
API. As a result, I think I was losing information for browsers
that weren't the same as mine (Chromium). For now, preprocessing
is removed. In the future, I'll add it again (better storage
and transmission properties).
updated pin
change pins
(cherry picked from commit 041f420416aaa890adecd78381d611375134b904)
pinned someordinarygamers
auth only for stripe
restore playlists tab
fix missing i18n on channel page
pinned zimmerhandcrafted
change tagline
big gulps, huh?
change pin
Revert lazy-loading videojs
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
This reverts videojs-specific changes from 4d638bcf.
odyrecon
use ENABLE_UI_NOTIFICATIONS
use ENABLE_MATURE
oops
use ENABLE_MATURE for fileTitleSection
pinned orf
pinned ourselves
selecthumb copy
use ENABLE_UI_NOT. on sideNav
showNoSourceClaims
changed pin
fix livestream claims display
...
fix?
fix
Fix invalid semicolon
alison morrow
Odysee: fix missing '--color-help-warning-bg' for Dark
someordinarygamers
pinned some new channels
watch guy
hotfix error returning to settings
emplemon
fix showMature
test bump parsing
better colon handling
cherrypick pins
unpin emplemon for now
delete unused components (#6531)
more recon (#6534)
emplemon
Latest changes to odysee (#6536)
* disable review button if no card saved also some cleanup
* fix flow errors
move stuff to web
Revert "move stuff to web"
This reverts commit 17b13d8b19c08dcfd9ab55e09ac53da97dba3682.
hotfix for odysee
change tagline
don't dead open inside
2021-06-11 19:47:56 +02:00
|
|
|
import Spaceman from './spaceman.png';
|
2020-05-28 19:07:04 +02:00
|
|
|
import FreezeframeWrapper from 'component/fileThumbnail/FreezeframeWrapper';
|
2021-02-16 22:09:20 +01:00
|
|
|
import ChannelStakedIndicator from 'component/channelStakedIndicator';
|
2021-05-17 21:51:21 +02:00
|
|
|
import { getThumbnailCdnUrl } from 'util/thumbnail';
|
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 07:20:40 +02:00
|
|
|
|
|
|
|
const FONT_PX = 16.0;
|
|
|
|
const IMG_XSMALL_REM = 2.1;
|
|
|
|
const IMG_SMALL_REM = 3.0;
|
|
|
|
const IMG_NORMAL_REM = 10.0;
|
2019-05-07 04:35:04 +02:00
|
|
|
|
|
|
|
type Props = {
|
|
|
|
thumbnail: ?string,
|
2019-10-23 09:03:45 +02:00
|
|
|
uri: ?string,
|
2019-06-11 20:10:58 +02:00
|
|
|
className?: string,
|
2019-06-28 19:00:29 +02:00
|
|
|
thumbnailPreview: ?string,
|
2019-08-02 02:56:25 +02:00
|
|
|
obscure?: boolean,
|
2019-12-04 19:07:40 +01:00
|
|
|
small?: boolean,
|
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 07:20:40 +02:00
|
|
|
xsmall?: boolean,
|
2020-05-28 19:07:04 +02:00
|
|
|
allowGifs?: boolean,
|
2020-07-23 16:22:57 +02:00
|
|
|
claim: ?ChannelClaim,
|
2021-02-16 22:09:20 +01:00
|
|
|
doResolveUri: (string) => void,
|
2020-08-24 20:44:41 +02:00
|
|
|
isResolving: boolean,
|
2020-11-19 18:17:47 +01:00
|
|
|
showDelayedMessage?: boolean,
|
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 07:20:40 +02:00
|
|
|
noLazyLoad?: boolean,
|
2021-02-16 22:09:20 +01:00
|
|
|
hideStakedIndicator?: boolean,
|
2019-05-07 04:35:04 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
function ChannelThumbnail(props: Props) {
|
2020-06-08 15:16:56 +02:00
|
|
|
const {
|
|
|
|
thumbnail: rawThumbnail,
|
|
|
|
uri,
|
|
|
|
className,
|
|
|
|
thumbnailPreview: rawThumbnailPreview,
|
|
|
|
obscure,
|
|
|
|
small = false,
|
2021-04-23 21:59:48 +02:00
|
|
|
xsmall = false,
|
2020-06-08 15:16:56 +02:00
|
|
|
allowGifs = false,
|
2020-07-23 16:22:57 +02:00
|
|
|
claim,
|
|
|
|
doResolveUri,
|
2020-08-24 20:44:41 +02:00
|
|
|
isResolving,
|
2020-11-19 18:17:47 +01:00
|
|
|
showDelayedMessage = false,
|
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 07:20:40 +02:00
|
|
|
noLazyLoad,
|
2021-02-16 22:09:20 +01:00
|
|
|
hideStakedIndicator = false,
|
2020-06-08 15:16:56 +02:00
|
|
|
} = props;
|
2020-06-30 07:51:15 +02:00
|
|
|
const [thumbError, setThumbError] = React.useState(false);
|
2020-07-23 16:22:57 +02:00
|
|
|
const shouldResolve = claim === undefined;
|
2020-06-08 15:16:56 +02:00
|
|
|
const thumbnail = rawThumbnail && rawThumbnail.trim().replace(/^http:\/\//i, 'https://');
|
|
|
|
const thumbnailPreview = rawThumbnailPreview && rawThumbnailPreview.trim().replace(/^http:\/\//i, 'https://');
|
2020-05-28 19:07:04 +02:00
|
|
|
const channelThumbnail = thumbnail || thumbnailPreview;
|
2021-05-17 21:51:21 +02:00
|
|
|
const isGif = channelThumbnail && channelThumbnail.endsWith('gif');
|
2019-12-07 16:56:00 +01:00
|
|
|
const showThumb = (!obscure && !!thumbnail) || thumbnailPreview;
|
2021-05-17 21:51:21 +02:00
|
|
|
const thumbnailRef = React.useRef(null);
|
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 07:20:40 +02:00
|
|
|
const thumbnailSize = calcRenderedImgWidth(); // currently always 1:1
|
|
|
|
|
2019-05-14 04:53:04 +02:00
|
|
|
// Generate a random color class based on the first letter of the channel name
|
2019-12-04 19:07:40 +01:00
|
|
|
const { channelName } = parseURI(uri);
|
2019-10-23 09:03:45 +02:00
|
|
|
let initializer;
|
2019-12-04 19:07:40 +01:00
|
|
|
let colorClassName;
|
|
|
|
if (channelName) {
|
2019-10-23 09:03:45 +02:00
|
|
|
initializer = channelName.charCodeAt(0) - 65; // will be between 0 and 57
|
2019-12-04 19:07:40 +01:00
|
|
|
colorClassName = `channel-thumbnail__default--${Math.abs(initializer % 4)}`;
|
2019-10-23 09:03:45 +02:00
|
|
|
} else {
|
2019-12-04 19:07:40 +01:00
|
|
|
colorClassName = `channel-thumbnail__default--4`;
|
2019-10-23 09:03:45 +02:00
|
|
|
}
|
2020-06-30 07:51:15 +02:00
|
|
|
|
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 07:20:40 +02:00
|
|
|
function calcRenderedImgWidth() {
|
|
|
|
let rem;
|
|
|
|
if (xsmall) {
|
|
|
|
rem = IMG_XSMALL_REM;
|
|
|
|
} else if (small) {
|
|
|
|
rem = IMG_SMALL_REM;
|
|
|
|
} else {
|
|
|
|
rem = IMG_NORMAL_REM;
|
|
|
|
}
|
|
|
|
|
|
|
|
const devicePixelRatio = window.devicePixelRatio || 1.0;
|
|
|
|
return Math.ceil(rem * devicePixelRatio * FONT_PX);
|
|
|
|
}
|
|
|
|
|
2020-07-23 16:22:57 +02:00
|
|
|
React.useEffect(() => {
|
|
|
|
if (shouldResolve && uri) {
|
|
|
|
doResolveUri(uri);
|
|
|
|
}
|
|
|
|
}, [doResolveUri, shouldResolve, uri]);
|
|
|
|
|
2021-05-17 21:51:21 +02:00
|
|
|
if (isGif && !allowGifs) {
|
2021-02-16 22:09:20 +01:00
|
|
|
return (
|
|
|
|
<FreezeframeWrapper src={channelThumbnail} className={classnames('channel-thumbnail', className)}>
|
|
|
|
{!hideStakedIndicator && <ChannelStakedIndicator uri={uri} claim={claim} />}
|
|
|
|
</FreezeframeWrapper>
|
|
|
|
);
|
2020-06-30 07:51:15 +02:00
|
|
|
}
|
|
|
|
|
2021-05-17 21:51:21 +02:00
|
|
|
let url = channelThumbnail;
|
|
|
|
// @if TARGET='web'
|
|
|
|
// Pass image urls through a compression proxy, except for GIFs.
|
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 07:20:40 +02:00
|
|
|
if (thumbnail && !(isGif && allowGifs)) {
|
|
|
|
url = getThumbnailCdnUrl({ thumbnail, width: thumbnailSize, height: thumbnailSize, quality: 85 });
|
2021-05-17 21:51:21 +02:00
|
|
|
}
|
|
|
|
// @endif
|
|
|
|
|
2019-05-07 04:35:04 +02:00
|
|
|
return (
|
2019-05-11 21:06:22 +02:00
|
|
|
<div
|
2019-06-11 20:10:58 +02:00
|
|
|
className={classnames('channel-thumbnail', className, {
|
2019-08-02 17:11:31 +02:00
|
|
|
[colorClassName]: !showThumb,
|
2019-12-04 19:07:40 +01:00
|
|
|
'channel-thumbnail--small': small,
|
2021-04-23 21:59:48 +02:00
|
|
|
'channel-thumbnail--xsmall': xsmall,
|
2020-08-24 20:44:41 +02:00
|
|
|
'channel-thumbnail--resolving': isResolving,
|
2019-05-11 21:06:22 +02:00
|
|
|
})}
|
|
|
|
>
|
2020-01-30 21:55:45 +01:00
|
|
|
{!showThumb && (
|
|
|
|
<img
|
2021-05-17 21:51:21 +02:00
|
|
|
ref={thumbnailRef}
|
2020-01-30 21:55:45 +01:00
|
|
|
alt={__('Channel profile picture')}
|
|
|
|
className="channel-thumbnail__default"
|
odysee
fix replay select styling
make meme a link
Fix audio references
get newest livestream claim in livestreamLink
pin crackermilk
fix livestream banner placement
fix live page
fix rebase
fix rebase
fix error nag
fix darkmode blockquote style
break word on livestream comment text
fix dark mode snack
fix live badge
fix lint
small fixes - word wrap, live badge
wip
Fix invisible snack in Odysee Light Theme
Revert "wip"
This reverts commit d17e477fe0e6633709ea30bdc403448825db4c71.
Revert "small fixes - word wrap, live badge"
This reverts commit 0e431d4038d774079c78f0de32238aac7260e4ca.
fix blank
pinned destiny
fix badges and homepage again
only get livestreams live for less than a day
pinned hammy and olivia
multi pin
pin destiny
updated pinned videos
update tagline
Update view.jsx
pins
updated destiny's video
updated pinned videos
removed destiny, added lie likes music
pinned destiny and mason's woodshop
removed hammy and olivia
unpinned mason's woodshop
removed pins
added hammy and olivia
pinned sam seder
unpinned destiny and hammy and olivia
Fix merge on ChannelThumbnails
- sam seder, + hammy & olivia and passion for food
update tagline (#6086)
removed everyone, added kona and suba
Theme color fixes (odysee) (#6089)
* Cherry-pick master's 'base-theme.scss'
* Non-functional cleanup (remove dups, re-order, etc.)
* Dark: update positive Toast to --color-primary as well.
This follows the intention of the refactoring, which I guess was (1) reduce the number of color names (2) reduce the number of customizations needed.
The only issue I have with this is that the current Odysee primary color is pink, which can be intepreted as an error.
The original (pre-refactoring color was green).
For now, I follow the refactoring path. We can tweak this later.
* Fix text color inside '--color-card-background-highlighted'
Light: use base-theme (it was the same value anyway).
Dark: use bright text.
* Dark: add some contrast between the components
The color for the background, header, card, placeholder, etc. is almost identical -- it looks like there are all in the same component. The almost-invisible border doesn't help. One would have to crank up the monitor's contrast setting to see separation of components.
Brighten up the components a bit, somewhat following the same scale as lbry.tv's dark theme.
Overall, I still think it's too dark. The Card's background color can still be brightened up further for better contrast, but I try not to make too drastic of a change for now.
The original lbry.tv's gray theme is the most pleasant theme I've seen so far, but this is all subjective.
changed pins
removed kona and suba
added destiny
changed pins
removed destiny
pinned sgtducky
changed pins
removed sgtducky
added hammy and olivia
added chrissie mayr
added the bite shot
changed pins
removed the bite shot
added heads of tech
changed pins
removed hammy and olivia
removed chrissie mayr
changed pins
removed heads of tech
added crackermilk
changed pins
removed crackermilk
added some ordinary gamer
added passion for food
changed pins
removed some ordinary gamers
removed passion for food
added emmy hucker
changed pins
added game knights
Update view.jsx
Force rebuild
changed pins
removed emmy hucker
changed pins
removed game knights
added crackermilk
changed pins
removed crackermilk
added some ordinary gamer
changed pins
removed some ordinary gamers
added passion for food
added green renaissance
changed pins
removed passion for food
removed green renaissance
added expand love
changed pins
removed expand love
added dr nora
change tagline (#6122)
there's so much room for activities
comment out music
changed pins
removed dr nora
added kona and suba
changed pins
removed kona and suba
added destiny
changed pins
removed destiny
added crackermilk
changed pins
removed crackermilk
added someordinarygamers
change tagline
Drake, where's the door hole?
changed pins
unpinned someordinarygamers
pinned kona and suba
Add message for mature content
changed pin
changed pins
removed creative model
changed pins
added bcpov
added krish mohan
added cigarvixen
changed pins
removed krish mohan
added adrian logan
bump
fix footer
change tagline
just like the simulations
changed pins
removed:
bcpov
cigarvixen
adrian logan
added:
someordinarygamers
quick fix for reposts
oops
fix channel tabs
changed pin
removed someordinarygamers
added kona and suba
changed pins
removed kona and suba
added dirtyworkz
added crackermilk
fix channel tabs again again
changed pins
someordinarygamers
arvie's cookbook
changed pins
removed some ordinary gamers
removed arvie's cookbook
added fna van life
changed pins
removed fna vanlife
added game knights
change tagline
"this cave is not a natural formation"
changed pins
removed game knights
added some ordinary gamers
fix popup
put footer back
bump lightouse throttle
bump lighthouse throttle
changed pins
removed some orginary gamers
added adrian logan
pinned bret weinstein
fix referral
fix-superchats
changed pins
removed bret weinstein
added passion for food
added dark horse clips
fix incorrect variable being used to determine view state
changed pins
removed passion for food
changed pins
removed bret weinstein
added sgt ducky
add recsys related functionality
Create plugin to hold code for recsys
send recsys on dispose
cleanup recsys code
add userId to props validation
appease the linter
add todo note
extra characters
pinned jungle survival
fix autoplay for transcoded files
change tagline
changed pins
pinned destiny
pinned chris williamson
FIX video.js event firing issues fore RecsysPlugin
- The `rateChange` event now logs the updated speed,
not just the time at which it occurred.
- The `scrub` now (more) accurately logs the position
it came from before the destination.
- The recsys events get consolidated for logical consistency.
Wunderbar: change throttle to debounce + add min chars
6314: prevent lighthouse spam from wunderbar
- Wunderbar: change throttle to debounce + add min chars.
- useLighthouse: added option to not throttle.
Wunderbar: immediate feedback to convey status
Make immediate GUI feedback to convey the current status, which can be the following:
- typing
- waiting lighthouse results
- waiting claim resolve
- no results or failed.
pinned someordinarygamers
Wunderbar: bump debounce to 1s
per feedback
pinned jungle survival
pinned james julier
Fix compile error
Lint
summit pin
summit pin
update pins
added humblemechanic
removed everyone else
update pins
pinned samtime
FIX stop event translation and remove preprocessing
I think different browsers behave in different ways for the media
API. As a result, I think I was losing information for browsers
that weren't the same as mine (Chromium). For now, preprocessing
is removed. In the future, I'll add it again (better storage
and transmission properties).
updated pin
change pins
(cherry picked from commit 041f420416aaa890adecd78381d611375134b904)
pinned someordinarygamers
auth only for stripe
restore playlists tab
fix missing i18n on channel page
pinned zimmerhandcrafted
change tagline
big gulps, huh?
change pin
Revert lazy-loading videojs
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
This reverts videojs-specific changes from 4d638bcf.
odyrecon
use ENABLE_UI_NOTIFICATIONS
use ENABLE_MATURE
oops
use ENABLE_MATURE for fileTitleSection
pinned orf
pinned ourselves
selecthumb copy
use ENABLE_UI_NOT. on sideNav
showNoSourceClaims
changed pin
fix livestream claims display
...
fix?
fix
Fix invalid semicolon
alison morrow
Odysee: fix missing '--color-help-warning-bg' for Dark
someordinarygamers
pinned some new channels
watch guy
hotfix error returning to settings
emplemon
fix showMature
test bump parsing
better colon handling
cherrypick pins
unpin emplemon for now
delete unused components (#6531)
more recon (#6534)
emplemon
Latest changes to odysee (#6536)
* disable review button if no card saved also some cleanup
* fix flow errors
move stuff to web
Revert "move stuff to web"
This reverts commit 17b13d8b19c08dcfd9ab55e09ac53da97dba3682.
hotfix for odysee
change tagline
don't dead open inside
2021-06-11 19:47:56 +02:00
|
|
|
src={!thumbError && url ? url : Spaceman}
|
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 07:20:40 +02:00
|
|
|
width={thumbnailSize}
|
|
|
|
height={thumbnailSize}
|
|
|
|
loading={noLazyLoad ? undefined : 'lazy'}
|
2021-01-28 19:03:32 +01:00
|
|
|
onError={() => setThumbError(true)} // if thumb fails (including due to https replace, show gerbil.
|
2020-01-30 21:55:45 +01:00
|
|
|
/>
|
|
|
|
)}
|
|
|
|
{showThumb && (
|
2020-11-19 18:17:47 +01:00
|
|
|
<>
|
|
|
|
{showDelayedMessage && thumbError ? (
|
|
|
|
<div className="chanel-thumbnail--waiting">{__('This will be visible in a few minutes.')}</div>
|
|
|
|
) : (
|
|
|
|
<img
|
2021-05-17 21:51:21 +02:00
|
|
|
ref={thumbnailRef}
|
2020-11-19 18:17:47 +01:00
|
|
|
alt={__('Channel profile picture')}
|
|
|
|
className="channel-thumbnail__custom"
|
odysee
fix replay select styling
make meme a link
Fix audio references
get newest livestream claim in livestreamLink
pin crackermilk
fix livestream banner placement
fix live page
fix rebase
fix rebase
fix error nag
fix darkmode blockquote style
break word on livestream comment text
fix dark mode snack
fix live badge
fix lint
small fixes - word wrap, live badge
wip
Fix invisible snack in Odysee Light Theme
Revert "wip"
This reverts commit d17e477fe0e6633709ea30bdc403448825db4c71.
Revert "small fixes - word wrap, live badge"
This reverts commit 0e431d4038d774079c78f0de32238aac7260e4ca.
fix blank
pinned destiny
fix badges and homepage again
only get livestreams live for less than a day
pinned hammy and olivia
multi pin
pin destiny
updated pinned videos
update tagline
Update view.jsx
pins
updated destiny's video
updated pinned videos
removed destiny, added lie likes music
pinned destiny and mason's woodshop
removed hammy and olivia
unpinned mason's woodshop
removed pins
added hammy and olivia
pinned sam seder
unpinned destiny and hammy and olivia
Fix merge on ChannelThumbnails
- sam seder, + hammy & olivia and passion for food
update tagline (#6086)
removed everyone, added kona and suba
Theme color fixes (odysee) (#6089)
* Cherry-pick master's 'base-theme.scss'
* Non-functional cleanup (remove dups, re-order, etc.)
* Dark: update positive Toast to --color-primary as well.
This follows the intention of the refactoring, which I guess was (1) reduce the number of color names (2) reduce the number of customizations needed.
The only issue I have with this is that the current Odysee primary color is pink, which can be intepreted as an error.
The original (pre-refactoring color was green).
For now, I follow the refactoring path. We can tweak this later.
* Fix text color inside '--color-card-background-highlighted'
Light: use base-theme (it was the same value anyway).
Dark: use bright text.
* Dark: add some contrast between the components
The color for the background, header, card, placeholder, etc. is almost identical -- it looks like there are all in the same component. The almost-invisible border doesn't help. One would have to crank up the monitor's contrast setting to see separation of components.
Brighten up the components a bit, somewhat following the same scale as lbry.tv's dark theme.
Overall, I still think it's too dark. The Card's background color can still be brightened up further for better contrast, but I try not to make too drastic of a change for now.
The original lbry.tv's gray theme is the most pleasant theme I've seen so far, but this is all subjective.
changed pins
removed kona and suba
added destiny
changed pins
removed destiny
pinned sgtducky
changed pins
removed sgtducky
added hammy and olivia
added chrissie mayr
added the bite shot
changed pins
removed the bite shot
added heads of tech
changed pins
removed hammy and olivia
removed chrissie mayr
changed pins
removed heads of tech
added crackermilk
changed pins
removed crackermilk
added some ordinary gamer
added passion for food
changed pins
removed some ordinary gamers
removed passion for food
added emmy hucker
changed pins
added game knights
Update view.jsx
Force rebuild
changed pins
removed emmy hucker
changed pins
removed game knights
added crackermilk
changed pins
removed crackermilk
added some ordinary gamer
changed pins
removed some ordinary gamers
added passion for food
added green renaissance
changed pins
removed passion for food
removed green renaissance
added expand love
changed pins
removed expand love
added dr nora
change tagline (#6122)
there's so much room for activities
comment out music
changed pins
removed dr nora
added kona and suba
changed pins
removed kona and suba
added destiny
changed pins
removed destiny
added crackermilk
changed pins
removed crackermilk
added someordinarygamers
change tagline
Drake, where's the door hole?
changed pins
unpinned someordinarygamers
pinned kona and suba
Add message for mature content
changed pin
changed pins
removed creative model
changed pins
added bcpov
added krish mohan
added cigarvixen
changed pins
removed krish mohan
added adrian logan
bump
fix footer
change tagline
just like the simulations
changed pins
removed:
bcpov
cigarvixen
adrian logan
added:
someordinarygamers
quick fix for reposts
oops
fix channel tabs
changed pin
removed someordinarygamers
added kona and suba
changed pins
removed kona and suba
added dirtyworkz
added crackermilk
fix channel tabs again again
changed pins
someordinarygamers
arvie's cookbook
changed pins
removed some ordinary gamers
removed arvie's cookbook
added fna van life
changed pins
removed fna vanlife
added game knights
change tagline
"this cave is not a natural formation"
changed pins
removed game knights
added some ordinary gamers
fix popup
put footer back
bump lightouse throttle
bump lighthouse throttle
changed pins
removed some orginary gamers
added adrian logan
pinned bret weinstein
fix referral
fix-superchats
changed pins
removed bret weinstein
added passion for food
added dark horse clips
fix incorrect variable being used to determine view state
changed pins
removed passion for food
changed pins
removed bret weinstein
added sgt ducky
add recsys related functionality
Create plugin to hold code for recsys
send recsys on dispose
cleanup recsys code
add userId to props validation
appease the linter
add todo note
extra characters
pinned jungle survival
fix autoplay for transcoded files
change tagline
changed pins
pinned destiny
pinned chris williamson
FIX video.js event firing issues fore RecsysPlugin
- The `rateChange` event now logs the updated speed,
not just the time at which it occurred.
- The `scrub` now (more) accurately logs the position
it came from before the destination.
- The recsys events get consolidated for logical consistency.
Wunderbar: change throttle to debounce + add min chars
6314: prevent lighthouse spam from wunderbar
- Wunderbar: change throttle to debounce + add min chars.
- useLighthouse: added option to not throttle.
Wunderbar: immediate feedback to convey status
Make immediate GUI feedback to convey the current status, which can be the following:
- typing
- waiting lighthouse results
- waiting claim resolve
- no results or failed.
pinned someordinarygamers
Wunderbar: bump debounce to 1s
per feedback
pinned jungle survival
pinned james julier
Fix compile error
Lint
summit pin
summit pin
update pins
added humblemechanic
removed everyone else
update pins
pinned samtime
FIX stop event translation and remove preprocessing
I think different browsers behave in different ways for the media
API. As a result, I think I was losing information for browsers
that weren't the same as mine (Chromium). For now, preprocessing
is removed. In the future, I'll add it again (better storage
and transmission properties).
updated pin
change pins
(cherry picked from commit 041f420416aaa890adecd78381d611375134b904)
pinned someordinarygamers
auth only for stripe
restore playlists tab
fix missing i18n on channel page
pinned zimmerhandcrafted
change tagline
big gulps, huh?
change pin
Revert lazy-loading videojs
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
This reverts videojs-specific changes from 4d638bcf.
odyrecon
use ENABLE_UI_NOTIFICATIONS
use ENABLE_MATURE
oops
use ENABLE_MATURE for fileTitleSection
pinned orf
pinned ourselves
selecthumb copy
use ENABLE_UI_NOT. on sideNav
showNoSourceClaims
changed pin
fix livestream claims display
...
fix?
fix
Fix invalid semicolon
alison morrow
Odysee: fix missing '--color-help-warning-bg' for Dark
someordinarygamers
pinned some new channels
watch guy
hotfix error returning to settings
emplemon
fix showMature
test bump parsing
better colon handling
cherrypick pins
unpin emplemon for now
delete unused components (#6531)
more recon (#6534)
emplemon
Latest changes to odysee (#6536)
* disable review button if no card saved also some cleanup
* fix flow errors
move stuff to web
Revert "move stuff to web"
This reverts commit 17b13d8b19c08dcfd9ab55e09ac53da97dba3682.
hotfix for odysee
change tagline
don't dead open inside
2021-06-11 19:47:56 +02:00
|
|
|
src={!thumbError && url ? url : Spaceman}
|
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 07:20:40 +02:00
|
|
|
width={thumbnailSize}
|
|
|
|
height={thumbnailSize}
|
|
|
|
loading={noLazyLoad ? undefined : 'lazy'}
|
2020-11-19 18:17:47 +01:00
|
|
|
onError={() => setThumbError(true)} // if thumb fails (including due to https replace, show gerbil.
|
|
|
|
/>
|
|
|
|
)}
|
|
|
|
</>
|
2020-01-30 21:55:45 +01:00
|
|
|
)}
|
2021-02-16 22:09:20 +01:00
|
|
|
{!hideStakedIndicator && <ChannelStakedIndicator uri={uri} claim={claim} />}
|
2019-05-07 04:35:04 +02:00
|
|
|
</div>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
export default ChannelThumbnail;
|