X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fsass%2Fprimeng-custom.scss;h=18a5bb1b69c2286008f0b7c42c3e1e9606e37026;hb=58e735dd77a4ea8fc9e8da3b54fd338bf9e3558b;hp=5e2bed89604222c6e4b1fa87a157b905a960ad22;hpb=9c1a88e3a1dc2a9d97ba0d798c664234541f1dba;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/sass/primeng-custom.scss b/client/src/sass/primeng-custom.scss index 5e2bed896..18a5bb1b6 100644 --- a/client/src/sass/primeng-custom.scss +++ b/client/src/sass/primeng-custom.scss @@ -1,8 +1,19 @@ -@import '_variables'; -@import '_mixins'; +@use '_variables' as *; +@use '_mixins' as *; +@use '_icons' as *; +/* stylelint-disable */ @import '~primeng/resources/primeng.css'; +// Override primeng style we don't want +input[type=button] { + border-radius: inherit; +} + +p-table .p-datatable-header .caption { + margin-bottom: 15px; +} + // Taken from old nova light theme body .p-disabled { @@ -129,7 +140,8 @@ body .p-paginator .p-paginator-pages .p-paginator-page:focus { box-shadow: 0 0 0 0.2em pvar(--mainColorLightest); } body .p-paginator .p-dropdown { - margin-left: 0.5em; + @include margin-left(0.5em); + height: 2.286em; min-width: auto; } @@ -151,7 +163,7 @@ body .p-dropdown:not(.p-disabled).p-focus { border-color: pvar(--mainColor); } body .p-dropdown .p-dropdown-label { - padding-right: 2em; + @include padding-right(2em); } body .p-dropdown .p-dropdown-trigger { background-color: #ffffff; @@ -165,7 +177,7 @@ body .p-dropdown .p-dropdown-clear-icon { color: #848484; } body .p-dropdown.p-dropdown-clearable .p-dropdown-label { - padding-right: 4em; + @include padding-right(4em); } body .p-dropdown-panel { padding: 0; @@ -181,8 +193,9 @@ body .p-dropdown-panel .p-dropdown-filter-container { margin: 0; } body .p-dropdown-panel .p-dropdown-filter-container .p-dropdown-filter { + @include padding-right(2em); + width: 100%; - padding-right: 2em; } body .p-dropdown-panel .p-dropdown-filter-container .p-dropdown-filter-icon { top: 50%; @@ -358,17 +371,18 @@ body .p-datepicker.p-datepicker-timeonly .p-timepicker { border-top: 0 none; } body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + @include padding-right(0.857em); + @include padding-left(0.857em); + border-right: 1px solid #d8dae2; - padding-right: 0.857em; - padding-left: 0.857em; padding-top: 0; padding-bottom: 0; } body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { - padding-left: 0; + @include padding-left(0); } body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { - padding-right: 0; + @include padding-right(0); border-right: 0 none; } body .p-calendar.p-calendar-w-btn .p-inputtext { @@ -392,7 +406,7 @@ body p-calendar.ng-dirty.ng-invalid > .p-calendar > .p-inputtext { border: 1px solid #a80000; } body .p-timepicker .p-separator { - margin-left: 0; + @include margin-left(0); min-width: 0.75rem; } @@ -431,84 +445,27 @@ body p-autocomplete.ng-dirty.ng-invalid > .p-autocomplete > .p-inputtext { border: 1px solid #a80000; } -// select button -body .p-selectbutton .p-button { - background-color: #dadada; - border: 1px solid #dadada; - color: #333333; - overflow: hidden; - transition: background-color 0.2s, box-shadow 0.2s; -} -body .p-selectbutton .p-button .p-button-icon-left { - color: #666666; -} -body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { - background-color: #c8c8c8; - border-color: #c8c8c8; - color: #333333; -} -body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left { - color: #212121; -} -body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight).ui-state-focus { - box-shadow: 0 0 0 0.2em #8dcdff; - z-index: 1; -} -body .p-selectbutton .p-button.p-highlight { - background-color: pvar(--mainColor); - border-color: pvar(--mainColor); - color: #ffffff; -} -body .p-selectbutton .p-button.p-highlight .p-button-icon-left { - color: #ffffff; -} -body .p-selectbutton .p-button.p-highlight:not(.p-disabled):hover { - background-color: pvar(--mainColorLighter); - border-color: pvar(--mainColorLighter); - color: #ffffff; -} -body .p-selectbutton .p-button.p-highlight:not(.p-disabled):hover .p-button-icon-left { - color: #ffffff; -} -body .p-selectbutton .p-button:first-child { - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; -} -body .p-selectbutton .p-button:last-child { - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -body p-selectbutton.ng-dirty.ng-invalid .p-button { - border: 1px solid #a80000; -} - -// - -@mixin glyphicon-light { - font-family: 'Glyphicons Halflings'; - text-decoration: none !important; - color: pvar(--mainForegroundColor) !important; - font-display: swap; -} +// --------------------------------------------------------------------------- +// PeerTube customizations +// --------------------------------------------------------------------------- -// data table customizations p-table { + table { + table-layout: fixed; + } + .p-datatable-header { border: none !important; background-color: pvar(--mainBackgroundColor) !important; .caption { - height: 40px; + min-height: 40px; width: 100%; display: inline-flex; align-items: center; .left-buttons { - padding-left: 15px; - } - - .input-group-text { - background-color: transparent; + @include padding-left(15px); } } } @@ -516,16 +473,19 @@ p-table { th { background-color: pvar(--mainBackgroundColor) !important; outline: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } td, th { font-family: $main-fonts; - font-size: 15px !important; + font-size: 15px; color: pvar(--mainForegroundColor) !important; } td { - padding-left: 15px !important; + @include padding-left(15px !important); &.expand-cell { padding: 10px 15px; @@ -544,7 +504,7 @@ p-table { height: 46px; &.p-highlight { - background-color: pvar(--submenuColor) !important; + background-color: pvar(--submenuBackgroundColor) !important; td, td > a { color: pvar(--mainForegroundColor) !important; @@ -555,7 +515,7 @@ p-table { .p-datatable-tbody { tr { &:hover { - background-color: pvar(--submenuColor) !important; + background-color: pvar(--submenuBackgroundColor) !important; } td { @@ -587,16 +547,16 @@ p-table { th { border: none !important; border-bottom: 1px solid !important; - border-color: pvar(--submenuColor) !important; + border-color: pvar(--submenuBackgroundColor) !important; text-align: left !important; padding: 5px 0 5px 15px !important; font-weight: $font-semibold !important; color: pvar(--mainForegroundColor) !important; &.p-sortable-column:hover { - background-color: pvar(--submenuColor) !important; + background-color: pvar(--submenuBackgroundColor) !important; border: 1px solid !important; - border-color: pvar(--submenuColor) !important; + border-color: pvar(--submenuBackgroundColor) !important; border-width: 0 1px !important; &:first-child { @@ -605,26 +565,22 @@ p-table { } &.p-highlight { - background-color: pvar(--submenuColor) !important; - - .pi { - @extend .glyphicon; - - color: #000 !important; - font-size: 11px !important; - top: 0 !important; - - &.pi-sort-amount-up-alt { - @extend .glyphicon-triangle-top; + background-color: pvar(--submenuBackgroundColor) !important; - color: pvar(--mainForegroundColor) !important; - } + .pi-sort-amount-up-alt, + .pi-sort-amount-down { + display: inline-block; + position: relative; + top: -1px; + color: pvar(--mainForegroundColor) !important; + } - &.pi-sort-amount-down { - @extend .glyphicon-triangle-bottom; + .pi-sort-amount-up-alt { + @include arrow-up(5px); + } - color: pvar(--mainForegroundColor) !important; - } + .pi-sort-amount-down { + @include arrow-down(5px); } } } @@ -637,10 +593,10 @@ p-table { my-delete-button, my-button { display: inline-block !important; - margin-left: 5px; + @include margin-left(5px); &:first-child { - margin-left: 0 + @include margin-left(0) } } } @@ -651,7 +607,7 @@ p-table { position: relative; border: none; border-top: 1px solid !important; - border-color: pvar(--submenuColor) !important; + border-color: pvar(--submenuBackgroundColor) !important; height: 40px; display: flex; justify-content: center; @@ -671,23 +627,32 @@ p-table { } } + .p-dropdown, + .p-dropdown-trigger { + color: pvar(--mainForegroundColor); + background-color: pvar(--mainBackgroundColor); + } + .p-paginator-current { position: absolute; right: 0; color: pvar(--inputPlaceholderColor); overflow: visible; + + @media screen and (max-width: $small-view) { + left: 0; + top: 40px; + } } .p-paginator-first, .p-paginator-prev, .p-paginator-next, .p-paginator-last { - @include glyphicon-light; padding: 5px 2px; - height: auto; + height: 100%; outline: none; - font-size: 13px; - top: -1px; + color: pvar(--mainForegroundColor); &.focus-within, &:focus { @@ -699,23 +664,37 @@ p-table { } &.p-paginator-first { - @extend .glyphicon-step-backward; + .p-paginator-icon { + width: 18px; + height: 18px; + background: url('../assets/images/feather/skip-back.svg') no-repeat; + background-size: contain; + } } &.p-paginator-prev { - @extend .glyphicon-chevron-left; + @include margin-right(10px); - margin-right: 10px; + .p-paginator-icon { + @include chevron-left-default; + } } &.p-paginator-next { - @extend .glyphicon-chevron-right; + @include margin-left(10px); - margin-left: 10px; + .p-paginator-icon { + @include chevron-right-default; + } } &.p-paginator-last { - @extend .glyphicon-step-forward; + .p-paginator-icon { + width: 18px; + height: 18px; + background: url('../assets/images/feather/skip-forward.svg') no-repeat; + background-size: contain; + } } } @@ -747,32 +726,40 @@ p-table { } } } + + .pt-badge { + font-size: 12px; + text-transform: uppercase; + } } // overflow data table -@mixin overflow-datatable ($table-min-width, $horizontal-margins, $mobile-paginator: true) { - p-table { - .p-datatable-wrapper { - overflow-x: auto; - max-width: calc(100vw - #{$horizontal-margins * 2}); +p-table { + .p-datatable-wrapper { + overflow-x: auto; + max-width: 100%; - table { - min-width: $table-min-width; - } + table { + width: 100%; } + } - @if $mobile-paginator { - p-paginator .p-paginator-bottom { - display: block; - - .p-paginator-current { - position: relative; - display: block; - } + @media screen and (max-width: #{breakpoint(lg)}) { + // Prevent overflow + p-paginator { + .p-paginator-current, + .p-dropdown { + top: 0; + margin-top: 30px; + } + } + } - a, .p-paginator-pages { - vertical-align: middle; - } + @media screen and (max-width: $mobile-view) { + // Prevent overflow + p-paginator { + .p-paginator-pages > .p-paginator-page:not(.p-highlight) { + display: none; } } } @@ -787,15 +774,14 @@ p-calendar .p-datepicker { .p-datepicker-header { .p-datepicker-year { - margin-left: 5px; + @include margin-left(5px); } .p-datepicker-next { - @extend .glyphicon-chevron-right; - @include glyphicon-light; + @include chevron-right-default; color: #000 !important; - text-align: right; + text-align: end; .pi.pi-chevron-right { display: none !important; @@ -803,11 +789,10 @@ p-calendar .p-datepicker { } .p-datepicker-prev { - @extend .glyphicon-chevron-left; - @include glyphicon-light; + @include chevron-left-default; color: #000 !important; - text-align: left; + text-align: start; .pi.pi-chevron-left { display: none !important; @@ -818,15 +803,13 @@ p-calendar .p-datepicker { .p-timepicker { .pi.pi-chevron-up { - @extend .glyphicon-chevron-up; - @include glyphicon-light; + @include chevron-up-default; color: #000 !important; } .pi.pi-chevron-down { - @extend .glyphicon-chevron-down; - @include glyphicon-light; + @include chevron-down-default; color: #000 !important; } @@ -880,18 +863,16 @@ p-toast { width: auto; max-width: 300px; min-width: 200px; - z-index: z(notification) !important; .p-toast-icon-close { - font-family: "Glyphicons Halflings"; opacity: 0; position: absolute; right: 5px; top: 5px; - - &:after { - content: "\e014"; - } + width: 18px; + height: 18px; + background: url('../assets/images/feather/x.svg') no-repeat; + background-size: contain; } &:hover .p-toast-icon-close { @@ -909,22 +890,6 @@ p-toast { box-shadow: 0 2px 12px 0 rgba(0, 0 , 0, .1); overflow: hidden; - &.p-toast-message-success .glyphicon { - color: #8BC34A !important; - } - - &.p-toast-message-error .glyphicon { - color: #F44336 !important; - } - - &.p-toast-message-warn .glyphicon { - color: #F1680D !important; - } - - &.p-toast-message-info .glyphicon { - color: #03A9F4 !important; - } - .notification-block { display: flex; align-items: center; @@ -932,35 +897,73 @@ p-toast { padding: 10px 20px; .message { + @include margin-right(20px); + flex-grow: 1; - margin-right: 20px; h3 { font-size: 21px; } p { - font-size: 15px; + @include peertube-word-wrap; + margin-bottom: 0; } } - - .glyphicon { - font-size: 32px; - margin-right: 5px; - } } } + + .p-toast-message-success my-global-icon { + color: #8BC34A !important; + } + + .p-toast-message-error my-global-icon { + color: #F44336 !important; + } + + .p-toast-message-warn my-global-icon { + color: #F1680D !important; + } + + .p-toast-message-info my-global-icon { + color: #03A9F4 !important; + } } -.p-selectbutton { - .p-button:focus { - outline: none; +@media screen and (max-width: $primeng-breakpoint) { + p-table { + td { + padding: 3px 0; + + &.expand-cell { + padding: 5px; + } + } + + .p-datatable-tbody { + + td:last-child { + padding-bottom: 15px; + margin-bottom: 15px; + border-bottom: 1px solid $separator-border-color !important; + } + } } +} - .p-button-label { - padding: 5px 15px; - font-size: 15px; - font-weight: 600; +@media screen and (max-width: $mobile-view) { + p-table { + .p-datatable-header { + .caption { + flex-wrap: wrap; + + > div { + width: 100%; + padding: 0 !important; + margin-bottom: 5px; + } + } + } } }