mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-03 09:49:20 +02:00
244 lines
4.4 KiB
SCSS
244 lines
4.4 KiB
SCSS
@use 'sass:math';
|
|
@use 'sass:color';
|
|
@use '_variables' as *;
|
|
@use '_mixins' as *;
|
|
|
|
@mixin secondary-button (
|
|
$fg: inherit,
|
|
$active-bg: pvar(--bg-secondary-500),
|
|
$hover-bg: pvar(--bg-secondary-450),
|
|
$border-color: pvar(--bg-secondary-500)
|
|
) {
|
|
& {
|
|
color: $fg;
|
|
background-color: transparent;
|
|
border: 1px solid $border-color !important;
|
|
}
|
|
|
|
&:active,
|
|
&.active,
|
|
&:focus,
|
|
&:focus-visible {
|
|
color: $fg;
|
|
background-color: $active-bg;
|
|
border-color: $border-color;
|
|
}
|
|
|
|
// Override bootstrap
|
|
&.btn:active,
|
|
&.btn:focus-visible,
|
|
&.btn.show {
|
|
color: $fg !important;
|
|
background-color: $active-bg !important;
|
|
border-color: $border-color !important;
|
|
}
|
|
|
|
&:hover {
|
|
color: $fg;
|
|
background-color: $hover-bg;
|
|
}
|
|
|
|
&[disabled] {
|
|
pointer-events: none;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
&:not(.icon-only) my-global-icon {
|
|
color: pvar(--secondary-icon-color);
|
|
}
|
|
}
|
|
|
|
|
|
@mixin primary-button {
|
|
@include button-focus(pvar(--primary-350));
|
|
|
|
&,
|
|
&:active,
|
|
&.active,
|
|
&:focus {
|
|
color: pvar(--on-primary);
|
|
background-color: pvar(--primary);
|
|
border: 1px solid pvar(--primary);
|
|
}
|
|
|
|
// Override bootstrap
|
|
&.btn:active,
|
|
&.btn:focus-visible,
|
|
&.btn.show {
|
|
color: pvar(--on-primary) !important;
|
|
background-color: pvar(--primary) !important;
|
|
border: 1px solid pvar(--primary) !important;
|
|
}
|
|
|
|
&:hover {
|
|
color: pvar(--on-primary);
|
|
background-color: pvar(--primary-400);
|
|
}
|
|
|
|
&[disabled] {
|
|
pointer-events: none;
|
|
opacity: 0.6;
|
|
}
|
|
|
|
my-global-icon {
|
|
color: pvar(--on-primary);
|
|
}
|
|
}
|
|
|
|
@mixin tertiary-button {
|
|
color: pvar(--fg-200);
|
|
background-color: transparent;
|
|
border: 1px solid transparent;
|
|
|
|
&:hover {
|
|
color: pvar(--fg-200);
|
|
background-color: pvar(--bg-secondary-400);
|
|
}
|
|
|
|
&[disabled] {
|
|
cursor: default;
|
|
}
|
|
|
|
&:active {
|
|
background-color: pvar(--bg-secondary-450);
|
|
}
|
|
|
|
&.show {
|
|
border-color: pvar(--fg-200);
|
|
}
|
|
|
|
// Override bootstrap
|
|
&.btn:active {
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
&.btn.show {
|
|
border-color: pvar(--fg-200) !important;
|
|
}
|
|
}
|
|
|
|
@mixin rounded-icon-button {
|
|
padding: 0.5rem !important;
|
|
border-radius: 100% !important;
|
|
}
|
|
|
|
@mixin danger-button {
|
|
background-color: pvar(--red);
|
|
color: pvar(--on-red);
|
|
|
|
@include button-focus(pvar(--red));
|
|
|
|
&:hover,
|
|
&:active,
|
|
&.active,
|
|
&:focus:not(:focus-visible) {
|
|
opacity: 0.8;
|
|
}
|
|
|
|
&[disabled] {
|
|
cursor: default;
|
|
opacity: 0.7;
|
|
}
|
|
}
|
|
|
|
@mixin peertube-button {
|
|
padding: pvar(--input-y-padding) pvar(--input-x-padding);
|
|
font-weight: $font-bold;
|
|
|
|
border-radius: pvar(--input-border-radius);
|
|
|
|
text-align: center;
|
|
cursor: pointer;
|
|
|
|
font-size: $button-font-size;
|
|
line-height: 1.5;
|
|
|
|
my-global-icon + *:not(:empty) {
|
|
@include margin-left(8px);
|
|
}
|
|
|
|
&.icon-only {
|
|
padding: pvar(--input-y-padding) 8px;
|
|
}
|
|
|
|
&:is(input[type=button]) {
|
|
// Because of primeng that redefines border-radius of all input[type="..."]
|
|
border-radius: pvar(--input-border-radius) !important;
|
|
}
|
|
}
|
|
|
|
@mixin peertube-button-big {
|
|
height: auto;
|
|
padding: 10px 25px;
|
|
font-size: 18px;
|
|
line-height: 1.2;
|
|
border: 0;
|
|
font-weight: $font-semibold;
|
|
|
|
// Because of primeng that redefines border-radius of all input[type="..."]
|
|
border-radius: pvar(--input-border-radius) !important;
|
|
}
|
|
|
|
@mixin peertube-button-small {
|
|
padding: 0 10px !important;
|
|
font-size: 14px !important;
|
|
}
|
|
|
|
@mixin peertube-button-link {
|
|
display: inline-block;
|
|
|
|
@include disable-default-a-behaviour;
|
|
@include peertube-button;
|
|
}
|
|
|
|
@mixin peertube-button-big-link {
|
|
display: inline-block;
|
|
|
|
@include disable-default-a-behaviour;
|
|
@include peertube-button-big;
|
|
}
|
|
|
|
@mixin button-with-icon($width: 20px, $margin-right: 3px, $top: -1px, $right: 0) {
|
|
my-global-icon {
|
|
position: relative;
|
|
top: $top;
|
|
right: $right;
|
|
|
|
@include global-icon-size($width);
|
|
}
|
|
|
|
&:not(.icon-only) {
|
|
my-global-icon {
|
|
@include margin-right($margin-right);
|
|
}
|
|
}
|
|
}
|
|
|
|
@mixin button-focus($color) {
|
|
&:focus,
|
|
&:focus-visible {
|
|
box-shadow: #{$focus-box-shadow-dimensions} $color;
|
|
}
|
|
}
|
|
|
|
@mixin peertube-file {
|
|
position: relative;
|
|
overflow: hidden;
|
|
display: inline-block;
|
|
|
|
input[type=file] {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
font-size: 100px;
|
|
text-align: end;
|
|
filter: alpha(opacity=0);
|
|
opacity: 0;
|
|
outline: none;
|
|
background: pvar(--bg);
|
|
cursor: inherit;
|
|
display: block;
|
|
}
|
|
}
|