Use Meshkee {id}/{fa-slug} detail URLs for products and blogs.

Resolve pages via by-id APIs, slugify Farsi titles for public paths, and redirect legacy slug-only URLs to the canonical form.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-08-22 23:52:45 +03:30
co-authored by Cursor
parent 24b5649abd
commit 0cb9aa57e2
14 changed files with 426 additions and 307 deletions
+5 -2
View File
@@ -6,7 +6,7 @@ import { useRouter } from "next/navigation";
import { Search } from "lucide-react";
import { Placeholder } from "@/components/Placeholder";
import { formatPrice } from "@/lib/format";
import { variantTitle, type StoreVariant } from "@/lib/store";
import { productHref, variantTitle, type StoreVariant } from "@/lib/store";
export function InstantSearch({ compact = false, className = "" }: { compact?: boolean; className?: string }) {
const router = useRouter();
@@ -88,7 +88,10 @@ export function InstantSearch({ compact = false, className = "" }: { compact?: b
return (
<li key={item.id}>
<Link
href={`/products/${encodeURIComponent(item.id)}`}
href={productHref(
item.productId || item.id,
item.productNameFa || item.productTitle || item.label,
)}
className="flex items-center gap-3 px-3 py-2 hover:bg-paper"
onClick={() => setOpen(false)}
>