9 Commits

Author SHA1 Message Date
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
4e9d918588 Update theme fonts 2026-02-17 09:08:23 +00:00
aed8958e46 Update theme fonts 2026-02-17 09:08:22 +00:00
e8689d05e8 Merge version_5 into main
Merge version_5 into main
2026-02-17 09:06:01 +00:00
73d3007e13 Update src/app/page.tsx 2026-02-17 09:05:57 +00:00
faa72fb8fb Merge version_4 into main
Merge version_4 into main
2026-02-17 09:00:19 +00:00
7323266c35 Merge version_4 into main
Merge version_4 into main
2026-02-17 08:58:29 +00:00
3 changed files with 72 additions and 9 deletions

View File

@@ -409,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;
@@ -518,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;
@@ -823,6 +854,9 @@ export default function RootLayout({
const handleScroll = () => {
if (!isActive) return;
if (isEditing) return;
if (selectedElement) {
makeUneditable(selectedElement, false);
selectedElement.classList.remove(selectedClass);
@@ -1196,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;
@@ -1206,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);

View File

@@ -4,7 +4,7 @@ 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 TextSplitAbout from '@/components/sections/about/TextSplitAbout';
import MediaAbout from '@/components/sections/about/MediaAbout';
import FeatureCardTwentyTwo from '@/components/sections/feature/FeatureCardTwentyTwo';
import MetricCardThree from '@/components/sections/metrics/MetricCardThree';
import TestimonialCardFive from '@/components/sections/testimonial/TestimonialCardFive';
@@ -21,7 +21,7 @@ export default function LandingPage() {
contentWidth="mediumSmall"
sizing="mediumLarge"
background="none"
cardStyle="elevated"
cardStyle="glass-elevated"
primaryButtonStyle="inset-glow"
secondaryButtonStyle="radial-glow"
headingFontWeight="medium"
@@ -98,12 +98,12 @@ export default function LandingPage() {
</div>
<div id="about" data-section="about">
<TextSplitAbout
<MediaAbout
title="Your Trusted Dubai Real Estate Partner"
description={[
"With over 15 years of excellence in Dubai's luxury real estate market, we have established ourselves as the premier boutique agency for discerning international clientele.", "Our expert team specializes in sourcing and curating the finest properties across Dubai's most exclusive communities. We combine market mastery with personalized service, ensuring every transaction is seamless and satisfying.", "Transparency, integrity, and results define our commitment to every client partnership."
]}
showBorder={true}
description="With over 15 years of excellence in Dubai's luxury real estate market, we have established ourselves as the premier boutique agency for discerning international clientele. Our expert team specializes in sourcing and curating the finest properties across Dubai's most exclusive communities. We combine market mastery with personalized service, ensuring every transaction is seamless and satisfying."
tag="About Us"
imageSrc="https://img.b2bpic.net/free-photo/luxury-architecture-exterior-design_23-2151920926.jpg"
imageAlt="Luxe Properties Dubai team"
useInvertedBackground={false}
buttons={[
{ text: "Learn Our Story", href: "#" }

View File

@@ -11,7 +11,7 @@ html {
body {
background-color: var(--background);
color: var(--foreground);
font-family: var(--font-inter), sans-serif;
font-family: var(font-family: --font-cormorant-garamond, serif;), sans-serif;
position: relative;
min-height: 100vh;
overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4,
h5,
h6 {
font-family: var(--font-ubuntu), sans-serif;
font-family: var(font-family: --font-cormorant-garamond, serif;), sans-serif;
}