From f54c020097a528e0feb7d5505324b24d0670ea60 Mon Sep 17 00:00:00 2001 From: Kunthawat Greethong Date: Thu, 26 Feb 2026 10:31:41 +0700 Subject: [PATCH] Fix Header.tsx syntax error, add all products to navigation menu - Fixed truncated Header.tsx with missing closing tags - Updated navigation to include all 38 products in 7 categories - Added 2-column dropdown grid layout for desktop - Added nested sub-categories for mobile menu --- src/components/layout/Header.tsx | 120 ++++++++++++++++++++----------- src/data/site-config.ts | 8 ++- 2 files changed, 86 insertions(+), 42 deletions(-) diff --git a/src/components/layout/Header.tsx b/src/components/layout/Header.tsx index 2352a8586..8fa58ec4a 100644 --- a/src/components/layout/Header.tsx +++ b/src/components/layout/Header.tsx @@ -81,30 +81,32 @@ export default function Header() { {/* Dropdown */} {item.children && activeDropdown === item.href && ( -
- {item.children.map((child) => ( -
- - {child.label} - - {child.children && ( -
- {child.children.map((subChild) => ( - - {subChild.label} - - ))} -
- )} -
- ))} +
+
+ {item.children.map((child) => ( +
+ + {child.label} + + {child.children && ( +
+ {child.children.map((subChild) => ( + + {subChild.label} + + ))} +
+ )} +
+ ))} +
)}
@@ -131,28 +133,66 @@ export default function Header() { {/* Mobile Menu */} {mobileMenuOpen && ( -
+
{mainNavigation.map((item) => (
- setMobileMenuOpen(false)} - > - {item.label} - + {item.children ? ( +
+
+ {item.label} +
+
+ {item.children.map((child) => ( +
+ setMobileMenuOpen(false)} + > + {child.label} + + {child.children && ( +
+ {child.children.map((subChild) => ( + setMobileMenuOpen(false)} + > + {subChild.label} + + ))} +
+ )} +
+ ))} +
+
+ ) : ( + setMobileMenuOpen(false)} + > + {item.label} + + )}
))} - setMobileMenuOpen(false)} - > - ติดต่อเรา - +
+ setMobileMenuOpen(false)} + > + ติดต่อเรา + +
)} + ); -} +} \ No newline at end of file diff --git a/src/data/site-config.ts b/src/data/site-config.ts index 7fbb3a6fa..34d254c42 100644 --- a/src/data/site-config.ts +++ b/src/data/site-config.ts @@ -543,7 +543,7 @@ export const featuredProducts = [ productCategories.find(p => p.id === 'valve')!, ]; -// Main Navigation - matching original site structure +// Main Navigation - matching original site structure with ALL products export const mainNavigation: NavItem[] = [ { label: 'หน้าแรก', labelEn: 'Home', href: '/' }, { label: 'เกี่ยวกับเรา', labelEn: 'About Us', href: '/about-us/' }, @@ -572,6 +572,7 @@ export const mainNavigation: NavItem[] = [ labelEn: 'Valve', href: '/วาล์ว-valve/', children: [ + { label: 'วาล์ว Valve', labelEn: 'Valve', href: '/วาล์ว-valve/' }, { label: 'Groove Coupling', labelEn: 'Groove Coupling', href: '/groove-coupling/' }, { label: 'Pipe Coupling', labelEn: 'Pipe Coupling', href: '/pipe-coupling/' }, { label: 'DUKELARRSEN', labelEn: 'DUKELARRSEN', href: '/dukelarrsen/' }, @@ -583,6 +584,7 @@ export const mainNavigation: NavItem[] = [ labelEn: 'Hangers', href: '/แฮงเกอร์-แคล้ม-โบลท์-แหว/', children: [ + { label: 'แฮงเกอร์ แคล้ม โบลท์ แหวน', labelEn: 'Hanger Clamp Bolt', href: '/แฮงเกอร์-แคล้ม-โบลท์-แหว/' }, { label: 'เควิสแฮงเกอร์', labelEn: 'Clevis Hanger', href: '/เควิสแฮงเกอร์/' }, { label: 'สปริทริงแฮงเกอร์ SR19', labelEn: 'Split Ring Hanger', href: '/สปริทริงแฮงเกอร์-sr19-adjustable-split-ring-hanger/' }, { label: 'แคล้มฟันจระเข้', labelEn: 'Beam Clamp', href: '/แคล้มฟันจระเข้-beam-clamp/' }, @@ -591,6 +593,7 @@ export const mainNavigation: NavItem[] = [ { label: 'ยูโบลท์', labelEn: 'U-Bolt', href: '/ยูโบลท์-u-bolt/' }, { label: 'สตัดเกลียวตลอด', labelEn: 'Threaded Rod', href: '/สตัดเกลียวตลอด-เหล็ก-threaded-rod/' }, { label: 'พุกต่างๆ', labelEn: 'Anchors', href: '/พุกต่างๆ/' }, + { label: 'พุกเหล็ก Sleeve Anchor', labelEn: 'Sleeve Anchor', href: '/พุกเหล็ก-sleeve-anchor-bolt/' }, ], }, { @@ -609,8 +612,8 @@ export const mainNavigation: NavItem[] = [ labelEn: 'Fire Protection', href: '/อุปกรณ์ดับเพลิง/', children: [ - { label: 'ท่อสแตนเลส Realflex', labelEn: 'Realflex', href: '/realflex/' }, { label: 'อุปกรณ์ดับเพลิง', labelEn: 'Fire Extinguishers', href: '/อุปกรณ์ดับเพลิง/' }, + { label: 'ท่อสแตนเลส Realflex', labelEn: 'Realflex', href: '/realflex/' }, ], }, { @@ -618,6 +621,7 @@ export const mainNavigation: NavItem[] = [ labelEn: 'Fencing', href: '/ระบบรั้ว/', children: [ + { label: 'ระบบรั้ว', labelEn: 'Fencing System', href: '/ระบบรั้ว/' }, { label: 'รั้วเทวดา', labelEn: 'Tevada Fence', href: '/รั้วเทวดา/' }, ], },