feat(projects): دادههای واقعی پروژهها — ستونهای تازه و حذف دادههای ماک
- دیتابیس/مدل/اسکیما: land_area (مساحت عرصه)، pilot_floors (طبقات روی همکف/پیلوت) و سه ستون واحدها (مسکونی/تجاری/اداری) بهجای «واحدها»ی تکی - فایل استاتیک projectsData (دادههای ماک) حذف شد؛ لیست، جزئیات و «پروژههای شاخص» همه از دیتابیس میخوانند - برچسبهای i18n فهرست مشخصات مطابق شیت تیم
This commit is contained in:
@@ -10,10 +10,9 @@ import { useFieldSaver } from '../../admin/AdminContext'
|
||||
import { useLang } from '../../i18n/lang'
|
||||
import { InlineEdit } from '../admin/InlineEdit'
|
||||
import type { ProjectStatus } from '../../data/site'
|
||||
import { projectsData } from '../../data/projectsData'
|
||||
|
||||
export function FeaturedProjects() {
|
||||
const { status_labels } = useSite()
|
||||
const { status_labels, projects } = useSite()
|
||||
const { t, href } = useLang()
|
||||
const heading = useSectionHeading('featured_projects')
|
||||
const save = useFieldSaver()
|
||||
@@ -34,8 +33,8 @@ export function FeaturedProjects() {
|
||||
|
||||
const [status, setStatus] = useState<ProjectStatus>('done')
|
||||
|
||||
// Filter and slice static project data
|
||||
const list = projectsData.filter((p) => p.status === status).slice(0, 3)
|
||||
// سه پروژه از دیتابیس — ویرایش پنل همانجا اعمال میشود
|
||||
const list = projects.filter((p) => p.status === status).slice(0, 3)
|
||||
const BASE_IMG_URL = "/seed-media/2026/09/";
|
||||
|
||||
return (
|
||||
@@ -87,8 +86,7 @@ export function FeaturedProjects() {
|
||||
className="grid gap-6 lg:grid-cols-3"
|
||||
>
|
||||
{list.map((project, i) => {
|
||||
const dummyImageName = `${(i % 6) + 1}.png`;
|
||||
const imageUrl = `${BASE_IMG_URL}${dummyImageName}`;
|
||||
const imageUrl = project.image || undefined;
|
||||
|
||||
return (
|
||||
<motion.div
|
||||
|
||||
Reference in New Issue
Block a user