"use client"; import Image from "next/image"; import Link from "next/link"; import { useEffect, useRef, useState } from "react"; import { Swiper, SwiperSlide } from "swiper/react"; import type { Swiper as SwiperInstance } from "swiper"; import "swiper/css"; import logo from "@/assets/images/brand/logo.png"; import { contact } from "@/data/site"; import "./raoofi-home.css"; const asset = (name: string) => `/raoofi-media/${name}`; const stories: { title: string; image: string; href: string }[] = [ { title: "گشایش فصل تازه‌ای از زندگی در الیزیوم", image: asset("news-1.jpg"), href: "/news-and-blog" }, { title: "بیست و پنج سال خلق فضاهای ماندگار", image: asset("news-2.jpg"), href: "/aboutus" }, { title: "آغاز مسیری تازه برای پروژه حیات", image: asset("news-3.jpg"), href: "/news-and-blog" }, ]; const projects: { title: string; image: string; subtitle: string }[] = [ { title: "بازآفرینی افق‌ها", subtitle: "الیزیوم", image: asset("project-1.webp") }, { title: "زندگی در میان شاهکارها", subtitle: "اونیکس", image: asset("project-2.webp") }, { title: "نگاهی تازه به معماری", subtitle: "حیات", image: asset("project-3.webp") }, ]; const partners = [ { name: "زاها حدید", latin: "Zaha Hadid", image: asset("partner-zaha.webp") }, { name: "فاستر و همکاران", latin: "Foster + Partners", image: asset("partner-foster.webp") }, { name: "ژیل و بواسیه", latin: "Gilles & Boissier", image: asset("partner-gilles.webp") }, { name: "یودیزین", latin: "YODEZEEN", image: asset("partner-yodezeen.jpg") }, { name: "ولادیمیر جوروویچ", latin: "Vladimir Djurovic", image: asset("partner-vladimir.webp") }, { name: "دورچستر کالکشن", latin: "Dorchester Collection", image: asset("partner-dorchester.webp") }, ]; const menu = [ { label: "صفحه اصلی", href: "/" }, { label: "پروژه‌ها", href: "/projects" }, { label: "آتلیه رئوفی", href: "/atelier" }, { label: "رئوفی هوم", href: "/raoofi-home" }, { label: "داستان ما", href: "/aboutus" }, { label: "اخبار", href: "/news-and-blog" }, { label: "تماس با ما", href: "/contactus" }, ]; function ArrowLink({ href, children }: { href: string; children: React.ReactNode }) { return {children}; } export function RaoofiHome() { const [menuOpen, setMenuOpen] = useState(false); const [story, setStory] = useState(0); const [scrolled, setScrolled] = useState(false); const rootRef = useRef(null); const newsRef = useRef(null); const partnerSwiperRef = useRef(null); const partnerProgressRef = useRef(null); useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 40); onScroll(); window.addEventListener("scroll", onScroll, { passive: true }); return () => window.removeEventListener("scroll", onScroll); }, []); useEffect(() => { const timer = window.setInterval(() => setStory((value) => (value + 1) % stories.length), 6500); return () => window.clearInterval(timer); }, []); useEffect(() => { document.body.style.overflow = menuOpen ? "hidden" : ""; return () => { document.body.style.overflow = ""; }; }, [menuOpen]); useEffect(() => { const root = rootRef.current; const news = newsRef.current; if (!root || !news) return; const reduceMotion = window.matchMedia("(prefers-reduced-motion: reduce)"); root.classList.add("om-motion-ready"); const observer = new IntersectionObserver((entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { entry.target.classList.add("is-visible"); observer.unobserve(entry.target); } }); }, { threshold: 0.13, rootMargin: "0px 0px -35px 0px" }); root.querySelectorAll(".om-reveal").forEach((element) => observer.observe(element)); let raf = 0; const updateScroll = () => { raf = 0; const rect = news.getBoundingClientRect(); const range = Math.max(1, news.offsetHeight - window.innerHeight); const progress = reduceMotion.matches ? 1 : Math.min(1, Math.max(0, -rect.top / range)); news.style.setProperty("--grow", progress.toFixed(3)); root.querySelectorAll(".om-project, .om-retreat").forEach((element) => { const box = element.getBoundingClientRect(); const distance = (window.innerHeight / 2 - box.top - box.height / 2) / window.innerHeight; element.style.setProperty("--parallax", `${Math.max(-36, Math.min(36, distance * 38)).toFixed(1)}px`); }); }; const requestUpdate = () => { if (!raf) raf = window.requestAnimationFrame(updateScroll); }; updateScroll(); window.addEventListener("scroll", requestUpdate, { passive: true }); window.addEventListener("resize", requestUpdate); return () => { observer.disconnect(); window.removeEventListener("scroll", requestUpdate); window.removeEventListener("resize", requestUpdate); if (raf) window.cancelAnimationFrame(raf); }; }, []); const syncPartnerProgress = (swiper: SwiperInstance) => { const bar = partnerProgressRef.current; if (!bar) return; const index = swiper.realIndex; const previous = Number(bar.dataset.index || 0); bar.style.transitionDuration = Math.abs(index - previous) === partners.length - 1 ? "0ms" : `${swiper.params.speed}ms`; bar.style.transform = `translateX(${index * 100}%)`; bar.dataset.index = String(index); }; return
رئوفی تماس با ما
هنرِ ساختنِ زندگی

