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 () => (
+ + Logo de villes.plus

Villes.plus

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"