Skip to content

fix(frontend): repair mobile admin layout regressions - #816

Merged
chenyme merged 2 commits into
chenyme:mainfrom
kirafishy:fix/mobile-admin-layout
Jul 29, 2026
Merged

fix(frontend): repair mobile admin layout regressions#816
chenyme merged 2 commits into
chenyme:mainfrom
kirafishy:fix/mobile-admin-layout

Conversation

@kirafishy

Copy link
Copy Markdown
Contributor

Summary

  • keep the mobile navigation sheet account controls visible at the bottom on short viewports
  • constrain the settings tab list to the page width and allow horizontal scrolling on narrow screens
  • stop the settings sticky header overlay from covering the mobile top navigation chrome

Root cause

  1. Missing bottom sidebar actions
    The mobile SheetContent used flex column layout without a viewport height cap. Long navigation content expanded past the screen and pushed the account/settings footer out of view.

  2. Settings tabs overflow
    Settings tabs were horizontal with every trigger set to w-full, so the tab list grew wider than the viewport and was not clipped or scrollable.

  3. Invisible but clickable top controls
    The settings sticky header used a full-viewport before background mask and top-8, which covered the mobile shell header visually while leaving hit targets active. The shell header itself was also not sticky.

Changes

  • app-shell.tsx: pin the mobile sheet to h-dvh, scroll only the nav region, keep account controls shrink-0, and make the mobile shell header sticky
  • settings-page.tsx: limit tab list width with horizontal overflow scrolling; keep desktop vertical sticky tabs; move the scroll mask to lg: only and align sticky offset with the mobile header

Impact

  • Mobile administrators can reach account, theme, language, and settings controls from the drawer again
  • Settings tabs stay within the page width on phones
  • Mobile menu / title / GitHub controls remain visible while scrolling the settings page
  • Desktop layout behavior is intentionally preserved

Validation

  • pnpm run build
  • pnpm exec tsc -p tsconfig.app.json --noEmit
  • Local backend + Vite smoke test on mobile viewport:
    • dashboard drawer shows bottom account controls
    • settings tabs no longer overflow the page
    • settings page top chrome remains visible while scrolling

kirafishy and others added 2 commits July 28, 2026 16:30
- 侧栏 Sheet 固定高度并独立滚动,底部账号操作常显
- 设置页标签限制宽度,窄屏可横向滑动
- 设置 sticky 顶栏对齐移动导航,遮罩仅桌面生效
@chenyme
chenyme merged commit 136b7a4 into chenyme:main Jul 29, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants