diff --git a/web/app/AnimatedIllustrastion.tsx b/web/app/AnimatedIllustrastion.tsx
new file mode 100644
index 0000000..929a097
--- /dev/null
+++ b/web/app/AnimatedIllustrastion.tsx
@@ -0,0 +1,118 @@
+'use client'
+
+import css from '@/css/convertToJs'
+
+const duration = '3000ms'
+
+export default function AnimatedIllustration({
+ d = 'M 256,100 C 14,80 13,80 14,120',
+ invert,
+}) {
+ return (
+
img {
+ opacity: 0.8;
+ position: absolute;
+ top: -1rem;
+ left: -1rem;
+ offset-path: path('${d}');
+ animation: move ${duration};
+ animation-fill-mode: both;
+ animation-delay: ${!invert ? '300ms' : '0s'};
+ @keyframes move {
+ 0% {
+ opacity: 0
+ offset-distance: 0%;
+ }
+ 10 % {
+ opacity: 1;
+ }
+ 30% {
+ filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.6));
+ }
+ 70% {
+ filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.1));
+ }
+ 90% {
+ offset-distance: 100%;
+ opacity: 1
+ }
+ 100% {
+ offset-distance: 100%;
+ opacity: 0
+ }
+ }
+ }
+ svg {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 200px;
+ height: 100px;
+ }
+ path {
+ stroke-dasharray: 230;
+ stroke-dashoffset: 230;
+ opacity: 0;
+ animation: draw ${duration};
+ animation-fill-mode: both;
+ }
+
+ @keyframes draw {
+ 0% {
+ opacity: 0;
+ stroke-dashoffset: 230;
+ stroke: red;
+ }
+ 30% {
+ stroke: red;
+ opacity: 1;
+ }
+ 90% {
+ stroke-dashoffset: 10;
+ stroke: #000094;
+ opacity: 1
+ }
+ 100%{
+ stroke-dashoffset: 10;
+
+ stroke: #000094;
+ opacity: 0;
+ }
+ }
+ `}
+ >
+
+
+
+ )
+}
+
+const Cyclist = ({ invert }) => (
+
+)
diff --git a/web/app/UI.tsx b/web/app/UI.tsx
index 3393d4b..862d262 100644
--- a/web/app/UI.tsx
+++ b/web/app/UI.tsx
@@ -38,6 +38,7 @@ export const Cards = styled.div`
flex-wrap: wrap;
`
export const Header = styled.header`
+ position: relative;
display: flex;
align-items: center;
justify-content: center;
diff --git a/web/app/animation.svg b/web/app/animation.svg
new file mode 100644
index 0000000..a9c524e
--- /dev/null
+++ b/web/app/animation.svg
@@ -0,0 +1,11 @@
+
+
+
+
diff --git a/web/app/page.tsx b/web/app/page.tsx
index 1f6c0f3..61b63d5 100644
--- a/web/app/page.tsx
+++ b/web/app/page.tsx
@@ -3,6 +3,7 @@ import { Cards, LandingWrapper, Header, Card, LinkCard } from './UI'
import type { Metadata } from 'next'
import Image from 'next/image'
import logo from '@/public/logo.svg'
+import AnimatedIllustration from './AnimatedIllustrastion'
export const metadata: Metadata = {
title:
@@ -13,6 +14,8 @@ export const metadata: Metadata = {
export default () => (
diff --git a/web/package.json b/web/package.json
index 7247371..2f45171 100644
--- a/web/package.json
+++ b/web/package.json
@@ -25,7 +25,7 @@
"eslint": "8.37.0",
"eslint-config-next": "13.2.4",
"leaflet": "^1.9.3",
- "next": "^13.5.3",
+ "next": "^14.0.3",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-leaflet": "^4.2.1",
diff --git a/web/public/cyclist.svg b/web/public/cyclist.svg
new file mode 100644
index 0000000..8dc9c9d
--- /dev/null
+++ b/web/public/cyclist.svg
@@ -0,0 +1,121 @@
+
+
diff --git a/web/yarn.lock b/web/yarn.lock
index 3ca2032..881b94d 100644
--- a/web/yarn.lock
+++ b/web/yarn.lock
@@ -235,10 +235,10 @@
"@jridgewell/resolve-uri" "3.1.0"
"@jridgewell/sourcemap-codec" "1.4.14"
-"@next/env@13.5.4":
- version "13.5.4"
- resolved "https://registry.npmjs.org/@next/env/-/env-13.5.4.tgz"
- integrity sha512-LGegJkMvRNw90WWphGJ3RMHMVplYcOfRWf2Be3td3sUa+1AaxmsYyANsA+znrGCBjXJNi4XAQlSoEfUxs/4kIQ==
+"@next/env@14.0.3":
+ version "14.0.3"
+ resolved "https://registry.yarnpkg.com/@next/env/-/env-14.0.3.tgz#9a58b296e7ae04ffebce8a4e5bd0f87f71de86bd"
+ integrity sha512-7xRqh9nMvP5xrW4/+L0jgRRX+HoNRGnfJpD+5Wq6/13j3dsdzxO3BCXn7D3hMqsDb+vjZnJq+vI7+EtgrYZTeA==
"@next/eslint-plugin-next@13.2.4":
version "13.2.4"
@@ -254,50 +254,50 @@
dependencies:
source-map "^0.7.0"
-"@next/swc-darwin-arm64@13.5.4":
- version "13.5.4"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.4.tgz#241957774fef3f876dc714cfc0ca6f00f561737e"
- integrity sha512-Df8SHuXgF1p+aonBMcDPEsaahNo2TCwuie7VXED4FVyECvdXfRT9unapm54NssV9tF3OQFKBFOdlje4T43VO0w==
-
-"@next/swc-darwin-x64@13.5.4":
- version "13.5.4"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.4.tgz#fa11bb97bf06cd45cbd554354b46bf93e22c025b"
- integrity sha512-siPuUwO45PnNRMeZnSa8n/Lye5ZX93IJom9wQRB5DEOdFrw0JjOMu1GINB8jAEdwa7Vdyn1oJ2xGNaQpdQQ9Pw==
-
-"@next/swc-linux-arm64-gnu@13.5.4":
- version "13.5.4"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.4.tgz#dd3a482cd6871ed23b049066a0f3c4c2f955dc88"
- integrity sha512-l/k/fvRP/zmB2jkFMfefmFkyZbDkYW0mRM/LB+tH5u9pB98WsHXC0WvDHlGCYp3CH/jlkJPL7gN8nkTQVrQ/2w==
-
-"@next/swc-linux-arm64-musl@13.5.4":
- version "13.5.4"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.4.tgz#ed6d7abaf5712cff2752ce5300d6bacc6aff1b18"
- integrity sha512-YYGb7SlLkI+XqfQa8VPErljb7k9nUnhhRrVaOdfJNCaQnHBcvbT7cx/UjDQLdleJcfyg1Hkn5YSSIeVfjgmkTg==
-
-"@next/swc-linux-x64-gnu@13.5.4":
- version "13.5.4"
- resolved "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.4.tgz"
- integrity sha512-uE61vyUSClnCH18YHjA8tE1prr/PBFlBFhxBZis4XBRJoR+txAky5d7gGNUIbQ8sZZ7LVkSVgm/5Fc7mwXmRAg==
-
-"@next/swc-linux-x64-musl@13.5.4":
- version "13.5.4"
- resolved "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.4.tgz"
- integrity sha512-qVEKFYML/GvJSy9CfYqAdUexA6M5AklYcQCW+8JECmkQHGoPxCf04iMh7CPR7wkHyWWK+XLt4Ja7hhsPJtSnhg==
-
-"@next/swc-win32-arm64-msvc@13.5.4":
- version "13.5.4"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.4.tgz#18a236c3fe5a48d24b56d939e6a05488bb682b7e"
- integrity sha512-mDSQfqxAlfpeZOLPxLymZkX0hYF3juN57W6vFHTvwKlnHfmh12Pt7hPIRLYIShk8uYRsKPtMTth/EzpwRI+u8w==
-
-"@next/swc-win32-ia32-msvc@13.5.4":
- version "13.5.4"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.4.tgz#255132243ab6fb20d3c7c92a585e2c4fa50368fe"
- integrity sha512-aoqAT2XIekIWoriwzOmGFAvTtVY5O7JjV21giozBTP5c6uZhpvTWRbmHXbmsjZqY4HnEZQRXWkSAppsIBweKqw==
-
-"@next/swc-win32-x64-msvc@13.5.4":
- version "13.5.4"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.4.tgz#cc542907b55247c5634d9a8298e1c143a1847e25"
- integrity sha512-cyRvlAxwlddlqeB9xtPSfNSCRy8BOa4wtMo0IuI9P7Y0XT2qpDrpFKRyZ7kUngZis59mPVla5k8X1oOJ8RxDYg==
+"@next/swc-darwin-arm64@14.0.3":
+ version "14.0.3"
+ resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.0.3.tgz#b1a0440ffbf69056451947c4aea5b6d887e9fbbc"
+ integrity sha512-64JbSvi3nbbcEtyitNn2LEDS/hcleAFpHdykpcnrstITFlzFgB/bW0ER5/SJJwUPj+ZPY+z3e+1jAfcczRLVGw==
+
+"@next/swc-darwin-x64@14.0.3":
+ version "14.0.3"
+ resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.0.3.tgz#48b527ef7eb5dbdcaf62fd107bc3a78371f36f09"
+ integrity sha512-RkTf+KbAD0SgYdVn1XzqE/+sIxYGB7NLMZRn9I4Z24afrhUpVJx6L8hsRnIwxz3ERE2NFURNliPjJ2QNfnWicQ==
+
+"@next/swc-linux-arm64-gnu@14.0.3":
+ version "14.0.3"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.0.3.tgz#0a36475a38b2855ab8ea0fe8b56899bc90184c0f"
+ integrity sha512-3tBWGgz7M9RKLO6sPWC6c4pAw4geujSwQ7q7Si4d6bo0l6cLs4tmO+lnSwFp1Tm3lxwfMk0SgkJT7EdwYSJvcg==
+
+"@next/swc-linux-arm64-musl@14.0.3":
+ version "14.0.3"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.0.3.tgz#25328a9f55baa09fde6364e7e47ade65c655034f"
+ integrity sha512-v0v8Kb8j8T23jvVUWZeA2D8+izWspeyeDGNaT2/mTHWp7+37fiNfL8bmBWiOmeumXkacM/AB0XOUQvEbncSnHA==
+
+"@next/swc-linux-x64-gnu@14.0.3":
+ version "14.0.3"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.0.3.tgz#594b747e3c8896b2da67bba54fcf8a6b5a410e5e"
+ integrity sha512-VM1aE1tJKLBwMGtyBR21yy+STfl0MapMQnNrXkxeyLs0GFv/kZqXS5Jw/TQ3TSUnbv0QPDf/X8sDXuMtSgG6eg==
+
+"@next/swc-linux-x64-musl@14.0.3":
+ version "14.0.3"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.0.3.tgz#a02da58fc6ecad8cf5c5a2a96a7f6030ec7f6215"
+ integrity sha512-64EnmKy18MYFL5CzLaSuUn561hbO1Gk16jM/KHznYP3iCIfF9e3yULtHaMy0D8zbHfxset9LTOv6cuYKJgcOxg==
+
+"@next/swc-win32-arm64-msvc@14.0.3":
+ version "14.0.3"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.0.3.tgz#bf2be23d3ba2ebd0d4a9376a31f783efdb677b48"
+ integrity sha512-WRDp8QrmsL1bbGtsh5GqQ/KWulmrnMBgbnb+59qNTW1kVi1nG/2ndZLkcbs2GX7NpFLlToLRMWSQXmPzQm4tog==
+
+"@next/swc-win32-ia32-msvc@14.0.3":
+ version "14.0.3"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.0.3.tgz#839f8de85a4bf2c3c69242483ab87cb916427551"
+ integrity sha512-EKffQeqCrj+t6qFFhIFTRoqb2QwX1mU7iTOvMyLbYw3QtqTw9sMwjykyiMlZlrfm2a4fA84+/aeW+PMg1MjuTg==
+
+"@next/swc-win32-x64-msvc@14.0.3":
+ version "14.0.3"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.0.3.tgz#27b623612b1d0cea6efe0a0d31aa1a335fc99647"
+ integrity sha512-ERhKPSJ1vQrPiwrs15Pjz/rvDHZmkmvbf/BjPN/UCOI++ODftT0GtasDPi0j+y6PPJi5HsXw+dpRaXUaw4vjuQ==
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
@@ -2125,12 +2125,12 @@ natural-compare@^1.4.0:
resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-next@^13.5.3:
- version "13.5.4"
- resolved "https://registry.npmjs.org/next/-/next-13.5.4.tgz"
- integrity sha512-+93un5S779gho8y9ASQhb/bTkQF17FNQOtXLKAj3lsNgltEcF0C5PMLLncDmH+8X1EnJH1kbqAERa29nRXqhjA==
+next@^14.0.3:
+ version "14.0.3"
+ resolved "https://registry.yarnpkg.com/next/-/next-14.0.3.tgz#8d801a08eaefe5974203d71092fccc463103a03f"
+ integrity sha512-AbYdRNfImBr3XGtvnwOxq8ekVCwbFTv/UJoLwmaX89nk9i051AEY4/HAWzU0YpaTDw8IofUpmuIlvzWF13jxIw==
dependencies:
- "@next/env" "13.5.4"
+ "@next/env" "14.0.3"
"@swc/helpers" "0.5.2"
busboy "1.6.0"
caniuse-lite "^1.0.30001406"
@@ -2138,15 +2138,15 @@ next@^13.5.3:
styled-jsx "5.1.1"
watchpack "2.4.0"
optionalDependencies:
- "@next/swc-darwin-arm64" "13.5.4"
- "@next/swc-darwin-x64" "13.5.4"
- "@next/swc-linux-arm64-gnu" "13.5.4"
- "@next/swc-linux-arm64-musl" "13.5.4"
- "@next/swc-linux-x64-gnu" "13.5.4"
- "@next/swc-linux-x64-musl" "13.5.4"
- "@next/swc-win32-arm64-msvc" "13.5.4"
- "@next/swc-win32-ia32-msvc" "13.5.4"
- "@next/swc-win32-x64-msvc" "13.5.4"
+ "@next/swc-darwin-arm64" "14.0.3"
+ "@next/swc-darwin-x64" "14.0.3"
+ "@next/swc-linux-arm64-gnu" "14.0.3"
+ "@next/swc-linux-arm64-musl" "14.0.3"
+ "@next/swc-linux-x64-gnu" "14.0.3"
+ "@next/swc-linux-x64-musl" "14.0.3"
+ "@next/swc-win32-arm64-msvc" "14.0.3"
+ "@next/swc-win32-ia32-msvc" "14.0.3"
+ "@next/swc-win32-x64-msvc" "14.0.3"
object-assign@^4.1.1:
version "4.1.1"