fix(stats): strip locale prefixes from data routes
This commit is contained in:
@@ -4,6 +4,34 @@ import { FileRoutes } from "@solidjs/start/router"
|
|||||||
import { Suspense } from "solid-js"
|
import { Suspense } from "solid-js"
|
||||||
import "./app.css"
|
import "./app.css"
|
||||||
|
|
||||||
|
const localePrefixes = new Set([
|
||||||
|
"ar",
|
||||||
|
"br",
|
||||||
|
"da",
|
||||||
|
"de",
|
||||||
|
"es",
|
||||||
|
"fr",
|
||||||
|
"it",
|
||||||
|
"ja",
|
||||||
|
"ko",
|
||||||
|
"no",
|
||||||
|
"pl",
|
||||||
|
"ru",
|
||||||
|
"th",
|
||||||
|
"tr",
|
||||||
|
"uk",
|
||||||
|
"zh",
|
||||||
|
"zht",
|
||||||
|
])
|
||||||
|
|
||||||
|
function stripLocaleDataPrefix(pathname: string) {
|
||||||
|
const value = pathname.startsWith("/") ? pathname : `/${pathname}`
|
||||||
|
const segments = value.split("/")
|
||||||
|
if (segments[2] !== "data") return value
|
||||||
|
if (!localePrefixes.has(segments[1] ?? "")) return value
|
||||||
|
return value.slice((segments[1]?.length ?? 0) + 1) || "/"
|
||||||
|
}
|
||||||
|
|
||||||
function AppMeta() {
|
function AppMeta() {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -21,6 +49,7 @@ export default function App() {
|
|||||||
<Router
|
<Router
|
||||||
base={import.meta.env.BASE_URL.replace(/\/$/, "")}
|
base={import.meta.env.BASE_URL.replace(/\/$/, "")}
|
||||||
explicitLinks={true}
|
explicitLinks={true}
|
||||||
|
transformUrl={stripLocaleDataPrefix}
|
||||||
root={(props) => (
|
root={(props) => (
|
||||||
<MetaProvider>
|
<MetaProvider>
|
||||||
<AppMeta />
|
<AppMeta />
|
||||||
|
|||||||
Reference in New Issue
Block a user