Skip to content

Commit

Permalink
Merge pull request #60 from Videodock/feat/accessibility
Browse files Browse the repository at this point in the history
Feat / accessibility
  • Loading branch information
ChristiaanScheermeijer authored Jun 18, 2021
2 parents c5f1a23 + 566fe72 commit 8e661fe
Show file tree
Hide file tree
Showing 8 changed files with 54 additions and 39 deletions.
5 changes: 4 additions & 1 deletion src/components/Card/Card.module.scss
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@
cursor: pointer;
transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;

// @media (hover: hover) and (pointer: fine) {
display: flex;
flex-direction: column;
justify-content: flex-start;

&:focus,
&:hover {
z-index: 1;
Expand Down
8 changes: 5 additions & 3 deletions src/components/Card/Card.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,15 @@ function Card({
<div className={posterClassNames} style={{ backgroundImage: posterSource ? `url(${posterSource})` : '' }}>
{!loading && (
<div className={styles.meta}>
{featured && <div className={classNames(styles.title, { [styles.loading]: loading })}>{title}</div>}
{metaData()}
{featured && !disabled && (
<div className={classNames(styles.title, { [styles.loading]: loading })}>{title}</div>
)}
{!disabled && metaData()}
</div>
)}
{isCurrent && <div className={styles.currentLabel}>{currentLabel}</div>}
</div>
{!featured && (
{!featured && !disabled && (
<div className={styles.titleContainer}>
<div className={classNames(styles.title, { [styles.loading]: loading })}>{title}</div>
</div>
Expand Down
28 changes: 15 additions & 13 deletions src/components/CardGrid/CardGrid.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,19 +48,21 @@ function CardGrid({
const { mediaid, title, duration, seriesId } = playlistItem;

return (
<div className={styles.cell} style={style} key={mediaid}>
<Card
key={mediaid}
title={title}
duration={duration}
posterSource={findPlaylistImageForWidth(playlistItem, imageSourceWidth)}
seriesId={seriesId}
onClick={() => onCardClick(playlistItem)}
onHover={typeof onCardHover === 'function' ? () => onCardHover(playlistItem) : undefined}
loading={isLoading}
isCurrent={currentCardItem && currentCardItem.mediaid === mediaid}
currentLabel={currentCardLabel}
/>
<div className={styles.cell} style={style} key={mediaid} role="row">
<div role="cell">
<Card
key={mediaid}
title={title}
duration={duration}
posterSource={findPlaylistImageForWidth(playlistItem, imageSourceWidth)}
seriesId={seriesId}
onClick={() => onCardClick(playlistItem)}
onHover={typeof onCardHover === 'function' ? () => onCardHover(playlistItem) : undefined}
loading={isLoading}
isCurrent={currentCardItem && currentCardItem.mediaid === mediaid}
currentLabel={currentCardLabel}
/>
</div>
</div>
);
};
Expand Down
4 changes: 3 additions & 1 deletion src/components/Shelf/Shelf.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,9 @@ const Shelf: React.FC<ShelfProps> = ({

return (
<div className={classNames(styles.shelf, { [styles.featured]: featured })} data-mediaid={playlist.feedid}>
{!featured && <h2 className={classNames(styles.title, { [styles.loading]: loading })}>{title || playlist.title}</h2>}
{!featured && (
<h2 className={classNames(styles.title, { [styles.loading]: loading })}>{title || playlist.title}</h2>
)}
<TileDock<PlaylistItem>
items={playlist.playlist}
tilesToShow={tilesToShow}
Expand Down
2 changes: 1 addition & 1 deletion src/components/TileDock/TileDock.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ const TileDock = <T extends unknown>({
const ulStyle = {
transform: `translate3d(${transformWithOffset}%, 0, 0)`,
// prettier-ignore
WebkitTransform: `translate3d(${transformWithOffset}%, 0, 0)`,
webkitTransform: `translate3d(${transformWithOffset}%, 0, 0)`,
transition: transitionBasis,
marginLeft: -spacing / 2,
marginRight: -spacing / 2,
Expand Down
1 change: 1 addition & 0 deletions src/components/VirtualizedGrid/VirtualizedGrid.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ const VirtualizedGrid = ({ cellRenderer, rowCount, cols, spacing }: Props) => {
<AutoSizer disableHeight>
{({ width }) => (
<Grid
role="grid"
className={styles.grid}
tabIndex={-1}
autoHeight
Expand Down
4 changes: 3 additions & 1 deletion src/containers/Playlist/PlaylistContainer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,9 @@ const PlaylistContainer = ({ playlistId, relatedItem, onPlaylistUpdate, children
if (playlistId === PersonalShelf.ContinueWatching) playlist = watchHistoryPlayist;

if (!playlistId) return <p>No playlist id</p>;
if (!playlist.playlist.length) return null;
if (!playlist.playlist.length) {
return null;
}

if (relatedItem && !playlist.playlist.some(({ mediaid }) => mediaid === relatedItem.mediaid)) {
playlist.playlist.unshift(relatedItem);
Expand Down
41 changes: 22 additions & 19 deletions src/screens/Home/Home.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -59,25 +59,28 @@ const Home = (): JSX.Element => {
const onCardHover = (playlistItem: PlaylistItem) => updateBlurImage(playlistItem.image);

return (
<div
key={key}
style={style}
className={classNames(styles.shelfContainer, { [styles.featured]: contentItem.featured })}
>
<PlaylistContainer key={contentItem.playlistId} playlistId={contentItem.playlistId}>
{({ playlist, error, isLoading }) => (
<ShelfComponent
loading={isLoading}
error={error}
playlist={playlist}
onCardClick={onCardClick}
onCardHover={onCardHover}
title={playlist.title}
featured={contentItem.featured === true}
/>
)}
</PlaylistContainer>
</div>
<PlaylistContainer key={contentItem.playlistId} playlistId={contentItem.playlistId}>
{({ playlist, error, isLoading }) => (
<div
key={key}
style={style}
role="row"
className={classNames(styles.shelfContainer, { [styles.featured]: contentItem.featured })}
>
<div role="cell">
<ShelfComponent
loading={isLoading}
error={error}
playlist={playlist}
onCardClick={onCardClick}
onCardHover={onCardHover}
title={playlist.title}
featured={contentItem.featured === true}
/>
</div>
</div>
)}
</PlaylistContainer>
);
};

Expand Down

0 comments on commit 8e661fe

Please sign in to comment.