Fix next-intl locale, remove wave animations, and unoptimize hero image
Co-authored-by: dennis <dennis@konkol.net>
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import { NextIntlClientProvider } from "next-intl";
|
import { NextIntlClientProvider } from "next-intl";
|
||||||
import { getMessages } from "next-intl/server";
|
import { getMessages, setRequestLocale } from "next-intl/server";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
export default async function LocaleLayout({
|
export default async function LocaleLayout({
|
||||||
@@ -10,7 +10,9 @@ export default async function LocaleLayout({
|
|||||||
params: Promise<{ locale: string }>;
|
params: Promise<{ locale: string }>;
|
||||||
}) {
|
}) {
|
||||||
const { locale } = await params;
|
const { locale } = await params;
|
||||||
const messages = await getMessages({ locale });
|
// Ensure next-intl actually uses the route segment locale for this request.
|
||||||
|
setRequestLocale(locale);
|
||||||
|
const messages = await getMessages();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<NextIntlClientProvider locale={locale} messages={messages}>
|
<NextIntlClientProvider locale={locale} messages={messages}>
|
||||||
|
|||||||
@@ -66,21 +66,9 @@ export default function HomePage() {
|
|||||||
d="M0,64 C240,96 480,32 720,64 C960,96 1200,32 1440,64 L1440,120 L0,120 Z"
|
d="M0,64 C240,96 480,32 720,64 C960,96 1200,32 1440,64 L1440,120 L0,120 Z"
|
||||||
fill="url(#gradient1)"
|
fill="url(#gradient1)"
|
||||||
initial={{ opacity: 0 }}
|
initial={{ opacity: 0 }}
|
||||||
animate={{
|
animate={{ opacity: 1 }}
|
||||||
opacity: 1,
|
|
||||||
d: [
|
|
||||||
"M0,64 C240,96 480,32 720,64 C960,96 1200,32 1440,64 L1440,120 L0,120 Z",
|
|
||||||
"M0,32 C240,64 480,96 720,32 C960,64 1200,96 1440,32 L1440,120 L0,120 Z",
|
|
||||||
"M0,64 C240,96 480,32 720,64 C960,96 1200,32 1440,64 L1440,120 L0,120 Z",
|
|
||||||
],
|
|
||||||
}}
|
|
||||||
transition={{
|
transition={{
|
||||||
opacity: { duration: 0.8, delay: 0.3 },
|
opacity: { duration: 0.8, delay: 0.3 },
|
||||||
d: {
|
|
||||||
duration: 12,
|
|
||||||
repeat: Infinity,
|
|
||||||
ease: "easeInOut",
|
|
||||||
},
|
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<defs>
|
<defs>
|
||||||
@@ -106,21 +94,9 @@ export default function HomePage() {
|
|||||||
d="M0,32 C240,64 480,96 720,32 C960,64 1200,96 1440,32 L1440,120 L0,120 Z"
|
d="M0,32 C240,64 480,96 720,32 C960,64 1200,96 1440,32 L1440,120 L0,120 Z"
|
||||||
fill="url(#gradient2)"
|
fill="url(#gradient2)"
|
||||||
initial={{ opacity: 0 }}
|
initial={{ opacity: 0 }}
|
||||||
animate={{
|
animate={{ opacity: 1 }}
|
||||||
opacity: 1,
|
|
||||||
d: [
|
|
||||||
"M0,32 C240,64 480,96 720,32 C960,64 1200,96 1440,32 L1440,120 L0,120 Z",
|
|
||||||
"M0,96 C240,32 480,64 720,96 C960,32 1200,64 1440,96 L1440,120 L0,120 Z",
|
|
||||||
"M0,32 C240,64 480,96 720,32 C960,64 1200,96 1440,32 L1440,120 L0,120 Z",
|
|
||||||
],
|
|
||||||
}}
|
|
||||||
transition={{
|
transition={{
|
||||||
opacity: { duration: 0.8, delay: 0.3 },
|
opacity: { duration: 0.8, delay: 0.3 },
|
||||||
d: {
|
|
||||||
duration: 14,
|
|
||||||
repeat: Infinity,
|
|
||||||
ease: "easeInOut",
|
|
||||||
},
|
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<defs>
|
<defs>
|
||||||
@@ -146,21 +122,9 @@ export default function HomePage() {
|
|||||||
d="M0,96 C240,32 480,64 720,96 C960,32 1200,64 1440,96 L1440,120 L0,120 Z"
|
d="M0,96 C240,32 480,64 720,96 C960,32 1200,64 1440,96 L1440,120 L0,120 Z"
|
||||||
fill="url(#gradient3)"
|
fill="url(#gradient3)"
|
||||||
initial={{ opacity: 0 }}
|
initial={{ opacity: 0 }}
|
||||||
animate={{
|
animate={{ opacity: 1 }}
|
||||||
opacity: 1,
|
|
||||||
d: [
|
|
||||||
"M0,96 C240,32 480,64 720,96 C960,32 1200,64 1440,96 L1440,120 L0,120 Z",
|
|
||||||
"M0,64 C240,96 480,32 720,64 C960,96 1200,32 1440,64 L1440,120 L0,120 Z",
|
|
||||||
"M0,96 C240,32 480,64 720,96 C960,32 1200,64 1440,96 L1440,120 L0,120 Z",
|
|
||||||
],
|
|
||||||
}}
|
|
||||||
transition={{
|
transition={{
|
||||||
opacity: { duration: 0.8, delay: 0.3 },
|
opacity: { duration: 0.8, delay: 0.3 },
|
||||||
d: {
|
|
||||||
duration: 16,
|
|
||||||
repeat: Infinity,
|
|
||||||
ease: "easeInOut",
|
|
||||||
},
|
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<defs>
|
<defs>
|
||||||
|
|||||||
@@ -117,6 +117,10 @@ const Hero = () => {
|
|||||||
fill
|
fill
|
||||||
className="object-cover scale-105 hover:scale-[1.08] transition-transform duration-1000 ease-out"
|
className="object-cover scale-105 hover:scale-[1.08] transition-transform duration-1000 ease-out"
|
||||||
priority
|
priority
|
||||||
|
// Next/Image optimizer is returning 400 for this file in some dev setups
|
||||||
|
// (seen as: "isn't a valid image ... received null"). Bypass optimization.
|
||||||
|
unoptimized
|
||||||
|
sizes="(max-width: 768px) 256px, 320px"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{/* Glossy Overlay for Liquid Feel */}
|
{/* Glossy Overlay for Liquid Feel */}
|
||||||
|
|||||||
Reference in New Issue
Block a user