fix: add loading state when no uri is given

This commit is contained in:
Christel Westerberg
2024-02-08 16:04:47 +01:00
parent c0b7f57c8a
commit 86dd453c85
6 changed files with 153 additions and 34 deletions

View File

@@ -7,17 +7,17 @@ export async function middleware(request: NextRequest) {
// const locales = await fetch(CMS_API, {
// locales: true
// })
const locales = ["en", "sv", "no", "fi", "da", "de"];
const locales = ["en", "sv", "no", "fi", "da", "de"]
const locale = locales.find(
(locale) =>
request.nextUrl.pathname.startsWith(`/${locale}/`) ||
request.nextUrl.pathname === `/${locale}`
);
)
if (!locale) {
//return <LocalePicker />
return Response.json("Not found!!!", { status: 404 });
return Response.json("Not found!!!", { status: 404 })
}
// const data = await fetch(CMS_API, {
@@ -26,23 +26,24 @@ export async function middleware(request: NextRequest) {
// }).json()
//const contentType = data.response.meta.contentType;
const contentType = "currentContentPage";
const contentType = "currentContentPage"
const pathNameWithoutLocale = request.nextUrl.pathname.replace(
`/${locale}`,
""
);
)
const searchParams = new URLSearchParams(request.nextUrl.searchParams);
const searchParams = new URLSearchParams(request.nextUrl.searchParams)
if (request.nextUrl.pathname.includes("preview")) {
searchParams.set("uri", pathNameWithoutLocale.replace("/preview", ""));
searchParams.set("uri", pathNameWithoutLocale.replace("/preview", ""))
return NextResponse.rewrite(
new URL(`/${locale}/preview?${searchParams.toString()}`, request.url)
);
)
}
searchParams.set("uri", pathNameWithoutLocale);
searchParams.set("uri", pathNameWithoutLocale)
switch (contentType) {
case "currentContentPage":
@@ -51,9 +52,9 @@ export async function middleware(request: NextRequest) {
`/${locale}/current-content-page?${searchParams.toString()}`,
request.url
)
);
)
}
return NextResponse.redirect(new URL("/home", request.url));
return NextResponse.redirect(new URL("/home", request.url))
}
// See "Matching Paths" below to learn more