From 28fa77cc921dd4d65dc88f4baeec3afde37bd19c Mon Sep 17 00:00:00 2001
From: CalciumIon <1808837298@qq.com>
Date: Wed, 11 Dec 2024 23:08:52 +0800
Subject: [PATCH] feat: Refactor style management for inner padding in layout
components
- Updated HeaderBar, PageLayout, and SiderBar components to manage inner padding state based on selected items.
- Replaced `isChatPage` state with `shouldInnerPadding` in Style context for better clarity and functionality.
- Enhanced user experience by dynamically adjusting content padding based on navigation selections.
---
web/src/components/HeaderBar.js | 2 ++
web/src/components/PageLayout.js | 2 +-
web/src/components/SiderBar.js | 4 ++--
web/src/context/Style/index.js | 6 +++---
4 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/web/src/components/HeaderBar.js b/web/src/components/HeaderBar.js
index fc879ee1..039697b9 100644
--- a/web/src/components/HeaderBar.js
+++ b/web/src/components/HeaderBar.js
@@ -118,8 +118,10 @@ const HeaderBar = () => {
return (
{
if (props.itemKey === 'home') {
+ styleDispatch({ type: 'SET_INNER_PADDING', payload: true });
styleDispatch({ type: 'SET_SIDER', payload: true });
} else {
+ styleDispatch({ type: 'SET_INNER_PADDING', payload: false });
styleDispatch({ type: 'SET_SIDER', payload: false });
}
}}>
diff --git a/web/src/components/PageLayout.js b/web/src/components/PageLayout.js
index ac9dc990..6a8a9f1f 100644
--- a/web/src/components/PageLayout.js
+++ b/web/src/components/PageLayout.js
@@ -23,7 +23,7 @@ const PageLayout = () => {
diff --git a/web/src/components/SiderBar.js b/web/src/components/SiderBar.js
index 26570a0d..d282e40e 100644
--- a/web/src/components/SiderBar.js
+++ b/web/src/components/SiderBar.js
@@ -280,9 +280,9 @@ const SiderBar = () => {
items={headerButtons}
onSelect={(key) => {
if (key.itemKey.toString().startsWith('chat')) {
- styleDispatch({ type: 'SET_CHAT_PAGE', payload: true });
+ styleDispatch({ type: 'SET_INNER_PADDING', payload: true });
} else {
- styleDispatch({ type: 'SET_CHAT_PAGE', payload: false });
+ styleDispatch({ type: 'SET_INNER_PADDING', payload: false });
}
setSelectedKeys([key.itemKey]);
}}
diff --git a/web/src/context/Style/index.js b/web/src/context/Style/index.js
index 9b264717..43206b43 100644
--- a/web/src/context/Style/index.js
+++ b/web/src/context/Style/index.js
@@ -11,7 +11,7 @@ export const StyleProvider = ({ children }) => {
const [state, setState] = useState({
isMobile: false,
showSider: false,
- isChatPage: false,
+ shouldInnerPadding: false,
});
const dispatch = (action) => {
@@ -26,8 +26,8 @@ export const StyleProvider = ({ children }) => {
case 'SET_MOBILE':
setState(prev => ({ ...prev, isMobile: action.payload }));
break;
- case 'SET_CHAT_PAGE':
- setState(prev => ({ ...prev, isChatPage: action.payload }));
+ case 'SET_INNER_PADDING':
+ setState(prev => ({ ...prev, shouldInnerPadding: action.payload }));
break;
default:
setState(prev => ({ ...prev, ...action }));