From 0e7d53b5829be738f6765cef4bc1c3d96ead987c Mon Sep 17 00:00:00 2001 From: efim Date: Sat, 15 Jul 2023 20:19:54 +0000 Subject: [PATCH] feat(15): stylings of steps 1-3 and mobile styling of step 4 --- .../src/main/resources/public/out.css | 411 ++++++++++++++++++ .../src/main/resources/templates/step1.html | 8 +- .../src/main/resources/templates/step2.html | 26 +- .../src/main/resources/templates/step3.html | 24 +- .../src/main/resources/templates/step4.html | 26 +- .../src/main/scala/multistepform/Models.scala | 14 +- 6 files changed, 469 insertions(+), 40 deletions(-) diff --git a/15-multi-step-form/src/main/resources/public/out.css b/15-multi-step-form/src/main/resources/public/out.css index 4773b55..f06f286 100644 --- a/15-multi-step-form/src/main/resources/public/out.css +++ b/15-multi-step-form/src/main/resources/public/out.css @@ -556,6 +556,14 @@ video { top: 0px; } +.z-20 { + z-index: 20; +} + +.z-40 { + z-index: 40; +} + .col-start-2 { grid-column-start: 2; } @@ -568,11 +576,40 @@ video { grid-row-start: 1; } +.m-3 { + margin: 0.75rem; +} + .my-7 { margin-top: 1.75rem; margin-bottom: 1.75rem; } +.my-3 { + margin-top: 0.75rem; + margin-bottom: 0.75rem; +} + +.mx-3 { + margin-left: 0.75rem; + margin-right: 0.75rem; +} + +.mx-9 { + margin-left: 2.25rem; + margin-right: 2.25rem; +} + +.my-4 { + margin-top: 1rem; + margin-bottom: 1rem; +} + +.my-5 { + margin-top: 1.25rem; + margin-bottom: 1.25rem; +} + .-mt-20 { margin-top: -5rem; } @@ -605,6 +642,38 @@ video { margin-top: 0.3rem; } +.mt-3 { + margin-top: 0.75rem; +} + +.mb-4 { + margin-bottom: 1rem; +} + +.mt-2 { + margin-top: 0.5rem; +} + +.ml-16 { + margin-left: 4rem; +} + +.mb-10 { + margin-bottom: 2.5rem; +} + +.mb-3 { + margin-bottom: 0.75rem; +} + +.mt-4 { + margin-top: 1rem; +} + +.mt-5 { + margin-top: 1.25rem; +} + .flex { display: flex; } @@ -665,6 +734,10 @@ video { height: 100vh; } +.h-16 { + height: 4rem; +} + .w-11\/12 { width: 91.666667%; } @@ -731,6 +804,14 @@ video { grid-template-columns: 1fr auto; } +.grid-cols-\[1fr_50px\] { + grid-template-columns: 1fr 50px; +} + +.grid-cols-\[1fr_70px\] { + grid-template-columns: 1fr 70px; +} + .flex-row { flex-direction: row; } @@ -755,6 +836,10 @@ video { align-items: center; } +.justify-items-center { + justify-items: center; +} + .gap-x-5 { -moz-column-gap: 1.25rem; column-gap: 1.25rem; @@ -764,12 +849,24 @@ video { row-gap: 1rem; } +.gap-y-3 { + row-gap: 0.75rem; +} + .divide-y > :not([hidden]) ~ :not([hidden]) { --tw-divide-y-reverse: 0; border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); } +.place-self-center { + place-self: center; +} + +.self-end { + align-self: flex-end; +} + .self-center { align-self: center; } @@ -804,6 +901,11 @@ video { border-color: rgb(255 255 255 / var(--tw-border-opacity)); } +.border-light-gray { + --tw-border-opacity: 1; + border-color: hsl(229 24% 87% / var(--tw-border-opacity)); +} + .bg-green-200 { --tw-bg-opacity: 1; background-color: rgb(187 247 208 / var(--tw-bg-opacity)); @@ -844,10 +946,35 @@ video { background-color: hsl(206 94% 87% / var(--tw-bg-opacity)) !important; } +.bg-light-gray { + --tw-bg-opacity: 1; + background-color: hsl(229 24% 87% / var(--tw-bg-opacity)); +} + +.bg-light-gray\/50 { + background-color: hsl(229 24% 87% / 0.5); +} + +.bg-light-gray\/25 { + background-color: hsl(229 24% 87% / 0.25); +} + +.bg-magnolia\/75 { + background-color: hsl(217 100% 97% / 0.75); +} + .bg-sidebar-mobile { background-image: url("images/bg-sidebar-mobile.svg"); } +.bg-auto { + background-size: auto; +} + +.bg-cover { + background-size: cover; +} + .bg-no-repeat { background-repeat: no-repeat; } @@ -860,6 +987,10 @@ video { padding: 0.25rem; } +.p-3 { + padding: 0.75rem; +} + .px-4 { padding-left: 1rem; padding-right: 1rem; @@ -890,6 +1021,11 @@ video { padding-bottom: 2rem; } +.px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; +} + .pl-6 { padding-left: 1.5rem; } @@ -898,6 +1034,18 @@ video { padding-top: 0.75rem; } +.pl-4 { + padding-left: 1rem; +} + +.pl-5 { + padding-left: 1.25rem; +} + +.pb-5 { + padding-bottom: 1.25rem; +} + .text-center { text-align: center; } @@ -917,6 +1065,11 @@ video { line-height: 1.25rem; } +.text-xs { + font-size: 0.75rem; + line-height: 1rem; +} + .font-bold { font-weight: 700; } @@ -959,6 +1112,45 @@ video { color: hsl(213 96% 18% / var(--tw-text-opacity)) !important; } +.text-purplish-blue { + --tw-text-opacity: 1; + color: hsl(243 100% 62% / var(--tw-text-opacity)); +} + +.text-magnolia { + --tw-text-opacity: 1; + color: hsl(217 100% 97% / var(--tw-text-opacity)); +} + +.text-alabaster { + --tw-text-opacity: 1; + color: hsl(231 100% 99% / var(--tw-text-opacity)); +} + +.underline { + text-decoration-line: underline; +} + +.accent-green-500 { + accent-color: #22c55e; +} + +.accent-marine-blue { + accent-color: hsl(213, 96%, 18%); +} + +.accent-pastel-blue { + accent-color: hsl(228, 100%, 84%); +} + +.accent-light-blue { + accent-color: hsl(206, 94%, 87%); +} + +.accent-purplish-blue { + accent-color: hsl(243, 100%, 62%); +} + .drop-shadow-xl { --tw-drop-shadow: drop-shadow(0 20px 13px rgb(0 0 0 / 0.03)) drop-shadow(0 8px 5px rgb(0 0 0 / 0.08)); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); @@ -1078,15 +1270,105 @@ html { transition-duration: 150ms; } +.checked\:bg-marine-blue:checked { + --tw-bg-opacity: 1; + background-color: hsl(213 96% 18% / var(--tw-bg-opacity)); +} + +.checked\:bg-blue-500:checked { + --tw-bg-opacity: 1; + background-color: rgb(59 130 246 / var(--tw-bg-opacity)); +} + .checked\:after\:ml-\[1\.2rem\]:checked::after { content: var(--tw-content); margin-left: 1.2rem; } +.invalid\:border-strawberry-red:invalid { + --tw-border-opacity: 1; + border-color: hsl(354 84% 57% / var(--tw-border-opacity)); +} + +.invalid\:border-red-500:invalid { + --tw-border-opacity: 1; + border-color: rgb(239 68 68 / var(--tw-border-opacity)); +} + +.invalid\:border-green-500:invalid { + --tw-border-opacity: 1; + border-color: rgb(34 197 94 / var(--tw-border-opacity)); +} + .hover\:cursor-pointer:hover { cursor: pointer; } +.hover\:border-purplish-blue:hover { + --tw-border-opacity: 1; + border-color: hsl(243 100% 62% / var(--tw-border-opacity)); +} + +.hover\:border-green-700:hover { + --tw-border-opacity: 1; + border-color: rgb(21 128 61 / var(--tw-border-opacity)); +} + +.hover\:border-red-700:hover { + --tw-border-opacity: 1; + border-color: rgb(185 28 28 / var(--tw-border-opacity)); +} + +.hover\:bg-magnolia\/25:hover { + background-color: hsl(217 100% 97% / 0.25); +} + +.hover\:bg-magnolia\/\[10\]:hover { + background-color: hsl(217 100% 97% / 10); +} + +.hover\:bg-magnolia\/\[\.1\]:hover { + background-color: hsl(217 100% 97% / .1); +} + +.hover\:bg-red-700:hover { + --tw-bg-opacity: 1; + background-color: rgb(185 28 28 / var(--tw-bg-opacity)); +} + +.focus\:border-green-500:focus { + --tw-border-opacity: 1; + border-color: rgb(34 197 94 / var(--tw-border-opacity)); +} + +.focus\:border-marine-blue:focus { + --tw-border-opacity: 1; + border-color: hsl(213 96% 18% / var(--tw-border-opacity)); +} + +.focus\:outline-none:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.focus\:outline-marine-blue:focus { + outline-color: hsl(213, 96%, 18%); +} + +.focus\:outline-green-500:focus { + outline-color: #22c55e; +} + +.active\:border-red-500:active { + --tw-border-opacity: 1; + border-color: rgb(239 68 68 / var(--tw-border-opacity)); +} + +.active\:bg-red-500:active { + --tw-bg-opacity: 1; + background-color: rgb(239 68 68 / var(--tw-bg-opacity)); +} + .peer:checked ~ .peer-checked\:border-purplish-blue { --tw-border-opacity: 1; border-color: hsl(243 100% 62% / var(--tw-border-opacity)); @@ -1101,6 +1383,18 @@ html { background-color: hsl(217 100% 97% / 0.5); } +.peer:checked ~ .peer-checked\:bg-magnolia\/75 { + background-color: hsl(217 100% 97% / 0.75); +} + +.peer:checked ~ .peer-checked\:bg-magnolia\/25 { + background-color: hsl(217 100% 97% / 0.25); +} + +.peer:checked ~ .peer-checked\:bg-magnolia\/\[\.1\] { + background-color: hsl(217 100% 97% / .1); +} + .peer:checked ~ .peer-checked\:text-cool-gray { --tw-text-opacity: 1; color: hsl(231 11% 63% / var(--tw-text-opacity)); @@ -1116,6 +1410,30 @@ html { grid-row: span 2 / span 2; } + .md\:row-span-1 { + grid-row: span 1 / span 1; + } + + .md\:mx-10 { + margin-left: 2.5rem; + margin-right: 2.5rem; + } + + .md\:mx-4 { + margin-left: 1rem; + margin-right: 1rem; + } + + .md\:my-10 { + margin-top: 2.5rem; + margin-bottom: 2.5rem; + } + + .md\:my-7 { + margin-top: 1.75rem; + margin-bottom: 1.75rem; + } + .md\:ml-20 { margin-left: 5rem; } @@ -1128,6 +1446,22 @@ html { margin-top: 0px; } + .md\:ml-8 { + margin-left: 2rem; + } + + .md\:ml-10 { + margin-left: 2.5rem; + } + + .md\:ml-24 { + margin-left: 6rem; + } + + .md\:mt-5 { + margin-top: 1.25rem; + } + .md\:flex { display: flex; } @@ -1156,6 +1490,30 @@ html { height: 100%; } + .md\:h-32 { + height: 8rem; + } + + .md\:h-40 { + height: 10rem; + } + + .md\:h-10 { + height: 2.5rem; + } + + .md\:h-16 { + height: 4rem; + } + + .md\:h-20 { + height: 5rem; + } + + .md\:h-24 { + height: 6rem; + } + .md\:w-32 { width: 8rem; } @@ -1172,6 +1530,10 @@ html { width: 100%; } + .md\:grow { + flex-grow: 1; + } + .md\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); } @@ -1184,6 +1546,10 @@ html { grid-template-rows: repeat(4, auto); } + .md\:grid-rows-\[1fr_auto_auto\] { + grid-template-rows: 1fr auto auto; + } + .md\:flex-row { flex-direction: row; } @@ -1204,6 +1570,10 @@ html { align-items: flex-end; } + .md\:justify-between { + justify-content: space-between; + } + .md\:gap-x-4 { -moz-column-gap: 1rem; column-gap: 1rem; @@ -1213,6 +1583,14 @@ html { row-gap: 1.75rem; } + .md\:gap-y-4 { + row-gap: 1rem; + } + + .md\:place-self-start { + place-self: start; + } + .md\:rounded-2xl { border-radius: 1rem; } @@ -1242,6 +1620,10 @@ html { padding: 1.5rem; } + .md\:p-4 { + padding: 1rem; + } + .md\:px-24 { padding-left: 6rem; padding-right: 6rem; @@ -1252,6 +1634,16 @@ html { padding-right: 1rem; } + .md\:py-4 { + padding-top: 1rem; + padding-bottom: 1rem; + } + + .md\:px-0 { + padding-left: 0px; + padding-right: 0px; + } + .md\:pb-2 { padding-bottom: 0.5rem; } @@ -1264,6 +1656,10 @@ html { padding-top: 1.25rem; } + .md\:pb-10 { + padding-bottom: 2.5rem; + } + .md\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; @@ -1274,6 +1670,21 @@ html { line-height: 1.5rem; } + .md\:text-2xl { + font-size: 1.5rem; + line-height: 2rem; + } + + .md\:text-6xl { + font-size: 3.75rem; + line-height: 1; + } + + .md\:text-3xl { + font-size: 1.875rem; + line-height: 2.25rem; + } + .md\:drop-shadow-2xl { --tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / 0.15)); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); diff --git a/15-multi-step-form/src/main/resources/templates/step1.html b/15-multi-step-form/src/main/resources/templates/step1.html index c409462..d152004 100644 --- a/15-multi-step-form/src/main/resources/templates/step1.html +++ b/15-multi-step-form/src/main/resources/templates/step1.html @@ -45,7 +45,7 @@ method="post" > @@ -136,7 +136,7 @@ type="text" required placeholder="e.g. Stephen King" - class="p-1 px-4 h-10 text-sm font-semibold rounded border md:p-6 md:px-4 md:text-base md:rounded-lg placeholder:text-cool-gray" + class="p-1 px-4 h-10 text-sm font-semibold rounded border md:p-6 md:px-4 md:text-base md:rounded-lg focus:outline-none placeholder:text-cool-gray invalid:border-strawberry-red focus:border-marine-blue" /> diff --git a/15-multi-step-form/src/main/resources/templates/step2.html b/15-multi-step-form/src/main/resources/templates/step2.html index 60e0b5b..f8ba64a 100644 --- a/15-multi-step-form/src/main/resources/templates/step2.html +++ b/15-multi-step-form/src/main/resources/templates/step2.html @@ -107,17 +107,17 @@

Select your plan

-

+

You have the option of monthly or yearly billing.

@@ -183,19 +188,20 @@
+

Pro

Go Back
diff --git a/15-multi-step-form/src/main/resources/templates/step3.html b/15-multi-step-form/src/main/resources/templates/step3.html index 2b95520..d89e101 100644 --- a/15-multi-step-form/src/main/resources/templates/step3.html +++ b/15-multi-step-form/src/main/resources/templates/step3.html @@ -107,15 +107,15 @@

Pick add-ons

-

+

Add-ons help enhance your gaming experience.

-
+