From 4c8749cb9e1e4a8d61697434e372f342def7bc70 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 8 Jun 2022 16:14:24 +0200 Subject: Migrate to bootstrap 5 --- client/src/sass/application.scss | 40 ++++++-- client/src/sass/bootstrap.scss | 112 +++++----------------- client/src/sass/classes.scss | 5 + client/src/sass/include/_badges.scss | 61 ++++++++++++ client/src/sass/include/_bootstrap-variables.scss | 10 +- client/src/sass/include/_mixins.scss | 62 +----------- client/src/sass/include/_variables.scss | 1 + client/src/sass/player/_player-variables.scss | 2 + client/src/sass/primeng-custom.scss | 5 +- client/src/sass/z-index.scss | 1 - 10 files changed, 139 insertions(+), 160 deletions(-) create mode 100644 client/src/sass/include/_badges.scss (limited to 'client/src/sass') diff --git a/client/src/sass/application.scss b/client/src/sass/application.scss index 99566acb6..b5b05a3c4 100644 --- a/client/src/sass/application.scss +++ b/client/src/sass/application.scss @@ -96,6 +96,10 @@ noscript, margin: 1rem auto; } +a { + text-decoration: none; +} + strong { font-weight: $font-semibold; } @@ -120,6 +124,7 @@ button { label { font-weight: $font-bold; font-size: 15px; + margin-bottom: 0.5rem; } code { @@ -133,6 +138,10 @@ code { vertical-align: middle; } +.form-group { + margin-bottom: 1rem; +} + .form-error, .form-warning { display: block; @@ -154,14 +163,6 @@ my-input-toggle-hidden ::ng-deep input { max-width: initial; } -.glyphicon-black { - color: #000; -} - -.row { - margin: 0 !important; -} - .main-col { @include margin-left($menu-width); @@ -326,6 +327,29 @@ table { margin-top: 10px; } +.callout { + padding: 1.25rem; + border: 1px solid #eee; + border-radius: .25rem; + position: relative; + + > label { + position: relative; + top: -5px; + left: -10px; + color: #6c757d !important; + } + + &:not(.callout-light) { + border-left-width: .25rem; + } + + &.callout-info { + border-color: pvar(--mainColorLightest); + border-left-color: pvar(--mainColor); + } +} + @media screen and (max-width: #{breakpoint(xxl)}) { .main-col { --horizontalMarginContent: #{math.div($not-expanded-horizontal-margins, 2)}; diff --git a/client/src/sass/bootstrap.scss b/client/src/sass/bootstrap.scss index bc37134dd..2df2d0680 100644 --- a/client/src/sass/bootstrap.scss +++ b/client/src/sass/bootstrap.scss @@ -7,27 +7,28 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; @import '~bootstrap/scss/functions'; @import '~bootstrap/scss/variables'; - @import '~bootstrap/scss/mixins'; +@import '~bootstrap/scss/utilities'; + @import '~bootstrap/scss/root'; @import '~bootstrap/scss/reboot'; @import '~bootstrap/scss/type'; @import '~bootstrap/scss/grid'; -@import '~bootstrap/scss/tables'; @import '~bootstrap/scss/forms'; @import '~bootstrap/scss/buttons'; @import '~bootstrap/scss/dropdown'; @import '~bootstrap/scss/button-group'; -@import '~bootstrap/scss/input-group'; @import '~bootstrap/scss/nav'; @import '~bootstrap/scss/card'; -@import '~bootstrap/scss/badge'; +@import '~bootstrap/scss/accordion'; @import '~bootstrap/scss/alert'; @import '~bootstrap/scss/close'; @import '~bootstrap/scss/modal'; @import '~bootstrap/scss/tooltip'; @import '~bootstrap/scss/popover'; -@import '~bootstrap/scss/utilities'; + +@import '~bootstrap/scss/helpers'; +@import '~bootstrap/scss/utilities/api'; @import '~@neos21/bootstrap3-glyphicons/assets/stylesheets/bootstrap3-glyphicons'; @@ -36,16 +37,12 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; animation: spin 0.7s infinite linear; } -.glyphicon-duplicate { - font-size: 70%; -} - .flex-auto { flex: auto; } .c-hand { - cursor: pointer; + cursor: pointer !important; } @keyframes spin { @@ -58,16 +55,8 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; } } -.btn-group > .btn:not(:first-child) { - border-top-left-radius: 0 !important; - border-bottom-left-radius: 0 !important; -} - .dropdown-menu { - border-radius: 3px; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); font-size: 15px; - color: pvar(--mainForegroundColor); background-color: pvar(--mainBackgroundColor); @@ -78,39 +67,22 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; .dropdown-item { padding: 3px 15px; - color: pvar(--mainForegroundColor); - background-color: pvar(--mainBackgroundColor); - &.active { color: pvar(--mainBackgroundColor) !important; background-color: pvar(--mainHoverColor); opacity: 0.9; } - a:active, - &:hover { - color: pvar(--mainForegroundColor) !important; - background-color: pvar(--mainBackgroundHoverColor); - } - &::after { display: none; } } - button { - @include disable-default-a-behaviour; - } - a { @include disable-default-a-behaviour; } } -.badge { - line-height: 1.1; -} - @media screen and (min-width: #{breakpoint(md)}) { .modal::before { vertical-align: middle; @@ -350,22 +322,28 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; } .input-group { - > .form-control { - flex: initial; + > .btn, + > .input-group-text { + height: $button-height; } - input.form-control { - width: unset !important; - flex-grow: 1; + > .input-group-text { + font-size: 15px; + line-height: normal; + opacity: 0.9; } - .input-group-prepend + input { - border-top-left-radius: 0 !important; - border-bottom-left-radius: 0 !important; + .input-group-text > .dropdown-toggle { + display: flex; + } + + .last-in-group { + border-top-right-radius: 3px !important; + border-bottom-right-radius: 3px !important; } } -.has-feedback.has-clear { +.has-clear { position: relative; input { @@ -374,11 +352,6 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; .form-control-clear { color: rgba(0, 0, 0, 0.4); - /* - * Enable pointer events as they have been disabled since Bootstrap 3.3 - * See https://github.com/twbs/bootstrap/pull/14104 - */ - pointer-events: all; display: flex; justify-content: center; align-items: center; @@ -397,44 +370,3 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; display: none; } } - -.callout { - padding: 1.25rem; - border: 1px solid #eee; - border-radius: .25rem; - - > label { - position: relative; - top: -5px; - left: -10px; - color: #6c757d !important; - } - - &:not(.callout-light) { - border-left-width: .25rem; - } - - &.callout-info { - border-color: pvar(--mainColorLightest); - border-left-color: pvar(--mainColor); - } -} - -// Override these properties for Bidi support -@each $size, $length in $spacers { - .ml-#{$size} { - @include margin-left($length); - } - - .mr-#{$size} { - @include margin-right($length); - } - - .pl-#{$size} { - @include padding-left($length); - } - - .pr-#{$size} { - @include padding-right($length); - } -} diff --git a/client/src/sass/classes.scss b/client/src/sass/classes.scss index 90cdcf3ed..35bcfba4b 100644 --- a/client/src/sass/classes.scss +++ b/client/src/sass/classes.scss @@ -1,5 +1,6 @@ @use '_variables' as *; @use '_mixins' as *; +@use '_badges' as *; .peertube-button { @include peertube-button; @@ -32,3 +33,7 @@ .muted { color: pvar(--greyForegroundColor) !important; } + +.pt-badge { + @include peertube-badge; +} diff --git a/client/src/sass/include/_badges.scss b/client/src/sass/include/_badges.scss new file mode 100644 index 000000000..4bc70d4a9 --- /dev/null +++ b/client/src/sass/include/_badges.scss @@ -0,0 +1,61 @@ +@use '_variables' as *; +@use '_mixins' as *; + +@mixin peertube-badge { + display: inline-block; + border-radius: .25rem; + padding: .25em .4em; + font-size: 75%; + font-weight: $font-semibold; + line-height: 1.1; + + &.badge-primary { + color: pvar(--mainBackgroundColor); + background-color: pvar(--mainColor); + } + + &.badge-secondary { + color: pvar(--mainBackgroundColor); + background-color: pvar(--greyForegroundColor); + opacity: 0.7; + } + + &.badge-banned, + &.badge-danger, + &.badge-red { + background-color: #ffcdd2; + color: #c63737; + } + + &.badge-banned { + text-decoration: line-through; + } + + &.badge-yellow, + &.badge-warning { + background-color: #feedaf; + color: #8a5340; + } + + &.badge-brown { + background-color: #ffd8b2; + color: #805b36; + } + + &.badge-green, + &.badge-success { + background-color: #c8e6c9; + color: #256029; + } + + &.badge-blue, + &.badge-info { + background-color: #b3e5fc; + color: #23547b; + } + + &.badge-purple { + background-color: #eccfff; + color: #694382; + } +} diff --git a/client/src/sass/include/_bootstrap-variables.scss b/client/src/sass/include/_bootstrap-variables.scss index 41a1448c4..c103e485a 100644 --- a/client/src/sass/include/_bootstrap-variables.scss +++ b/client/src/sass/include/_bootstrap-variables.scss @@ -1,4 +1,4 @@ -$dropdown-link-active-bg: inherit; +@use '_variables' as *; $modal-footer-border-width: 0; $modal-md: 600px; @@ -40,3 +40,11 @@ $input-focus-border-color: #ced4da; $nav-pills-link-active-bg: #F0F0F0; $nav-pills-link-active-color: #000; + +$dropdown-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); +$dropdown-border-radius: 3px; +$dropdown-link-active-color: pvar(--mainForegroundColor); +$dropdown-link-active-bg: pvar(--mainBackgroundHoverColor); + +$accordion-button-active-bg: pvar(--mainColorLightest); +$accordion-button-active-color: pvar(--mainForegroundColor); diff --git a/client/src/sass/include/_mixins.scss b/client/src/sass/include/_mixins.scss index 8de23e64d..8545824e3 100644 --- a/client/src/sass/include/_mixins.scss +++ b/client/src/sass/include/_mixins.scss @@ -89,6 +89,7 @@ display: inline-block; height: $button-height; width: $width; + max-width: $width; color: pvar(--inputForegroundColor); background-color: pvar(--inputBackgroundColor); border: 1px solid #C6C6C6; @@ -108,19 +109,6 @@ } } -@mixin peertube-input-group($width) { - width: $width; - min-height: $button-height; - padding-top: 0; - padding-bottom: 0; - flex-wrap: nowrap; - - .input-group-text { - font-size: 14px; - color: #808080; - } -} - @mixin peertube-textarea ($width, $height) { @include peertube-input-text($width); @@ -371,6 +359,7 @@ cursor: default; } } + select[disabled] { background-color: #f9f9f9; } @@ -550,50 +539,6 @@ } } -@mixin peertube-badge { - border-radius: 2px; - padding: 1/4em 1/2em; - text-transform: uppercase; - font-weight: $font-bold; - font-size: 12px; - letter-spacing: 1/3px; - - &.badge-banned, - &.badge-red { - background-color: #ffcdd2; - color: #c63737; - } - - &.badge-banned { - text-decoration: line-through; - } - - &.badge-yellow { - background-color: #feedaf; - color: #8a5340; - } - - &.badge-brown { - background-color: #ffd8b2; - color: #805b36; - } - - &.badge-green { - background-color: #c8e6c9; - color: #256029; - } - - &.badge-blue { - background-color: #b3e5fc; - color: #23547b; - } - - &.badge-purple { - background-color: #eccfff; - color: #694382; - } -} - @mixin actor-avatar-size ($size) { display: inline-block; width: $size; @@ -937,8 +882,9 @@ vertical-align: top; } - .badge { + .pt-badge { @include margin-left(7px); + vertical-align: top; } } diff --git a/client/src/sass/include/_variables.scss b/client/src/sass/include/_variables.scss index fd1b137dc..41ae60290 100644 --- a/client/src/sass/include/_variables.scss +++ b/client/src/sass/include/_variables.scss @@ -1,4 +1,5 @@ @use 'sass:math'; +@use '~bootstrap/scss/functions' as *; $small-view: 800px; $mobile-view: 500px; diff --git a/client/src/sass/player/_player-variables.scss b/client/src/sass/player/_player-variables.scss index 79c878852..47b8adda4 100644 --- a/client/src/sass/player/_player-variables.scss +++ b/client/src/sass/player/_player-variables.scss @@ -1,3 +1,5 @@ +@use '~bootstrap/scss/functions' as *; + $primary-foreground-color: #fff; $primary-foreground-opacity: 0.9; $primary-foreground-opacity-hover: 1; diff --git a/client/src/sass/primeng-custom.scss b/client/src/sass/primeng-custom.scss index 9fc010d4f..a66e4485b 100644 --- a/client/src/sass/primeng-custom.scss +++ b/client/src/sass/primeng-custom.scss @@ -759,8 +759,9 @@ p-table { } } - .badge { - @include peertube-badge; + .pt-badge { + font-size: 12px; + text-transform: uppercase; } } diff --git a/client/src/sass/z-index.scss b/client/src/sass/z-index.scss index e46813dc3..c2c44b851 100644 --- a/client/src/sass/z-index.scss +++ b/client/src/sass/z-index.scss @@ -27,7 +27,6 @@ ngx-loading-bar { .btn-group, .dropdown-root, .action-dropdown, -.input-group-prepend, .column-toggle { z-index: inherit !important; } -- cgit v1.2.3