feat: homepage animations; Arabic as default locale
This commit is contained in:
@@ -20,7 +20,7 @@
|
||||
2. The route's `meta` appends `detailAlternateDescriptors(...)` to whatever
|
||||
`buildMeta` produced, which emits <link rel="canonical"> plus one
|
||||
<link rel="alternate" hreflang> per locale that actually has a slug, and
|
||||
x-default pointing at English when English exists.
|
||||
x-default pointing at the default locale when it exists.
|
||||
3. The route declares `export const handle = SELF_ALTERNATES_HANDLE`, which
|
||||
tells the app shell that this page emits its own pair and that the
|
||||
shell's prefix-swapped set must be suppressed for it. The shell reads it
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
import type { MetaDescriptor } from "react-router";
|
||||
|
||||
import { SUPPORTED_LOCALES, type Locale } from "~/i18n/config";
|
||||
import { DEFAULT_LOCALE, SUPPORTED_LOCALES, type Locale } from "~/i18n/config";
|
||||
import { sectionPath, type RouteSlugKey } from "~/i18n/paths";
|
||||
import { canonicalUrl } from "~/lib/seo";
|
||||
|
||||
@@ -160,8 +160,11 @@ export function detailAlternateDescriptors({
|
||||
});
|
||||
}
|
||||
|
||||
// x-default is the English URL, because bare "/" negotiates towards English.
|
||||
const fallback = paths.find((entry) => entry.locale === "en");
|
||||
// x-default is the default-locale URL, because bare "/" negotiates towards
|
||||
// the default locale. It must point at an existing page, so a detail page
|
||||
// with no translation yet falls back to whichever locale does exist.
|
||||
const fallback =
|
||||
paths.find((entry) => entry.locale === DEFAULT_LOCALE) ?? paths[0];
|
||||
if (fallback) {
|
||||
descriptors.push({
|
||||
tagName: "link",
|
||||
|
||||
Reference in New Issue
Block a user