X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2F%2Bvideo-channels%2Fvideo-channels.component.scss;h=ec8f67a7e8a9b8ed8b6df4c3334c8158fa3f51ab;hb=100d9ce23bb7c5186132607e4c444f9cba5002a4;hp=22f21dcc6eee9e0ba2e536e233a20f06028c981a;hpb=d39db21a883d71d101912c0e6e42e97927edb693;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/+video-channels/video-channels.component.scss b/client/src/app/+video-channels/video-channels.component.scss index 22f21dcc6..ec8f67a7e 100644 --- a/client/src/app/+video-channels/video-channels.component.scss +++ b/client/src/app/+video-channels/video-channels.component.scss @@ -1,89 +1,287 @@ -// Bootstrap grid utilities require functions, variables and mixins -@import 'node_modules/bootstrap/scss/functions'; -@import 'node_modules/bootstrap/scss/variables'; -@import 'node_modules/bootstrap/scss/mixins'; -@import 'node_modules/bootstrap/scss/grid'; - @import '_variables'; @import '_mixins'; +@import '_actor'; +@import '_miniature'; -.sub-menu { - @include sub-menu-with-actor; +.root { + --myGlobalTopPadding: 60px; + --myChannelImgMargin: 30px; + --myFontSize: 16px; + --myGreyChannelFontSize: 16px; + --myGreyOwnerFontSize: 14px; +} - .actor, .actor-info { - width: 100%; +.section-label { + @include section-label-responsive; +} + +.links { + @include fluid-videos-miniature-margins; +} + +.channel-info { + @include fluid-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; +} + +.show-more { + @include show-more-description; + + display: none; +} + +.channel-buttons { + display: flex; + flex-wrap: wrap; + + > *:not(:last-child) { + margin-right: 15px; } +} - .actor-info { - display: grid !important; - grid-template-columns: 1fr auto; - grid-template-rows: 1fr auto / 1fr auto; - grid-template-areas: "name buttons" "lower buttons"; +.channel-buttons.right { + margin-left: 45px; +} + +// Only used by mobile +.channel-buttons.bottom { + display: none; +} + +.created-at { + margin-top: 15px; + color: pvar(--greyForegroundColor); + padding-bottom: 60px; +} + +.owner-card { + 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; +} - @include media-breakpoint-down(lg) { - grid-template-areas: "name name" "lower buttons"; +.owner-block { + background-color: pvar(--mainBackgroundColor); + padding: 30px; + width: 300px; + font-size: var(--myFontSize); + + .avatar-row { + display: flex; + margin-bottom: 15px; + + img { + @include avatar(48px); } - } - .actor-names { - grid-area: name; - } + .actor-info { + margin-left: 15px; + } - .actor-name { - flex-grow: 1; + h4 { + font-size: 18px; + margin: 0; + } - .copy-button { - border: none; - padding: 5px; - margin-top: -2px; + .actor-handle { + font-size: var(--myGreyOwnerFontSize); + color: pvar(--greyForegroundColor); } } + + .owner-description { + height: 140px; + + @include fade-text(120px, pvar(--mainBackgroundColor)); + } } -.margin-content { - // margin-content is required, but child views have their own margins - // that match views outside the scope of accounts, so we only align - // them with the margins of .sub-menu when required. - margin: 0; +.view-account.short { + @include peertube-button-link; + @include orange-button-inverted; + + margin-top: 30px; } -.right-buttons { - display: flex; - height: max-content; - margin-left: auto; - margin-top: 10px; +.view-account.complete { + display: none; +} + +.copy-button { + border: none; +} - grid-row: buttons-start / span buttons-end; - grid-column: buttons-start; +@media screen and (max-width: 1400px) { + // Takes all the row width + .channel-avatar-row { + grid-column: 1 / 3; + } + + .owner-card { + grid-row: 2; + 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.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 { + grid-column: 1; + margin-right: 30px; + } - @include media-breakpoint-down(lg) { - flex-flow: column-reverse; + .owner-description { + grid-column: 2; + max-height: 70px; - a { - margin-top: 0.25rem; - margin-right: 0 !important; + @include fade-text(30px, pvar(--mainBackgroundColor)); + } + + .view-account { + grid-column: 2; } } - a { - @include peertube-button-outline; - line-height: 1.8; + .view-account.complete { + display: inline-block; + margin-top: 10px; + color: pvar(--mainColor); } - my-subscribe-button { - height: min-content; + .view-account.short { + display: none; } } @media screen and (max-width: $mobile-view) { - .sub-menu { - .actor { - flex-direction: column; + .root { + --myGlobalTopPadding: 15px; + --myFontSize: 14px; + --myGreyChannelFontSize: 13px; + --myGreyOwnerFontSize: 13px; + } - .actor-info .actor-names { + .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: normal; + align-items: flex-end; + justify-content: flex-end; + margin-top: -5px; } + + img { + @include channel-avatar(64px); + + margin: -30px 0 0 15px; + } + } + + .owner-description { + display: none; } } }