new create

This commit is contained in:
amirhosein.ashourloo
2026-08-09 15:35:49 +03:30
parent 6207bb8431
commit 95c3c74276
11 changed files with 678 additions and 8 deletions
+95 -1
View File
@@ -31,7 +31,7 @@ export const nav = [
{ label: "صفحه اصلی", href: "/" },
{ label: "خدمات ما", href: "/our-services" },
{ label: "پروژه ها", href: "/portfolios" },
{ label: "مقالات و اخبار", href: "/news" },
{ label: "مقالات و اخبار", href: "/news-and-blog" },
{ label: "درباره ما", href: "/aboutus" },
{ label: "تماس با ما", href: "/contactus" },
] as const;
@@ -294,6 +294,97 @@ export const projectVideos: Record<string, string> = {
"item-old-589": "https://www.aparat.com/v/dnem1b3",
};
/* ---------------------------------------------------------------------------
* News & blog
*
* The meshkee API has a real `/blogs` endpoint with a `type` filter
* (news/article/blog), but it currently returns zero items and the docs
* don't spell out the item's field names — nothing to verify a live
* integration against yet. `news` below is real, published content (scraped
* from the live site, not invented); `blog` is genuinely empty because the
* client has no blog content anywhere yet, not because it was left out.
* Wire both up to live `/blogs?type=...` fetches once there's real content
* to check the field shape against.
* ------------------------------------------------------------------------- */
export const newsAndBlogPage = {
hero: {
caption: "NEWS & MEDIA",
title: "مقالات و اخبار",
breadcrumb: [
{ label: "صفحه اصلی", href: "/" },
{ label: "مقالات و اخبار", href: "/news-and-blog" },
],
},
overview: {
caption: "مقالات و اخبار",
captionLatin: "NEWS & MEDIA",
title: "آخرین رویدادهای گروه رئوفی",
body: [
"از افتتاحیه‌ی پروژه‌ها تا مراسم و بروزرسانی‌های ساخت‌وساز؛ در ادامه تازه‌ترین اخبار و مقالات منتشرشده را می‌بینید.",
],
},
news: {
caption: "اخبار",
captionLatin: "NEWS",
action: "مشاهده همه اخبار",
},
blog: {
caption: "بلاگ",
captionLatin: "BLOG",
action: "مشاهده همه مقالات",
},
emptyMessage: "هیچ مقاله یا خبری ثبت نشده است.",
cta: {
caption: "STAY UPDATED",
title: "از پروژه‌های تازه‌ی رئوفی باخبر شوید",
action: "تماس با ما",
},
} as const;
export const newsListingPage = {
hero: {
caption: "NEWS",
title: "اخبار",
breadcrumb: [
{ label: "صفحه اصلی", href: "/" },
{ label: "مقالات و اخبار", href: "/news-and-blog" },
{ label: "اخبار", href: "/news" },
],
},
overview: {
caption: "اخبار",
captionLatin: "NEWS",
title: "آرشیو اخبار",
body: ["فهرست کامل اخبار و رویدادهای منتشرشده‌ی گروه رئوفی."],
},
emptyMessage: "هنوز خبری منتشر نشده است.",
} as const;
export const blogListingPage = {
hero: {
caption: "BLOG",
title: "بلاگ",
breadcrumb: [
{ label: "صفحه اصلی", href: "/" },
{ label: "مقالات و اخبار", href: "/news-and-blog" },
{ label: "بلاگ", href: "/blog" },
],
},
overview: {
caption: "بلاگ",
captionLatin: "BLOG",
title: "آرشیو مقالات",
body: ["فهرست کامل مقالات منتشرشده‌ی گروه رئوفی."],
},
emptyMessage: "هنوز مقاله‌ای منتشر نشده است.",
} as const;
export type NewsItem = {
slug: string;
title: string;
@@ -321,3 +412,6 @@ export const news: NewsItem[] = [
image: hayatFoundation,
},
];
/** No blog posts published anywhere yet — genuinely empty, not left out. */
export const blog: NewsItem[] = [];