feat(layout): 优化页面布局和样式

- 添加 layout-content-wrapper-no-padding 类,用于控制内容区域的内边距
- 在 layout.tsx 中增加 showWrapperPadding 变量,根据路径或设置决定是否显示内边距
- 更新 settings.json,添加 noWrapperPadding 设置项
master
钟良源 5 months ago
parent b559d26ca7
commit 92d25a9fdc

@ -84,6 +84,7 @@ function PageLayout({ children }: { children: ReactNode }) {
const showNavbar = settings?.navbar && urlParams.navbar !== false; const showNavbar = settings?.navbar && urlParams.navbar !== false;
const showMenu = settings?.menu && urlParams.menu !== false && !pathname.includes('ideContainer'); const showMenu = settings?.menu && urlParams.menu !== false && !pathname.includes('ideContainer');
const showFooter = settings?.footer && urlParams.footer !== false; const showFooter = settings?.footer && urlParams.footer !== false;
const showWrapperPadding = settings?.noWrapperPadding || pathname.includes('ideContainer');
const routeMap = useRef<Map<string, ReactNode[]>>(new Map()); const routeMap = useRef<Map<string, ReactNode[]>>(new Map());
const menuMap = useRef< const menuMap = useRef<
@ -143,7 +144,6 @@ function PageLayout({ children }: { children: ReactNode }) {
} }
buildRouteMap(routes); buildRouteMap(routes);
console.log('routeMap:', routeMap);
}, [routes]); }, [routes]);
function renderRoutes(locale) { function renderRoutes(locale) {
@ -265,7 +265,8 @@ function PageLayout({ children }: { children: ReactNode }) {
</Sider> </Sider>
)} )}
<Layout className={styles['layout-content']} style={paddingStyle}> <Layout className={styles['layout-content']} style={paddingStyle}>
<div className={styles['layout-content-wrapper']}> <div
className={showWrapperPadding ? styles['layout-content-wrapper-no-padding '] : styles['layout-content-wrapper']}>
{!!breadcrumb.length && ( {!!breadcrumb.length && (
<div className={styles['layout-breadcrumb']}> <div className={styles['layout-breadcrumb']}>
<Breadcrumb> <Breadcrumb>

@ -4,5 +4,6 @@
"menu": true, "menu": true,
"footer": true, "footer": true,
"themeColor": "#165DFF", "themeColor": "#165DFF",
"menuWidth": 220 "menuWidth": 220,
"noWrapperPadding": false
} }

@ -125,6 +125,10 @@
padding: 16px 20px 0; padding: 16px 20px 0;
} }
.layout-content-wrapper-no-padding {
padding: 0;
}
.layout-breadcrumb { .layout-breadcrumb {
margin-bottom: 16px; margin-bottom: 16px;
} }

Loading…
Cancel
Save