diff --git a/src/common/MetaRow/MetaRowPlaceholder/MetaRowPlaceholder.js b/src/common/MetaRow/MetaRowPlaceholder/MetaRowPlaceholder.js index 57f6e4a33..9f0398b9f 100644 --- a/src/common/MetaRow/MetaRowPlaceholder/MetaRowPlaceholder.js +++ b/src/common/MetaRow/MetaRowPlaceholder/MetaRowPlaceholder.js @@ -1,22 +1,37 @@ const React = require('react'); const PropTypes = require('prop-types'); const classnames = require('classnames'); +const Icon = require('stremio-icons/dom'); +const Button = require('stremio/common/Button'); +const CONSTANTS = require('stremio/common/CONSTANTS'); const styles = require('./styles'); -const MetaRowPlaceholder = ({ className, title, limit }) => { +const MetaRowPlaceholder = ({ className, title, href }) => { return (
-
{title}
-
-
- {Array(limit).fill(null).map((_, index) => ( -
-
-
-
- ))} +
+
0 ? title : null}> + {typeof title === 'string' && title.length > 0 ? title : null}
-
+ { + typeof href === 'string' && href.length > 0 ? + + : + null + } +
+
+ {Array(CONSTANTS.CATALOG_PREVIEW_SIZE).fill(null).map((_, index) => ( +
+
+
+
+
+
+ ))}
); @@ -25,7 +40,7 @@ const MetaRowPlaceholder = ({ className, title, limit }) => { MetaRowPlaceholder.propTypes = { className: PropTypes.string, title: PropTypes.string, - limit: PropTypes.number.isRequired + href: PropTypes.string }; module.exports = MetaRowPlaceholder; diff --git a/src/common/MetaRow/MetaRowPlaceholder/styles.less b/src/common/MetaRow/MetaRowPlaceholder/styles.less index da5b8c91c..95a8f2ff2 100644 --- a/src/common/MetaRow/MetaRowPlaceholder/styles.less +++ b/src/common/MetaRow/MetaRowPlaceholder/styles.less @@ -1,50 +1,80 @@ -@import (reference) '~stremio-colors/dist/less/stremio-colors.less'; - .meta-row-placeholder-container { - .title-container { - max-height: 2.4em; - padding: 0 1rem; - margin-bottom: 2rem; - font-size: 1.5rem; - color: @color-surface; - - &:empty { - height: 1.2em; - background: linear-gradient(to right, var(--color-placeholder) 0 40%, transparent 40% 100%); - } - } - - .content-container { + .header-container { display: flex; flex-direction: row; - align-items: stretch; + align-items: center; + justify-content: flex-end; + padding: 0 1rem; + margin-bottom: 1rem; - .meta-items-container { + .title-container { flex: 1; - display: flex; - flex-direction: row; - align-items: stretch; + max-height: 2.4em; + font-size: 1.8rem; + color: var(--color-placeholder-text); - .meta-item { - flex: 1; - margin: 1rem 3rem 1rem 1rem; - background-color: var(--color-placeholder); - - .poster-container { - padding-bottom: calc(100% * var(--poster-shape-ratio)); - } - - .title-bar-container { - height: 2.8rem; - background-color: var(--color-placeholder); - } + &:empty { + height: 1.2em; + background: linear-gradient(to right, var(--color-placeholder-background) 0 40%, transparent 40% 100%); } } .see-all-container { flex: none; + display: flex; + flex-direction: row; + align-items: center; + max-width: 10rem; + padding: 0.4rem 0.2rem; + + &:focus, &:hover { + outline: none; + background-color: var(--color-placeholder-background); + } + + .label { + flex: 0 1 auto; + max-height: 1.2em; + font-weight: 500; + color: var(--color-placeholder-text); + } + + .icon { + flex: none; + height: 1.3rem; + margin-left: 0.5rem; + fill: var(--color-placeholder-text); + } + } + } + + .meta-items-container { + display: flex; + flex-direction: row; + align-items: stretch; + + .meta-item { + flex: 1; margin: 1rem; - background-color: var(--color-placeholder); + + .poster-container { + padding-bottom: calc(100% * var(--poster-shape-ratio)); + background-color: var(--color-placeholder-background); + } + + .title-bar-container { + display: flex; + flex-direction: row; + align-items: center; + height: 2.8rem; + + .title-label { + flex: none; + width: 60%; + height: 1.2rem; + background-color: var(--color-placeholder-background); + } + } } } } \ No newline at end of file