From ae33d7e72a1d1d2abfca196848d4cb074db82ca2 Mon Sep 17 00:00:00 2001
From: efim
Date: Sun, 24 Sep 2023 19:58:05 +0000
Subject: [PATCH] feat: index page for desktop
---
.../src/main/resources/public/output.css | 388 +++++++++---------
.../src/main/resources/templates/index.html | 39 +-
.../src/main/scala/example/Routes.scala | 34 +-
3 files changed, 247 insertions(+), 214 deletions(-)
diff --git a/16-countries-page-from-api/src/main/resources/public/output.css b/16-countries-page-from-api/src/main/resources/public/output.css
index 27007a9..62cab85 100644
--- a/16-countries-page-from-api/src/main/resources/public/output.css
+++ b/16-countries-page-from-api/src/main/resources/public/output.css
@@ -522,9 +522,9 @@ video {
--tw-backdrop-sepia: ;
}
-.my-8 {
- margin-top: 2rem;
- margin-bottom: 2rem;
+.mx-5 {
+ margin-left: 1.25rem;
+ margin-right: 1.25rem;
}
.my-4 {
@@ -532,19 +532,8 @@ video {
margin-bottom: 1rem;
}
-.mx-4 {
- margin-left: 1rem;
- margin-right: 1rem;
-}
-
-.mx-5 {
- margin-left: 1.25rem;
- margin-right: 1.25rem;
-}
-
-.mx-2 {
- margin-left: 0.5rem;
- margin-right: 0.5rem;
+.-mb-4 {
+ margin-bottom: -1rem;
}
.mr-2 {
@@ -555,10 +544,6 @@ video {
margin-top: 0.25rem;
}
-.-mb-4 {
- margin-bottom: -1rem;
-}
-
.block {
display: block;
}
@@ -583,56 +568,37 @@ video {
height: 5rem;
}
-.h-48 {
- height: 12rem;
-}
-
-.h-\[375px\] {
- height: 375px;
-}
-
-.h-\[350px\] {
- height: 350px;
-}
-
.h-32 {
height: 8rem;
}
-.h-28 {
- height: 7rem;
+.h-48 {
+ height: 12rem;
}
-.h-36 {
- height: 9rem;
-}
-
-.h-52 {
- height: 13rem;
-}
-
-.h-56 {
- height: 14rem;
+.h-5 {
+ height: 1.25rem;
}
.h-60 {
height: 15rem;
}
-.h-10 {
- height: 2.5rem;
-}
-
-.h-8 {
- height: 2rem;
-}
-
.h-9 {
height: 2.25rem;
}
-.h-5 {
- height: 1.25rem;
+.h-\[350px\] {
+ height: 350px;
+}
+
+.h-max {
+ height: -moz-max-content;
+ height: max-content;
+}
+
+.h-full {
+ height: 100%;
}
.max-h-60 {
@@ -643,20 +609,8 @@ video {
width: 4rem;
}
-.w-64 {
- width: 16rem;
-}
-
-.w-\[275px\] {
- width: 275px;
-}
-
-.w-full {
- width: 100%;
-}
-
-.w-20 {
- width: 5rem;
+.w-28 {
+ width: 7rem;
}
.w-4 {
@@ -667,34 +621,51 @@ video {
width: 1.5rem;
}
-.w-9 {
- width: 2.25rem;
+.w-64 {
+ width: 16rem;
}
-.w-10 {
- width: 2.5rem;
+.w-\[275px\] {
+ width: 275px;
}
-.w-8 {
- width: 2rem;
+.w-screen {
+ width: 100vw;
}
-.w-36 {
- width: 9rem;
+.w-max {
+ width: -moz-max-content;
+ width: max-content;
}
-.w-32 {
- width: 8rem;
+.max-w-screen-sm {
+ max-width: 640px;
}
-.w-28 {
- width: 7rem;
+.max-w-screen-md {
+ max-width: 768px;
+}
+
+.max-w-screen-lg {
+ max-width: 1024px;
+}
+
+.max-w-screen-xl {
+ max-width: 1280px;
+}
+
+.flex-1 {
+ flex: 1 1 0%;
}
.flex-grow {
flex-grow: 1;
}
+.grow {
+ flex-grow: 1;
+}
+
.appearance-none {
-webkit-appearance: none;
-moz-appearance: none;
@@ -721,6 +692,10 @@ video {
align-items: center;
}
+.justify-center {
+ justify-content: center;
+}
+
.justify-between {
justify-content: space-between;
}
@@ -729,10 +704,6 @@ video {
justify-content: space-around;
}
-.gap-8 {
- gap: 2rem;
-}
-
.gap-10 {
gap: 2.5rem;
}
@@ -741,51 +712,30 @@ video {
gap: 0.5rem;
}
-.gap-y-8 {
- row-gap: 2rem;
-}
-
-.gap-y-9 {
- row-gap: 2.25rem;
-}
-
-.gap-y-10 {
- row-gap: 2.5rem;
-}
-
.gap-x-2 {
-moz-column-gap: 0.5rem;
column-gap: 0.5rem;
}
-.gap-y-2 {
- row-gap: 0.5rem;
-}
-
-.gap-y-6 {
- row-gap: 1.5rem;
-}
-
-.gap-x-6 {
- -moz-column-gap: 1.5rem;
- column-gap: 1.5rem;
-}
-
.gap-x-3 {
-moz-column-gap: 0.75rem;
column-gap: 0.75rem;
}
+.gap-y-10 {
+ row-gap: 2.5rem;
+}
+
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
--tw-space-y-reverse: 0;
margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
-.space-y-5 > :not([hidden]) ~ :not([hidden]) {
+.space-y-2 > :not([hidden]) ~ :not([hidden]) {
--tw-space-y-reverse: 0;
- margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
- margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
+ margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
+ margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
@@ -794,10 +744,8 @@ video {
margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
-.space-y-2 > :not([hidden]) ~ :not([hidden]) {
- --tw-space-y-reverse: 0;
- margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
- margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
+.rounded {
+ border-radius: 0.25rem;
}
.rounded-lg {
@@ -808,10 +756,6 @@ video {
border-radius: 0.375rem;
}
-.rounded {
- border-radius: 0.25rem;
-}
-
.rounded-t-lg {
border-top-left-radius: 0.5rem;
border-top-right-radius: 0.5rem;
@@ -831,16 +775,6 @@ video {
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
-.bg-blue-400 {
- --tw-bg-opacity: 1;
- background-color: rgb(96 165 250 / var(--tw-bg-opacity));
-}
-
-.bg-red-300 {
- --tw-bg-opacity: 1;
- background-color: rgb(252 165 165 / var(--tw-bg-opacity));
-}
-
.p-8 {
padding: 2rem;
}
@@ -850,9 +784,9 @@ video {
padding-right: 1rem;
}
-.px-8 {
- padding-left: 2rem;
- padding-right: 2rem;
+.px-5 {
+ padding-left: 1.25rem;
+ padding-right: 1.25rem;
}
.px-6 {
@@ -860,29 +794,28 @@ video {
padding-right: 1.5rem;
}
+.px-7 {
+ padding-left: 1.75rem;
+ padding-right: 1.75rem;
+}
+
+.px-8 {
+ padding-left: 2rem;
+ padding-right: 2rem;
+}
+
.py-10 {
padding-top: 2.5rem;
padding-bottom: 2.5rem;
}
-.py-3 {
- padding-top: 0.75rem;
- padding-bottom: 0.75rem;
-}
-
.py-2 {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
}
-.px-5 {
- padding-left: 1.25rem;
- padding-right: 1.25rem;
-}
-
-.px-7 {
- padding-left: 1.75rem;
- padding-right: 1.75rem;
+.pb-10 {
+ padding-bottom: 2.5rem;
}
.pb-8 {
@@ -893,10 +826,6 @@ video {
padding-top: 0.5rem;
}
-.pb-10 {
- padding-bottom: 2.5rem;
-}
-
.text-center {
text-align: center;
}
@@ -906,11 +835,6 @@ video {
line-height: 2rem;
}
-.text-3xl {
- font-size: 1.875rem;
- line-height: 2.25rem;
-}
-
.text-lg {
font-size: 1.125rem;
line-height: 1.75rem;
@@ -920,12 +844,6 @@ video {
font-weight: 700;
}
-.shadow {
- --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
- --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
.shadow-lg {
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
@@ -944,47 +862,11 @@ video {
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
-.shadow-xl {
- --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
- --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-.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);
-}
-
-.drop-shadow-\[0_0_15px_rgba\(0\2c 0\2c 0\2c 0\.25\)\] {
- --tw-drop-shadow: drop-shadow(0 0 15px rgba(0,0,0,0.25));
- 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);
-}
-
-.drop-shadow-\[0_0_25px_rgba\(0\2c 0\2c 0\2c 0\.25\)\] {
- --tw-drop-shadow: drop-shadow(0 0 25px rgba(0,0,0,0.25));
- 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);
-}
-
.drop-shadow {
--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
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);
}
-.drop-shadow-\[0_0_15px_rgba\(0\2c 0\2c 0\2c 0\.75\)\] {
- --tw-drop-shadow: drop-shadow(0 0 15px rgba(0,0,0,0.75));
- 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);
-}
-
-.drop-shadow-\[0_0_5px_rgba\(0\2c 0\2c 0\2c 0\.75\)\] {
- --tw-drop-shadow: drop-shadow(0 0 5px rgba(0,0,0,0.75));
- 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);
-}
-
-.drop-shadow-\[0_0_3px_rgba\(0\2c 0\2c 0\2c 0\.75\)\] {
- --tw-drop-shadow: drop-shadow(0 0 3px rgba(0,0,0,0.75));
- 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);
-}
-
.drop-shadow-\[0_0_3px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
--tw-drop-shadow: drop-shadow(0 0 3px rgba(0,0,0,0.5));
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);
@@ -1034,3 +916,115 @@ html {
outline: 2px solid transparent;
outline-offset: 2px;
}
+
+@media (min-width: 768px) {
+ .md\:grid {
+ display: grid;
+ }
+
+ .md\:h-32 {
+ height: 8rem;
+ }
+
+ .md\:w-96 {
+ width: 24rem;
+ }
+
+ .md\:w-60 {
+ width: 15rem;
+ }
+
+ .md\:w-1\/4 {
+ width: 25%;
+ }
+
+ .md\:w-1\/3 {
+ width: 33.333333%;
+ }
+
+ .md\:w-1\/2 {
+ width: 50%;
+ }
+
+ .md\:w-full {
+ width: 100%;
+ }
+
+ .md\:w-10\/12 {
+ width: 83.333333%;
+ }
+
+ .md\:grid-flow-col {
+ grid-auto-flow: column;
+ }
+
+ .md\:grid-cols-2 {
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ }
+
+ .md\:grid-cols-\[auto-fill\] {
+ grid-template-columns: auto-fill;
+ }
+
+ .md\:grid-cols-\[repeat\(autofill\2c _250px\)\] {
+ grid-template-columns: repeat(autofill, 250px);
+ }
+
+ .md\:grid-cols-\[repeat\(auto-fill\2c _250px\)\] {
+ grid-template-columns: repeat(auto-fill, 250px);
+ }
+
+ .md\:grid-cols-\[repeat\(auto-fill\2c _275px\)\] {
+ grid-template-columns: repeat(auto-fill, 275px);
+ }
+
+ .md\:flex-row {
+ flex-direction: row;
+ }
+
+ .md\:place-content-center {
+ place-content: center;
+ }
+
+ .md\:items-center {
+ align-items: center;
+ }
+
+ .md\:justify-between {
+ justify-content: space-between;
+ }
+
+ .md\:justify-around {
+ justify-content: space-around;
+ }
+
+ .md\:px-10 {
+ padding-left: 2.5rem;
+ padding-right: 2.5rem;
+ }
+
+ .md\:px-12 {
+ padding-left: 3rem;
+ padding-right: 3rem;
+ }
+
+ .md\:px-20 {
+ padding-left: 5rem;
+ padding-right: 5rem;
+ }
+
+ .md\:px-24 {
+ padding-left: 6rem;
+ padding-right: 6rem;
+ }
+
+ .md\:text-xl {
+ font-size: 1.25rem;
+ line-height: 1.75rem;
+ }
+
+ .md\:text-2xl {
+ font-size: 1.5rem;
+ line-height: 2rem;
+ }
+}
diff --git a/16-countries-page-from-api/src/main/resources/templates/index.html b/16-countries-page-from-api/src/main/resources/templates/index.html
index 7538822..6916b76 100644
--- a/16-countries-page-from-api/src/main/resources/templates/index.html
+++ b/16-countries-page-from-api/src/main/resources/templates/index.html
@@ -21,19 +21,25 @@
- Where in the world?
-
-

-
Dark Mode
+
+
Where in the world?
+
+

+
Dark Mode
+
-