X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fsass%2Finclude%2F_mixins.scss;h=88cbf33845540a98a93d003b4664dcced54f5ceb;hb=46db9430af70f45bc656cb0ac8e519f5d0be0149;hp=544f3995764708c89a009f1d66f624ebaefd9dfc;hpb=93ea9c47d989e28405cf1039f89be71e592e36a5;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/sass/include/_mixins.scss b/client/src/sass/include/_mixins.scss index 544f39957..88cbf3384 100644 --- a/client/src/sass/include/_mixins.scss +++ b/client/src/sass/include/_mixins.scss @@ -18,23 +18,21 @@ } } -/** - * This mixin will crop text in block for needed amount of lines and put ellipsis at the end - * - * @param $font-size font-size property - * @param $line-height line-height property - * @param $lines-to-show amount of lines to show - */ -@mixin ellipsis-multiline($font-size: 1rem, $line-height: 1, $lines-to-show: 2) { + +@mixin ellipsis { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +@mixin ellipsis-multiline($font-size: 16px, $number-of-lines: 2) { display: block; /* Fallback for non-webkit */ display: -webkit-box; - max-height: $font-size*$line-height*$lines-to-show; + max-height: $font-size * $number-of-lines; /* Fallback for non-webkit */ font-size: $font-size; - line-height: $line-height; - -webkit-line-clamp: $lines-to-show; - -webkit-box-orient: vertical; + line-height: $font-size; overflow: hidden; text-overflow: ellipsis; } @@ -46,7 +44,7 @@ } @mixin peertube-word-wrap { - word-break: normal; + word-break: break-word; word-wrap: break-word; overflow-wrap: break-word; -webkit-hyphens: auto; @@ -55,6 +53,30 @@ hyphens: auto; } +@mixin apply-svg-color ($color) { + ::ng-deep svg { + path[fill="#000000"], + g[fill="#000000"], + rect[fill="#000000"], + circle[fill="#000000"], + polygon[fill="#000000"] { + fill: $color; + } + + path[stroke="#000000"], + g[stroke="#000000"], + rect[stroke="#000000"], + circle[stroke="#000000"], + polygon[stroke="#000000"] { + stroke: $color; + } + + stop[stop-color="#000000"] { + stop-color: $color; + } + } +} + @mixin peertube-input-text($width) { display: inline-block; height: $button-height; @@ -64,15 +86,20 @@ border-radius: 3px; padding-left: 15px; padding-right: 15px; + font-size: 15px; &::placeholder { color: var(--inputPlaceholderColor); } + + @media screen and (max-width: $width) { + width: 100%; + } } @mixin peertube-input-group($width) { width: $width; - height: $button-height; + min-height: $button-height; padding-top: 0; padding-bottom: 0; @@ -106,22 +133,30 @@ color: #fff; background-color: #C6C6C6; } + + my-global-icon { + @include apply-svg-color(#fff) + } } @mixin grey-button { &, &:active, &:focus { - background-color: $grey-color; - color: #585858; + background-color: $grey-background-color; + color: $grey-foreground-color; } &:hover, &:active, &:focus, &[disabled], &.disabled { - color: #585858; - background-color: $grey-hoover-color; + color: $grey-foreground-color; + background-color: $grey-background-hover-color; } &[disabled], &.disabled { cursor: default; } + + my-global-icon { + @include apply-svg-color($grey-foreground-color) + } } @mixin peertube-button { @@ -144,6 +179,15 @@ @include peertube-button; } +@mixin button-with-icon($width: 20px, $margin-right: 3px, $top: -1px) { + my-global-icon { + position: relative; + width: $width; + margin-right: $margin-right; + top: $top; + } +} + @mixin peertube-button-file ($width) { position: relative; overflow: hidden; @@ -180,6 +224,20 @@ cursor: pointer; } +@mixin select-arrow-down { + top: 50%; + right: calc(0% + 15px); + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + border: 5px solid rgba(0, 0, 0, 0); + border-top-color: #000; + margin-top: -2px; + z-index: 100; +} + @mixin peertube-select-container ($width) { padding: 0; margin: 0; @@ -191,18 +249,20 @@ position: relative; font-size: 15px; + &.disabled { + background-color: #E5E5E5; + + select { + cursor: default; + } + } + + @media screen and (max-width: $width) { + width: 100%; + } + &:after { - top: 50%; - right: calc(0% + 15px); - content: " "; - height: 0; - width: 0; - position: absolute; - pointer-events: none; - border: 5px solid rgba(0, 0, 0, 0); - border-top-color: #000; - margin-top: -2px; - z-index: 100; + @include select-arrow-down; } select { @@ -217,6 +277,7 @@ cursor: pointer; height: $button-height; text-overflow: ellipsis; + color: var(--mainForegroundColor); &:focus { outline: none; @@ -226,16 +287,10 @@ color: transparent; text-shadow: 0 0 0 #000; } - } -} - -@mixin peertube-select-disabled-container ($width) { - @include peertube-select-container($width); - - background-color: #E5E5E5; - select { - cursor: default; + option { + color: #000; + } } } @@ -278,13 +333,19 @@ } @mixin peertube-checkbox ($border-width) { - display: none; + opacity: 0; + position: absolute; + + &:focus + span { + box-shadow: 0 0 0 .1rem rgba(87, 85, 217, .2); + } & + span { position: relative; width: 18px; + min-width: 18px; height: 18px; - border: $border-width solid var(--mainForegroundColor); + border: $border-width solid $fg-color; border-radius: 3px; vertical-align: middle; cursor: pointer; @@ -298,14 +359,14 @@ height: 12px; opacity: 0; transform: rotate(45deg) scale(0); - border-right: 2px solid var(--mainBackgroundColor); - border-bottom: 2px solid var(--mainBackgroundColor); + border-right: 2px solid $bg-color; + border-bottom: 2px solid $bg-color; } } &:checked + span { border-color: transparent; - background: var(--mainColor); + background: $orange-color; animation: jelly 0.6s ease; &:after { @@ -335,6 +396,8 @@ border-radius: 50%; width: $size; height: $size; + min-width: $size; + min-height: $size; } @mixin chevron ($size, $border-width) { @@ -393,7 +456,7 @@ height: 160px; display: flex; flex-direction: column; - align-items: start; + align-items: flex-start; .actor { display: flex; @@ -450,18 +513,10 @@ } } -@mixin create-button ($imageUrl) { +@mixin create-button { @include peertube-button-link; @include orange-button; - - .icon.icon-add { - @include icon(20px); - - position: relative; - top: -1px; - margin-right: 5px; - background-image: url($imageUrl); - } + @include button-with-icon(20px, 5px, -1px); } @mixin row-blocks { @@ -474,36 +529,19 @@ @media screen and (max-width: 800px) { flex-direction: column; height: auto; - text-align: center; align-items: center; } } -@mixin video-miniature-small-screen { - text-align: center; - - /deep/ .video-miniature { - padding-right: 0; - height: auto; - width: 100%; - margin-bottom: 20px; +@mixin dropdown-with-icon-item { + padding: 6px 15px; - .video-miniature-information { - width: 100% !important; + my-global-icon { + width: 22px; + opacity: .7; - span { - width: 100%; - } - } - - .video-thumbnail { - width: 100%; - height: auto; - - img { - width: 100%; - height: auto; - } - } + margin-right: 10px; + position: relative; + top: -2px; } -} \ No newline at end of file +}