client/src/app/+video-channels/video-channels.component.scss
@use '_variables' as *;
@use '_mixins' as *;
@use '_account-channel-page' as *;
@use '_miniature' as *;
.root {
--myGlobalTopPadding: 60px;
--myChannelImgMargin: 30px;
--myFontSize: 16px;
--myGreyChannelFontSize: 16px;
--myGreyOwnerFontSize: 14px;
}
.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 {
display: grid;
grid-template-columns: 1fr auto;
grid-template-rows: auto auto;
background-color: pvar(--channelBackgroundColor);
padding-top: var(--myGlobalTopPadding);
font-size: var(--myFontSize);
// Use the same margin as the videos grid
@include grid-videos-miniature-margins(false, 15px);
@include margin-bottom(3rem);
}
.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 {
display: none;
@include show-more-description;
}
.channel-buttons {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 1rem;
&.right {
@include margin-left(3rem);
}
// Only used on small screen
&.bottom {
justify-content: center;
display: none;
@include margin-bottom(2rem);
}
}
.owner-card {
grid-column: 2;
// Takes all the column
grid-row: 1 / 3;
place-self: end;
@include margin-left(105px);
}
// 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;
.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 {
max-height: 140px;
word-break: break-word;
@include fade-text(120px, pvar(--mainBackgroundColor));
}
}
.view-account.short {
margin-top: 30px;
@include peertube-button-link;
@include orange-button-inverted;
}
.view-account.complete {
display: none;
}
my-copy-button {
@include margin-left(3px);
}
@media screen and (max-width: 1400px) {
// Takes all the row width
.channel-avatar-row {
grid-column: 1 / 3;
}
.owner-card {
grid-row: 2;
@include margin-left(60px);
}
}
@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) {
max-height: 70px;
@include fade-text(30px, pvar(--channelBackgroundColor));
}
.show-more {
display: inline-block;
}
.channel-buttons {
&.right {
display: none;
}
&.bottom {
display: flex;
}
}
.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 {
grid-column: 1;
@include margin-right(30px);
}
.owner-description {
grid-column: 2;
max-height: 70px;
@include fade-text(30px, pvar(--mainBackgroundColor));
}
.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;
}
.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 {
// Resized to 64px by JS component
margin: -30px 0 0 15px;
}
}
.owner-description {
display: none;
}
}
}