From 291f8bc20d1ca43b4f7d74cefe6f8dfb4dbaad1a Mon Sep 17 00:00:00 2001 From: chpark Date: Wed, 29 Apr 2026 18:32:16 +0900 Subject: [PATCH] Header dropdown menu visibility fix: inline color #1f2937 + JS hover fallback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The mega-menu sub-panel was rendering with invisible text on some browsers (Tailwind class chain in v4 + framer-motion mount-time race). Switching to inline style locks the contrast regardless of CSS-class resolution order: - panel motion.div: explicit background:#ffffff + color:#1f2937 + z-50 - each sub-link: inline color:#1f2937 (default) and white-on-violet hover pushed via onMouseOver/Out as a JS fallback - top-level mega-menu link already had explicit color:#fff with text shadow This is defensive — no harm if Tailwind already handled it; corrects any case where the panel showed empty. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../apps/web/src/components/Chrome/Header.tsx | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/next-app/apps/web/src/components/Chrome/Header.tsx b/next-app/apps/web/src/components/Chrome/Header.tsx index d338a81..f29863e 100644 --- a/next-app/apps/web/src/components/Chrome/Header.tsx +++ b/next-app/apps/web/src/components/Chrome/Header.tsx @@ -153,12 +153,12 @@ function MegaPanel({ items }: { items: MenuItem[] }) { const multiCol = sections.some((s) => s.links.length >= 6) || total >= 14; return ( -
+
{sections.map((s, si) => (
{s.title && ( -
- {s.href && s.href !== '#' ? {s.title} : s.title} +
+ {s.href && s.href !== '#' ? {s.title} : s.title}
)}
    @@ -166,7 +166,10 @@ function MegaPanel({ items }: { items: MenuItem[] }) {
  • { e.currentTarget.style.color = '#ffffff'; }} + onMouseOut={(e) => { e.currentTarget.style.color = '#1f2937'; }} > {c.label} @@ -206,8 +209,8 @@ function MegaNav({ menus, isDark: _isDark }: { menus: MenuItem[]; isDark: boolea {open === i && hasChildren && (