fix(home): پروژه‌های شاخص با slug تطبیق می‌شوند نه عنوان — در انگلیسی خالی می‌شد

با افزودن title_en به سه پروژه، فیلتر FEATURED_TITLES (عنوان فارسی) در نسخهٔ
انگلیسی دیگر مطابقت نمی‌کرد و بخش «پروژه‌های شاخص» بدون کارت رندر می‌شد.
- تطبیق با slug (زبان‌مستقل) + لینک کارت‌ها با href() بومی‌سازی شد
- لینک نشان پروژهٔ فعال هیرو هم بومی‌سازی شد (در /en به نسخهٔ فارسی نمی‌رود)
This commit is contained in:
aramesh-site deploy
2026-10-13 12:35:47 +00:00
parent 8de338bb1f
commit 66e68964f6
2 changed files with 7 additions and 6 deletions
@@ -16,10 +16,11 @@ export function FeaturedProjects() {
const heading = useSectionHeading('featured_projects') const heading = useSectionHeading('featured_projects')
const save = useFieldSaver() const save = useFieldSaver()
// سه پروژهٔ ثابت صفحهٔ اصلی — بدون تب وضعیت؛ ویرایش پنل همان‌جا اعمال می‌شود // سه پروژهٔ ثابت صفحهٔ اصلی — تطبیق با «slug» نه عنوان:
const FEATURED_TITLES = ['آرامش زنیث', 'آرامش الیسیان', 'آرامش آوالون'] // در نسخهٔ انگلیسی عنوان‌ها ترجمه می‌شوند و تطبیق با عنوان فارسی خالی می‌ماند
const list = projects.filter((p) => FEATURED_TITLES.includes(p.title)) const FEATURED_SLUGS = ['آرامش---زنیث', 'آرامش---الیسیان', 'آرامش---آوالون']
.sort((a, b) => FEATURED_TITLES.indexOf(a.title) - FEATURED_TITLES.indexOf(b.title)) const list = projects.filter((p) => FEATURED_SLUGS.includes(p.slug))
.sort((a, b) => FEATURED_SLUGS.indexOf(a.slug) - FEATURED_SLUGS.indexOf(b.slug))
return ( return (
<section className="w-full max-w-full overflow-x-clip bg-char py-16 md:py-24 lg:py-32" aria-labelledby="projects-title"> <section className="w-full max-w-full overflow-x-clip bg-char py-16 md:py-24 lg:py-32" aria-labelledby="projects-title">
@@ -49,7 +50,7 @@ export function FeaturedProjects() {
<ProjectCard <ProjectCard
project={project} project={project}
imageUrl={imageUrl} imageUrl={imageUrl}
detailHref={`/projects/${project.slug}`} detailHref={href(`/projects/${project.slug}`)}
/> />
</motion.div> </motion.div>
) )
+1 -1
View File
@@ -48,7 +48,7 @@ export function Hero() {
return k.length >= 3 && (k.includes(key) || key.includes(k)) return k.length >= 3 && (k.includes(key) || key.includes(k))
}) })
}) })
return hit ? `/projects/${hit.slug}` : undefined return hit ? href(`/projects/${hit.slug}`) : undefined
})() })()
const save = useFieldSaver() const save = useFieldSaver()
const { scrollY } = useScroll() const { scrollY } = useScroll()