From 5bc14b70066cde19c815942116c2a82794ad0268 Mon Sep 17 00:00:00 2001 From: icy Date: Tue, 4 Nov 2025 01:04:16 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20Unify=20all=20pages=20to=20use=20HeaderB?= =?UTF-8?q?ar=20component=20consistently=20Replace=20the=20inline=20header?= =?UTF-8?q?=20implementation=20in=20main=20app=20with=20HeaderBar=20compon?= =?UTF-8?q?ent=20to=20match=20landing=20page:=20-=20Remove=20duplicate=20i?= =?UTF-8?q?nline=20header=20code=20(168=20lines)=20-=20Use=20HeaderBar=20c?= =?UTF-8?q?omponent=20for=20all=20main=20app=20pages=20like=20landing=20pa?= =?UTF-8?q?ge=20does=20-=20Ensure=20consistent=20header=20design=20across?= =?UTF-8?q?=20all=20routes=20(/competition,=20/traders,=20/dashboard)=20-?= =?UTF-8?q?=20Maintain=20proper=20onPageChange=20navigation=20handling=20-?= =?UTF-8?q?=20Keep=20all=20header=20functionality=20(user=20info,=20admin?= =?UTF-8?q?=20mode,=20language=20toggle,=20logout)=20This=20fixes=20the=20?= =?UTF-8?q?header=20inconsistency=20where=20different=20pages=20used=20dif?= =?UTF-8?q?ferent=20header=20implementations.=20=F0=9F=A4=96=20Generated?= =?UTF-8?q?=20with=20[Claude=20Code](https://claude.ai/code)=20Co-Authored?= =?UTF-8?q?-By:=20tinkle-community=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/App.tsx | 246 +++++------------------------------------------- 1 file changed, 26 insertions(+), 220 deletions(-) diff --git a/web/src/App.tsx b/web/src/App.tsx index 5bac931c..d64991b3 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -270,226 +270,32 @@ function App() { return (
- {/* Header - Binance Style */} -
-
- {/* Desktop Layout */} -
- {/* Left - Logo and Title */} -
-
- NOFX -
-
-

- {t('appTitle', language)} -

-

- {t('subtitle', language)} -

-
-
- - {/* Center - Page Toggle (absolutely positioned) */} -
- - - -
- - {/* Right - Actions */} -
- - {/* User Info - Only show if not in admin mode */} - {!systemConfig?.admin_mode && user && ( -
-
- {user.email[0].toUpperCase()} -
- {user.email} -
- )} - - {/* Admin Mode Indicator */} - {systemConfig?.admin_mode && ( -
- - {t('adminMode', language)} -
- )} - - {/* Language Toggle */} -
- - -
- - {/* Logout Button - Only show if not in admin mode */} - {!systemConfig?.admin_mode && ( - - )} -
-
- - {/* Mobile Layout */} -
- {/* Top Row - Logo, Title and Language */} -
-
- NOFX -
-

- {t('appTitle', language)} -

-

- {t('subtitle', language)} -

-
-
- - {/* Language Toggle - Right side on mobile */} -
- - -
-
- - {/* Second Row - Page Toggle */} -
- - - -
- - {/* Third Row - User Info and Logout */} -
- {/* User Info or Admin Mode */} - {!systemConfig?.admin_mode && user && ( -
-
- {user.email[0].toUpperCase()} -
- {user.email} -
- )} - - {systemConfig?.admin_mode && ( -
- - {t('adminMode', language)} -
- )} - - {/* Logout Button */} - {!systemConfig?.admin_mode && ( - - )} -
-
-
-
+ { + console.log('Main app onPageChange called with:', page); + + if (page === 'competition') { + window.history.pushState({}, '', '/competition'); + setRoute('/competition'); + setCurrentPage('competition'); + } else if (page === 'traders') { + window.history.pushState({}, '', '/traders'); + setRoute('/traders'); + setCurrentPage('traders'); + } else if (page === 'trader') { + window.history.pushState({}, '', '/dashboard'); + setRoute('/dashboard'); + setCurrentPage('trader'); + } + }} + /> {/* Main Content */}