diff --git a/website/client/src/assets/scss/form.scss b/website/client/src/assets/scss/form.scss index c5cf0b61f7..8e21bc06a4 100644 --- a/website/client/src/assets/scss/form.scss +++ b/website/client/src/assets/scss/form.scss @@ -82,7 +82,7 @@ input, textarea, input.form-control, textarea.form-control { } } -/** Colored Input-Groups, ignoring checklist */ +// Colored Input-Groups, ignoring checklist .input-group:not(.checklist-group) { border-radius: 2px; border: solid 1px $gray-400; @@ -100,7 +100,7 @@ input, textarea, input.form-control, textarea.form-control { } } -/** Generic Input Group Styles */ +// Generic Input Group Styles .input-group { height: 2rem; @@ -179,10 +179,11 @@ input, textarea, input.form-control, textarea.form-control { padding-left: 0px; } -// Checkboxes and radios +// used in checkboxes and radios $bg-focused-active-control: #4f2993; $bg-disabled-control: #34303a; +// custom control .custom-control { margin-bottom: .5rem; @@ -205,6 +206,7 @@ $bg-disabled-control: #34303a; } } +// checkboxes .custom-checkbox { .custom-control-label::before { border-radius: 2px; @@ -280,11 +282,26 @@ $bg-disabled-control: #34303a; padding-left: 36px; } +// radio buttons +$bg-color: $purple-400; + +// svg for the purple dot @mixin custom-radio-checked-icon ($bg-color) { background-image: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$bg-color}'/%3E%3C/svg%3E"), "#", "%23"); } .custom-radio .custom-control-input { + opacity: 0; + margin: 15px 25px 34px 25px; + + // outside circle + &:checked~.custom-control-label::before { + background-color: $gray-700; + background-size: 12px 12px; + border-color: $purple-400; + } + + // checked indicator &:checked~.custom-control-label::after { @include custom-radio-checked-icon($purple-400); width: 18px; @@ -292,51 +309,84 @@ $bg-disabled-control: #34303a; background-size: 12px 12px; } - &:checked~.custom-control-label::before { - background-color: $gray-700; - background-size: 12px 12px; - border-color: $purple-400; - } - &:active~.custom-control-label::before { background-color: inherit; } - &:focus:not(:checked):not(:disabled)~.custom-control-label::before, &:active:not(:checked):not(:disabled)~.custom-control-label::before { - box-shadow: 0 0 0 6px rgba($bg-focused-active-control, 0.1); +// focus / not checked / not disabled + &:focus:not(:checked):not(:disabled)~.custom-control-label::before, + &:active:not(:checked):not(:disabled)~.custom-control-label::before { + border: 2px solid $gray-300; + box-shadow: 0 0 0 2px rgba(146, 92, 243, 0.5); } - &:focus:checked:not(:disabled)~.custom-control-label::before, &:active:checked:not(:disabled)~.custom-control-label::before { - box-shadow: 0 0 0 6px rgba($bg-focused-active-control, 0.1); - border-color: $purple-400; - background-color: rgba($bg-focused-active-control, 0.1); +// focus / checked / not disabled + &:focus:checked:not(:disabled)~.custom-control-label::before, + &:active:checked:not(:disabled)~.custom-control-label::before { + border: 2px solid $purple-400; + box-shadow: 0 0 0 2px rgba(146, 92, 243, 0.5); } - &:disabled:checked~.custom-control-label::before { - border-color: $gray-400; - background-color: transparent; +// hover / not checked / not disabled + &:hover:not(:checked):not(:disabled)~.custom-control-label::before, + &:active:not(:checked):not(:disabled)~.custom-control-label::before { + width: 18px; + height: 18px; + background: 50%/50% 50% no-repeat; + @include custom-radio-checked-icon($purple-400); + background-size: 12px 12px; + border: solid 2px $purple-400; } - &:disabled:checked~.custom-control-label::after { +// hover / checked / not disabled + &:hover:checked:not(:disabled)~.custom-control-label::before, + &:active::checked:not(:disabled)~.custom-control-label::before { + width: 18px; + height: 18px; + background: 50%/50% 50% no-repeat; @include custom-radio-checked-icon($gray-400); + background-size: 12px 12px; + border: solid 2px $purple-300; + } + +// disabled / checked / before + &:disabled:checked~.custom-control-label::before { + background: 50%/50% 50% no-repeat; + @include custom-radio-checked-icon($gray-300); + border: 2px solid $gray-200; + background-color: transparent; + opacity: 0.75; + } + +// disabled / checked / after + &:disabled:checked~.custom-control-label::after { + background: 50%/50% 50% no-repeat; + @include custom-radio-checked-icon($gray-300); width: 18px; height: 18px; background-size: 12px 12px; } +// disabled / not checked / before &:disabled:not(:checked)~.custom-control-label::before { - border-color: $gray-300; - background-color: transparent; + background-color: $gray-600; + border: 2px solid $gray-200; } - &:focus:disabled~.custom-control-label::before, &:active:disabled~.custom-control-label::before { - box-shadow: 0 0 0 6px rgba($bg-disabled-control, 0.1); - border-color: $gray-300; +// focus and disabled / not checked / before + &:focus:disabled~.custom-control-label::before, + &:active:disabled~.custom-control-label::before { background-color: rgba($bg-disabled-control, 0.1); + box-shadow: 0 0 0 6px rgba($bg-disabled-control, 0.1); + border: 2px solid $gray-200; } - &:focus:disabled:checked~.custom-control-label::before, &:active:disabled:checked~.custom-control-label::before { - border-color: $gray-400; +// focus and disabled / checked / before + &:focus:disabled:checked~.custom-control-label::before, + &:active:disabled:checked~.custom-control-label::before { + background: 50%/50% 50% no-repeat; + @include custom-radio-checked-icon($gray-300); + border: 2px solid $gray-200; } } diff --git a/website/client/src/assets/svg/big-gift.svg b/website/client/src/assets/svg/big-gift.svg new file mode 100644 index 0000000000..1d756e4dfa --- /dev/null +++ b/website/client/src/assets/svg/big-gift.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/client/src/assets/svg/close.svg b/website/client/src/assets/svg/close.svg index 5070218c06..398440da99 100644 --- a/website/client/src/assets/svg/close.svg +++ b/website/client/src/assets/svg/close.svg @@ -1,5 +1,11 @@ - - - + + + Icon/Close + + + + + + - + \ No newline at end of file diff --git a/website/client/src/components/group-plans/createGroupModalPages.vue b/website/client/src/components/group-plans/createGroupModalPages.vue index 2b314834ad..b354f6ac63 100644 --- a/website/client/src/components/group-plans/createGroupModalPages.vue +++ b/website/client/src/components/group-plans/createGroupModalPages.vue @@ -122,6 +122,11 @@ font-weight: bold; } + .custom-control-input { + z-index: -1; + opacity: 0; + } + .box:hover { cursor: pointer; opacity: 0.7; diff --git a/website/client/src/components/header/menu.vue b/website/client/src/components/header/menu.vue index d77c6f8e0d..fbfdaed141 100644 --- a/website/client/src/components/header/menu.vue +++ b/website/client/src/components/header/menu.vue @@ -3,7 +3,7 @@ - +
+

{{ $t('choosePaymentMethod') }}