399 lines
12 KiB
SCSS
399 lines
12 KiB
SCSS
@mixin habit-controls($disabled-color, $active-color) {
|
|
&-habit-control-disabled {
|
|
.habit-option-button {
|
|
border: 2px solid $disabled-color;
|
|
}
|
|
// TODO refactor to use more css-vars and less duplicate generated css code
|
|
&:hover, &:focus, &:active {
|
|
.habit-option-button {
|
|
border: 2px solid $active-color;
|
|
}
|
|
.habit-option-icon, .habit-option-label { color: $active-color !important; }
|
|
}
|
|
}
|
|
}
|
|
|
|
@mixin modal-text-input($color) {
|
|
&-text::placeholder { color: $color !important; }
|
|
&-input {
|
|
border: 0 !important;
|
|
|
|
&:focus, &:active {
|
|
box-shadow: 0 0 0 1px $color !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
.task {
|
|
&-worst { // dark red
|
|
&-control {
|
|
&-bg {
|
|
background: $maroon-100 !important;
|
|
.habit-control:not(.task-not-scoreable):hover { background: rgba($black, 0.5) !important; }
|
|
.daily-todo-control:not(.task-not-scoreable):hover { background: rgba($white, 0.75) !important; }
|
|
}
|
|
&-bg-noninteractive { background: $maroon-100 !important; }
|
|
&-inner-habit { background: rgba($black, 0.25) !important; }
|
|
&-inner-habit-noninteractive { border: 1px solid rgba($red-1, 0.5) !important; }
|
|
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
|
|
&-checkbox, &-icon { color: $red-1 !important; }
|
|
}
|
|
|
|
&-modal {
|
|
&-bg { background: $maroon-100 !important; }
|
|
&-headings { color: $white !important; }
|
|
&-icon { color: $maroon-100 !important; }
|
|
&-text { color: $red-1 !important; }
|
|
&-content {
|
|
--svg-color: #{$maroon-100};
|
|
}
|
|
@include modal-text-input($red-1);
|
|
&-option-disabled:hover {
|
|
.svg-icon { color: $maroon-100 !important; }
|
|
.option-item-label { color: $maroon-50 !important; }
|
|
}
|
|
@include habit-controls($gray-300, $maroon-100);
|
|
}
|
|
}
|
|
|
|
&-worse { // light red
|
|
&-control {
|
|
&-bg {
|
|
background: $red-100 !important;
|
|
.habit-control:not(.task-not-scoreable):hover { background: rgba($black, 0.5) !important; }
|
|
.daily-todo-control:not(.task-not-scoreable):hover { background: rgba($white, 0.75) !important; }
|
|
}
|
|
&-bg-noninteractive { background: $red-100 !important; }
|
|
&-inner-habit { background: rgba($black, 0.25) !important; }
|
|
&-inner-habit-noninteractive { border: 1px solid rgba($red-1, 0.5) !important; }
|
|
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
|
|
&-checkbox, &-icon { color: $red-1 !important; }
|
|
}
|
|
|
|
&-modal {
|
|
&-bg { background: $red-100 !important; }
|
|
&-headings, &-text { color: $red-1 !important; }
|
|
&-icon { color: $red-100 !important; }
|
|
&-content {
|
|
--svg-color: #{$red-100};
|
|
}
|
|
@include modal-text-input($red-1);
|
|
&-option-disabled:hover {
|
|
.svg-icon { color: $red-100 !important; }
|
|
.option-item-label { color: $red-10 !important; }
|
|
}
|
|
|
|
@include habit-controls($gray-300, $red-100);
|
|
}
|
|
}
|
|
|
|
&-bad { // orange
|
|
&-control {
|
|
&-bg {
|
|
background: $orange-100 !important;
|
|
.habit-control:not(.task-not-scoreable):hover { background: rgba($orange-1, 0.5) !important; }
|
|
.daily-todo-control:not(.task-not-scoreable):hover { background: rgba($white, 0.75) !important; }
|
|
}
|
|
&-bg-noninteractive { background: $orange-100 !important; }
|
|
&-inner-habit { background: rgba($orange-1, 0.25) !important; }
|
|
&-inner-habit-noninteractive { border: 1px solid rgba($orange-1, 0.5) !important; }
|
|
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
|
|
&-checkbox, &-icon { color: $orange-1 !important; }
|
|
}
|
|
|
|
&-modal {
|
|
&-bg { background: $orange-100 !important; }
|
|
&-headings, &-text { color: $orange-1 !important; }
|
|
&-icon { color: $orange-100 !important; }
|
|
&-content {
|
|
--svg-color: #{$orange-100};
|
|
}
|
|
@include modal-text-input($orange-1);
|
|
&-option-disabled:hover {
|
|
.svg-icon { color: $orange-100 !important; }
|
|
.option-item-label { color: $orange-1 !important; }
|
|
}
|
|
|
|
@include habit-controls($gray-300, $orange-100);
|
|
}
|
|
}
|
|
|
|
&-neutral { // yellow
|
|
&-control {
|
|
&-bg {
|
|
background: $yellow-100 !important;
|
|
.habit-control:not(.task-not-scoreable):hover { background: rgba($yellow-1, 0.5) !important; }
|
|
.daily-todo-control:not(.task-not-scoreable):hover { background: rgba($white, 0.75) !important; }
|
|
}
|
|
&-bg-noninteractive { background: $yellow-100 !important; }
|
|
&-inner-habit { background: rgba($yellow-1, 0.25) !important; }
|
|
&-inner-habit-noninteractive { border: 1px solid rgba($yellow-1, 0.5) !important; }
|
|
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
|
|
&-checkbox, &-icon { color: $yellow-1 !important; }
|
|
}
|
|
|
|
&-modal {
|
|
&-bg { background: $yellow-100 !important; }
|
|
&-headings, &-text { color: $yellow-1 !important; }
|
|
&-icon { color: $yellow-100 !important; }
|
|
@include modal-text-input($yellow-1);
|
|
&-option-disabled:hover {
|
|
.svg-icon { color: $yellow-100 !important; }
|
|
.option-item-label { color: #bf7d1a !important; }
|
|
}
|
|
&-content {
|
|
--svg-color: #{$yellow-100};
|
|
}
|
|
|
|
@include habit-controls($gray-300, $yellow-100);
|
|
}
|
|
}
|
|
|
|
&-good { // green
|
|
&-control {
|
|
&-bg {
|
|
background: $green-100 !important;
|
|
.habit-control:not(.task-not-scoreable):hover { background: rgba($black, 0.5) !important; }
|
|
.daily-todo-control:not(.task-not-scoreable):hover { background: rgba($white, 0.75) !important; }
|
|
}
|
|
&-bg-noninteractive { background: $green-100 !important; }
|
|
&-inner-habit { background: rgba($black, 0.25) !important; }
|
|
&-inner-habit-noninteractive { border: 1px solid rgba($green-1, 0.5) !important; }
|
|
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
|
|
&-checkbox, &-icon { color: $green-1 !important; }
|
|
}
|
|
|
|
&-modal {
|
|
&-bg { background: $green-100 !important; }
|
|
&-headings, &-text { color: $green-1 !important; }
|
|
&-icon { color: $green-10 !important; }
|
|
&-content {
|
|
--svg-color: #{$green-100};
|
|
}
|
|
|
|
@include modal-text-input($green-1);
|
|
&-option-disabled:hover {
|
|
.svg-icon { color: $green-10 !important; }
|
|
.option-item-label { color: #1ca372 !important; }
|
|
}
|
|
|
|
@include habit-controls($gray-300, $green-100);
|
|
}
|
|
}
|
|
|
|
&-better { // teal
|
|
&-control {
|
|
&-bg {
|
|
background: $teal-100 !important;
|
|
.habit-control:not(.task-not-scoreable):hover { background: rgba($black, 0.5) !important; }
|
|
.daily-todo-control:not(.task-not-scoreable):hover { background: rgba($white, 0.75) !important; }
|
|
}
|
|
&-bg-noninteractive { background: $teal-100 !important; }
|
|
&-inner-habit { background: rgba($black, 0.25) !important; }
|
|
&-inner-habit-noninteractive { border: 1px solid rgba($teal-1, 0.5) !important; }
|
|
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
|
|
&-checkbox, &-icon { color: $teal-1 !important; }
|
|
}
|
|
|
|
&-modal {
|
|
&-bg { background: $teal-100 !important; }
|
|
&-headings, &-text { color: $teal-1 !important; }
|
|
&-icon { color: $teal-100 !important; }
|
|
&-content {
|
|
--svg-color: #{$teal-100};
|
|
}
|
|
@include modal-text-input($teal-1);
|
|
&-option-disabled:hover {
|
|
.svg-icon { color: $teal-100 !important; }
|
|
.option-item-label { color: $teal-10 !important; }
|
|
}
|
|
|
|
@include habit-controls($gray-300, $teal-100);
|
|
}
|
|
}
|
|
|
|
&-best { // blue
|
|
&-control {
|
|
&-bg {
|
|
background: $blue-100 !important;
|
|
.habit-control:not(.task-not-scoreable):hover { background: rgba($black, 0.5) !important; }
|
|
.daily-todo-control:not(.task-not-scoreable):hover { background: rgba($white, 0.75) !important; }
|
|
}
|
|
&-bg-noninteractive { background: $blue-100 !important; }
|
|
&-inner-habit { background: rgba($black, 0.25) !important; }
|
|
&-inner-habit-noninteractive { border: 1px solid rgba($blue-1, 0.5) !important; }
|
|
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
|
|
&-checkbox, &-icon { color: $blue-1 !important; }
|
|
}
|
|
|
|
&-modal {
|
|
&-bg { background: $blue-100 !important; }
|
|
&-headings, &-text { color: $blue-1 !important; }
|
|
&-icon { color: $blue-100 !important; }
|
|
&-content {
|
|
--svg-color: #{$blue-100};
|
|
}
|
|
|
|
@include modal-text-input($blue-1);
|
|
&-option-disabled:hover {
|
|
.svg-icon { color: $blue-50 !important; }
|
|
.option-item-label { color: $blue-10 !important; }
|
|
}
|
|
|
|
@include habit-controls($gray-300, $blue-100);
|
|
}
|
|
}
|
|
|
|
&-purple { // purple, only used in modals
|
|
&-control {
|
|
&-bg {
|
|
background: $purple-task !important;
|
|
.habit-control:not(.task-not-scoreable):hover { background: rgba($black, 0.5) !important; }
|
|
.daily-todo-control:not(.task-not-scoreable):hover { background: rgba($white, 0.75) !important; }
|
|
}
|
|
&-inner-habit { background: rgba($black, 0.25) !important; }
|
|
&-inner-daily-todo { background: rgba($white, 0.5) !important; }
|
|
&-checkbox { color: $purple-task !important; }
|
|
}
|
|
|
|
&-modal {
|
|
&-bg { background: $purple-300 !important; }
|
|
&-headings { color: $white !important; }
|
|
&-icon { color: $purple-300 !important; }
|
|
&-text { color: $black !important; }
|
|
&-content {
|
|
--svg-color: #{$purple-300};
|
|
}
|
|
|
|
@include modal-text-input($black);
|
|
&-option-disabled:hover {
|
|
.svg-icon { color: $purple-300 !important; }
|
|
.option-item-label { color: $purple-200 !important; }
|
|
}
|
|
|
|
@include habit-controls($gray-300, $purple-300);
|
|
}
|
|
}
|
|
|
|
&-reward {
|
|
&-control {
|
|
&-bg {
|
|
background: rgba($yellow-100, 0.15) !important;
|
|
.small-text { color: $yellow-1 !important; }
|
|
|
|
&:hover:not(.task-not-scoreable) { background: rgba($yellow-100, 0.25) !important; }
|
|
}
|
|
&-bg-noninteractive {
|
|
background-color: $gray-500 !important;
|
|
.small-text { color: $gray-100 !important; }
|
|
}
|
|
}
|
|
}
|
|
|
|
&-disabled {
|
|
&-habit {
|
|
&-control {
|
|
&-bg { background: $gray-600; }
|
|
&-inner {
|
|
&:not(:focus) {
|
|
border: 1px solid $gray-300 !important;
|
|
}
|
|
|
|
opacity: 0.75;
|
|
|
|
.negative, .positive {
|
|
color: $gray-200;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&-daily-todo {
|
|
&-control {
|
|
&-bg {
|
|
background: $gray-200 !important;
|
|
.daily-todo-control:not(.task-not-scoreable):hover { background: rgba($white, 0.75) !important; }
|
|
}
|
|
&-bg-noninteractive {
|
|
background: $gray-200 !important;
|
|
}
|
|
&-inner { background: rgba($white, 0.5) !important; }
|
|
&-checkbox { color: $gray-10 !important; }
|
|
&-content {
|
|
background: $gray-600;
|
|
|
|
.task-title, .task-notes {
|
|
opacity: 0.75;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.task-control {
|
|
width: 28px;
|
|
height: 28px;
|
|
}
|
|
|
|
.habit-control {
|
|
border-radius: 100px;
|
|
color: $white;
|
|
|
|
&-negative {
|
|
&-enabled {
|
|
padding-top: 12px;
|
|
}
|
|
&-disabled {
|
|
padding-top: 12px;
|
|
}
|
|
}
|
|
|
|
&-positive {
|
|
&-enabled {
|
|
padding-top: 8px;
|
|
}
|
|
&-disabled {
|
|
padding-top: 8px;
|
|
}
|
|
}
|
|
|
|
.svg-icon {
|
|
width: 10px;
|
|
height: 10px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.lock {
|
|
margin-top: 7px;
|
|
height: 12px;
|
|
width: 10px;
|
|
|
|
&.disabled {
|
|
color: $gray-10;
|
|
}
|
|
}
|
|
}
|
|
|
|
.daily-todo-control {
|
|
&:hover {
|
|
.svg-icon.check {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
.svg-icon.check {
|
|
display: none;
|
|
|
|
&.display-check-icon {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
.svg-icon.lock {
|
|
margin: 8px auto;
|
|
height: 12px;
|
|
width: 10px;
|
|
}
|
|
}
|