mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-04-20 02:22:09 +00:00
see all button styled in route styles
This commit is contained in:
parent
0fceb69e52
commit
48754b7aad
5 changed files with 97 additions and 85 deletions
|
|
@ -21,7 +21,7 @@ const MetaRow = ({ className, title, message, items, limit, href }) => {
|
|||
typeof message === 'string' && message.length > 0 ?
|
||||
<div className={styles['message-container']} title={message}>{message}</div>
|
||||
:
|
||||
<React.Fragment>
|
||||
<div className={styles['content-container']}>
|
||||
<div className={styles['meta-items-container']}>
|
||||
{items.map((item, index) => (
|
||||
<MetaItem
|
||||
|
|
@ -34,11 +34,16 @@ const MetaRow = ({ className, title, message, items, limit, href }) => {
|
|||
<div key={index} className={classnames(styles['meta-item'], styles['poster-shape-poster'])} />
|
||||
))}
|
||||
</div>
|
||||
<Button className={styles['see-all-container']} title={'SEE ALL'} href={href}>
|
||||
<div className={styles['label']}>SEE ALL</div>
|
||||
<Icon className={styles['icon']} icon={'ic_arrow_thin_right'} />
|
||||
</Button>
|
||||
</React.Fragment>
|
||||
{
|
||||
typeof href === 'string' && href.length > 0 ?
|
||||
<Button className={styles['see-all-container']} title={'SEE ALL'} href={href}>
|
||||
<div className={styles['label']}>SEE ALL</div>
|
||||
<Icon className={styles['icon']} icon={'ic_arrow_thin_right'} />
|
||||
</Button>
|
||||
:
|
||||
null
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
);
|
||||
|
|
|
|||
|
|
@ -7,15 +7,17 @@ const MetaRowPlaceholder = ({ className, title, limit }) => {
|
|||
return (
|
||||
<div className={classnames(className, styles['meta-row-placeholder-container'])}>
|
||||
<div className={styles['title-container']} title={title}>{title}</div>
|
||||
<div className={styles['meta-items-container']}>
|
||||
{Array(limit).fill(null).map((_, index) => (
|
||||
<div key={index} className={styles['meta-item']}>
|
||||
<div className={styles['poster-container']} />
|
||||
<div className={styles['title-bar-container']} />
|
||||
</div>
|
||||
))}
|
||||
<div className={styles['content-container']}>
|
||||
<div className={styles['meta-items-container']}>
|
||||
{Array(limit).fill(null).map((_, index) => (
|
||||
<div key={index} className={styles['meta-item']}>
|
||||
<div className={styles['poster-container']} />
|
||||
<div className={styles['title-bar-container']} />
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
<div className={styles['see-all-container']} />
|
||||
</div>
|
||||
<div className={styles['see-all-container']} />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,12 +1,5 @@
|
|||
.meta-row-placeholder-container {
|
||||
display: grid;
|
||||
grid-template-columns: 6fr minmax(12rem, 1fr);
|
||||
grid-template-areas:
|
||||
"title-area title-area"
|
||||
"meta-items-area see-all-area";
|
||||
|
||||
.title-container {
|
||||
grid-area: title-area;
|
||||
max-height: 2.4em;
|
||||
margin-bottom: 2rem;
|
||||
font-size: 1.5rem;
|
||||
|
|
@ -18,29 +11,36 @@
|
|||
}
|
||||
}
|
||||
|
||||
.meta-items-container {
|
||||
grid-area: meta-items-area;
|
||||
.content-container {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: stretch;
|
||||
|
||||
.meta-item {
|
||||
.meta-items-container {
|
||||
flex: 1;
|
||||
margin-right: 2rem;
|
||||
background-color: var(--color-placeholder);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: stretch;
|
||||
|
||||
.poster-container {
|
||||
padding-bottom: calc(100% * var(--poster-shape-ratio));
|
||||
}
|
||||
|
||||
.title-bar-container {
|
||||
height: 2.8rem;
|
||||
.meta-item {
|
||||
flex: 1;
|
||||
margin-right: 2rem;
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.see-all-container {
|
||||
grid-area: see-all-area;
|
||||
background-color: var(--color-placeholder);
|
||||
.see-all-container {
|
||||
flex: none;
|
||||
background-color: var(--color-placeholder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,14 +1,7 @@
|
|||
.meta-row-container {
|
||||
display: grid;
|
||||
grid-template-columns: 6fr minmax(12rem, 1fr);
|
||||
grid-template-areas:
|
||||
"title-area title-area"
|
||||
"message-area message-area"
|
||||
"meta-items-area see-all-area";
|
||||
overflow: visible;
|
||||
|
||||
.title-container {
|
||||
grid-area: title-area;
|
||||
max-height: 2.4em;
|
||||
margin-bottom: 2rem;
|
||||
font-size: 1.5rem;
|
||||
|
|
@ -16,65 +9,71 @@
|
|||
}
|
||||
|
||||
.message-container {
|
||||
grid-area: message-area;
|
||||
max-height: 3.6em;
|
||||
font-size: 1.3rem;
|
||||
color: var(--color-surfacelighter);
|
||||
}
|
||||
|
||||
.meta-items-container {
|
||||
grid-area: meta-items-area;
|
||||
.content-container {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: stretch;
|
||||
overflow: visible;
|
||||
|
||||
.meta-item {
|
||||
margin-right: 2rem;
|
||||
.meta-items-container {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: stretch;
|
||||
overflow: visible;
|
||||
|
||||
&.poster-shape-poster {
|
||||
flex: calc(1 / var(--poster-shape-ratio));
|
||||
}
|
||||
.meta-item {
|
||||
margin-right: 2rem;
|
||||
|
||||
&.poster-shape-square {
|
||||
flex: 1;
|
||||
}
|
||||
&.poster-shape-poster {
|
||||
flex: calc(1 / var(--poster-shape-ratio));
|
||||
}
|
||||
|
||||
&.poster-shape-landscape {
|
||||
flex: calc(1 / var(--landscape-shape-ratio));
|
||||
&.poster-shape-square {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
&.poster-shape-landscape {
|
||||
flex: calc(1 / var(--landscape-shape-ratio));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.see-all-container {
|
||||
grid-area: see-all-area;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 1rem;
|
||||
background-color: var(--color-backgroundlight);
|
||||
|
||||
&:hover, &:focus {
|
||||
background-color: var(--color-backgroundlighter);
|
||||
}
|
||||
|
||||
.label {
|
||||
flex-grow: 0;
|
||||
flex-shrink: 1;
|
||||
flex-basis: auto;
|
||||
max-height: 2.4em;
|
||||
font-size: 1.2rem;
|
||||
text-align: center;
|
||||
color: var(--color-surfacelighter);
|
||||
}
|
||||
|
||||
.icon {
|
||||
.see-all-container {
|
||||
flex: none;
|
||||
width: 1.3rem;
|
||||
height: 1.3rem;
|
||||
margin-left: 0.3rem;
|
||||
fill: var(--color-surfacelighter);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 1rem;
|
||||
background-color: var(--color-backgroundlight);
|
||||
|
||||
&:hover, &:focus {
|
||||
background-color: var(--color-backgroundlighter);
|
||||
}
|
||||
|
||||
.label {
|
||||
flex-grow: 0;
|
||||
flex-shrink: 1;
|
||||
flex-basis: auto;
|
||||
max-height: 2.4em;
|
||||
font-size: 1.2rem;
|
||||
text-align: center;
|
||||
color: var(--color-surfacelighter);
|
||||
}
|
||||
|
||||
.icon {
|
||||
flex: none;
|
||||
width: 1.3rem;
|
||||
height: 1.3rem;
|
||||
margin-left: 0.3rem;
|
||||
fill: var(--color-surfacelighter);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2,10 +2,12 @@
|
|||
|
||||
:import('~stremio/common/MetaRow/styles.less') {
|
||||
meta-item: meta-item;
|
||||
see-all-container: see-all-container;
|
||||
}
|
||||
|
||||
:import('~stremio/common/MetaRow/MetaRowPlaceholder/styles.less') {
|
||||
meta-item-placeholder: meta-item;
|
||||
see-all-container-placeholder: see-all-container;
|
||||
}
|
||||
|
||||
.board-container {
|
||||
|
|
@ -35,6 +37,10 @@
|
|||
&:last-child {
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.see-all-container, .see-all-container-placeholder {
|
||||
width: 12rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue