setPaused(true)}
onMouseLeave={() => setPaused(false)}
+ onPointerDown={onPointerDown}
>
-
{
- if (index < count) return;
- setInstant(true);
- setIndex(0);
- }}
- >
- {[...portfolioItems, ...portfolioItems].map((item, i) => (
-
-
-
-
{item.titleEn}
-
{item.text}
-
-
- ))}
+
+ {Array.from({ length: reps }, () => slides)
+ .flat()
+ .map((item, i) => (
+
+
+
+
{item.title}
+
{item.text}
+
+
+ ))}
);
diff --git a/src/data/content.ts b/src/data/content.ts
index 174aa37..0772f12 100644
--- a/src/data/content.ts
+++ b/src/data/content.ts
@@ -3,7 +3,7 @@ import { CONTACT } from "@/lib/site";
export const navItems = [
{ href: "/", label: "Home" },
{ href: "/about-us", label: "About" },
- { href: "/#services", label: "Services" },
+ { href: "/services", label: "Services" },
{ href: "/portfolios", label: "Projects" },
{ href: "/blog", label: "Blog" },
{ href: "/contact-us", label: "Contact" },
@@ -57,6 +57,76 @@ export const features = [
},
];
+export const serviceAreas = [
+ {
+ number: "01",
+ title: "Luxury Villas & Residential Projects",
+ text: "Designing homes that are not just places to live but authentic, serene, and personal experiences. Form, light, and material are carefully curated to make each residence a unique world.",
+ },
+ {
+ number: "02",
+ title: "Minimal & Architectural Interior Design",
+ text: "Crafting interiors that tell a story through form, material, and light, enhancing the quality of life. Every detail is thoughtfully designed with regard to function, emotion, and the client’s identity.",
+ },
+ {
+ number: "03",
+ title: "Office & Creative Workspaces",
+ text: "Spaces that are inspiring, professional, and creative, focusing on human interaction and productivity. Each office or workspace reflects the brand story and organizational identity.",
+ },
+ {
+ number: "04",
+ title: "Recreational & Cultural Projects",
+ text: "Including experience-driven spaces such as galleries, cafés, auditoriums, and public areas that deliver outcomes beyond expectations through design and spatial essence.",
+ },
+ {
+ number: "05",
+ title: "Conceptual Projects & Product Design",
+ text: "Generating bold, innovative ideas at every scale—from custom handles and furniture to spatial elements that strengthen the identity and feeling of the project.",
+ },
+];
+
+export const serviceCommonFeatures = [
+ "Human-centered design",
+ "Bold use of form and materials",
+ "Reinterpreting Iranian heritage in contemporary architecture",
+ "Quality, detail, and design beyond expectation",
+];
+
+export const serviceCards = [
+ {
+ image: "/images/services/card-architecture.jpg",
+ title: "Architecture",
+ text: "Volumes shaped by site, light, and climate, resolved down to the last detail.",
+ },
+ {
+ image: "/images/services/card-residential.jpg",
+ title: "Residential space",
+ text: "Homes designed around the way you actually live, calm, private, and enduring.",
+ },
+ {
+ image: "/images/services/card-interior.jpg",
+ title: "Interior design",
+ text: "Minimal interiors where material, texture, and light carry the whole story.",
+ },
+ {
+ image: "/images/services/card-exterior.jpg",
+ title: "Exterior planning",
+ text: "Facades and landscapes that tie the building back into its surroundings.",
+ },
+];
+
+export const serviceStats = [
+ { value: "99", suffix: "%", label: "Track and analyze business reports." },
+ { value: "4.98", stars: 5, label: "Best rated agency" },
+ { value: "98", suffix: "%", label: "Genuine repeated happy customers." },
+];
+
+export const serviceCapabilities = [
+ ["Structural design", "Landscape design", "Architectural", "Space planning"],
+ ["Building design", "Facility optimization", "Innovative design", "Residential"],
+ ["Interior design", "Space utilization", "Contractor bidding", "Technological design"],
+];
+
export const portfolioItems = [
{
title: "نوجان",
diff --git a/src/lib/meshkee.ts b/src/lib/meshkee.ts
index 186321a..f4d869e 100644
--- a/src/lib/meshkee.ts
+++ b/src/lib/meshkee.ts
@@ -44,6 +44,13 @@ export const ABOUT_SLOT_KEYS = {
hero: "about-hero",
} as const;
+export const SERVICES_SLOT_KEYS = {
+ hero: "services-hero",
+ feature: "services-feature",
+ cards: "services-cards",
+ gallery: "services-gallery",
+} as const;
+
export const CONTACT_SLOT_KEYS = {
hero: "contact-hero",
} as const;
@@ -130,6 +137,42 @@ export const STATIC_IMAGE_SLOT_CATALOG = [
itemCount: 1,
recommendedWidth: 1400,
},
+ {
+ key: SERVICES_SLOT_KEYS.hero,
+ label: "Services page header",
+ kind: "single" as const,
+ pageKey: "services",
+ aspectRatio: "16:6",
+ itemCount: 1,
+ recommendedWidth: 1920,
+ },
+ {
+ key: SERVICES_SLOT_KEYS.feature,
+ label: "Services video cover",
+ kind: "single" as const,
+ pageKey: "services",
+ aspectRatio: "16:9",
+ itemCount: 1,
+ recommendedWidth: 1400,
+ },
+ {
+ key: SERVICES_SLOT_KEYS.cards,
+ label: "Services slider",
+ kind: "list" as const,
+ pageKey: "services",
+ aspectRatio: "4:5",
+ itemCount: 4,
+ recommendedWidth: 800,
+ },
+ {
+ key: SERVICES_SLOT_KEYS.gallery,
+ label: "Services page gallery",
+ kind: "list" as const,
+ pageKey: "services",
+ aspectRatio: "4:5",
+ itemCount: 2,
+ recommendedWidth: 720,
+ },
{
key: CONTACT_SLOT_KEYS.hero,
label: "Contact page header",
diff --git a/src/lib/site.ts b/src/lib/site.ts
index f8477f9..e275a41 100644
--- a/src/lib/site.ts
+++ b/src/lib/site.ts
@@ -30,4 +30,5 @@ export const CONTACT = {
instagram:
"https://www.instagram.com/mostafa_heydar_hoseini?igsh=MXh5MzRtM3g4bHoycQ==",
video: "https://www.aparat.com/v/oiz515o",
+ servicesVideo: "https://www.aparat.com/v/uxi63k7",
};