هنرِ تعالی

گروه ساختمانی رئوفی برای کشف، پیمایش کنید

رئوفی

هنرِ تعالی

فراتر از ساختن، فراتر از مکان. جایی که مهارت بی‌همتا، ظرافت و نوآوری را به تجربه‌ای تازه از زندگی بدل می‌کند. ما ناممکن را تصور می‌کنیم و آن را می‌سازیم.

داستان ما را ببینید
{stories.map((item, index) =>
تازه‌ترین‌ها / {String(index + 1).padStart(2, "0")}

{item.title}

بیشتر بدانید
)}
{stories.map((_, i) =>

شاهکارها

خلق آثارِ زندهٔ هنری

هنر تنها نشانی از زیبایی نیست؛ بیانی از یگانگی، خلاقیت و کیفیت است. هر پروژهٔ ما میراثی برای آینده خواهد بود.

{projects.map((project, index) =>
{project.subtitle}
پروژه‌های رئوفی / {String(index + 1).padStart(2, "0")}

{project.title}

{project.subtitle}
)}
معماری مسکونی

مجموعه‌ای متمایز

آرامشی در دلِ شهر

کشف پروژه‌ها

همکاران

همراهی با صاحبان اندیشه

خلاقیت بی‌مرز با پیشگامان این صنعت پیوند می‌خورد و روایت‌هایی تازه در طراحی و زندگی می‌آفریند.

تماشای ویدیو ↗
{ partnerSwiperRef.current = swiper; syncPartnerProgress(swiper); }} onSlideChange={syncPartnerProgress} breakpoints={{ 0: { spaceBetween: 16 }, 701: { spaceBetween: 30 } }}> {partners.map((item) =>
{item.latin}

{item.name}

{item.latin}
)}
فضای طراحی

رئوفی هوم

تصورِ شما، هنرِ ما

هر فضا با نگاهی شخصی آغاز می‌شود و با وسواس در جزئیات، به اثری ماندگار بدل می‌گردد.

داستان ما

پیوندِ مکان
و معنا

با اشتیاق به معماری، مرزهای ممکن را جابه‌جا می‌کنیم و فضاهایی می‌سازیم که افق شهر و کیفیت زندگی را دگرگون می‌کنند.

۲۵سال تجربه
۱۵پروژهٔ شاخص
۰۶حوزهٔ تخصصی
داستان ما را کشف کنید
تازه‌ترین خبر معماری
تازه‌ترین خبر

روایتی تازه از معماری و زندگی

مطالعهٔ خبر

با هم گفت‌وگو کنیم

ناممکن را کشف کنید

برای آشنایی بیشتر با پروژه‌ها و فرصت‌های همکاری، با ما در تماس باشید.

درخواست تماس
; }