summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/middleware.ts
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-09 13:26:27 -0600
committerAdam <[email protected]>2026-02-09 13:26:50 -0600
commit3dc720ff9cdd1002f737a43faaf428fb4cc18316 (patch)
tree7139fa900b3dc2bf8e5e00c179ba8e7daf568bba /packages/web/src/middleware.ts
parent56b340b5d58d98fdebb54973ba8dfeb67ba8c51a (diff)
downloadopencode-3dc720ff9cdd1002f737a43faaf428fb4cc18316.tar.gz
opencode-3dc720ff9cdd1002f737a43faaf428fb4cc18316.zip
fix: locale routing
Diffstat (limited to 'packages/web/src/middleware.ts')
-rw-r--r--packages/web/src/middleware.ts10
1 files changed, 5 insertions, 5 deletions
diff --git a/packages/web/src/middleware.ts b/packages/web/src/middleware.ts
index 5b2d33666..97d085dfb 100644
--- a/packages/web/src/middleware.ts
+++ b/packages/web/src/middleware.ts
@@ -1,5 +1,5 @@
import { defineMiddleware } from "astro:middleware"
-import { matchLocale } from "./i18n/locales"
+import { exactLocale, matchLocale } from "./i18n/locales"
function docsAlias(pathname: string) {
const hit = /^\/docs\/([^/]+)(\/.*)?$/.exec(pathname)
@@ -7,12 +7,12 @@ function docsAlias(pathname: string) {
const value = hit[1] ?? ""
const tail = hit[2] ?? ""
- const locale = matchLocale(value)
+ const locale = exactLocale(value)
if (!locale) return null
- if (locale === "root") return `/docs${tail}`
- if (value === locale) return null
- return `/docs/${locale}${tail}`
+ const next = locale === "root" ? `/docs${tail}` : `/docs/${locale}${tail}`
+ if (next === pathname) return null
+ return next
}
function localeFromCookie(header: string | null) {