fix(admin): slugify without /u flag (ES5 target) — keep Persian/Arabic via literal ranges

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-04 00:24:01 +03:30
parent 222aa078b1
commit 87f1dd0fce
+3 -2
View File
@@ -45,13 +45,14 @@ const inputCls = "w-full rounded-lg border border-[#262b40] bg-[#0c0e1a] px-3 py
const PAGE_SIZE = 25;
/** URL-safe slug; keeps unicode letters (incl. Persian) + digits, spaces → "-". */
/** URL-safe slug; keeps Latin, digits and Persian/Arabic letters, spaces → "-".
* Uses explicit unicode ranges (no /u flag) for older TS targets. */
export function slugify(s: string): string {
return s
.trim()
.toLowerCase()
.replace(/\s+/g, "-")
.replace(/[^\p{L}\p{N}-]+/gu, "")
.replace(/[^a-z0-9؀-ۿݐ-ݿﭐ-﷿ﹰ--]+/g, "")
.replace(/-+/g, "-")
.replace(/^-|-$/g, "");
}