24 Commits

Author SHA1 Message Date
bcd4492fb6 Update src/app/page.tsx 2026-02-19 05:28:27 +00:00
4da788d22a Update src/app/layout.tsx 2026-02-19 05:28:26 +00:00
0dc32ef5bc Merge version_11 into main
Merge version_11 into main
2026-02-19 05:25:53 +00:00
6f70a4fe56 Update src/app/page.tsx 2026-02-19 05:25:49 +00:00
6d77707c7f Merge version_11 into main
Merge version_11 into main
2026-02-19 05:18:26 +00:00
20828a3bc1 Update src/app/page.tsx 2026-02-19 05:18:21 +00:00
2446421201 Merge version_10 into main
Merge version_10 into main
2026-02-19 05:16:24 +00:00
70773f62c7 Update src/app/page.tsx 2026-02-19 05:16:20 +00:00
2cd823c3b4 Update src/app/layout.tsx 2026-02-19 05:16:19 +00:00
e4966fcd76 Merge version_9 into main
Merge version_9 into main
2026-02-19 05:12:15 +00:00
29ada469f1 Update src/app/page.tsx 2026-02-19 05:12:11 +00:00
35974ef697 Update src/app/layout.tsx 2026-02-19 05:12:10 +00:00
9edc509176 Update src/app/page.tsx 2026-02-19 05:07:40 +00:00
3ecf5cd576 Merge version_8 into main
Merge version_8 into main
2026-02-19 05:07:15 +00:00
9aa099ba6e Update src/app/page.tsx 2026-02-19 05:07:11 +00:00
ffb8a12e46 Merge version_8 into main
Merge version_8 into main
2026-02-19 05:04:58 +00:00
5e55889445 Update src/app/page.tsx 2026-02-19 05:04:54 +00:00
0a5feda129 Merge version_7 into main
Merge version_7 into main
2026-02-19 05:00:07 +00:00
5324217092 Update src/app/page.tsx 2026-02-19 05:00:03 +00:00
27a39cf14f Merge version_6 into main
Merge version_6 into main
2026-02-19 04:51:06 +00:00
40958aa0e5 Update src/app/page.tsx 2026-02-19 04:51:02 +00:00
140e36ec20 Update src/app/layout.tsx 2026-02-19 04:51:01 +00:00
4327d13904 Merge version_5 into main
Merge version_5 into main
2026-02-17 09:08:27 +00:00
e8689d05e8 Merge version_5 into main
Merge version_5 into main
2026-02-17 09:06:01 +00:00
2 changed files with 108 additions and 30 deletions

View File

