Files
dukang/packages/shared-ui/src/PageHeader.tsx
T
jacy 5a26841d3a
CI / verify (pull_request) Has been cancelled
fix(h5): hide in-page nav titles that duplicate WeChat chrome
Keep back buttons and header layout. mini-user only hides titles on H5; partner/shop hide .app-page-title and legal titles; shared PageHeader defaults showTitle=false.
2026-07-16 08:05:44 +08:00

37 lines
1.0 KiB
TypeScript

type PageHeaderProps = {
title: string;
onBack?: () => void;
backLabel?: string;
right?: React.ReactNode;
/** 是否展示居中标题;H5 微信内默认隐藏,避免与系统标题栏重复 */
showTitle?: boolean;
};
export default function PageHeader({
title,
onBack,
backLabel = '←',
right,
showTitle = false,
}: PageHeaderProps) {
return (
<header className="page-header" aria-label={title}>
<div className="page-header-side">
{onBack ? (
<button type="button" className="back-btn" onClick={onBack} aria-label="返回">
{backLabel}
</button>
) : (
<span className="page-header-spacer" />
)}
</div>
{showTitle ? (
<div className="app-page-title page-header-title">{title}</div>
) : (
<div className="page-header-title page-header-title--spacer" aria-hidden="true" />
)}
<div className="page-header-side page-header-side--right">{right ?? <span className="page-header-spacer" />}</div>
</header>
);
}