修复移动端顶栏折行与头像裁剪弹窗被底部主菜单遮挡
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m5s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m26s
Project CI / Backend tests (pull_request) Successful in 4m5s
Project CI / Frontend tests (pull_request) Successful in 2m9s
Project CI / Native shell tests (pull_request) Successful in 6m3s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 9m46s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m28s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 9m42s
Project CI / Repository checks (pull_request) Failing after 2m3s

- 主站顶栏在所有断点保持单行:去掉顶栏与动作区的 flex-wrap,品牌和下载、泥点、账户入口不再折成两行
- 窄屏(<640px)下载入口收起为 44×44 图标按钮,保留 aria-label/title,≥640px 恢复「下载客户端」完整文案
- 窄屏(<480px)顶栏品牌只保留 IP 标识,让出空间给下载、泥点与账户入口,并收紧窄屏动作区间距
- 头像裁剪弹窗去掉 portal={false},改由 UnifiedModal 默认 portal 渲染到 document.body
- 个人中心两级弹窗壳层同步去掉 portal={false},昵称等个人中心弹窗一并回到页面级层级
- 弹窗不再受 .platform-desktop-layout 的 z-index:1 stacking context 限制,层级高于固定底部主菜单(z-index:60)
- 共享记忆补记单行顶栏口径与「内联弹窗被固定底栏压住」的排障经验
This commit is contained in:
2026-09-24 21:22:15 +08:00
parent 34eee8ec6a
commit b43a663fe2
7 changed files with 41 additions and 9 deletions
@@ -319,7 +319,6 @@ export function SquareImageCropModal({
closeLabel={labels.close}
closeVariant="profileCompact"
closeIcon="×"
portal={false}
zIndexClassName="z-[80]"
panelClassName="platform-remap-surface max-w-sm rounded-[1.4rem]"
headerClassName="border-white/10 px-5 py-4"
@@ -75,14 +75,16 @@ export function ClientDownloadEntry() {
tone="secondary"
size="sm"
shape="pill"
className="min-h-11 shrink-0 whitespace-nowrap"
aria-label="下载客户端"
title="下载客户端"
className="min-h-11 shrink-0 gap-0 whitespace-nowrap max-sm:h-11 max-sm:w-11 max-sm:px-0 sm:gap-2 sm:px-4"
onClick={() => {
setState({ status: 'loading' });
setOpen(true);
}}
>
<Download className="h-4 w-4" aria-hidden="true" />
下载客户端
<Download className="h-4 w-4 shrink-0" aria-hidden="true" />
<span className="hidden sm:inline">下载客户端</span>
</PlatformActionButton>
<UnifiedModal
open={open}
@@ -618,8 +618,8 @@ export function PlatformEntryFlowShellImpl({
</aside>
<div className="platform-desktop-main flex min-w-0 flex-1 flex-col">
<header className="platform-desktop-topbar flex min-h-16 shrink-0 flex-wrap items-center justify-between gap-1 gap-y-2 px-4 py-2 sm:flex-nowrap sm:gap-3 sm:px-6 sm:py-0">
<div className="min-w-0 shrink-0 lg:hidden">
<header className="platform-desktop-topbar flex min-h-16 shrink-0 flex-nowrap items-center justify-between gap-1 px-4 py-2 sm:gap-3 sm:px-6 sm:py-0">
<div className="platform-desktop-topbar__brand min-w-0 shrink-0 lg:hidden">
<ActivePlatformBrand />
</div>
<div className="platform-desktop-topbar__brand-search hidden min-w-0 flex-1 items-center lg:flex">
@@ -662,7 +662,7 @@ export function PlatformEntryFlowShellImpl({
</form>
</div>
<div className="platform-desktop-topbar__actions flex max-w-full shrink-0 flex-wrap items-center gap-1 sm:flex-nowrap sm:gap-2 lg:gap-3">
<div className="platform-desktop-topbar__actions flex min-w-0 shrink-0 items-center gap-1 sm:gap-2 lg:gap-3">
<ClientDownloadEntry />
{isAuthenticated ? (
<PlatformMudPointWalletEntry
@@ -84,7 +84,6 @@ export function PlatformProfileModalShell({
showCloseButton={showCloseButton}
closeOnBackdrop={false}
closeOnEscape={false}
portal={false}
size={size}
zIndexClassName={zIndexClassName}
overlayClassName={PROFILE_MODAL_OVERLAY_CLASS}
@@ -128,7 +127,6 @@ export function PlatformProfileSecondaryModalShell({
showCloseButton={false}
closeOnBackdrop={false}
closeOnEscape={false}
portal={false}
size={size}
zIndexClassName={zIndexClassName}
overlayClassName={
+16
View File
@@ -12626,6 +12626,22 @@ button.image-canvas-editor__reference-chip:disabled {
min-width: 0;
padding-inline: 0.12rem;
}
.platform-desktop-shell--workbench
.platform-desktop-topbar
.platform-desktop-topbar__actions {
gap: 0.38rem !important;
}
}
/* 窄屏顶栏必须保持单行:品牌只保留 IP 标识,字标让位给下载、泥点与账户入口。 */
@media (max-width: 479px) {
.platform-desktop-shell--workbench
.platform-desktop-topbar
.platform-desktop-topbar__brand
.platform-brand-logo__copy {
display: none;
}
}
.platform-desktop-shell--workbench .platform-desktop-rail {