@@ -1,5 +1,4 @@
import type { Metadata } from 'next';
import { Cormorant_Garamond } from "next/font/google";
import './globals.css';
export const metadata: Metadata = {
@@ -7,12 +6,6 @@ export const metadata: Metadata = {
description: 'Discover exclusive luxury properties in Dubai curated for discerning buyers and investors.',
};
const cormorantGaramond = Cormorant_Garamond({
variable: "--font-cormorant-garamond",
subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
});
export default function RootLayout({
children,
}: {
@@ -20,7 +13,7 @@ export default function RootLayout({
}) {
return (
<html lang="en">
<body className={`${cormorantGaramond.variable} antialiased`}>
<body>
{children}
<script
@@ -416,6 +409,20 @@ export default function RootLayout({
originalContent = element.textContent;
element.contentEditable = 'true';
if (!element.dataset.webildOriginalWhiteSpace) {
const computedStyle = window.getComputedStyle(element);
element.dataset.webildOriginalWhiteSpace = computedStyle.whiteSpace;
element.dataset.webildOriginalWordWrap = computedStyle.wordWrap;
element.dataset.webildOriginalOverflowWrap = computedStyle.overflowWrap;
element.dataset.webildOriginalOverflow = computedStyle.overflow;
}
element.style.whiteSpace = 'pre-wrap';
element.style.wordWrap = 'break-word';
element.style.overflowWrap = 'break-word';
element.style.overflow = 'visible';
element.focus();
isEditing = true;
@@ -525,6 +532,23 @@ export default function RootLayout({
element.contentEditable = 'false';
isEditing = false;
if (element.dataset.webildOriginalWhiteSpace) {
element.style.whiteSpace = element.dataset.webildOriginalWhiteSpace === 'normal' ? '' : element.dataset.webildOriginalWhiteSpace;
delete element.dataset.webildOriginalWhiteSpace;
}
if (element.dataset.webildOriginalWordWrap) {
element.style.wordWrap = element.dataset.webildOriginalWordWrap === 'normal' ? '' : element.dataset.webildOriginalWordWrap;
delete element.dataset.webildOriginalWordWrap;
}
if (element.dataset.webildOriginalOverflowWrap) {
element.style.overflowWrap = element.dataset.webildOriginalOverflowWrap === 'normal' ? '' : element.dataset.webildOriginalOverflowWrap;
delete element.dataset.webildOriginalOverflowWrap;
}
if (element.dataset.webildOriginalOverflow) {
element.style.overflow = element.dataset.webildOriginalOverflow === 'visible' ? '' : element.dataset.webildOriginalOverflow;
delete element.dataset.webildOriginalOverflow;
}
if (element.dataset.beforeInputHandler === 'true') {
element.removeEventListener('beforeinput', () => {});
delete element.dataset.beforeInputHandler;
@@ -830,6 +854,9 @@ export default function RootLayout({
const handleScroll = () => {
if (!isActive) return;
if (isEditing) return;
if (selectedElement) {
makeUneditable(selectedElement, false);
selectedElement.classList.remove(selectedClass);
@@ -1203,6 +1230,31 @@ export default function RootLayout({
window.addEventListener('scroll', handleScroll, true);
window.addEventListener('message', handleMessage, true);
let lastPathname = window.location.pathname;
const notifyPageChange = () => {
window.parent.postMessage({
type: 'webild-page-changed',
data: { pathname: window.location.pathname }
}, '*');
};
window.addEventListener('popstate', () => {
if (lastPathname !== window.location.pathname) {
lastPathname = window.location.pathname;
notifyPageChange();
}
}, true);
const urlCheckInterval = setInterval(() => {
if (lastPathname !== window.location.pathname) {
lastPathname = window.location.pathname;
notifyPageChange();
}
}, 500);
notifyPageChange();
window.webildCleanup = () => {
isActive = false;
@@ -1213,6 +1265,10 @@ export default function RootLayout({
removeHoverOverlay();
removeElementTypeLabel();
if (urlCheckInterval) {
clearInterval(urlCheckInterval);
}
document.removeEventListener('mouseover', handleMouseOver, true);
document.removeEventListener('mouseout', handleMouseOut, true);
document.removeEventListener('click', handleClick, true);
@@ -1243,4 +1299,4 @@ export default function RootLayout({
</body>
</html>
);
}
}

View File

@@ -1,16 +1,17 @@
"use client"
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import HeroBillboardGallery from '@/components/sections/hero/HeroBillboardGallery';
import ProductCardFour from '@/components/sections/product/ProductCardFour';
import MediaAbout from '@/components/sections/about/MediaAbout';
import FeatureCardTwentyTwo from '@/components/sections/feature/FeatureCardTwentyTwo';
import FeatureCardThree from '@/components/sections/feature/featureCardThree/FeatureCardThree';
import TeamCardOne from '@/components/sections/team/TeamCardOne';
import MetricCardThree from '@/components/sections/metrics/MetricCardThree';
import TestimonialCardFive from '@/components/sections/testimonial/TestimonialCardFive';
import ContactCTA from '@/components/sections/contact/ContactCTA';
import FooterSimple from '@/components/sections/footer/FooterSimple';
import { Sparkles, Home, Shield, Award, Star, Mail, TrendingUp, DollarSign, FileCheck, Building2, Users } from "lucide-react";
import { Sparkles, Home, Shield, Award, Star, Mail, TrendingUp, DollarSign, Users } from "lucide-react";
export default function LandingPage() {
return (
@@ -21,7 +22,7 @@ export default function LandingPage() {
contentWidth="mediumSmall"
sizing="mediumLarge"
background="none"
cardStyle="elevated"
cardStyle="glass-elevated"
primaryButtonStyle="inset-glow"
secondaryButtonStyle="radial-glow"
headingFontWeight="medium"
@@ -33,6 +34,7 @@ export default function LandingPage() {
{ name: "Properties", id: "properties" },
{ name: "About", id: "about" },
{ name: "Services", id: "services" },
{ name: "Team", id: "team" },
{ name: "Testimonials", id: "testimonials" },
{ name: "Contact", id: "contact" }
]}
@@ -44,7 +46,7 @@ export default function LandingPage() {
<HeroBillboardGallery
title="Discover Luxury Living in Dubai"
description="Exclusive properties curated for discerning buyers. Experience the pinnacle of sophistication with our award-winning real estate portfolio."
background={{ variant: "plain" }}
background={{ variant: "gradient-bars" }}
tag="Premium Collections"
tagIcon={Sparkles}
buttons={[
@@ -112,7 +114,7 @@ export default function LandingPage() {
</div>
<div id="services" data-section="services">
<FeatureCardTwentyTwo
<FeatureCardThree
title="Our Services & Expertise"
description="Comprehensive real estate solutions tailored to meet your unique needs and aspirations."
tag="Professional Services"
@@ -120,30 +122,49 @@ export default function LandingPage() {
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={true}
gridVariant="uniform-all-items-equal"
carouselMode="buttons"
features={[
{
id: "1", category: ["Services", "Property"],
title: "Property Selection - Exclusive access to off-market and hand-selected luxury properties", imageSrc: "https://img.b2bpic.net/free-photo/modern-spacious-room-with-large-panoramic-window_7502-7289.jpg", imageAlt: "Property selection"
id: "01", title: "Property Selection", description: "Exclusive access to off-market and hand-selected luxury properties", imageSrc: "https://img.b2bpic.net/free-photo/modern-spacious-room-with-large-panoramic-window_7502-7289.jpg", imageAlt: "Property selection"
},
{
id: "2", category: ["Investment", "Advisory"],
title: "Investment Advisory - Expert insights into market trends and investment opportunities", imageSrc: "https://img.b2bpic.net/free-photo/shanghai-night-china_1127-3170.jpg", imageAlt: "Investment advisory"
id: "02", title: "Investment Advisory", description: "Expert insights into market trends and investment opportunities", imageSrc: "https://img.b2bpic.net/free-photo/shanghai-night-china_1127-3170.jpg", imageAlt: "Investment advisory"
},
{
id: "3", category: ["Negotiation", "Closing"],
title: "Negotiation & Closing - Strategic negotiation and seamless transaction management", imageSrc: "https://img.b2bpic.net/free-photo/luxury-architecture-exterior-design_23-2151920926.jpg", imageAlt: "Negotiation and closing"
id: "03", title: "Negotiation & Closing", description: "Strategic negotiation and seamless transaction management", imageSrc: "https://img.b2bpic.net/free-photo/luxury-architecture-exterior-design_23-2151920926.jpg", imageAlt: "Negotiation and closing"
},
{
id: "4", category: ["Legal", "Compliance"],
title: "Legal Compliance - Full support with documentation, permits, and regulatory compliance", imageSrc: "https://img.b2bpic.net/free-photo/luxury-architecture-exterior-design_23-2151920931.jpg", imageAlt: "Legal compliance"
id: "04", title: "Legal Compliance", description: "Full support with documentation, permits, and regulatory compliance", imageSrc: "https://img.b2bpic.net/free-photo/luxury-architecture-exterior-design_23-2151920931.jpg", imageAlt: "Legal compliance"
},
{
id: "5", category: ["Property", "Management"],
title: "Property Management - Professional management services for rental income optimization", imageSrc: "https://img.b2bpic.net/free-photo/modern-spacious-room-with-large-panoramic-window_7502-7289.jpg", imageAlt: "Property management"
id: "05", title: "Property Management", description: "Professional management services for rental income optimization", imageSrc: "https://img.b2bpic.net/free-photo/modern-spacious-room-with-large-panoramic-window_7502-7289.jpg", imageAlt: "Property management"
},
{
id: "6", category: ["Concierge", "Services"],
title: "Concierge Services - White-glove concierge support for renovations and lifestyle services", imageSrc: "https://img.b2bpic.net/free-photo/shanghai-night-china_1127-3170.jpg", imageAlt: "Concierge services"
id: "06", title: "Concierge Services", description: "White-glove concierge support for renovations and lifestyle services", imageSrc: "https://img.b2bpic.net/free-photo/shanghai-night-china_1127-3170.jpg", imageAlt: "Concierge services"
}
]}
/>
</div>
<div id="team" data-section="team">
<TeamCardOne
title="Executive Team"
description="Meet the visionary leaders guiding Luxe Properties with expertise and dedication."
tag="Our Leadership"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={false}
gridVariant="uniform-all-items-equal"
members={[
{
id: "1", name: "Hassan Al-Maktoum", role: "Chief Executive Officer", imageSrc: "https://img.b2bpic.net/free-photo/business-people-using-digital-tablet-airport_107420-95868.jpg", imageAlt: "Hassan Al-Maktoum"
},
{
id: "2", name: "Layla Al-Mansoori", role: "Chief Operating Officer", imageSrc: "https://img.b2bpic.net/free-photo/attractive-satisfied-young-female-entrepreneur-standing-proud-smiling-with-crossed-hands-confident_197531-23012.jpg?id=13871705", imageAlt: "Layla Al-Mansoori"
},
{
id: "3", name: "Marcus Wellington", role: "Chief Investment Officer", imageSrc: "https://img.b2bpic.net/free-photo/young-businessman-with-clipboard_1098-602.jpg", imageAlt: "Marcus Wellington"
}
]}
/>
@@ -192,7 +213,7 @@ export default function LandingPage() {
id: "1", name: "Ahmed Al Mansouri, Real Estate Investor", date: "Date: September 2024", title: "Exceptional Service & Market Expertise", quote: "The team at Luxe Properties demonstrated outstanding knowledge of the Dubai market. Their negotiation skills saved me significant time and money. I would not hesitate to recommend them for any luxury property transaction.", tag: "Premium Portfolio", avatarSrc: "https://img.b2bpic.net/free-photo/business-people-using-digital-tablet-airport_107420-95868.jpg", imageSrc: "https://img.b2bpic.net/free-photo/shanghai-night-china_1127-3170.jpg"
},
{
id: "2", name: "Sarah Johnson, CEO - Tech Corp", date: "Date: August 2024", title: "A Smooth & Sophisticated Experience", quote: "Finding a penthouse that matched my exacting standards seemed impossible, yet within weeks, the team presented three exceptional options. Their professionalism and attention to detail were impeccable throughout.", tag: "Penthouse Collection", avatarSrc: "https://img.b2bpic.net/free-photo/businessman-discussing-document-with-colleague_107420-84875.jpg", imageSrc: "https://img.b2bpic.net/free-photo/luxury-architecture-exterior-design_23-2151920926.jpg"
id: "2", name: "Sarah Johnson, CEO - Tech Corp", date: "Date: August 2024", title: "A Smooth & Sophisticated Experience", quote: "Finding a penthouse that matched my exacting standards seemed impossible, yet within weeks, the team presented three exceptional options. Their professionalism and attention to detail were impeccable throughout.", tag: "Penthouse Collection", avatarSrc: "https://img.b2bpic.net/free-photo/attractive-satisfied-young-female-entrepreneur-standing-proud-smiling-with-crossed-hands-confident_197531-23012.jpg?id=13871705", imageSrc: "https://img.b2bpic.net/free-photo/luxury-architecture-exterior-design_23-2151920926.jpg"
},
{
id: "3", name: "Michael Chen, International Investor", date: "Date: July 2024", title: "Trusted Partner for International Clients", quote: "As a foreign investor, I appreciated the comprehensive legal and financial guidance. The team navigated complex regulations effortlessly, allowing me to invest with complete confidence.", tag: "Investment Advisory", avatarSrc: "https://img.b2bpic.net/free-photo/young-businessman-with-clipboard_1098-602.jpg", imageSrc: "https://img.b2bpic.net/free-photo/luxury-architecture-exterior-design_23-2151920931.jpg"
@@ -216,7 +237,7 @@ export default function LandingPage() {
tagIcon={Mail}
title="Ready to Find Your Dream Property?"
description="Let our expert team guide you through your luxury real estate journey. Schedule a consultation today and discover properties that match your vision and investment goals."
background={{ variant: "plain" }}
background={{ variant: "sparkles-gradient" }}
useInvertedBackground={false}
buttons={[
{ text: "Schedule Consultation", href: "#" },
@@ -232,6 +253,7 @@ export default function LandingPage() {
title: "Company", items: [
{ label: "About Us", href: "#about" },
{ label: "Our Services", href: "#services" },
{ label: "Executive Team", href: "#team" },
{ label: "Properties", href: "#properties" },
{ label: "Contact", href: "#contact" }
]
@@ -265,4 +287,4 @@ export default function LandingPage() {
</div>
</ThemeProvider>
);
}
}