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;