Merge branch 'bilingual-en'
# Conflicts: # frontend/src/admin/ArticleWritePage.tsx # frontend/src/admin/EntityDrawer.tsx # frontend/src/admin/entities.ts # frontend/src/components/ArticleCard.tsx # frontend/src/index.css # frontend/src/pages/ArticleDetail.tsx
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
// انواع مشترک دادهها — همه محتوای متنی سایت از بکاند (GET /api/site) بارگذاری میشود.
|
||||
// فیلدهای *_en معادل انگلیسیاند (اختیاری — خالی یعنی بدون ترجمه و برگشت به فارسی).
|
||||
|
||||
export type Service = {
|
||||
id: number;
|
||||
title: string;
|
||||
title_en?: string;
|
||||
desc: string;
|
||||
desc_en?: string;
|
||||
icon: 'draft' | 'tower' | 'mall' | 'villa' | 'renew' | 'manage' | 'invest' | 'landscape';
|
||||
};
|
||||
|
||||
@@ -13,17 +16,26 @@ export type Project = {
|
||||
id: number;
|
||||
slug: string;
|
||||
title: string;
|
||||
title_en?: string;
|
||||
location: string;
|
||||
location_en?: string;
|
||||
year: string;
|
||||
year_en?: string;
|
||||
status: ProjectStatus;
|
||||
image: string;
|
||||
gallery: string[];
|
||||
area: string;
|
||||
area_en?: string;
|
||||
floors: string;
|
||||
floors_en?: string;
|
||||
units: string;
|
||||
units_en?: string;
|
||||
client: string;
|
||||
client_en?: string;
|
||||
summary: string;
|
||||
summary_en?: string;
|
||||
body: string[];
|
||||
body_en?: string[] | null;
|
||||
};
|
||||
|
||||
/** سند TipTap (ProseMirror) — بدنه ساختاریافته مقاله */
|
||||
@@ -33,9 +45,12 @@ export type ArticleStatus = 'draft' | 'published';
|
||||
|
||||
export type Article = {
|
||||
id: number;
|
||||
slug: string; title: string; date: string; category: string; image: string; read: string; excerpt: string;
|
||||
slug: string; title: string; title_en?: string; date: string; date_en?: string; category: string; category_en?: string;
|
||||
image: string; read: string; read_en?: string; excerpt: string; excerpt_en?: string;
|
||||
/** سند TipTap — ردیفهای قدیمی ممکن است هنوز لیست پاراگراف باشند */
|
||||
body: ArticleBodyDoc | string[];
|
||||
/** بدنه انگلیسی — سند TipTap؛ null یعنی بدون ترجمه */
|
||||
body_en?: ArticleBodyDoc | null;
|
||||
/** پیشنویس فقط برای ادمین (از انتهای مدیریتی) میآید؛ بازدیدکننده نمیبیند */
|
||||
status: ArticleStatus;
|
||||
/** کلمه کلیدی هدف چکلیست سئو — راهنمای نوشتن، در سایت نمایش داده نمیشود */
|
||||
|
||||
Reference in New Issue
Block a user