1
0

New design (#14)

This commit is contained in:
konrad
2018-12-25 15:03:51 +00:00
committed by Gitea
parent de6104dda6
commit e094b654e2
51 changed files with 2828 additions and 551 deletions

109
src/styles/_tooltip.scss Normal file
View File

@ -0,0 +1,109 @@
.tooltip {
display: block !important;
z-index: 10000;
font-size: 0.8em;
text-align: center;
.tooltip-inner {
background: $dark;
color: white;
border-radius: 5px;
padding: 5px 10px 5px;
}
.tooltip-arrow {
width: 0;
height: 0;
border-style: solid;
position: absolute;
margin: 5px;
border-color: $dark;
z-index: 1;
}
&[x-placement^="top"] {
margin-bottom: 5px;
.tooltip-arrow {
border-width: 5px 5px 0 5px;
border-left-color: transparent !important;
border-right-color: transparent !important;
border-bottom-color: transparent !important;
bottom: -5px;
left: calc(50% - 5px);
margin-top: 0;
margin-bottom: 0;
}
}
&[x-placement^="bottom"] {
margin-top: 5px;
.tooltip-arrow {
border-width: 0 5px 5px 5px;
border-left-color: transparent !important;
border-right-color: transparent !important;
border-top-color: transparent !important;
top: -5px;
left: calc(50% - 5px);
margin-top: 0;
margin-bottom: 0;
}
}
&[x-placement^="right"] {
margin-left: 5px;
.tooltip-arrow {
border-width: 5px 5px 5px 0;
border-left-color: transparent !important;
border-top-color: transparent !important;
border-bottom-color: transparent !important;
left: -5px;
top: calc(50% - 5px);
margin-left: 0;
margin-right: 0;
}
}
&[x-placement^="left"] {
margin-right: 5px;
.tooltip-arrow {
border-width: 5px 0 5px 5px;
border-top-color: transparent !important;
border-right-color: transparent !important;
border-bottom-color: transparent !important;
right: -5px;
top: calc(50% - 5px);
margin-left: 0;
margin-right: 0;
}
}
&.popover {
.popover-inner {
background: $light;
color: $dark;
padding: 24px;
border-radius: 5px;
box-shadow: 0 5px 30px rgba(black, .1);
}
.popover-arrow {
border-color: $light;
}
}
&[aria-hidden='true'] {
visibility: hidden;
opacity: 0;
transition: opacity .15s, visibility .15s;
}
&[aria-hidden='false'] {
visibility: visible;
opacity: 1;
transition: opacity .15s;
}
}

View File

@ -0,0 +1,26 @@
$black: hsl(0, 0%, 4%) !default
$orange: #ff851b;
$green: #00CE6E;
$blue: #5974d9;
$red: #ff4136;
$primary: #198CFF !default;
$dark: lighten($black, 8);
$info-invert: #fff;
$family-sans-serif: 'Open Sans', Helvetica, Arial, sans-serif;
$thickness: 1px;
$pagination-current-border: darken($primary, 5);
$navbar-item-active-color: $primary;
$dropdown-content-shadow: none;
$navbar-dropdown-boxed-shadow: $dropdown-content-shadow;
$bulmaswatch-import-font: false !default;
$vikunja-font: 'Quicksand', sans-serif;
$vikunja-light-text: darken(#fff, 10%);
$vikunja-blue: #7F23FF;// #7F23FF; // #5974d9
$vikunja-green: #4DB788;
$navbar-padding: 1.5em;
$transition: 150ms ease;

View File

@ -0,0 +1,58 @@
// Fancy Checkboxes
.fancycheckbox {
display: inline-block;
padding-right: 5px;
padding-top: 3px;
.check {
cursor: pointer;
position: relative;
margin: auto;
width: 18px;
height: 18px;
-webkit-tap-highlight-color: transparent;
transform: translate3d(0, 0, 0);
&:hover svg {
stroke: $primary;
}
svg {
position: relative;
z-index: 1;
fill: none;
stroke-linecap: round;
stroke-linejoin: round;
stroke: #c8ccd4;
stroke-width: 1.5;
transform: translate3d(0, 0, 0);
transition: all 0.2s ease;
path {
stroke-dasharray: 60;
stroke-dashoffset: 0;
}
polyline {
stroke-dasharray: 22;
stroke-dashoffset: 66;
}
}
}
input[type=checkbox]:checked + .check svg {
stroke: $primary;
}
input[type=checkbox]:checked + .check svg path {
stroke-dashoffset: 60;
transition: all 0.3s linear;
}
input[type=checkbox]:checked + .check svg polyline {
stroke-dashoffset: 42;
transition: all 0.2s linear;
transition-delay: 0.15s;
}
}

57
src/styles/fullpage.scss Normal file
View File

@ -0,0 +1,57 @@
.fullpage{
position: fixed;
text-align: center;
top: 0;
z-index: 50;
left: 0;
right: 0;
bottom: 0;
padding: 15vh 20vh;
background: $vikunja-blue;
color: $vikunja-light-text;
font-size: 2em;
@media screen and (max-width: $tablet) {
padding: 20vw 10vw;
}
input{
background: transparent;
border: none;
border-bottom: 3px solid darken($vikunja-blue, 10);
color: $vikunja-light-text;
padding: 1em 0.5em;
font-size: 1.5em;
border-radius: 0;
&::placeholder{
color: $vikunja-light-text;
}
}
.button {
font-size: 1em;
margin-top: 4px;
}
h3{
font-size: 1.5em;
}
.close {
position: fixed;
top: 5vh;
right: 6vh;
color: $vikunja-light-text;
}
.small{
margin-top: 1em;
font-size: 0.5em;
}
}
.fullpage-overlay{
z-index: 6 !important;
}

312
src/styles/general.scss Normal file
View File

@ -0,0 +1,312 @@
/* Logo */
.logo {
padding-left: 2rem !important;
img {
max-height: 3rem !important;
margin-right: 1rem;
}
}
/* Buttons icons */
.button .icon.is-small {
margin-right: 0.05rem !important;
}
/* menu buttons */
.button-bottom {
margin-bottom: 1rem;
}
.navbar-menu .navbar-item .icon{
margin: 0 0.5em;
}
.navbar{
z-index: 4 !important;
}
.app-container{
min-height: calc(100vh - 65px);
@media screen and (max-width: $tablet) {
padding-top: $navbar-height + 0.75rem;
}
.namespace-container{
background: $vikunja-blue;
box-shadow: 0 0 1em darken(#fff, 30%);
z-index: 3;
color: $vikunja-light-text;
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;
z-index: 5;
&.is-active {
left: 0;
}
}
.namespaces-lists{
border-top: 1px solid darken($vikunja-blue, 6);
}
.menu{
.menu-label {
font-size: 1em;
font-weight: 400;
min-height: 2.5em;
padding-top: $navbar-padding * 0.3;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.nsettings{
vertical-align: middle;
float: right;
margin-left: 0.5rem;
min-width: 2.648em;
padding-top: 5px;
}
.menu-label {
font-weight: bold;
font-family: $vikunja-font;
}
.menu-label,.nsettings,.menu-list a{
color: $vikunja-light-text;
}
.menu-label{
padding-left: $navbar-padding;
}
.menu-list {
li {
height: 36px;
}
a {
padding-left: $navbar-padding * 2;
transition: all 0.2s ease;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
display: inline-block;
width: 100%;
.icon {
height: 1rem;
vertical-align: middle;
padding-bottom: 4px;
padding-right: 0.5em;
}
&.router-link-exact-active {
background: darken($vikunja-blue, 5%);
}
&:hover {
background: darken($vikunja-blue, 3%);
}
}
&.user{
padding: 0 0.5em 1em 1em;
border-bottom: 1px solid #6d04ff;
li{
height: auto;
}
img.is-rounded{
border-radius: 100%;
vertical-align: middle;
margin-top: -20px;
display: inline-block;
}
.username{
font-family: $vikunja-font;
font-weight: bold;
font-size: 1.5em;
padding-left: 0.5em;
margin-top: 20px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
width: calc(100% - 103px - 1em);
display: inline-block;
}
a.logout-icon{
float: right;
width: 53px;
margin-top: 15px;
&:hover, &:focus{
color: lighten($light, 80);
background: transparent;
}
}
}
}
}
.top-menu {
margin: $navbar-padding 0;
.menu-list a {
padding-left: $navbar-padding;
}
}
}
.app-content{
padding: $navbar-height + 1.5rem 1.5em 0 1.5em;
z-index: 2;
background: url('../public/images/llama-upside-down.svg') no-repeat top right darken(#fff, 4);
margin-left: 17vw;
@media screen and (max-width: $tablet) {
margin-left: 0;
padding-top: 1.5em;
min-height: calc(100vh - 4rem);
}
.card{
background: #fff;
}
}
}
.mobilemenu-hide-button,.mobilemenu-show-button{
display: none;
position: fixed;
z-index: 5;
font-weight: bold;
font-size: 2em;
color: $light;
&:hover, &:focus{
color: $light;
}
}
.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: 4;
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 */
.logout-icon {
margin-right: 0.85em !important;
}
/* Loading spinner */
.loader-container {
&.is-loading {
position: relative;
pointer-events: none;
opacity: 0.5;
&:after {
@include loader;
position: absolute;
top: calc(50% - 2.5em);
left: calc(50% - 2.5em);
width: 5em;
height: 5em;
border-width: 0.25em;
}
}
}
.spinner{
&.is-loading {
pointer-events: none;
&:after {
@include loader;
width: 2em;
height: 2em;
margin-left: calc(50% - 1em);
position: absolute;
margin-top: 1em;
z-index: 999;
border-width: 0.25em;
}
}
}
.notifications{
left: 0.5em !important;
bottom: 1em !important;
.notification-wrapper .notification{
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
border-top-width: 0;
border-right-width: 0;
border-bottom-width: 0;
border-left-width: 0.4em;
}
}
.button-right{
float: right;
}

101
src/styles/tasks.scss Normal file
View File

@ -0,0 +1,101 @@
.settings{
float: right;
color: rgb(74, 74, 74);
}
.tasks {
margin-top: 1rem;
padding: 0;
text-align: left;
max-width: 80vw;
@media screen and (min-width: $tablet) {
&.short {
max-width: 53vw;
}
}
@media screen and (max-width: $tablet) {
max-width: 100%;
}
&.noborder{
margin: 1rem -0.5rem;
}
.task {
display: block;
padding: 0.5rem 1rem;
border-bottom: 1px solid darken(#fff, 10%);
label{
width: 96%;
display: inline-block;
cursor: pointer;
.tasktext {
vertical-align: top;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
display: inline-block;
width: 94%;
@media screen and (max-width: $tablet) {
width: 89%;
}
&.done{
text-decoration: line-through;
color: $grey;
}
}
}
input[type="checkbox"] {
vertical-align: middle;
}
.settings{
float: right;
width: 4%;
cursor: pointer;
}
}
.task:last-child {
border-bottom: none;
}
}
.taskedit{
min-height: calc(100% - 1rem);
margin-top: 1rem;
.reminder-input{
margin: 0;
&.overdue input{
color: $red;
}
&:last-child {
margin-bottom: 0.75rem;
}
a {
color: $red;
vertical-align: sub;
}
input {
width: 90%;
border: none;
&:focus {
border: none;
box-shadow: none;
}
}
}
}

25
src/styles/teams.scss Normal file
View File

@ -0,0 +1,25 @@
ul.teams{
padding: 0;
margin-left: 0;
overflow: hidden;
li{
list-style: none;
margin: 0;
border-bottom: 1px solid $border;
a{
color: #363636;
display: block;
padding: 0.5rem 1rem;
&:hover{
background: darken(#fff, 2%);
}
}
}
li:last-child{
border-bottom: none;
}
}

230
src/styles/theme.scss Normal file
View File

@ -0,0 +1,230 @@
@import url('/fonts/fonts.css');
@import 'variables';
@import "../../node_modules/bulma/bulma";
*, *:hover, *:active, *:focus{
outline: none;
}
.button {
transition: all $transition;
border: 0;
text-transform: uppercase;
font-size: 0.85rem;
font-weight: bold;
height: 2.648em;
box-shadow: 0.3em 0.3em 1em lighten($dark, 75);
&.is-hovered,
&:hover {
box-shadow: 0.6em 0.6em 1em lighten($dark, 75);
}
&.is-active,
&.is-focused,
&:active,
&:focus,
&:focus:not(:active) {
box-shadow: 0.1em 0.1em 0.7em lighten($dark, 75) !important;
}
@each $name, $pair in $colors {
$color: nth($pair, 1);
&.is-#{$name} {
box-shadow: 0.3em 0.3em 1em lighten($color, 30);
&.is-hovered,
&:hover {
box-shadow: 0.6em 0.6em 1em lighten($color, 30);
}
&.is-active,
&.is-focused,
&:active,
&:focus,
&:focus:not(:active) {
box-shadow: 0.1em 0.1em 0.7em lighten($color, 30) !important;
}
}
}
&.noshadow{
&,
&.is-hovered,
&:hover,
&.is-active,
&.is-focused,
&:active,
&:focus,
&:focus:not(:active) {
box-shadow: none;
}
}
}
.input,
.textarea {
transition: all $transition;
box-shadow: none;
&.is-active,
&.is-focused,
&:active,
&:focus {
box-shadow: none;
}
@each $name, $pair in $colors {
$color: nth($pair, 1);
$color-invert: nth($pair, 2);
&.is-#{$name} {
&.is-active,
&.is-focused,
&:active,
&:focus,
&:focus:not(:active) {
border-color: darken($color, 10);
}
}
}
}
.select:after {
margin-top: -0.575em;
}
.select select {
border-width: $thickness;
&:not([multiple]) {
height: calc(2.25em + #{$thickness});
}
&.is-active,
&.is-focused,
&:active,
&:focus,
&:focus:not(:active) {
box-shadow: none;
}
}
.field.has-addons {
.control .select select {
height: 2.25em;
}
}
.notification {
border: $thickness solid $border;
@each $name, $pair in $colors {
$color: nth($pair, 1);
&.is-#{$name} {
border-color: darken($color, 5);
}
}
}
.progress {
border-radius: $radius-large;
}
.card {
background-color: rgba($grey-lighter, 0.075);
border-radius: $radius;
margin-bottom: 1rem;
.card-image {
img {
border-radius: $radius $radius 0 0;
}
}
.card-header {
box-shadow: none;
border-bottom: 1px solid $grey-lighter;
border-radius: $radius $radius 0 0;
}
}
.box,.card{
border: $thickness solid $border;
box-shadow: 0.3em 0.3em 0.8em darken($light, 6);
}
.message {
.message-body {
border: $thickness solid;
}
}
.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 {
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%;
}
}
.pagination-link,
.pagination-next,
.pagination-previous {
border-width: $thickness;
}
body {
background: url('../public/images/llama.svg') no-repeat bottom left fixed darken(#fff, 4);
min-height: 100vh;
}
h1,h2,h3,h4,h5,h6{
font-family: $vikunja-font;
font-weight: 400 !important;
}
.bigbuttons{
margin-top: 0.5rem;
}
.control.has-icons-left .icon, .control.has-icons-right .icon {
z-index: 0;
}
.buttonright {
margin-right: 0.5rem;
}