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 @@
-
\ 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 @@
-
+