lbry-desktop/ui/scss/component/_navigation.scss

459 lines
8.8 KiB
SCSS
Raw Permalink Normal View History

2020-08-11 22:32:03 +02:00
.navigation__wrapper {
2019-06-11 20:10:58 +02:00
width: var(--side-nav-width);
2020-08-11 22:32:03 +02:00
height: calc(100vh - var(--header-height));
transition: width 0.2s;
@media (max-width: $breakpoint-small) {
height: calc(100vh - var(--header-height-mobile));
}
*:focus-visible:not(.wunderbar__input):not(.menu__list):not(.menu__list--header):not(.button--secondary):not(.button-like):not(.button-dislike):not(select):not(input):not(textarea):not(video) {
background-color: rgba(var(--color-primary-static), 0.2) !important;
color: var(--color-text) !important;
box-shadow: 0px 0px 0px 2px var(--color-brand) inset;
.icon {
stroke: var(--color-text) !important;
}
}
select:focus-visible,
input:focus-visible:not(.wunderbar__input),
textarea:focus-visible {
box-shadow: 0px 0px 0px 2px var(--color-brand) inset;
}
2020-08-11 22:32:03 +02:00
}
.navigation__wrapper--micro {
width: var(--side-nav-width--micro);
2019-12-18 06:27:08 +01:00
@media (max-width: $breakpoint-small) {
2020-08-11 22:32:03 +02:00
width: 0;
}
}
2020-08-11 22:32:03 +02:00
.navigation__wrapper--absolute {
&:not(.navigation__wrapper--micro) {
width: 0;
}
}
.navigation {
2020-08-10 22:47:39 +02:00
position: fixed;
left: 0;
overflow-y: auto;
overflow-x: hidden;
2020-08-11 22:32:03 +02:00
top: var(--header-height);
width: var(--side-nav-width);
2020-08-10 22:47:39 +02:00
height: calc(100vh - var(--header-height));
2021-04-26 21:19:17 +02:00
display: flex;
flex-direction: column;
background: var(--color-header-background);
-webkit-backdrop-filter: blur(4px);
backdrop-filter: blur(4px);
animation-timing-function: var(--resizing-animation-function);
transition: transform var(--resizing-animation-timing);
z-index: 4;
transform: translateX(0);
transform-origin: left;
.wunderbar__input {
background-color: var(--color-header-button);
}
.empty--centered {
font-size: var(--font-body);
}
.button--secondary {
background-color: var(--color-brand) !important;
color: var(--color-brand-contrast) !important;
}
@media (min-width: $breakpoint-medium) {
overflow-y: hidden;
2021-04-26 21:19:17 +02:00
justify-content: space-between;
&:hover {
overflow-y: auto;
}
}
@media (max-width: $breakpoint-small) {
top: var(--header-height-mobile);
height: calc(100vh - var(--header-height-mobile));
}
ul {
padding-bottom: var(--spacing-s);
}
}
.navigation-touch {
overflow-y: auto !important;
}
.navigation--push-back {
transform: translateX(calc(var(--side-nav-width--micro) - var(--side-nav-width)));
}
.navigation--push {
transform: translateX(0);
2020-08-11 22:32:03 +02:00
}
.navigation--mac {
top: calc(var(--header-height) + var(--mac-titlebar-height));
}
.navigation--absolute {
2020-08-11 22:32:03 +02:00
@extend .navigation;
z-index: 4;
width: var(--side-nav-width);
background-color: var(--color-header-background-transparent);
2020-08-10 22:47:39 +02:00
box-shadow: var(--card-box-shadow);
padding-top: 0px;
2020-01-02 17:30:27 +01:00
2020-08-10 22:47:39 +02:00
.navigation-link {
padding-left: var(--spacing-s);
2020-08-10 22:47:39 +02:00
}
2019-07-21 23:31:22 +02:00
}
.navigation-file-page-and-mobile {
transform: translateX(calc(-1 * var(--side-nav-width)));
}
2020-08-10 22:47:39 +02:00
.navigation--micro {
2020-08-11 22:32:03 +02:00
@extend .navigation;
transform: translateX(calc(var(--side-nav-width--micro) - var(--side-nav-width)));
.navigation-inner-container {
ul:nth-child(3) {
border-bottom: unset;
}
}
2020-08-11 22:32:03 +02:00
@media (max-width: $breakpoint-small) {
display: none;
}
2019-09-27 20:56:15 +02:00
}
2020-08-10 22:47:39 +02:00
.navigation__secondary {
margin-top: var(--spacing-m);
.button__content {
align-items: flex-start;
}
2019-03-28 17:53:13 +01:00
}
.navigation__tertiary {
margin-top: var(--spacing-m);
.navigation-link {
font-size: var(--font-xxsmall) !important;
.button__content {
padding-top: 0;
padding-bottom: 0;
.button__label {
color: var(--color-navigation-link);
}
}
&:hover {
background-color: var(--color-transparent) !important;
color: var(--color-text) !important;
.button__content {
.button__label {
color: var(--color-text);
}
}
}
}
}
2019-07-21 23:31:22 +02:00
.navigation-link {
display: block;
position: relative;
2019-06-11 20:10:58 +02:00
overflow: hidden;
white-space: nowrap;
2019-06-11 20:10:58 +02:00
text-overflow: ellipsis;
width: 100%;
2019-11-22 22:13:00 +01:00
color: var(--color-navigation-link);
2020-08-10 22:47:39 +02:00
padding-left: var(--spacing-s);
font-size: var(--font-small);
2020-08-11 22:32:03 +02:00
font-weight: var(--font-weight-bold);
2019-06-19 07:05:43 +02:00
2019-07-22 04:05:37 +02:00
.icon {
height: 1rem;
width: 1rem;
2020-08-11 22:32:03 +02:00
stroke: var(--color-navigation-icon);
stroke-width: 1.5px;
}
.icon--Heart {
color: var(--color-transparent);
}
2020-08-10 22:47:39 +02:00
.button__content {
margin-left: auto;
2020-08-10 22:47:39 +02:00
padding: var(--spacing-s);
padding-top: var(--spacing-xs);
padding-bottom: var(--spacing-xs);
2020-08-10 22:47:39 +02:00
justify-content: flex-start;
flex-direction: column;
.button__label {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
2020-08-10 22:47:39 +02:00
}
2021-06-09 21:20:19 +02:00
&.navigation-link--with-thumbnail .button__content {
flex-direction: row;
.channel-thumbnail {
@include handleChannelGif(1.5rem);
flex-shrink: 0;
margin-right: var(--spacing-s);
}
.channel-staked__wrapper {
margin-bottom: 0.2rem;
left: -0.55rem;
.channel-staked__indicator {
height: 0.75rem;
width: 0.75rem;
margin-left: 0;
}
}
2021-06-09 21:20:19 +02:00
}
&:hover:not(.navigation-link--active) {
2020-08-11 22:32:03 +02:00
@extend .navigation-link--highlighted;
2020-08-10 22:47:39 +02:00
}
@media (min-width: $breakpoint-medium) {
text-align: left;
margin-bottom: 0;
.icon {
height: 1rem;
width: 1rem;
2020-08-10 22:47:39 +02:00
}
.button__content {
flex-direction: row;
}
.button__label {
margin-top: 0px;
padding-top: 2px;
}
}
2020-08-10 22:47:39 +02:00
}
2020-08-10 22:47:39 +02:00
.navigation-link--active {
2020-08-11 22:32:03 +02:00
background-color: var(--color-navigation-active);
color: var(--color-brand-contrast);
2020-08-10 22:47:39 +02:00
.icon {
2020-08-11 22:32:03 +02:00
stroke: var(--color-navigation-active-text);
}
&:hover {
cursor: default;
}
}
2020-05-21 17:38:28 +02:00
.navigation-link--pulse {
overflow: visible;
.icon {
animation: shadow-pulse 2.5s infinite;
}
}
2020-08-11 22:32:03 +02:00
.navigation-link--highlighted {
background-color: var(--color-navigation-hover-bg);
color: var(--color-primary-static);
2020-08-11 22:32:03 +02:00
.icon {
stroke: var(--color-primary-static);
2020-08-11 22:32:03 +02:00
}
2020-08-10 22:47:39 +02:00
}
.navigation-links {
@extend .ul--no-style;
flex-direction: column;
align-items: flex-start;
list-style: none;
}
.navigation-inner-container {
width: var(--side-nav-width);
.navigation-links--micro:first-of-type {
margin-top: var(--spacing-xxxs);
}
}
2020-08-10 22:47:39 +02:00
.navigation-links--micro {
li {
margin-bottom: 0px;
}
2020-08-10 22:47:39 +02:00
.icon {
margin-top: 2px;
2020-08-10 22:47:39 +02:00
height: 1.5rem;
width: 1.5rem;
stroke-width: 1px !important;
2020-05-21 17:38:28 +02:00
}
2020-08-10 22:47:39 +02:00
.button__content {
justify-content: flex-start;
flex-direction: column;
width: var(--side-nav-width--micro);
2020-08-10 22:47:39 +02:00
}
.button__label {
font-size: var(--font-xxsmall);
font-weight: var(--font-weight-base);
2020-08-10 22:47:39 +02:00
margin-left: 0;
margin-top: 2px;
//margin-top: var(--spacing-xs); // master
2020-08-10 22:47:39 +02:00
}
.navigation-link {
padding-left: 0;
2020-05-21 17:38:28 +02:00
}
2020-08-10 22:47:39 +02:00
@media (max-width: $breakpoint-small) {
display: none;
}
@media (min-width: $breakpoint-xlarge) {
.icon {
height: 2.5rem;
width: 2.5rem;
margin-top: 6px;
}
.button__label {
margin-top: 4px;
margin-bottom: 2px;
}
}
2020-08-10 22:47:39 +02:00
}
.navigation-links--absolute {
@extend .navigation-links;
li {
margin-bottom: 0px;
}
2020-08-10 22:47:39 +02:00
.navigation-link {
margin-bottom: 0;
padding-top: 2px;
padding-bottom: 2px;
2020-08-10 22:47:39 +02:00
.icon {
height: 1rem;
width: 1rem;
2020-08-10 22:47:39 +02:00
}
.button__content {
flex-direction: row;
}
.button__label {
margin-top: 0;
font-size: var(--font-small);
2020-08-10 22:47:39 +02:00
font-weight: var(--font-weight-bold);
}
}
2020-08-10 22:47:39 +02:00
@media (max-width: $breakpoint-small) {
.navigation-link {
.button__label {
margin-bottom: -1px;
}
2020-08-10 22:47:39 +02:00
}
}
}
.navigation-links--small {
@extend .navigation-links;
margin-right: 0;
padding-right: 0;
margin-top: var(--spacing-m);
2021-04-26 21:19:17 +02:00
margin-bottom: 0;
.navigation-link {
font-size: var(--font-small);
}
2020-08-10 22:47:39 +02:00
.button__content {
align-items: flex-start;
}
}
.navigation-item {
padding: var(--spacing-s);
.empty {
padding: 0;
}
}
2020-08-10 22:47:39 +02:00
.navigation__overlay {
position: fixed;
width: 100vw;
height: 100vh;
2020-10-01 22:59:11 +02:00
background-color: var(--color-background-overlay);
2020-08-10 22:47:39 +02:00
z-index: 3;
left: 0;
top: var(--header-height);
visibility: hidden;
opacity: 0;
animation-timing-function: var(--resizing-animation-function);
transition: visibility var(--resizing-animation-timing), opacity var(--resizing-animation-timing);
&.navigation__overlay--mac {
top: calc(var(--header-height) + var(--mac-titlebar-height));
}
@media (max-width: $breakpoint-small) {
top: var(--header-height-mobile);
}
}
.navigation__overlay--active {
opacity: 1;
visibility: visible;
animation: fadeIn var(--resizing-animation-timing) var(--resizing-animation-function);
2020-05-21 17:38:28 +02:00
}
2020-11-10 06:21:04 +01:00
.navigation__auth-nudge {
@extend .card;
margin: var(--spacing-s);
margin-top: var(--spacing-m);
2020-11-10 06:21:04 +01:00
padding: var(--spacing-xs);
display: flex;
flex-direction: column;
font-size: var(--font-small);
2020-11-10 06:21:04 +01:00
.button {
margin-top: var(--spacing-s);
}
.button__content {
justify-content: center;
}
.icon {
margin-bottom: -2px;
}
}