PeerTube/client/src/app/+video-channels/video-channels.component.scss

306 lines
4.8 KiB
SCSS

@import '_variables';
@import '_mixins';
@import '_actor';
@import '_miniature';
.root {
--myGlobalTopPadding: 60px;
--myChannelImgMargin: 30px;
--myFontSize: 16px;
--myGreyChannelFontSize: 16px;
--myGreyOwnerFontSize: 14px;
}
.banner {
@include block-ratio('img', $banner-inverted-ratio);
}
.section-label {
@include section-label-responsive;
}
.links {
@include grid-videos-miniature-margins;
}
.actor-info {
min-width: 1px;
width: 100%;
> h4,
> .actor-handle {
@include ellipsis;
}
}
.channel-info {
@include grid-videos-miniature-margins(false, 15px);
display: grid;
grid-template-columns: 1fr auto;
grid-template-rows: auto auto;
background-color: pvar(--channelBackgroundColor);
margin-bottom: 45px;
padding-top: var(--myGlobalTopPadding);
font-size: var(--myFontSize);
}
.channel-avatar-row {
@include avatar-row-responsive(var(--myChannelImgMargin), var(--myGreyChannelFontSize));
}
.support-button {
@include button-with-icon(21px, 0, -1px);
}
.channel-description {
grid-column: 1;
word-break: break-word;
padding-bottom: var(--myGlobalTopPadding);
}
.show-more {
@include show-more-description;
display: none;
}
.channel-buttons {
display: flex;
flex-wrap: wrap;
> *:not(:last-child) {
@include margin-right(15px);
}
}
.channel-buttons.right {
@include margin-left(45px);
}
// Only used by mobile
.channel-buttons.bottom {
display: none;
}
.owner-card {
@include margin-left(105px);
grid-column: 2;
// Takes all the column
grid-row: 1 / 3;
place-self: end;
}
// Only used on mobile
.bottom-owner {
display: none;
}
.owner-block {
background-color: pvar(--mainBackgroundColor);
padding: 30px;
width: 300px;
font-size: var(--myFontSize);
.avatar-row {
display: flex;
margin-bottom: 15px;
.account-avatar {
@include actor-avatar-size(48px);
}
.actor-info {
@include margin-left(15px);
}
h4 {
font-size: 18px;
margin: 0;
a {
color: pvar(--mainForegroundColor);
}
}
.actor-handle {
font-size: var(--myGreyOwnerFontSize);
color: pvar(--greyForegroundColor);
}
}
.owner-description {
@include fade-text(120px, pvar(--mainBackgroundColor));
max-height: 140px;
word-break: break-word;
}
}
.view-account.short {
@include peertube-button-link;
@include orange-button-inverted;
margin-top: 30px;
}
.view-account.complete {
display: none;
}
.copy-button {
border: 0;
}
@media screen and (max-width: 1400px) {
// Takes all the row width
.channel-avatar-row {
grid-column: 1 / 3;
}
.owner-card {
@include margin-left(60px);
grid-row: 2;
}
}
@media screen and (max-width: 1100px) {
.root {
--myGlobalTopPadding: 45px;
--myChannelImgMargin: 15px;
}
.channel-info {
display: flex;
flex-direction: column;
margin-bottom: 0;
}
.channel-description:not(.expanded) {
@include fade-text(30px, pvar(--channelBackgroundColor));
max-height: 70px;
}
.show-more {
display: inline-block;
}
.channel-buttons.bottom {
display: flex;
justify-content: center;
margin-bottom: 30px;
}
.channel-buttons.right {
display: none;
}
.owner-card {
display: none;
}
.bottom-owner {
display: block;
width: 100%;
border-bottom: 2px solid $separator-border-color;
padding: var(--myGlobalTopPadding) 45px;
margin-bottom: 60px;
}
.owner-block {
display: grid;
width: 100%;
padding: 0;
.avatar-row {
@include margin-right(30px);
grid-column: 1;
}
.owner-description {
@include fade-text(30px, pvar(--mainBackgroundColor));
grid-column: 2;
max-height: 70px;
}
.view-account {
grid-column: 2;
}
}
.view-account.complete {
display: block;
text-align: end;
margin-top: 10px;
color: pvar(--mainColor);
}
.view-account.short {
display: none;
}
}
@media screen and (max-width: $mobile-view) {
.root {
--myGlobalTopPadding: 15px;
--myFontSize: 14px;
--myGreyChannelFontSize: 13px;
--myGreyOwnerFontSize: 13px;
}
.links {
margin: auto !important;
width: min-content;
}
.show-more {
margin-bottom: 30px;
}
.bottom-owner {
padding: 15px;
margin-bottom: 30px;
.section-label {
display: none;
}
}
.owner-block {
display: block;
.avatar-row {
display: flex;
flex-direction: row-reverse;
margin: 0;
h4 {
font-size: 16px;
}
.actor-info {
display: flex;
flex-direction: column;
align-items: flex-end;
justify-content: flex-end;
margin-top: -5px;
}
.account-avatar {
@include actor-avatar-size(64px);
margin: -30px 0 0 15px;
}
}
.owner-description {
display: none;
}
}
}