diff --git a/package-lock.json b/package-lock.json
index c0d64d2..b1bcf64 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,6 +9,7 @@
"version": "0.0.0",
"dependencies": {
"@fortawesome/fontawesome-free": "^7.3.0",
+ "html-react-parser": "^6.1.4",
"react": "^19.2.6",
"react-dom": "^19.2.6",
"react-router-dom": "^7.17.0"
@@ -1120,6 +1121,73 @@
"node": ">=8"
}
},
+ "node_modules/dom-serializer": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-3.1.1.tgz",
+ "integrity": "sha512-4MEa38/QexBob6gFNwu+EGdWvhJ1OKuNwdYY3Y3NyeWDQfnGeDYQUDfIRzWu5B5gsv03so2Uxd28YC6zrsx3Lw==",
+ "license": "MIT",
+ "dependencies": {
+ "domelementtype": "^3.0.0",
+ "domhandler": "^6.0.0",
+ "entities": "^8.0.0"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/domelementtype": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-3.0.0.tgz",
+ "integrity": "sha512-umCQid3jKbDmVjx8jGaW7uUykm4DEUeyV21hPxNMo2nV955DhUThwqyOIDtreepP31hl84X7G5U9ZfsWvIB3Pg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=20.19.0"
+ }
+ },
+ "node_modules/domhandler": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-6.0.1.tgz",
+ "integrity": "sha512-gYzvtM72ZtxQO0T048kd6HWSbbGCNOUwcnfQ01cqIJ4X2IYKFFHZ5mKvrQETcFXxsRObZulDaKmy//R7TPtsBg==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "domelementtype": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/domutils": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-4.0.2.tgz",
+ "integrity": "sha512-qI4JLRKnSzqFqr7hAlS5xQDusBCjKSEG4t4+7aNrIQMHBcsC2TGEhuyABJdYkgSewL57PNLYEiibY2iPKhKpaA==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dom-serializer": "^3.0.0",
+ "domelementtype": "^3.0.0",
+ "domhandler": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
"node_modules/electron-to-chromium": {
"version": "1.5.371",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.371.tgz",
@@ -1127,6 +1195,18 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/entities": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz",
+ "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
"node_modules/escalade": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
@@ -1490,6 +1570,75 @@
"hermes-estree": "0.25.1"
}
},
+ "node_modules/html-dom-parser": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-8.0.0.tgz",
+ "integrity": "sha512-cWLJ8mt930VceOzVfY/J+T1ou9v3ENT0BgWqy5aEZjdFp37TYLXULjX8u0vD2rBpFAkK5IofOPl0y4Gq0QLIyA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/remarkablemark"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "domhandler": "6.0.1",
+ "htmlparser2": "12.0.0"
+ }
+ },
+ "node_modules/html-react-parser": {
+ "version": "6.1.4",
+ "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-6.1.4.tgz",
+ "integrity": "sha512-oNZVIuYir7XOFuQZ7mtvcIC5cTYBVqCDOhJ1rSH4V1nVDs71bHZXFlKdpSuOm5TZT7V2uxCxA7HqTkCNHW32KQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/remarkablemark"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/html-react-parser"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "domhandler": "6.0.1",
+ "html-dom-parser": "8.0.0",
+ "react-property": "2.0.2",
+ "style-to-js": "2.0.1"
+ },
+ "peerDependencies": {
+ "@types/react": "0.14 || 15 || 16 || 17 || 18 || 19",
+ "react": "0.14 || 15 || 16 || 17 || 18 || 19"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/htmlparser2": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-12.0.0.tgz",
+ "integrity": "sha512-Tz7u1i95/g2x2jz81+x0FBVhBhY5aRTvD3tXXdFaljuNdzDLJ8UGNRrTcj2cgQvAg3iW/h77Fz15nLW0L0CrZw==",
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "domelementtype": "^3.0.0",
+ "domhandler": "^6.0.0",
+ "domutils": "^4.0.2",
+ "entities": "^8.0.0"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ }
+ },
"node_modules/ignore": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
@@ -1510,6 +1659,12 @@
"node": ">=0.8.19"
}
},
+ "node_modules/inline-style-parser": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz",
+ "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==",
+ "license": "MIT"
+ },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -2136,6 +2291,12 @@
"react": "^19.2.7"
}
},
+ "node_modules/react-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz",
+ "integrity": "sha512-+PbtI3VuDV0l6CleQMsx2gtK0JZbZKbpdu5ynr+lbsuvtmgbNcS3VM0tuY2QjFNOcWxvXeHjDpy42RO+4U2rug==",
+ "license": "MIT"
+ },
"node_modules/react-router": {
"version": "7.17.0",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-7.17.0.tgz",
@@ -2263,6 +2424,24 @@
"node": ">=0.10.0"
}
},
+ "node_modules/style-to-js": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-2.0.1.tgz",
+ "integrity": "sha512-j5whjFV29FyWf+/gWc/Fax7DQqojc5CzZ2kxOCuSMoZDGdciF+Ki1HyZ/GPOxdbfIw0suKUBmG1I3qa7JZKRTA==",
+ "license": "MIT",
+ "dependencies": {
+ "style-to-object": "2.0.0"
+ }
+ },
+ "node_modules/style-to-object": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-2.0.0.tgz",
+ "integrity": "sha512-3zaRtBpwCy9AnYQYfgZ8tIMPn/PlQpW3wtRMB+w0xVtBzo8/m7KKGi7cR56yQ6udLz5MPzwRqfKOZ3O+Oc6VpA==",
+ "license": "MIT",
+ "dependencies": {
+ "inline-style-parser": "0.2.7"
+ }
+ },
"node_modules/tinyglobby": {
"version": "0.2.17",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
diff --git a/package.json b/package.json
index c2d01d1..7fee3a6 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
},
"dependencies": {
"@fortawesome/fontawesome-free": "^7.3.0",
+ "html-react-parser": "^6.1.4",
"react": "^19.2.6",
"react-dom": "^19.2.6",
"react-router-dom": "^7.17.0"
diff --git a/src/components/Layout.jsx b/src/components/Layout.jsx
index b8fbd83..774d7bc 100644
--- a/src/components/Layout.jsx
+++ b/src/components/Layout.jsx
@@ -1,8 +1,7 @@
import { useEffect } from 'react'
import { Outlet, useLocation } from 'react-router-dom'
-import PageShell from './PageShell'
-import headerHtml from '../data/layout-header.html?raw'
-import footerHtml from '../data/layout-footer.html?raw'
+import Header from './sections/Header'
+import Footer from './sections/Footer'
import WhatsAppButton from './WhatsAppButton'
import useThemeAssets from '../hooks/useThemeAssets'
import useLayoutInit from '../hooks/useLayoutInit'
@@ -68,9 +67,9 @@ export default function Layout() {
return (
<>
-
+
-
+
>
)
diff --git a/src/components/PageShell.jsx b/src/components/PageShell.jsx
deleted file mode 100644
index cba857f..0000000
--- a/src/components/PageShell.jsx
+++ /dev/null
@@ -1,8 +0,0 @@
-import { useRef } from 'react'
-import { useNavFix } from '../hooks/useNavFix'
-
-export default function PageShell({ html }) {
- const ref = useRef(null)
- useNavFix(ref)
- return
-}
diff --git a/src/components/SafeHtml.jsx b/src/components/SafeHtml.jsx
new file mode 100644
index 0000000..70b447c
--- /dev/null
+++ b/src/components/SafeHtml.jsx
@@ -0,0 +1,9 @@
+import { useRef } from 'react'
+import { useNavFix } from '../hooks/useNavFix'
+import parse from 'html-react-parser'
+
+export default function SafeHtml({ html }) {
+ const ref = useRef(null)
+ useNavFix(ref)
+ return {parse(html)}
+}
diff --git a/src/components/sections/Breadcrumb.jsx b/src/components/sections/Breadcrumb.jsx
new file mode 100644
index 0000000..80b46e7
--- /dev/null
+++ b/src/components/sections/Breadcrumb.jsx
@@ -0,0 +1,22 @@
+import { Link } from 'react-router-dom'
+
+export default function Breadcrumb({ title, items = [] }) {
+ return (
+
+
+
+
+
{title}
+
+ {items.map((item, i) => (
+
+ {item.link ? {item.label} : item.label}
+
+ ))}
+
+
+
+
+
+ )
+}
diff --git a/src/components/sections/Button.jsx b/src/components/sections/Button.jsx
new file mode 100644
index 0000000..766ee07
--- /dev/null
+++ b/src/components/sections/Button.jsx
@@ -0,0 +1,9 @@
+export default function Button({ text, link, style = 'style4', rounded, icon = 'far fa-arrow-right' }) {
+ return (
+
+ )
+}
diff --git a/src/components/sections/ContactForm.jsx b/src/components/sections/ContactForm.jsx
new file mode 100644
index 0000000..9deccc4
--- /dev/null
+++ b/src/components/sections/ContactForm.jsx
@@ -0,0 +1,48 @@
+export default function ContactForm({ heading, subtitle, style = 'default' }) {
+ const light = style === 'light'
+ const wrapperClass = light
+ ? 'input-light ajax-contact pb-30 pb-md-0'
+ : 'ajax-contact'
+ return (
+
+ {heading &&
{heading} }
+
+
+ )
+}
diff --git a/src/components/sections/ContactInfo.jsx b/src/components/sections/ContactInfo.jsx
new file mode 100644
index 0000000..ba5d841
--- /dev/null
+++ b/src/components/sections/ContactInfo.jsx
@@ -0,0 +1,21 @@
+export default function ContactInfo({ items }) {
+ return (
+
+ {items.map((item, i) => (
+
+
+
+
+
{item.label}
+
+ {item.link ? (
+ {item.value}
+ ) : item.value}
+
+
+
+
+ ))}
+
+ )
+}
diff --git a/src/components/sections/Divider.jsx b/src/components/sections/Divider.jsx
new file mode 100644
index 0000000..3709c30
--- /dev/null
+++ b/src/components/sections/Divider.jsx
@@ -0,0 +1,11 @@
+export default function Divider() {
+ return (
+
+ )
+}
diff --git a/src/components/sections/FeatureCards.jsx b/src/components/sections/FeatureCards.jsx
new file mode 100644
index 0000000..5b9867d
--- /dev/null
+++ b/src/components/sections/FeatureCards.jsx
@@ -0,0 +1,41 @@
+export default function FeatureCards({ features, layout = 'default' }) {
+ if (layout === 'choose') {
+ return (
+
+ {features.map((f, i) => (
+
+ ))}
+
+ )
+ }
+ if (layout === 'process') {
+ return (
+
+ {features.map((f, i) => (
+
+
{String(i + 1).padStart(2, '0')}
+
+
{f.title}
+
{f.description}
+
+
+ ))}
+
+ )
+ }
+ // default: about-media layout
+ return (
+
+ {features.map((f, i) => (
+
+
+
{f.title}
+
{f.description}
+
+ ))}
+
+ )
+}
diff --git a/src/components/sections/Footer.jsx b/src/components/sections/Footer.jsx
new file mode 100644
index 0000000..75abb21
--- /dev/null
+++ b/src/components/sections/Footer.jsx
@@ -0,0 +1,188 @@
+import { useRef } from 'react'
+import { Link } from 'react-router-dom'
+import { useNavFix } from '../../hooks/useNavFix'
+
+const SOCIAL_LINKS = [
+ { icon: 'fab fa-facebook-f', url: 'https://www.facebook.com' },
+ { icon: 'fab fa-twitter', url: 'https://www.twitter.com' },
+ { icon: 'fab fa-instagram', url: 'https://www.instagram.com' },
+ { icon: 'fab fa-linkedin-in', url: 'https://www.linkedin.com' },
+]
+
+const CONTACT_INFO = [
+ { icon: 'fas fa-location-dot', text: 'Al Qusais Industrial Area-3, Dubai, UAE', link: 'https://maps.app.goo.gl/5bMqkGpNXNo1K9yC7', target: '_blank' },
+ { icon: 'fas fa-phone-volume', label: 'Call Us:', text: '+971 4 320 0869', link: 'tel:+97143200869' },
+ { icon: 'fas fa-envelope', label: 'Email Us:', text: 'admin@profeneng.com', link: 'mailto:admin@profeneng.com' },
+]
+
+const FOOTER_SERVICES_1 = [
+ { label: 'Electro-Mechanical Works', path: '/service' },
+ { label: 'Landscaping & Fencing Works', path: '/service' },
+ { label: 'Building Contracting Works', path: '/service' },
+ { label: 'Interior & Fit-Out Works', path: '/service' },
+]
+
+const FOOTER_SERVICES_2 = [
+ { label: 'Metal Construction & Fabrications', path: '/service' },
+ { label: 'Chiller Hot & Cool Solutions', path: '/service' },
+ { label: 'Misting Solutions', path: '/service' },
+ { label: 'Adiabatic Pre-Cooling System', path: '/service' },
+]
+
+const FOOTER_LINKS = [
+ { label: 'About Profen Engineering', path: '/about' },
+ { label: 'Our Services', path: '/service' },
+ { label: 'Our Projects', path: '/project' },
+ { label: 'Reach Us', path: '/contact' },
+]
+
+export default function Footer() {
+ const ref = useRef(null)
+ useNavFix(ref)
+
+ return (
+
+
+
+
+
+ {/* Footer widgets */}
+
+
+ {[
+ {
+ title: 'Get in Touch',
+ content: (
+
+
+
+
+
+
+
+ Profen Engineering LLC is a leading multidisciplinary engineering and construction company based in Dubai, UAE. With years of expertise, we deliver comprehensive MEP, building contracting, metal fabrication, interior fit-out, landscaping, and misting solutions.
+
+
+ {SOCIAL_LINKS.map((s, i) => (
+
+ ))}
+
+
+
+
+ ),
+ },
+ {
+ title: 'Contact Info',
+ content: (
+
+
+
Contact Info
+
+ {CONTACT_INFO.map((c, i) => (
+
+ ))}
+
+
+
+ ),
+ },
+ {
+ title: 'Services 1',
+ content: (
+
+
Our Services
+
+
+ {FOOTER_SERVICES_1.map((item, i) => (
+ {item.label}
+ ))}
+
+
+
+ ),
+ },
+ {
+ title: 'Services 2',
+ content: (
+
+
More Services
+
+
+ {FOOTER_SERVICES_2.map((item, i) => (
+ {item.label}
+ ))}
+
+
+
+ ),
+ },
+ {
+ title: 'Useful Links',
+ content: (
+
+
Useful Links
+
+
+ {FOOTER_LINKS.map((item, i) => (
+ {item.label}
+ ))}
+
+
+
+ ),
+ },
+ ].map((section, i) => (
+
+
+
+ {section.content}
+
+
+
+ ))}
+
+ {/* WhatsApp Chat Embed — replaced Elfsight widget with direct WhatsApp link */}
+
+
+
+
+ {/* Copyright */}
+
+
+
+
+
+ )
+}
diff --git a/src/components/sections/GoogleMap.jsx b/src/components/sections/GoogleMap.jsx
new file mode 100644
index 0000000..1265eb7
--- /dev/null
+++ b/src/components/sections/GoogleMap.jsx
@@ -0,0 +1,11 @@
+export default function GoogleMap({ src, title }) {
+ return (
+
+ )
+}
diff --git a/src/components/sections/Header.jsx b/src/components/sections/Header.jsx
new file mode 100644
index 0000000..2e35aa8
--- /dev/null
+++ b/src/components/sections/Header.jsx
@@ -0,0 +1,131 @@
+import { useLocation, Link } from 'react-router-dom'
+import { useRef } from 'react'
+import { useNavFix } from '../../hooks/useNavFix'
+
+const NAV_ITEMS = [
+ { label: 'HOME', path: '/' },
+ { label: 'ABOUT US', path: '/about' },
+ { label: 'SERVICES', path: '/service' },
+ { label: 'PROJECT', path: '/project' },
+ { label: 'CONTACT', path: '/contact' },
+]
+
+export default function Header() {
+ const { pathname } = useLocation()
+ const ref = useRef(null)
+ useNavFix(ref)
+
+ const isActive = (path) => {
+ if (path === '/') return pathname === '/'
+ return pathname.startsWith(path)
+ }
+
+ return (
+
+
+
+
+
+
+
+ {/* Mobile Menu */}
+
+
+
+
+
+
+
+
+ {NAV_ITEMS.map(item => (
+
+ {item.label}
+
+ ))}
+
+
+
+
+
+ {/* Search Popup */}
+
+
+
+
+
+
+
+
+ {/* Main Header */}
+
+ {/* Top Bar */}
+
+
+ {/* Sticky Nav */}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {NAV_ITEMS.map(item => (
+
+ {item.label}
+
+ ))}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/src/components/sections/PhoneWidget.jsx b/src/components/sections/PhoneWidget.jsx
new file mode 100644
index 0000000..275cb35
--- /dev/null
+++ b/src/components/sections/PhoneWidget.jsx
@@ -0,0 +1,11 @@
+export default function PhoneWidget({ phone, label = 'Call Us' }) {
+ return (
+
+ )
+}
diff --git a/src/components/sections/ProjectFilterGrid.jsx b/src/components/sections/ProjectFilterGrid.jsx
new file mode 100644
index 0000000..61074b1
--- /dev/null
+++ b/src/components/sections/ProjectFilterGrid.jsx
@@ -0,0 +1,51 @@
+import { Link } from 'react-router-dom'
+
+const FILTERS = ['All', 'Misting', 'Pro-Sheild Adiabatic Cooling', 'Electrical Renovation', 'Swimming pool', 'MEP']
+const FILTER_CLASSES = { 'All': '*', 'Misting': '.cat1', 'Pro-Sheild Adiabatic Cooling': '.cat3', 'Electrical Renovation': '.cat2', 'Swimming pool': '.cat4', 'MEP': '.cat5' }
+
+const PROJECTS = [
+ { category: 'cat1', image: '/wp-content/uploads/2025/02/PIC-3.jpg', alt: 'PIC 3', title: 'Outdoor Misting', description: 'Our outdoor misting project includes the design, installation, and maintenance of a state-of-the-art misting system tailored to your specific outdoor space.' },
+ { category: 'cat3', image: '/wp-content/uploads/2025/02/PIC-2.jpg', alt: 'PIC 2', title: 'Adiabatic Cooling', description: 'An advanced energy-efficient cooling solution designed to enhance the performance of HVAC, refrigeration, and industrial cooling systems.' },
+ { category: 'cat2', image: '/wp-content/uploads/2024/07/project_2_2.jpg', alt: 'project_2_2', title: 'Electrical renovation', description: 'Our electrical renovation project is designed to upgrade old, inefficient, or unsafe electrical systems to meet modern standards and energy efficiency' },
+ { category: 'cat5', image: '/wp-content/uploads/2024/07/project_2_4.jpg', alt: 'project_2_4', title: 'MEP Works', description: 'we provide plumbing solutions for residential, commercial & industrial projects, ensuring efficient water distribution, drainage & sanitation systems.' },
+ { category: 'cat1', image: '/wp-content/uploads/2025/02/PIC-4.jpg', alt: 'PIC 4', title: 'Landscaping Project', description: 'Our landscaping projects focus on aesthetics, functionality, and sustainability, ensuring a harmonious blend of nature and architecture.' },
+ { category: 'cat4', image: '/wp-content/uploads/2025/02/PIC-7.jpg', alt: 'PIC 7', title: 'Pool Hot & Cool Project', description: 'Our Swimming Pool Hot & Cool Project includes customized temperature control systems that enhance comfort, improve efficiency & reduce energy costs.' },
+]
+
+export default function ProjectFilterGrid() {
+ return (
+
+
+
+
+
+
+
+
+ {FILTERS.map((f, i) => (
+ {f}
+ ))}
+
+
+ {PROJECTS.map((p, i) => (
+
+
+
+
+
{p.title}
+
{p.description}
+
Learn More
+
+
+
+ ))}
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/src/components/sections/SectionTitle.jsx b/src/components/sections/SectionTitle.jsx
new file mode 100644
index 0000000..232091a
--- /dev/null
+++ b/src/components/sections/SectionTitle.jsx
@@ -0,0 +1,14 @@
+export default function SectionTitle({ subtitle, heading, description, alignment = 'left', subtitleIcon, dark }) {
+ return (
+
+ {subtitle && (
+
+ {subtitleIcon && }
+ {subtitle}
+
+ )}
+ {heading &&
{heading} }
+ {description &&
{description}
}
+
+ )
+}
diff --git a/src/components/sections/ServiceBody.jsx b/src/components/sections/ServiceBody.jsx
new file mode 100644
index 0000000..370de39
--- /dev/null
+++ b/src/components/sections/ServiceBody.jsx
@@ -0,0 +1,18 @@
+import ServiceContentBlocks from './ServiceContentBlocks'
+
+export default function ServiceBody({ blocks }) {
+ return (
+ <>
+
+
+ {/* ponytail: heading widget kept for structural compatibility; title rendered in breadcrumb */}
+
+
+
+ >
+ )
+}
diff --git a/src/components/sections/ServiceBreadcrumb.jsx b/src/components/sections/ServiceBreadcrumb.jsx
new file mode 100644
index 0000000..f898615
--- /dev/null
+++ b/src/components/sections/ServiceBreadcrumb.jsx
@@ -0,0 +1,17 @@
+export default function ServiceBreadcrumb({ title }) {
+ return (
+
+ )
+}
diff --git a/src/components/sections/ServiceContentBlocks.jsx b/src/components/sections/ServiceContentBlocks.jsx
new file mode 100644
index 0000000..8ea469d
--- /dev/null
+++ b/src/components/sections/ServiceContentBlocks.jsx
@@ -0,0 +1,34 @@
+function renderText(text) {
+ if (!text.includes('**')) return text
+ const parts = text.split(/(\*\*[^*]+\*\*)/)
+ return parts.map((part, i) => {
+ if (part.startsWith('**') && part.endsWith('**')) {
+ return {part.slice(2, -2)}
+ }
+ return part
+ })
+}
+
+export default function ServiceContentBlocks({ blocks }) {
+ return (
+ <>
+ {blocks.map((block, i) => {
+ switch (block.type) {
+ case 'paragraph':
+ return {renderText(block.text)}
+ case 'heading':
+ const Tag = `h${block.level}`
+ return {block.text}
+ case 'list':
+ return (
+
+ {block.items.map((item, j) => {item} )}
+
+ )
+ default:
+ return null
+ }
+ })}
+ >
+ )
+}
diff --git a/src/components/sections/ServiceGridSection.jsx b/src/components/sections/ServiceGridSection.jsx
new file mode 100644
index 0000000..7a7de81
--- /dev/null
+++ b/src/components/sections/ServiceGridSection.jsx
@@ -0,0 +1,37 @@
+import { Link } from "react-router-dom"
+import { SERVICE_CARDS } from "../../data/service-grid-data"
+
+export default function ServiceGridSection() {
+ return (
+
+
+
+ {SERVICE_CARDS.map((card) => (
+
+
+
{card.number}
+
+
+
+
{card.subtitle}
+
+ {card.title}
+
+
{card.text}
+
+ Read More
+
+
+
+ ))}
+
+
+
+ )
+}
diff --git a/src/components/sections/ServiceImage.jsx b/src/components/sections/ServiceImage.jsx
new file mode 100644
index 0000000..bdd1cb4
--- /dev/null
+++ b/src/components/sections/ServiceImage.jsx
@@ -0,0 +1,19 @@
+export default function ServiceImage({ src, srcSet, width, height, alt }) {
+ return (
+
+
+
+
+
+ )
+}
diff --git a/src/components/sections/ServiceSidebar.jsx b/src/components/sections/ServiceSidebar.jsx
new file mode 100644
index 0000000..5b90df9
--- /dev/null
+++ b/src/components/sections/ServiceSidebar.jsx
@@ -0,0 +1,31 @@
+import { Link } from 'react-router-dom'
+import { SERVICE_SIDEBAR_ITEMS, MENU_ITEM_IDS } from '../../config'
+
+export default function ServiceSidebar({ activeSlug }) {
+ return (
+
+ )
+}
diff --git a/src/config.js b/src/config.js
index 93a28f7..090d118 100644
--- a/src/config.js
+++ b/src/config.js
@@ -21,3 +21,27 @@ export const POST_ID_TO_SLUG = {
3199: 'adiabatic-pre-cooling-system',
3206: 'building-management-system',
}
+
+export const SERVICE_SIDEBAR_ITEMS = [
+ { label: 'Electro Mechanical Works', slug: 'electro-mechanical-works', postId: 35 },
+ { label: 'Building Management System', slug: 'building-management-system', postId: 3206 },
+ { label: 'Adiabatic Pre-Cooling System', slug: 'adiabatic-pre-cooling-system', postId: 3199 },
+ { label: 'Misting Solutions', slug: 'misting-solutions', postId: 3192 },
+ { label: 'Chiller Hot & Cool Solutions', slug: 'chiller-hot-cool-solutions', postId: 3186 },
+ { label: 'Interior & Fit-Out Works', slug: 'interior-fit-out-works', postId: 3179 },
+ { label: 'Building Contracting Works', slug: 'building-contracting-works', postId: 3172 },
+ { label: 'Metal Construction & Fabrications', slug: 'metal-construction-fabrications', postId: 3160 },
+ { label: 'Landscaping & Fencing Works', slug: 'landscaping-fencing-works', postId: 3159 },
+]
+
+export const MENU_ITEM_IDS = {
+ 'electro-mechanical-works': 3220,
+ 'building-management-system': 3212,
+ 'adiabatic-pre-cooling-system': 3213,
+ 'misting-solutions': 3214,
+ 'chiller-hot-cool-solutions': 3215,
+ 'interior-fit-out-works': 3216,
+ 'building-contracting-works': 3217,
+ 'metal-construction-fabrications': 3218,
+ 'landscaping-fencing-works': 3219,
+}
diff --git a/src/data/contact-content.html b/src/data/contact-content.html
deleted file mode 100644
index ec2e895..0000000
--- a/src/data/contact-content.html
+++ /dev/null
@@ -1,95 +0,0 @@
-
diff --git a/src/data/layout-footer.html b/src/data/layout-footer.html
deleted file mode 100644
index a4c0fbd..0000000
--- a/src/data/layout-footer.html
+++ /dev/null
@@ -1,60 +0,0 @@
-
\ No newline at end of file
diff --git a/src/data/layout-header.html b/src/data/layout-header.html
deleted file mode 100644
index be1a771..0000000
--- a/src/data/layout-header.html
+++ /dev/null
@@ -1,26 +0,0 @@
-
\ No newline at end of file
diff --git a/src/data/project-content.html b/src/data/project-content.html
deleted file mode 100644
index 1169529..0000000
--- a/src/data/project-content.html
+++ /dev/null
@@ -1,15 +0,0 @@
-
diff --git a/src/data/servicePages.js b/src/data/servicePages.js
deleted file mode 100644
index e58c60e..0000000
--- a/src/data/servicePages.js
+++ /dev/null
@@ -1,373 +0,0 @@
-const pages = {
- "adiabatic-pre-cooling-system": { title: "Adiabatic Pre-Cooling System - Profen Engineering", html: `
Adiabatic Pre-Cooling System
-` },
- "building-contracting-works": { title: "Building Contracting Works - Profen Engineering", html: `
Building Contracting Works
-` },
- "building-management-system": { title: "Building Management System - Profen Engineering", html: `
Building Management System
-` },
- "chiller-hot-cool-solutions": { title: "Chiller Hot & Cool Solutions - Profen Engineering", html: `
Chiller Hot & Cool Solutions
-` },
- "electro-mechanical-works": { title: "Electro Mechanical Works - Profen Engineering", html: `
-` },
- "interior-fit-out-works": { title: "Interior & Fit-Out Works - Profen Engineering", html: `
-` },
- "landscaping-fencing-works": { title: "Landscaping & Fencing Works - Profen Engineering", html: `
Landscaping & Fencing Works
-` },
- "metal-construction-fabrications": { title: "Metal Construction & Fabrications - Profen Engineering", html: `
Metal Construction & Fabrications
-` },
- "misting-solutions": { title: "Misting Solutions - Profen Engineering", html: `
-` },
-}
-
-export default pages
diff --git a/src/data/services.json b/src/data/services.json
new file mode 100644
index 0000000..32d469a
--- /dev/null
+++ b/src/data/services.json
@@ -0,0 +1,848 @@
+[
+ {
+ "slug": "adiabatic-pre-cooling-system",
+ "title": "Adiabatic Pre-Cooling System",
+ "postId": 3199,
+ "image": "/wp-content/uploads/2026/01/adiabatic-cooling.jpg",
+ "imageSrcset": "/wp-content/uploads/2026/01/adiabatic-cooling.jpg 872w, ../wp-content/uploads/2026/01/adiabatic-cooling-300x184.jpg 300w, ../wp-content/uploads/2026/01/adiabatic-cooling-768x472.jpg 768w",
+ "imageWidth": 872,
+ "imageHeight": 536,
+ "contentBlocks": [
+ {
+ "type": "paragraph",
+ "text": "At Profen Engineering LLC, we deliver Adiabatic Pre-Cooling Systems that significantly improve the efficiency of HVAC, chiller, and industrial cooling systems. By using the natural process of evaporative cooling, our solutions reduce incoming air temperature before it reaches condensers or chillers, resulting in lower energy consumption, improved performance, and extended equipment life."
+ },
+ {
+ "type": "heading",
+ "level": 4,
+ "text": "How Adiabatic Pre-Cooling Works"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Hot ambient air passes through water-wetted media",
+ "Water evaporation absorbs heat and lowers air temperature",
+ "Pre-cooled air enters the condenser/chiller, reducing system load"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Key Benefits"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Energy savings up to 30\u201340%",
+ "Improved cooling efficiency, especially in hot climates",
+ "Reduced power consumption and operational costs",
+ "Extended lifespan of HVAC and chiller equipment",
+ "Eco-friendly solution with low water usage and reduced carbon footprint"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 2,
+ "text": "System Features"
+ },
+ {
+ "type": "list",
+ "items": [
+ "High-efficiency evaporative cooling pads",
+ "Smart control systems with temperature & humidity sensors",
+ "Corrosion-resistant and weatherproof construction",
+ "Easy integration with existing HVAC and chiller systems",
+ "Low maintenance and reliable operation"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Applications"
+ },
+ {
+ "type": "list",
+ "items": [
+ "HVAC & chiller plants",
+ "Data centers & server rooms",
+ "Industrial facilities & manufacturing plants",
+ "Supermarkets & cold storage units",
+ "Power plants & substations"
+ ]
+ }
+ ]
+ },
+ {
+ "slug": "building-contracting-works",
+ "title": "Building Contracting Works",
+ "postId": 3172,
+ "image": "/wp-content/uploads/2026/01/construction.jpg",
+ "imageSrcset": "/wp-content/uploads/2026/01/construction.jpg 872w, ../wp-content/uploads/2026/01/construction-300x184.jpg 300w, ../wp-content/uploads/2026/01/construction-768x472.jpg 768w",
+ "imageWidth": 872,
+ "imageHeight": 536,
+ "contentBlocks": [
+ {
+ "type": "paragraph",
+ "text": "At Profen Engineering LLC, we provide complete building contracting services delivering high-quality construction, renovation, and turnkey solutions for residential, commercial, and industrial projects. With a strong commitment to quality, safety, and timely delivery, we manage every stage of construction with professional precision and engineering excellence."
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "New Building Construction"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Residential villas & apartment buildings",
+ "Commercial buildings, offices & retail spaces",
+ "Industrial facilities, warehouses & labor accommodations"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Renovation & Refurbishment"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Complete building renovations and structural modifications",
+ "Office, villa, and retail fit-out works",
+ "Electrical, plumbing, and HVAC upgrades"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Turnkey Project Solutions"
+ },
+ {
+ "type": "list",
+ "items": [
+ "End-to-end project management from design to handover",
+ "Coordination of civil, MEP, and finishing works",
+ "Single-point responsibility for smooth execution"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Civil & Structural Works"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Concrete works, block works & plastering",
+ "Foundation, slab & structural strengthening works",
+ "External & internal finishing works"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Authority Approvals & Compliance"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Compliance with Dubai Municipality and local authority standards",
+ "Safety management and quality assurance throughout the project"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Project Applications"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Residential & villa developments",
+ "Commercial & mixed-use buildings",
+ "Industrial and infrastructure projects",
+ "Renovation and extension works"
+ ]
+ }
+ ]
+ },
+ {
+ "slug": "building-management-system",
+ "title": "Building Management System",
+ "postId": 3206,
+ "image": "/wp-content/uploads/2026/01/bms01.jpg",
+ "imageSrcset": "/wp-content/uploads/2026/01/bms01.jpg 872w, ../wp-content/uploads/2026/01/bms01-300x184.jpg 300w, ../wp-content/uploads/2026/01/bms01-768x472.jpg 768w",
+ "imageWidth": 872,
+ "imageHeight": 536,
+ "contentBlocks": [
+ {
+ "type": "paragraph",
+ "text": "At Profen Engineering LLC, we provide advanced Building Management System (BMS) solutions that enable centralized monitoring, control, and optimization of building services. Our BMS solutions enhance operational efficiency, energy savings, safety, and occupant comfort for commercial, residential, and industrial buildings."
+ },
+ {
+ "type": "heading",
+ "level": 4,
+ "text": "What is a Building Management System?"
+ },
+ {
+ "type": "paragraph",
+ "text": "A Building Management System (BMS) is an intelligent control system that integrates and automates a building\u2019s HVAC, lighting, electrical, plumbing, fire safety, and security systems through a single centralized platform."
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "HVAC & Climate Control"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Centralized control of chillers, AHUs, FCUs, and ventilation systems",
+ "Temperature, humidity, and air quality monitoring",
+ "Optimized energy usage and comfort management"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Lighting Control Systems"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Automated lighting schedules and zoning",
+ "Motion sensors and daylight harvesting",
+ "Reduced energy consumption and operational cost"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Electrical & Power Monitoring"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Real-time power monitoring and load management",
+ "Energy metering and consumption analytics",
+ "Alerts for faults, overloads, and power failures"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Plumbing & Water Management"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Monitoring of water tanks, pumps, and pressure systems",
+ "Leak detection and water usage optimization"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Fire & Life Safety Integration"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Integration with fire alarm systems",
+ "Emergency response coordination and alerts"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Security & Access Control"
+ },
+ {
+ "type": "list",
+ "items": [
+ "CCTV integration and access control monitoring",
+ "Centralized security management"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Key Benefits of Our BMS Solutions"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Energy Efficiency & Cost Savings",
+ "Centralized Monitoring & Control",
+ "Improved Comfort & Indoor Environment Quality",
+ "Reduced Maintenance Costs through predictive alerts",
+ "Enhanced Safety & Security",
+ "Scalable & Future-Ready Systems"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Applications"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Commercial office buildings",
+ "Hotels & hospitality projects",
+ "Hospitals & healthcare facilities",
+ "Shopping malls & retail complexes",
+ "Residential towers & villas",
+ "Industrial and mixed-use developments"
+ ]
+ }
+ ]
+ },
+ {
+ "slug": "chiller-hot-cool-solutions",
+ "title": "Chiller Hot & Cool Solutions",
+ "postId": 3186,
+ "image": "/wp-content/uploads/2026/01/poolsolutions.jpg",
+ "imageSrcset": "/wp-content/uploads/2026/01/poolsolutions.jpg 872w, ../wp-content/uploads/2026/01/poolsolutions-300x184.jpg 300w, ../wp-content/uploads/2026/01/poolsolutions-768x472.jpg 768w",
+ "imageWidth": 872,
+ "imageHeight": 536,
+ "contentBlocks": [
+ {
+ "type": "paragraph",
+ "text": "At Profen Engineering LLC, we provide advanced chiller-based heating and cooling solutions designed to deliver efficient temperature control, energy savings, and reliable performance for commercial, residential, and industrial applications. Our systems are engineered to ensure year-round comfort, even in the most demanding environments."
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Chiller Cooling Solutions"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Air-Cooled & Water-Cooled Chillers",
+ "Centralized Chilled Water Systems",
+ "Industrial & Commercial Chillers",
+ "Process cooling for factories and plants"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Heating Solutions"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Heat Pump Systems for space and water heating",
+ "Hot Water Chillers & Boilers",
+ "Swimming Pool Heating Systems",
+ "Radiant & underfloor heating solutions"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Design, Installation & Upgrades"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Custom system design based on load calculations",
+ "Installation of new chiller systems",
+ "Upgrading and retrofitting existing HVAC systems"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Maintenance & After-Sales Support"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Preventive and corrective maintenance",
+ "Performance optimization and energy audits",
+ "Breakdown repair and system troubleshooting"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Applications"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Commercial buildings & office towers",
+ "Hotels, malls & hospitality projects",
+ "Industrial facilities & warehouses",
+ "Residential compounds & villas",
+ "Swimming pools & recreational facilities"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Energy-Efficient & Sustainable Solutions"
+ },
+ {
+ "type": "list",
+ "items": [
+ "High-efficiency chillers with low energy consumption",
+ "Eco-friendly refrigerants",
+ "Smart controls & automation systems",
+ "Reduced operational cost and carbon footprint"
+ ]
+ }
+ ]
+ },
+ {
+ "slug": "electro-mechanical-works",
+ "title": "Electro Mechanical Works",
+ "postId": 35,
+ "image": "/wp-content/uploads/2026/01/electrical.jpg",
+ "imageSrcset": "/wp-content/uploads/2026/01/electrical.jpg 872w, ../wp-content/uploads/2026/01/electrical-300x184.jpg 300w, ../wp-content/uploads/2026/01/electrical-768x472.jpg 768w",
+ "imageWidth": 872,
+ "imageHeight": 536,
+ "contentBlocks": [
+ {
+ "type": "paragraph",
+ "text": "At Profen Engineering LLC, we specialize in comprehensive electro-mechanical solutions, delivering high-quality, energy-efficient, and innovative services for residential, commercial, and industrial projects. Our expertise in mechanical, electrical, and plumbing (MEP) systems ensures seamless integration, maximum efficiency, and long-lasting performance."
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "HVAC Systems (Heating, Ventilation & Air Conditioning)"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Design, installation, and maintenance of commercial & industrial HVAC systems",
+ "Chilled water systems, VRF/VRV systems, and air handling units (AHU)",
+ "Ducting, ventilation, and air filtration solutions"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Electrical Systems"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Power distribution & electrical panel installations",
+ "Lighting systems & energy-efficient electrical solutions",
+ "Backup power solutions, UPS, and generators"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Plumbing & Drainage Systems"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Water supply and drainage solutions",
+ "Pump stations, water treatment, and piping works",
+ "Sewage and wastewater management systems"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Fire Fighting & Safety Systems"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Fire alarm, suppression, and protection systems",
+ "Sprinkler system installation & maintenance",
+ "Smoke extraction and ventilation solutions"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Maintenance & Facility Management"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Preventive & corrective maintenance for electro-mechanical systems",
+ "Emergency support & troubleshooting",
+ "Upgrades & retrofitting for energy efficiency"
+ ]
+ }
+ ]
+ },
+ {
+ "slug": "interior-fit-out-works",
+ "title": "Interior & Fit-Out Works",
+ "postId": 3179,
+ "image": "/wp-content/uploads/2026/01/interior.jpg",
+ "imageSrcset": "/wp-content/uploads/2026/01/interior.jpg 872w, ../wp-content/uploads/2026/01/interior-300x184.jpg 300w, ../wp-content/uploads/2026/01/interior-768x472.jpg 768w",
+ "imageWidth": 872,
+ "imageHeight": 536,
+ "contentBlocks": [
+ {
+ "type": "paragraph",
+ "text": "At Profen Engineering LLC, we deliver complete interior and fit-out solutions that combine functionality, aesthetics, and quality craftsmanship. From concept to completion, we transform spaces into modern, efficient, and visually appealing environments for residential, commercial, and industrial projects."
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Design & Space Planning"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Customized interior layouts based on client requirements",
+ "Efficient space utilization with modern design concepts",
+ "Material selection and finish recommendations"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Commercial & Office Fit-Outs"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Corporate offices, co-working spaces & business centers",
+ "Retail shops, showrooms & restaurants",
+ "False ceilings, partitions & flooring works"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Residential Interior Works"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Villas & apartments interior renovations",
+ "Bedrooms, living areas, kitchens & bathrooms",
+ "Wardrobes, storage solutions & custom furniture"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Joinery & Custom Works"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Wooden doors, cabinets & wardrobes",
+ "Reception counters, wall paneling & decorative elements",
+ "Gypsum, glass & metal partitions"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "MEP & Finishing Works"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Electrical, plumbing & HVAC coordination",
+ "Lighting design & installation",
+ "Painting, wallpaper & decorative finishes"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Applications"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Residential villas & apartments",
+ "Commercial offices & retail spaces",
+ "Hotels, restaurants & hospitality projects",
+ "Industrial offices & staff facilities"
+ ]
+ }
+ ]
+ },
+ {
+ "slug": "landscaping-fencing-works",
+ "title": "Landscaping & Fencing Works",
+ "postId": 3159,
+ "image": "/wp-content/uploads/2026/01/landscape.jpg",
+ "imageSrcset": "/wp-content/uploads/2026/01/landscape.jpg 872w, ../wp-content/uploads/2026/01/landscape-300x184.jpg 300w, ../wp-content/uploads/2026/01/landscape-768x472.jpg 768w",
+ "imageWidth": 872,
+ "imageHeight": 536,
+ "contentBlocks": [
+ {
+ "type": "paragraph",
+ "text": "At Profen Engineering LLC, we provide complete landscaping and fencing solutions that enhance the beauty, functionality, and security of residential, commercial, and industrial properties. Our services are designed to create well-planned outdoor environments while ensuring privacy, safety, and long-term durability."
+ },
+ {
+ "type": "heading",
+ "level": 4,
+ "text": "Landscaping Works"
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Soft Landscaping"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Planting of trees, shrubs, flowers, and lawns suitable for the UAE climate",
+ "Natural grass & artificial turf installation",
+ "Vertical gardens & green walls",
+ "Soil preparation and turf development"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Hard Landscaping"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Paving works, pathways, and driveways",
+ "Pergolas, gazebos, decks, and patios",
+ "Water features, fountains, and decorative elements",
+ "Kerbstones, interlock, and decorative stone works"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Irrigation & Drainage Systems"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Automatic irrigation systems",
+ "Drip and sprinkler irrigation for efficient water usage",
+ "Proper drainage solutions to protect landscaped areas"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Fencing Works"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Villa & Residential Fencing for privacy and security",
+ "Commercial & Industrial Fencing solutions",
+ "Metal, wooden, PVC, and chain-link fences",
+ "Boundary walls, gates, and access control fencing",
+ "Custom-designed fencing to match architectural styles"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Applications"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Villas & residential compounds",
+ "Commercial buildings & business parks",
+ "Hotels, resorts & recreational areas",
+ "Industrial facilities & warehouses",
+ "Public spaces & community developments"
+ ]
+ }
+ ]
+ },
+ {
+ "slug": "metal-construction-fabrications",
+ "title": "Metal Construction & Fabrications",
+ "postId": 3160,
+ "image": "/wp-content/uploads/2026/01/fabrications.jpg",
+ "imageSrcset": "/wp-content/uploads/2026/01/fabrications.jpg 872w, ../wp-content/uploads/2026/01/fabrications-300x184.jpg 300w, ../wp-content/uploads/2026/01/fabrications-768x472.jpg 768w",
+ "imageWidth": 872,
+ "imageHeight": 536,
+ "contentBlocks": [
+ {
+ "type": "paragraph",
+ "text": "At Profen Engineering LLC, we deliver high-quality metal construction and fabrication solutions tailored to meet the needs of residential, commercial, and industrial projects. With a strong focus on precision engineering, durability, and safety, we provide custom metal works that combine strength, functionality, and aesthetic appeal."
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Structural Steel Works"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Steel structures for buildings, warehouses, and sheds",
+ "Mezzanine floors and platforms",
+ "Staircases, handrails, and ladders",
+ "Canopies, car parking shades, and steel frames"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Custom Metal Fabrication"
+ },
+ {
+ "type": "list",
+ "items": [
+ "MS, SS, and aluminum fabrication works",
+ "Doors, gates, grills, and railings",
+ "Balconies, pergolas, and decorative metal works",
+ "Customized metal components as per drawings and specifications"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Industrial Metal Works"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Equipment supports and skids",
+ "Pipe racks and cable trays",
+ "Protective enclosures and safety barriers",
+ "Heavy-duty fabrication for industrial applications"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Welding & Finishing"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Certified welding services (MIG, TIG, ARC)",
+ "Surface treatments including galvanizing, powder coating, and painting",
+ "Corrosion-resistant finishes for long-lasting performance"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Applications"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Residential villas & buildings",
+ "Commercial complexes & retail spaces",
+ "Industrial plants & warehouses",
+ "Infrastructure and utility projects"
+ ]
+ }
+ ]
+ },
+ {
+ "slug": "misting-solutions",
+ "title": "Misting Solutions",
+ "postId": 3192,
+ "image": "/wp-content/uploads/2026/01/misting.jpg",
+ "imageSrcset": "/wp-content/uploads/2026/01/misting.jpg 872w, ../wp-content/uploads/2026/01/misting-300x184.jpg 300w, ../wp-content/uploads/2026/01/misting-768x472.jpg 768w",
+ "imageWidth": 872,
+ "imageHeight": 536,
+ "contentBlocks": [
+ {
+ "type": "paragraph",
+ "text": "Promist is our specialized brand, dedicated to delivering innovative, high-performance misting and evaporative cooling solutions. Designed to perform reliably in hot and demanding climates, Promist combines advanced engineering, energy efficiency, and superior quality to create comfortable, refreshing environments for residential, commercial, and industrial applications."
+ },
+ {
+ "type": "heading",
+ "level": 4,
+ "text": "About Promist"
+ },
+ {
+ "type": "paragraph",
+ "text": "Promist focuses on precision misting technology that produces ultra-fine water particles, ensuring effective cooling without wetting surfaces. Backed by the technical expertise and engineering standards of Profen Engineering LLC, Promist systems are built for durability, efficiency, and long-term performance."
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Outdoor Misting Systems"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Cooling for patios, terraces, gardens, pergolas, and pool areas",
+ "Ideal for caf\u00e9s, restaurants, resorts, and outdoor seating areas",
+ "Temperature reduction of up to 10\u201315\u00b0C"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "High-Pressure Misting Systems"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Ultra-fine mist for efficient cooling without wet surfaces",
+ "Energy-efficient systems with low water consumption",
+ "Durable, corrosion-resistant components"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Commercial & Industrial Misting"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Cooling for warehouses, factories, and workshops",
+ "Dust suppression for construction and industrial sites",
+ "Humidity control for sensitive environments"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Agricultural & Greenhouse Misting"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Temperature and humidity control for greenhouses and farms",
+ "Improved plant growth and livestock comfort"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Smart & Automated Misting Solutions"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Timer-based and sensor-controlled systems",
+ "Remote operation and climate-responsive automation"
+ ]
+ },
+ {
+ "type": "heading",
+ "level": 5,
+ "text": "Applications"
+ },
+ {
+ "type": "list",
+ "items": [
+ "Residential villas & outdoor living spaces",
+ "Restaurants, caf\u00e9s & hospitality projects",
+ "Industrial facilities & warehouses",
+ "Agricultural & landscaping areas",
+ "Public spaces & event venues"
+ ]
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/src/pages/About.jsx b/src/pages/About.jsx
index c44d244..8251cef 100644
--- a/src/pages/About.jsx
+++ b/src/pages/About.jsx
@@ -1,6 +1,6 @@
import contentHtml from '../data/about-content.html?raw'
-import PageShell from '../components/PageShell'
+import SafeHtml from '../components/SafeHtml'
export default function About() {
- return
+ return
}
diff --git a/src/pages/Contact.jsx b/src/pages/Contact.jsx
index d81c418..1d4096a 100644
--- a/src/pages/Contact.jsx
+++ b/src/pages/Contact.jsx
@@ -1,6 +1,74 @@
-import contentHtml from '../data/contact-content.html?raw'
-import PageShell from '../components/PageShell'
+import Breadcrumb from '../components/sections/Breadcrumb'
+import SectionTitle from '../components/sections/SectionTitle'
+import ContactInfo from '../components/sections/ContactInfo'
+import ContactForm from '../components/sections/ContactForm'
+import GoogleMap from '../components/sections/GoogleMap'
+import Divider from '../components/sections/Divider'
+import { useNavFix } from '../hooks/useNavFix'
+import { useRef, useEffect } from 'react'
+import { useLocation } from 'react-router-dom'
+
+const CONTACT_ITEMS = [
+ { icon: 'fas fa-location-dot', label: 'Our Address', value: 'Al Qusais Industrial Area-3, Dubai, UAE', link: 'https://maps.app.goo.gl/5bMqkGpNXNo1K9yC7', target: '_blank' },
+ { icon: 'fas fa-phone', label: 'Phone Number', value: '+971 4 320 0869', link: 'tel:+97143200869' },
+ { icon: 'fas fa-envelope', label: 'Email Address', value: 'admin@profeneng.com', link: 'mailto:admin@profeneng.com' },
+]
+
+const MAP_SRC = 'https://maps.google.com/maps?q=Profen%20Engineering%20LLC%20Al%20Qusais%20Industrial%20Area%20-%20Al%20Qusais%20Industrial%20Area%203%20-%20Dubai&t=m&z=15&output=embed&iwloc=near'
+const MAP_TITLE = 'Profen Engineering LLC Al Qusais Industrial Area - Al Qusais Industrial Area 3 - Dubai'
export default function Contact() {
- return
+ const ref = useRef(null)
+ useNavFix(ref)
+ const { pathname } = useLocation()
+
+ useEffect(() => { window.scrollTo(0, 0) }, [pathname])
+
+ return (
+
+ )
}
diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx
index 9673bec..d23a12f 100644
--- a/src/pages/Home.jsx
+++ b/src/pages/Home.jsx
@@ -1,6 +1,6 @@
import contentHtml from '../data/home-content.html?raw'
-import PageShell from '../components/PageShell'
+import SafeHtml from '../components/SafeHtml'
export default function Home() {
- return
+ return
}
diff --git a/src/pages/Project.jsx b/src/pages/Project.jsx
index 3ca0e33..083268b 100644
--- a/src/pages/Project.jsx
+++ b/src/pages/Project.jsx
@@ -1,6 +1,20 @@
-import contentHtml from '../data/project-content.html?raw'
-import PageShell from '../components/PageShell'
+import { useRef, useEffect } from 'react'
+import { useLocation } from 'react-router-dom'
+import Breadcrumb from '../components/sections/Breadcrumb'
+import ProjectFilterGrid from '../components/sections/ProjectFilterGrid'
+import { useNavFix } from '../hooks/useNavFix'
export default function Project() {
- return
+ const ref = useRef(null)
+ useNavFix(ref)
+ const { pathname } = useLocation()
+
+ useEffect(() => { window.scrollTo(0, 0) }, [pathname])
+
+ return (
+
+ )
}
diff --git a/src/pages/ServiceDetail.jsx b/src/pages/ServiceDetail.jsx
index d52d97e..8dbd472 100644
--- a/src/pages/ServiceDetail.jsx
+++ b/src/pages/ServiceDetail.jsx
@@ -1,35 +1,63 @@
import { useParams, Link } from 'react-router-dom'
-import { useRef, useEffect } from 'react'
-import servicePages from '../data/servicePages'
+import { useEffect, useRef } from 'react'
import { useNavFix } from '../hooks/useNavFix'
+import services from '../data/services.json'
+import { BRAND_PRIMARY } from '../config'
+import ServiceBreadcrumb from '../components/sections/ServiceBreadcrumb'
+import ServiceImage from '../components/sections/ServiceImage'
+import ServiceBody from '../components/sections/ServiceBody'
+import ServiceSidebar from '../components/sections/ServiceSidebar'
export default function ServiceDetail() {
const { slug } = useParams()
const ref = useRef(null)
useNavFix(ref)
- const page = slug ? servicePages[slug] : null
+ const service = slug ? services.find(s => s.slug === slug) : null
useEffect(() => {
window.scrollTo(0, 0)
- if (page) {
- document.title = page.title + ' – Profen Engineering'
+ if (service) {
+ document.title = service.title + ' – Profen Engineering'
}
- }, [slug, page])
+ }, [slug, service])
- if (!page) {
+ if (!service) {
return (
Service Not Found
The service you're looking for doesn't exist.
-
← Back to Services
+
← Back to Services
)
}
return (
)
}
diff --git a/src/pages/Services.jsx b/src/pages/Services.jsx
index d198ae6..fbd577b 100644
--- a/src/pages/Services.jsx
+++ b/src/pages/Services.jsx
@@ -1,6 +1,6 @@
import contentHtml from '../data/service-content.html?raw'
-import PageShell from '../components/PageShell'
+import SafeHtml from '../components/SafeHtml'
export default function Services() {
- return
+ return
}