Adds thumbnail support for default, null-valued thumbnails

This commit is contained in:
Oleg Silkin 2019-10-23 03:03:45 -04:00 committed by Sean Yesmunt
parent 27f1b4fa01
commit 6018429e68

View file

@ -6,7 +6,7 @@ import Gerbil from './gerbil.png';
type Props = { type Props = {
thumbnail: ?string, thumbnail: ?string,
uri: string, uri: ?string,
className?: string, className?: string,
thumbnailPreview: ?string, thumbnailPreview: ?string,
obscure?: boolean, obscure?: boolean,
@ -14,11 +14,16 @@ type Props = {
function ChannelThumbnail(props: Props) { function ChannelThumbnail(props: Props) {
const { thumbnail, uri, className, thumbnailPreview, obscure } = props; const { thumbnail, uri, className, thumbnailPreview, obscure } = props;
// Generate a random color class based on the first letter of the channel name // Generate a random color class based on the first letter of the channel name
let initializer;
if (thumbnail) {
const { channelName } = parseURI(uri); const { channelName } = parseURI(uri);
const initializer = channelName.charCodeAt(0) - 65; // will be between 0 and 57 initializer = channelName.charCodeAt(0) - 65; // will be between 0 and 57
const colorClassName = `channel-thumbnail__default--${Math.abs(initializer % 4)}`; } else {
// if we want to default a thumbnail
initializer = Math.floor(Math.random() * 104729); // 10000th prime number
}
const colorClassName = `channel-thumbnail__default--${initializer % 4}`;
const showThumb = !obscure && !!thumbnail; const showThumb = !obscure && !!thumbnail;
return ( return (
<div <div