1
0

Task Detail View (#37)

This commit is contained in:
konrad
2019-11-24 13:16:24 +00:00
parent e00f0046b5
commit 4e5d14d969
39 changed files with 2228 additions and 503 deletions

View File

@ -0,0 +1,66 @@
@-webkit-keyframes bounce {
from,
20%,
53%,
80%,
to {
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
40%,
43% {
-webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-webkit-transform: translate3d(0, -30px, 0);
transform: translate3d(0, -30px, 0);
}
70% {
-webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-webkit-transform: translate3d(0, -15px, 0);
transform: translate3d(0, -15px, 0);
}
90% {
-webkit-transform: translate3d(0, -4px, 0);
transform: translate3d(0, -4px, 0);
}
}
@keyframes bounce {
from,
20%,
53%,
80%,
to {
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
40%,
43% {
-webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-webkit-transform: translate3d(0, -30px, 0);
transform: translate3d(0, -30px, 0);
}
70% {
-webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-webkit-transform: translate3d(0, -15px, 0);
transform: translate3d(0, -15px, 0);
}
90% {
-webkit-transform: translate3d(0, -4px, 0);
transform: translate3d(0, -4px, 0);
}
}

View File

@ -137,6 +137,12 @@ fieldset[disabled] .multiselect {
.multiselect__tags-wrap {
display: inline;
.user {
display: inline-block;
min-height: 30px;
margin: 0 0 .5em;
}
}
.multiselect__tags {

View File

@ -0,0 +1,48 @@
.attachments {
input[type=file] {
display: none;
}
.dropzone {
position: fixed;
background: rgba(250,250,250,0.8);
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 100;
text-align: center;
&.hidden {
display:none;
}
.drop-hint {
position: absolute;
bottom: 0;
left: 0;
right: 0;
.icon {
width: 100%;
font-size: 5em;
height: auto;
text-shadow: 0 2px 2px rgba(0, 0, 0, .14), 0 3px 1px rgba(0, 0, 0, .2), 0 1px 5px rgba(0, 0, 0, .12);
-moz-animation: bounce 2s infinite;
-webkit-animation: bounce 2s infinite;
animation: bounce 2s infinite;
}
.hint {
margin: .5em auto 2em;
border-radius: 2px;
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12);
background: $primary;
padding: 1em;
color: $white;
width: 100%;
max-width: 300px;
}
}
}
}

28
src/styles/reminders.scss Normal file
View File

@ -0,0 +1,28 @@
.reminders {
.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;
}
}
}
}

185
src/styles/task.scss Normal file
View File

@ -0,0 +1,185 @@
.task-view {
.subtitle {
color: $grey;
a {
color: $grey-dark;
}
}
.has-top-border {
border-top: 1px solid lighten($grey, 35%);
padding-top: .5em;
}
h3 .button {
vertical-align: middle;
}
.icon.is-grey {
color: lighten($grey, 5%);
}
.heading {
display: flex;
justify-content: space-between;
text-transform: none;
align-items: center;
.title {
margin-bottom: 0;
}
.title.task-id {
color: lighten($grey, 25%);
white-space: nowrap;
}
.input.title{
font-size: 1.8rem;
font-family: $vikunja-font;
font-weight: 400 !important;
background: transparent;
border-color: transparent;
margin: 0 .3em;
height: 1.5em;
padding: 0 .3em;
&:hover,&:active {
background: $input-background-color;
border-color: $input-border-color;
}
&:focus {
background: $input-background-color;
border-color: $input-focus-border-color;
}
}
.is-done {
background: $green;
color: $white;
padding: .5em;
font-size: 1.5em;
margin-left: .5em;
font-weight: bold;
line-height: 1;
border-radius: 4px;
}
}
.date-input {
display: flex;
align-items: center;
a {
color: $red;
vertical-align: middle;
padding-left: .5em;
line-height: 1;
}
}
.details {
padding-bottom: 0.75em;
flex-flow: row wrap;
.detail-title {
display: block;
color: lighten($grey, 15%);
}
.none {
font-style: italic;
}
// Break after the 4th element
.column:nth-child(4n) {
page-break-after: always; // CSS 2.1 syntax
break-after: always; // New syntax
}
&.labels-list, .assignees{
.multiselect__tags {
padding: 3px 0 0 3px;
border: none;
background: transparent;
}
.multiselect__input, .multiselect__single {
width: 100% !important;
margin: 0;
padding: .35em !important;
position: relative !important;
background: transparent;
}
.multiselect__placeholder {
display: none;
}
.multiselect__select {
// We may need to enable this since it may also be responsable for showing the loading spinner
display: none;
}
.multiselect__content-wrapper {
border: none;
}
}
.input:not(.has-defaults),
.textarea,
.select:not(.has-defaults) select {
border-color: transparent;
background: transparent;
cursor: pointer;
transition: all $transition-duration;
&::placeholder {
color: $text-light;
opacity: 1;
font-style: italic;
}
&:hover {
border-color: $input-border-color;
background: $input-background-color;
}
}
.textarea {
&:hover {
cursor: text;
}
&:focus {
border-color: $input-focus-border-color
}
}
.select:not(.has-defaults):after {
opacity: 0;
}
.select:not(.has-defaults):hover:after {
opacity: 1;
}
}
.attachments {
margin-bottom: 0;
table tr:last-child td {
border-bottom: none;
}
}
.action-buttons {
a.button {
width: 100%;
margin-bottom: .5em;
justify-content: left;
}
}
}

View File

@ -0,0 +1,39 @@
.task-relations {
padding-bottom: 1em;
&.is-narrow .columns {
display: block;
.column {
width: 100%;
}
}
.related-tasks {
margin-bottom: .75em;
.title {
font-size: 1em;
margin: 0;
}
.tasks {
margin: 0;
.task {
padding: .5em;
}
}
}
.multiselect__input {
width: 90% !important;
padding-left: 5px !important;
z-index: 1;
}
.none {
font-style: italic;
text-align: center;
}
}

View File

@ -28,7 +28,7 @@
padding: 0.5rem 1rem;
border-bottom: 1px solid darken(#fff, 10%);
label{
span:not(.tag) {
width: 96%;
display: inline-block;
cursor: pointer;
@ -66,24 +66,21 @@
height: 27px;
width: 27px;
}
a {
color: $text;
transition: color ease $transition-duration;
&:hover {
color: darken($text, 40%);
}
}
}
.remove {
color: $red;
}
.high-priority{
color: $red;
.icon {
vertical-align: middle;
}
&.not-so-high {
color: $orange;
}
}
input[type="checkbox"] {
vertical-align: middle;
}
@ -104,32 +101,6 @@
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;
}
}
}
.priority-select{
.select, select{
@ -164,4 +135,16 @@
margin-right: 0;
}
}
}
}
.high-priority{
color: $red;
.icon {
vertical-align: middle;
}
&.not-so-high {
color: $orange;
}
}

View File

@ -1,6 +1,8 @@
@import url('/fonts/fonts.css');
@import 'variables';
@import "../../node_modules/bulma/bulma";
@import '../../node_modules/bulma/bulma';
@import 'animations';
*, *:hover, *:active, *:focus{
outline: none;
@ -55,6 +57,10 @@
&:focus:not(:active) {
box-shadow: 0.1em 0.1em 0.7em lighten($color, 30) !important;
}
&.is-outlined {
border: 2px solid $color;
}
}
}
@ -70,6 +76,10 @@
box-shadow: none;
}
}
&.is-small {
border-radius: $radius;
}
}
.input,
@ -263,3 +273,18 @@ h1,h2,h3,h4,h5,h6{
}
}
}
.multiselect__tags {
.remove-assignee {
vertical-align: bottom;
color: $red;
margin-left: -1.8em;
background: $white;
padding: 0 4px;
display: inline-block;
border-radius: 100%;
font-size: .8em;
width: 18px;
height: 18px;
}
}