frontend/src/styles/theme/navigation.scss
konrad 4b3f92ae34 Custom backgrounds for lists (#144)
Make backgrounds list responsive

Show initial collection of backgrounds

Remove test data

Fix "backgroundInformation is null" when navigating

Fix kanban height

Remove debug log

Move list title to top header

Add styling for title in top header

Set the current list (and background) when loading settings

Only load the background if it changed

Make task detail view look good again

Fix bottom spacing

Make list and table view look good again

Make pages with background at least 100vh

Fix kanban height

Make extra buttons look good again

Move list title and view-switcher in one row

Add styling for backgrounds

Set background globally

Add getting list background and putting it in vuex

Add setting list background

Move list background setting to seperate list

Add search timeout to not search on every keypress

Add getting thumbnails through api

Add basic search for unsplash backgrounds

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/frontend#144
2020-05-31 19:17:10 +00:00

405 lines
7.4 KiB
SCSS

.navbar {
z-index: 2;
@each $name, $pair in $colors {
$color: nth($pair, 1);
$color-invert: nth($pair, 2);
&.is-#{$name} {
border-color: darken($color, 5);
}
}
.navbar-dropdown {
box-shadow: $navbar-dropdown-boxed-shadow;
top: 101%;
}
}
.navbar.main-theme {
background: $light-background;
z-index: 5 !important;
justify-content: space-between;
align-items: center;
.title {
margin: 0;
font-size: 1.75rem;
}
.navbar-end {
margin-left: 0;
}
@media screen and (max-width: $desktop) {
display: flex;
justify-content: space-between;
@media screen and (max-width: $tablet) {
.navbar-brand {
// This prevents the user icon from snapping to the left into the menu button
width: 0;
overflow: hidden;
}
}
@media screen and (max-width: 640px) { // Magic number to hide the username if it would take too much space otherwise
.user {
width: 7em;
.username {
display: none;
}
}
}
}
}
.hero {
.navbar {
border: none;
box-shadow: none;
}
@each $name, $pair in $colors {
$color: nth($pair, 1);
$color-invert: nth($pair, 2);
&.is-#{$name} {
.navbar {
box-shadow: none;
}
}
}
@include touch {
.navbar-menu {
box-shadow: none;
}
}
}
.navbar-menu .navbar-item .icon {
margin: 0 0.5em;
}
.navbar {
z-index: 4 !important;
}
.app-container {
.namespace-container {
background: $vikunja-nav-background;
z-index: 6;
color: $vikunja-nav-color;
padding: 0;
transition: all $transition;
position: fixed;
bottom: 0;
top: $navbar-height + 0.75rem;
overflow-x: auto;
width: 17vw;
@media screen and (max-width: $tablet) {
padding: 0 0 1em;
left: -147vw;
top: 0;
bottom: 0;
width: 70vw;
&.is-active {
left: 0;
}
}
.show-archived-check {
width: 100%;
text-align: right;
span {
vertical-align: super;
}
}
.menu {
.menu-label {
font-size: 1em;
font-weight: 700;
font-weight: bold;
font-family: $vikunja-font;
color: $grey;
font-weight: 500;
min-height: 2.5em;
padding-top: $navbar-padding * 0.3;
padding-left: $navbar-padding;
display: block;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.menu-label, .menu-list a {
display: flex;
align-items: center;
justify-content: space-between;
span.name:not(.icon) {
overflow: hidden;
text-overflow: ellipsis;
.color-bubble {
display: inline-block;
vertical-align: initial;
width: 12px;
height: 12px;
border-radius: 100%;
margin-right: 2px;
}
}
.is-archived {
font-size: 0.75em;
border: 1px solid $grey;
color: $grey !important;
padding: 2px 4px;
border-radius: 3px;
font-family: $vikunja-font;
min-width: 60px;
display: block;
margin-left: 3px;
text-align: center;
}
}
.menu-label {
.color-bubble {
width: 14px !important;
height: 14px !important;
}
.is-archived {
min-width: 85px;
}
}
.nsettings {
float: right;
padding: 10px 0.3em 0;
}
.menu-label, .nsettings, .menu-list a {
color: $vikunja-nav-color;
}
.checkinput {
display: none;
}
.checkinput:checked + .more-container {
.menu-list.can-be-hidden {
opacity: 1;
height: auto;
}
}
.checkinput:not(:checked) + .more-container .hidden-hint {
opacity: 1;
height: auto;
}
.hidden-hint {
display: block;
opacity: 0;
height: 0;
text-align: center;
color: $grey;
cursor: pointer;
font-size: 0.8em;
}
.menu-list {
&.can-be-hidden {
transition: all $transition;
height: 0;
overflow: hidden;
opacity: 0;
}
li {
height: 44px;
}
a {
padding: 0.75em .5em 0.75em $navbar-padding * 1.5;
transition: all 0.2s ease;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
width: 100%;
border-left: $vikunja-nav-selected-width solid transparent;
.icon {
color: lighten($vikunja-nav-color, 20);
height: 1rem;
vertical-align: middle;
padding-bottom: 4px;
padding-right: 0.5em;
}
&.router-link-exact-active {
color: $primary;
border-left: $vikunja-nav-selected-width solid darken($primary, 5%);
.icon {
color: $primary;
}
}
&:hover {
background: $white;
border-left: $vikunja-nav-selected-width solid darken($primary, 3%);
}
}
}
.logo {
display: none;
@media screen and (max-width: $tablet) {
display: block;
}
}
}
.top-menu {
margin: $navbar-padding / 2 0 $navbar-padding;
.menu-list {
li {
font-weight: 500;
font-family: $vikunja-font;
}
a {
padding-left: 2em;
display: inline-block;
}
}
}
}
}
.navbar .user {
span {
font-family: $vikunja-font;
}
.avatar {
-webkit-border-radius: 100%;
-moz-border-radius: 100%;
border-radius: 100%;
vertical-align: middle;
height: 40px;
}
.logout-icon {
color: lighten($black, 10);
.icon {
vertical-align: middle;
}
}
.dropdown-trigger .button {
background: none;
&:focus:not(:active), &:active {
outline: none !important;
-webkit-box-shadow: none !important;
-moz-box-shadow: none !important;
box-shadow: none !important;
}
}
.dropdown-menu {
.dropdown-content {
box-shadow: 0.3em 0.3em 0.8em darken($light, 6);
}
}
}
.mobilemenu-hide-button, .mobilemenu-show-button {
display: none;
position: fixed;
z-index: 31;
font-weight: bold;
font-size: 2em;
color: $dark;
&:hover, &:focus {
color: darken($dark, 20);
}
}
.mobilemenu-hide-button {
color: $dark;
&:hover, &:focus {
color: $dark;
}
}
.mobile-overlay {
display: none;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: rgba(250, 250, 250, 0.8);
z-index: 5;
opacity: 0;
transition: all $transition;
}
@media screen and (max-width: $tablet) {
.mobilemenu-hide-button {
display: block;
top: 1vh;
right: 4vh;
}
.mobilemenu-show-button {
display: block;
top: 1vh;
left: 4vh;
}
.mobile-overlay {
display: block;
opacity: 1;
}
.navbar.is-dark .navbar-brand > .navbar-item {
margin: 0 auto;
}
}
.logout-icon {
margin-right: 0.85em !important;
}
.menu-bottom-link {
width: 100%;
color: $grey-light;
text-align: center;
display: block;
margin: 1em 0;
font-size: .8em;
}