diff --git a/src/components/layout/AppShell/AppHeader.tsx b/src/components/layout/AppShell/AppHeader.tsx index 8a7f491..faf988f 100644 --- a/src/components/layout/AppShell/AppHeader.tsx +++ b/src/components/layout/AppShell/AppHeader.tsx @@ -182,7 +182,7 @@ export function AppHeader({ className="glass fixed left-0 right-0 top-0 z-50 shadow-lg shadow-black/10 lg:hidden" style={{ paddingTop: isFullscreen - ? `${Math.max(safeAreaInset.top, contentSafeAreaInset.top) + (telegramPlatform === 'android' ? 56 : 45)}px` + ? `${Math.max(safeAreaInset.top, contentSafeAreaInset.top) + (telegramPlatform === 'android' ? 48 : 45)}px` : undefined, }} > @@ -319,14 +319,11 @@ export function AppHeader({ style={{ top: headerHeight }} > {/* Backdrop */} -
setMobileMenuOpen(false)} - /> +
setMobileMenuOpen(false)} /> {/* Menu content */}
diff --git a/src/components/layout/AppShell/AppShell.tsx b/src/components/layout/AppShell/AppShell.tsx index b0625b5..b144a69 100644 --- a/src/components/layout/AppShell/AppShell.tsx +++ b/src/components/layout/AppShell/AppShell.tsx @@ -364,8 +364,8 @@ export function AppShell({ children }: AppShellProps) { // Calculate header height based on fullscreen mode (only on mobile Telegram) // On iOS: contentSafeAreaInset.top includes status bar + dynamic island + Telegram header - // On Android: safeAreaInset.top only includes status bar, need to add Telegram header height (~56px) - const telegramHeaderHeight = platform === 'android' ? 56 : 45; + // On Android: safeAreaInset.top only includes status bar, need to add Telegram header height (~48px) + const telegramHeaderHeight = platform === 'android' ? 48 : 45; const headerHeight = isMobileFullscreen ? 64 + Math.max(safeAreaInset.top, contentSafeAreaInset.top) + telegramHeaderHeight : 64; @@ -503,8 +503,8 @@ export function AppShell({ children }: AppShellProps) { {/* Main content */}
- {/* Disable animations for admin pages to prevent scroll jumps in Telegram Mini App */} - {location.pathname.startsWith('/admin') ? ( + {/* Disable animations in Telegram Mini App and admin pages to prevent visual glitches */} + {isTelegramWebApp || location.pathname.startsWith('/admin') ? ( children ) : ( diff --git a/src/styles/globals.css b/src/styles/globals.css index 49eb00f..072aa9a 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -134,6 +134,21 @@ scrollbar-color: rgb(var(--color-dark-700)) transparent; } + /* Hide scrollbar on mobile (iOS/Android) */ + @media (max-width: 1023px) { + html, + body { + scrollbar-width: none; + -ms-overflow-style: none; + } + html::-webkit-scrollbar, + body::-webkit-scrollbar { + display: none; + width: 0; + height: 0; + } + } + ::-webkit-scrollbar { width: 6px; height: 6px;