feat: review backend and frontend
- update to the latest version of Java/SpringBoot - update to the latest version NuxtJS - add account/password update - add account creation - add account password reset - add bundle to regroup questions and add default questions on user creation - add bundle creation
This commit is contained in:
		| @@ -9,4 +9,11 @@ $orange_hover: #DC6A00; | ||||
| $gray_1: #F6F6F6; | ||||
| $gray_2: #E8E8E8; | ||||
| $gray_3: #9B9B9B; | ||||
| $gray_4: #666666; | ||||
| $gray_4: #666666; | ||||
|  | ||||
| $info_text: $gray_4; | ||||
| $info_background: $gray_1; | ||||
| $warn_text: #FFFFFF; | ||||
| $warn_background: #f44336; | ||||
| $success_text: #eafbf6; | ||||
| $success_background: #2ed6a0; | ||||
|   | ||||
| @@ -1,3 +1,8 @@ | ||||
| @import "_color"; | ||||
| @import "_font"; | ||||
| @import "_spacing"; | ||||
| @mixin border-shadow() { | ||||
|   box-shadow: inset 0 0 0.5px 1px hsla(0, 0%, | ||||
|     100%, 0.075), | ||||
|   0 0 0 1px hsla(0, 0%, 0%, 0.05), | ||||
|   0 0.3px 0.4px hsla(0, 0%, 0%, 0.02), | ||||
|   0 0.9px 1.5px hsla(0, 0%, 0%, 0.045), | ||||
|   0 3.5px 6px hsla(0, 0%, 0%, 0.09); | ||||
| } | ||||
|   | ||||
							
								
								
									
										86
									
								
								frontend/assets/css/_modal.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								frontend/assets/css/_modal.scss
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,86 @@ | ||||
| @import "main"; | ||||
|  | ||||
| .modal { | ||||
|   position: fixed; | ||||
|   display: flex; | ||||
|   justify-content: center; | ||||
|   align-items: end; | ||||
|   visibility: hidden; | ||||
|   inset: 0; | ||||
|   z-index: 1040; | ||||
|   @media only screen and (min-width: $breakpoint) { | ||||
|     align-items: center; | ||||
|   } | ||||
|  | ||||
|   &.visible { | ||||
|     visibility: visible; | ||||
|   } | ||||
|  | ||||
|   &-content { | ||||
|     display: flex; | ||||
|     flex-direction: column; | ||||
|     gap: 24px; | ||||
|  | ||||
|     background: $white; | ||||
|     position: relative; | ||||
|  | ||||
|     margin: 0; | ||||
|     padding: 64px 24px; | ||||
|     height: 90%; | ||||
|     width: 100%; | ||||
|  | ||||
|     @media only screen and (min-width: $breakpoint) { | ||||
|       border-radius: 8px; | ||||
|       padding: 64px; | ||||
|       margin: 32px; | ||||
|       max-width: $breakpoint; | ||||
|       height: 80%; | ||||
|     } | ||||
|  | ||||
|     &-header { | ||||
|       margin-block-end: 8px; | ||||
|  | ||||
|       h1 { | ||||
|         margin: 0 0 $xx_small 0; | ||||
|       } | ||||
|  | ||||
|       .close_modal { | ||||
|         position: absolute; | ||||
|         right: 0; | ||||
|         top: 0; | ||||
|         display: flex; | ||||
|         justify-content: space-between; | ||||
|         align-items: center; | ||||
|         gap: 16px; | ||||
|         border: 0; | ||||
|         cursor: pointer; | ||||
|         background: none; | ||||
|         font-size: 1rem; | ||||
|         padding: 20px; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     &-body { | ||||
|       display: flex; | ||||
|       flex-direction: column; | ||||
|       gap: $xxx_small; | ||||
|       overflow: auto; | ||||
|       overflow-x: hidden; | ||||
|     } | ||||
|  | ||||
|     &-footer { | ||||
|       display: flex; | ||||
|       gap: $xxx_small; | ||||
|       .button:not(.button-back) { | ||||
|         flex: 1; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   &-overlay { | ||||
|     position: absolute; | ||||
|     inset: 0; | ||||
|     background-color: rgba($color: #000000, $alpha: 0.25); | ||||
|     z-index: -1; | ||||
|   } | ||||
| } | ||||
| @@ -1,62 +0,0 @@ | ||||
| @import "_font"; | ||||
|  | ||||
| %flex-center { | ||||
|   display: flex; | ||||
|   justify-content: center; | ||||
|   align-items: center; | ||||
| } | ||||
|  | ||||
| %main-text { | ||||
|   font-size: $main-font-size; | ||||
|   font-style: normal; | ||||
|   font-weight: 400; | ||||
|   line-height: 2.1rem; | ||||
|   letter-spacing: 0; | ||||
| } | ||||
|  | ||||
| %main-text-2 { | ||||
|   font-size: $main-font-size; | ||||
|   font-style: normal; | ||||
|   font-weight: 400; | ||||
|   line-height: 1.8rem; | ||||
|   letter-spacing: 0; | ||||
| } | ||||
|  | ||||
| %secondary-text { | ||||
|   font-size: $secondary-font-size; | ||||
|   font-style: normal; | ||||
|   font-weight: 400; | ||||
|   line-height: 1.625rem; | ||||
|   letter-spacing: 0; | ||||
| } | ||||
|  | ||||
| %secondary-text-bold { | ||||
|   @extend %secondary-text; | ||||
|   font-weight: 700; | ||||
| } | ||||
|  | ||||
| %tertiary-text { | ||||
|   font-size: $tertiary-font-size; | ||||
|   font-style: normal; | ||||
|   font-weight: 400; | ||||
|   line-height: 1.625rem; | ||||
|   letter-spacing: 0; | ||||
| } | ||||
|  | ||||
| %tertiary-text-bold { | ||||
|   @extend %tertiary-text; | ||||
|   font-weight: bold; | ||||
| } | ||||
|  | ||||
| %main-text-bold { | ||||
|   @extend %main-text; | ||||
|   font-weight: 700; | ||||
| } | ||||
|  | ||||
| %main-text-small { | ||||
|   font-size: $small-font-size; | ||||
|   font-style: normal; | ||||
|   font-weight: 400; | ||||
|   line-height: 1.425rem; | ||||
|   letter-spacing: 0; | ||||
| } | ||||
| @@ -1,16 +1,19 @@ | ||||
| $page_width: 1200px; | ||||
| $content_width: 920px; | ||||
| $header_height: 78px; | ||||
| $footer_height: 220px; | ||||
|  | ||||
| $max_z_index: 999; | ||||
|  | ||||
| $xxx_small: .5rem; | ||||
| $xx_small: .75rem; | ||||
| $x_small: 1.5rem; | ||||
| $small: 2rem; | ||||
| $medium: 3rem; | ||||
| $x_medium: 3.75rem; | ||||
| $xx_medium: 5rem; | ||||
| $large: 7.5rem; | ||||
| $x_large: 11.875rem; | ||||
| $xx_large: 16.25rem; | ||||
| $xxxx_small: 4px; | ||||
| $xxx_small: 8px; | ||||
| $xx_small: 12px; | ||||
| $x_small: 16px; | ||||
| $small: 24px; | ||||
| $medium: 32px; | ||||
| $x_medium: 48px; | ||||
| $xx_medium: 60px; | ||||
| $xxx_medium: 80px; | ||||
| $large: 120px; | ||||
| $x_large: 190px; | ||||
| $xx_large: 260px; | ||||
|   | ||||
| @@ -1,45 +1,60 @@ | ||||
| @import "_color"; | ||||
| @import "_font"; | ||||
| @import "_placeholders"; | ||||
| @import "_mixin"; | ||||
| @import "_spacing"; | ||||
|  | ||||
| $breakpoint: 1024px; | ||||
|  | ||||
| * { | ||||
| *, | ||||
| ::after, | ||||
| ::before { | ||||
|   box-sizing: border-box; | ||||
|   margin: 0; | ||||
|   padding: 0; | ||||
|   box-sizing: border-box; | ||||
| } | ||||
|  | ||||
| html { | ||||
|   font-family: $font-primary; | ||||
|   background: $white; | ||||
|   color: $gray_4; | ||||
| body { | ||||
|   scroll-behavior: smooth; | ||||
|   overflow-x: hidden; | ||||
|   color: $gray_4; | ||||
|   font-family: $font-primary; | ||||
|   background: $white; //  #ededf0 | ||||
| } | ||||
|  | ||||
| a { | ||||
|   color: $light_blue; | ||||
|   text-decoration: none; | ||||
|   &:hover { | ||||
|     text-decoration: underline; | ||||
| .main-content { | ||||
|   min-height: calc(100vh - $footer_height - $header_height); | ||||
|   max-width: $content_width; | ||||
|   margin: 0 auto; | ||||
|  | ||||
|   @media only screen and (max-width: $breakpoint) { | ||||
|     margin: 0 $small; | ||||
|   } | ||||
| } | ||||
|  | ||||
| a, .button-link { | ||||
|   color: $gray_4; | ||||
|   font-size: 1rem; | ||||
|   font-weight: 500; | ||||
|   text-decoration: underline; | ||||
|   &:hover { | ||||
|     text-decoration: none; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .button-link { | ||||
|   font-family: $font-primary; | ||||
|   border: none; | ||||
|   background: none; | ||||
|   cursor: pointer; | ||||
| } | ||||
|  | ||||
| ul, ol { | ||||
|   margin: $xx_small $small; | ||||
|   margin: 0; | ||||
| } | ||||
|  | ||||
| h1 { | ||||
|   font-size: 1.75rem; | ||||
|   line-height: 2.125rem; | ||||
|   margin: $medium 0 $small 0; | ||||
|   margin: $medium 0; | ||||
|   color: $black; | ||||
|   text-align: center; | ||||
|  | ||||
|   @media only screen and (max-width: $breakpoint) { | ||||
|     margin: $xx_small; | ||||
|     margin: $xx_small 0; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @@ -48,7 +63,7 @@ h2 { | ||||
|   font-size: 2rem; | ||||
|   line-height: 2.75rem; | ||||
|   letter-spacing: -0.02em; | ||||
|   margin: $x-medium 0 $medium 0; | ||||
|   margin: $xx_medium 0 $x_medium 0; | ||||
|  | ||||
|   @media only screen and (max-width: $breakpoint) { | ||||
|     margin: $xx_small; | ||||
| @@ -60,7 +75,7 @@ h3 { | ||||
|   font-weight: bold; | ||||
|   font-size: 1.75rem; | ||||
|   line-height: 2rem; | ||||
|   margin: $small 0; | ||||
|   margin: $medium 0; | ||||
| } | ||||
|  | ||||
| p + p { margin-top: 1.5rem } | ||||
| @@ -70,17 +85,27 @@ hr { | ||||
|   margin: $xxx_small 0; | ||||
| } | ||||
|  | ||||
| .form { | ||||
|   display: flex; | ||||
|   flex-direction: column; | ||||
|   gap: $xxx_small; | ||||
|   margin-block: $medium; | ||||
|  | ||||
|   &__help { | ||||
|     margin-block: $medium $small; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .bold { | ||||
|   font-weight: bold; | ||||
| } | ||||
|  | ||||
| .button { | ||||
|   display: flex; | ||||
|   flex-direction: column; | ||||
|   justify-content: center; | ||||
|   align-items: center; | ||||
|   text-decoration: none; | ||||
|   padding: 0 32px; | ||||
|   line-height: 60px; | ||||
|   padding: $x_small $small; | ||||
|   color: $white; | ||||
|   border-radius: 100px; | ||||
|   border: none; | ||||
| @@ -94,7 +119,18 @@ hr { | ||||
| } | ||||
|  | ||||
| .button-container { | ||||
|   margin: $medium 0; | ||||
|   display: flex; | ||||
|   justify-content: center; | ||||
|   gap: $xx_small; | ||||
|   margin: $x_medium 0; | ||||
|  | ||||
|   .button { | ||||
|     flex: 1; | ||||
|   } | ||||
|  | ||||
|   .button-back { | ||||
|     flex: 0; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .button.orange:hover:not(:disabled) { | ||||
| @@ -126,16 +162,33 @@ hr { | ||||
|   cursor: default; | ||||
| } | ||||
|  | ||||
| .button-icon { | ||||
|   border: none; | ||||
|   background: none; | ||||
|   cursor: pointer; | ||||
|   padding: $xxx_small; | ||||
|   font-size: 1.5rem; | ||||
|   line-height: 24px; | ||||
|   border-radius: $xxx_small; | ||||
|  | ||||
|   &:hover, &:active { | ||||
|     background: $gray_1; | ||||
|  | ||||
|   } | ||||
| } | ||||
|  | ||||
| input[type=text], | ||||
| input[type=email], | ||||
| input[type=password] { | ||||
|   background: $gray_1; | ||||
|   border: 1px solid $gray_2; | ||||
|   border-radius: 100px; | ||||
|   line-height: 50px; | ||||
|   padding: 0 $x_small; | ||||
|   padding: 0 $small; | ||||
| } | ||||
|  | ||||
| input[type=text]::placeholder, | ||||
| input[type=email]::placeholder, | ||||
| input[type=password]::placeholder { | ||||
|   color: $gray_3; | ||||
| } | ||||
| @@ -150,41 +203,3 @@ input[type=password]::placeholder { | ||||
| .text-center { | ||||
|   text-align: center; | ||||
| } | ||||
|  | ||||
| .content { | ||||
|   max-width: none; | ||||
|   display: grid; | ||||
|   grid-template-columns: [fullWidth-start] 1rem | ||||
|                            [left-start]      1fr | ||||
|                            [article-start right-start] minmax(20ch, $content_width) | ||||
|                            [article-end left-end] 1fr | ||||
|                            [right-end] 1rem [fullWidth-end]; | ||||
| } | ||||
| .content > * { | ||||
|   grid-column: article; | ||||
| } | ||||
|  | ||||
| .full-width { | ||||
|   grid-template-columns: minmax(20ch, $content_width); | ||||
|   justify-content: center; | ||||
|   grid-column: fullWidth; | ||||
|   display: grid; | ||||
|   padding: $small; | ||||
| } | ||||
|  | ||||
| @supports (grid-template-columns: subgrid) { | ||||
|   .full-width { | ||||
|     grid-template-columns: subgrid; | ||||
|     padding: 0; | ||||
|   } | ||||
|   .full-width-center { | ||||
|     grid-column: article; | ||||
|   } | ||||
|   .full-width-right { | ||||
|     grid-column: right; | ||||
|     text-align: right; | ||||
|   } | ||||
|   .full-width-left { | ||||
|     grid-column: left; | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user