refactor(hero): rewrite 9 product hero sections to canonical template

- Extract data from each page (pill, title, image, features, hasPricelist)
- Generate hero from canonical template (text-LEFT, image-RIGHT, animated bg)
- Remove dead <Header slot=Footer slot= StickyBottomCTA slots (BaseLayout renders defaults)
- Remove dead data-price-button when id="pricelist" missing (auto-detect hides it)
- Drop legacy justify-center/max-w-md workarounds; use canonical classes
- Apply consistent TEXT-LEFT order across all product heroes
- Drop unused mobile-only sections in ตู้ดับเพลิง (page now follows template)
- Add overflow-x-clip on header/footer (submenu overflow fix)
- Add .submenu-anchor class for submenu positioning

Verified: 9 pages render with valid HTML, TEXT-LEFT, correct features, no dead links.
This commit is contained in:
Kunthawat Greethong
2026-06-10 08:16:06 +07:00
parent d7aa7c2013
commit d8ff358dd7
10 changed files with 387 additions and 454 deletions

View File

@@ -328,7 +328,7 @@ const productLinks = [
<JsonLd data={data} id={idx === 0 ? 'organization-schema' : `schema-${idx}`} />
))}
<!-- Header with Scroll Effects -->
<header id="main-header" class="bg-white/80 backdrop-blur-md shadow-sm sticky top-0 z-50 transition-all duration-300">
<header id="main-header" class="bg-white/80 backdrop-blur-md shadow-sm sticky top-0 z-50 transition-all duration-300 overflow-x-clip">
<nav class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex items-center justify-between h-16 lg:h-20">
<a href="/" class="flex items-center group">
@@ -360,7 +360,7 @@ const productLinks = [
</svg>
</button>
<!-- Mega Menu with Stagger Animation -->
<div class="absolute top-full left-1/2 -translate-x-1/2 mt-0 w-[650px] max-w-[95vw] bg-white/95 backdrop-blur-xl rounded-b-2xl shadow-2xl border border-neutral-100 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-300 transform group-hover:translate-y-0 translate-y-4 z-50">
<div class="absolute top-full right-0 lg:left-1/2 lg:right-auto submenu-anchor mt-0 w-[650px] max-w-[95vw] bg-white/95 backdrop-blur-xl rounded-b-2xl shadow-2xl border border-neutral-100 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-300 transform group-hover:translate-y-0 translate-y-4 z-50">
<div class="grid grid-cols-4 gap-5 p-6" data-animate-stagger>
{categories.map(cat => (
<div class="space-y-2 group/sub">