diff --git a/i18n/en/code.json b/i18n/en/code.json index 740e171..0214713 100644 --- a/i18n/en/code.json +++ b/i18n/en/code.json @@ -111,5 +111,9 @@ "carousel.goToSlide": { "message": "Go to slide {index}", "description": "Go to slide button aria-label" + }, + "homepage.illustrationCredit": { + "message": "Illustration by {artistLink}", + "description": "The credit for the homepage illustration" } } diff --git a/src/pages/index.module.css b/src/pages/index.module.css index 37a8a2d..a4e130b 100644 --- a/src/pages/index.module.css +++ b/src/pages/index.module.css @@ -5,10 +5,61 @@ overflow: hidden; } +.heroContainer { + display: flex; + align-items: center; + justify-content: space-between; + gap: 3rem; +} + +.heroContent { + flex: 1; + text-align: left; + min-width: 0; +} + +.heroIllustration { + flex: 0 0 auto; + max-width: 400px; + animation: heroAnimation 1s ease-out forwards; +} + +.heroIllustration img { + width: 100%; + height: auto; + display: block; +} + +.illustrationCredit { + margin-top: 0.5rem; + font-size: 0.875rem; + text-align: center; +} + +.illustrationCredit a { + color: black; + text-decoration: none; +} + +.illustrationCredit a:hover { + text-decoration: underline; +} + +@keyframes heroAnimation { + 0% { + opacity: 0; + transform: translateY(-20px) rotate(-5deg); + } + 100% { + opacity: 1; + transform: translateY(0) rotate(0deg); + } +} + .buttons { display: flex; align-items: center; - justify-content: center; + justify-content: flex-start; flex-wrap: wrap; gap: 1rem; } @@ -33,4 +84,22 @@ .heroBanner { padding: 2rem; } + + .heroContainer { + flex-direction: column; + gap: 2rem; + } + + .heroContent { + text-align: center; + } + + .heroIllustration { + order: -1; + max-width: 300px; + } + + .buttons { + justify-content: center; + } } diff --git a/src/pages/index.tsx b/src/pages/index.tsx index c76b15b..9b3ae86 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -15,35 +15,62 @@ function HomepageHeader() { return (
- - {siteConfig.title} - -

- - Recherches et réflexions sur les défis techniques - -

-
- - - Découvrir la documentation - - - - - Lire le blog - - +
+
+ + {siteConfig.title} + +

+ + Recherches et réflexions sur les défis techniques + +

+
+ + + Découvrir la documentation + + + + + Lire le blog + + +
+
+
+ TellServ Tech Blog Illustration +
+ + Vassile + + ), + }}> + {'Illustration par {artistLink}'} + +
+
diff --git a/static/img/illustration_vache.png b/static/img/illustration_vache.png new file mode 100644 index 0000000..538a472 Binary files /dev/null and b/static/img/illustration_vache.png differ